Ajouter un commentaire

Sécuriser son serveur dédié Linux (3ème partie)

Pare-feu

L'utilisation d'un pare-feu est fortement recommandée pour la sécurisation de votre système. Le pare-feu est souvent la première ligne de défense de votre machine contre l'extérieur, c'est en effet lui qui va analyser le trafic qui transite entre votre machine et l'extérieur.

Grâce au pare-feu vous êtes en mesure de pouvoir bloquer ou autoriser l'accès de votre machine depuis l'extérieur à certains ports ou protocoles, assurant ainsi la sécurité de votre système.



Les politiques de sécurité

Parmi les différentes politiques les plus couramment utilisées se trouvent les politiques de la liste blanche et celle de la liste noire.

Liste blanche

Le principe de la politique de la liste blanche consiste à bloquer tout le trafic entrant sans exception et n'autoriser explicitement que les ports et protocoles dont nous sommes absolument sûrs de leur sécurité.

Cette politique de sécurité présente de nombreux avantages par rapport à la liste noire. En effet tout trafic non explicitement autorisé sera bloqué, ceci permet d'éviter la plupart des tentatives de connexion que nous n'aurions pas forcement eu le réflexe de sécuriser.

L'un des désavantages de cette politique est l'obligation de devoir définir chaque ports ou protocoles utilisés afin de ne pas bloquer l’exécution de nos services ( par exemple le protocole http sur le port 80 ), il faut donc connaître chaque port utilisé par la machine et garder à jour les règles établies lors de l'ajout ou de la suppression d'un service.

Concernant le trafic sortant dans la majorité des cas il n'est pas considéré comme risqué de tout autoriser, en effet vous êtes censé connaître le trafic sortant de votre réseau ou machine. Il est cependant recommandé de garder une trace du trafic sortant par mesure de sécurité.

Liste noire

Le principe de la politique de la liste noire consiste à autoriser tout le trafic entrant sans exception et à ne bloquer explicitement que les ports et protocoles dont nous sommes sûrs qu'ils présentent un risque pour la sécurité.

Cette politique de sécurité présente de nombreux désavantages par rapport à la liste blanche. En effet autoriser tout le trafic entrant sans aucune restriction n'est pas recommandé, le blocage n'intervenant seulement que dans le cas d'un port ou protocole explicitement établi.

Concernant le trafic sortant dans la majorité des cas il n'est pas considéré comme risqué de tout autoriser, en effet vous êtes censé connaître le trafic sortant de votre réseau ou machine. Il est cependant recommandé de garder une trace du trafic sortant par mesure de sécurité.



IPTables

IPTables est surement le plus connu des pare-feu logiciel disponible les systèmes Linux

Voici quelques commandes pratiques le concernant :

Installation d'iptables

sudo apt-get install iptables

Lister les règles actuellement établies

sudo iptables -L

Purger les règles établies

sudo iptables -F

sudo iptables -X

Ajouter une règle

# Autoriser les connexions entrantes sur le port ssh(22) tcp depuis l'adresse ip x.x.x.x par exemple

sudo iptables -A INPUT -p tcp --dport ssh -s x.x.x.x -j ACCEPT

Note : Attention dans le cas d'une adresse IP dynamique, dès lors que votre IP aura changée vous serez incapable de vous connecter en SSH sur votre serveur! Faites preuve de prudence lors de l'assignation d'une adresse IP qui pourrait être dynamique, par exemple celle de votre box internet à la maison.

Supprimer une règle

# Supprimer la règle n°2 de la catégorie OUTPUT

sudo iptables -D OUTPUT 2



Fail2ban

Il peut être utile de mettre en place le service fail2ban sur votre système qui est un générateur de règles iptables en fonction d’un comportement préétablit.

Exemple : Si vous établissez dans Fail2ban que 10 tentatives de connexion SSH avec un mauvais mot de passe est un comportement anormal alors Fail2ban générera une règle iptables pour bloquer l’adresse ip qui tente de se connecter. Cela permet de se protéger contre les attaques de type dictionnaire (brute force).

Vous trouverez de plus amples informations sur fail2ban et sa mise en place dans l'article disponible à l'adresse suivante .



Rkhunter

Vous avez la possibilité de détecter si des malwares/rootkits sont présents sur votre serveur via l'utilitaire rkhunter.

Vous pouvez l'installer via la commande

apt-get install rkhunter

Une fois installé, vous pouvez lancer un check de votre système via la commande

rkhunter --checkall

Vous pouvez ajouter l'option "--report-warnings-only" afin de n'avoir que les erreurs dans le rapport. Vous pouvez aussi par exemple automatiser cette tâche tous les jours en ajoutant une tâche cron (/etc/crontab ou crontab -e)

Exemple ci-dessous,tous les jours à minuit :

0 0 * * * root rkhunter --checkall --report-warnings-only