• # Vaste sujet

    Posté par (site web personnel) . En réponse au journal Linux sécurisé, GRsecurity, RSBAC, PaX, SSP, libsafe, SElinux,.... Évalué à 7.

    Bonjour,

    sécuriser une machine ne s'explique pas en 5 minutes. Cependant, voici quelques pistes pouvant t'y aider :

    - j'ai écrit une documentation http://olivieraj.free.fr/fr/linux/information/firewall/(...) sur le sujet, et je t'y invite à la lire. La partie II parle de la sécurisation des démon (http, ftp, etc...), et la partie III explique comment configurer netfilter/iptables.

    - pour ce qui est des démons, la première chose à faire est de limiter au strict minimum ceux qui vont écouter sur les interfaces réseaux sensibles. Par exemple, si tu mets à jour ton serveur avec Samba/NFS via ton réseau local, pas la peine que Samba/NFS écoute aussi sur l'interface réseau Internet. "xinetd" ( http://olivieraj.free.fr/fr/linux/information/firewall/fw-02-05.htm(...) ) fait très bien cela, avec ses options "only_from" et "bind". Mais chaque démon a généralement des options permettant de le faire (comme l'indique http://olivieraj.free.fr/fr/linux/information/firewall/fw-02-05.htm(...) ).

    - tu peux mettre aussi en place des "chroot" ( http://olivieraj.free.fr/fr/linux/information/firewall/fw-02-04.htm(...) ). Personnellement, sur mon réseau local avec mon serveur DNS ("named"), j'ai créé ce type de chroot car "named" est un démon qui était à l'époque "souvant" sujet à des découvertes de buffer overflow. Cela n'est pas forcément trivial de créer un tel chroot, et cela n'apporte pas une sécurité absolue. Mais c'est un bon début.

    - dans une approche plus globale de la sécurité, tu peux aussi changer les droits des éxectutables situés sur ta machine. Par exemple, sur une machine serveur ou passerelle, les commandes "wget" ou "ftp" ne sont pas toujours strictement nécéssaires à tout les utilisateurs. Pourtant, si par exemple un intrus réussi à faire executer une commande shell par ton serveur apache, celui-ci pourra alors faire un "wget" sur un autre serveur qu'il contrôle, afin de uploader sur ta machine un rootkit. La solution pour éviter ceci : supprimer "wget", ou plus simplement, changer les droits d'accès à wget ("chown o-rwx wget"), pour que personne hormis le root (et un groupe d'utilisateurs de confiance) ne puisse l'utiliser.

    - enfin, il faut faire très très attention à la configuration de tes demons eux-même. Pour cela, il faut lire à fond la doc, et regarder toutes les options. Un exemple simple : "proftpd", un serveur FTP. si tu prends la configuration par défaut, tout utilisateurs de ta machine pourra se connecter à ce serveur. Y compris un intrus utilisant les comptes de type "système" comme "apache", "mail", "nobody", etc... En lisant des doc sur Internet, tu trouveras facilement comment restreindre l'accès à "proftpd" à seulement des comptes de "vrais" utilisateurs. Autre exemple : ssh. Il n'est pas question de laisser un accès ssh à tout le monde. L'option "allowuser" permet de restraindre l'accès qu'à un certain nombre de comptes ("guillaume" par exemple). Et bien entendu, interdiction de se loger directement en ssh sur la machine ("permitrootlogin no"), mais passer passer d'abord par un compte utilisateur ("guillaume"), puis faire un "su".

    Ceci n'est qu'un ébauche de réponse à ta question. Je laisse d'autres LinuxFRiens apporter leurs propre experiance.