Sécuriser simplement sa machine

Sécuriser simplement sa machine

Dans cet article, nous passerons en revue plusieurs étapes :

Note : Ces différentes protections sont basiques mais vous permettent d'éviter certaines dégradations/attaques.

Cet article a été réalisé uniquement pour une distribution Ubuntu/Debian.



Mise à jour de votre système

Ici, il y aura simplement deux commandes :

  • Mise à jour de la liste des paquets :
  • sudo apt update

  • Mise à jour des paquets :
  • sudo apt upgrade

Cette opération doit être effectuée régulièrement afin de maintenir un système à jour.



Changement du port SSH

Avant toute chose, le port par défaut du protocole SSH est le 22.

Pour réduire le nombre d'attaques par bruteforce, nous avons la possibilité de modifier ce port.

Connectez-vous à votre machine en tant que root.

Ouvrez le fichier de configuration SSH avec votre éditeur préféré : nano /etc/ssh/sshd_config

Cherchez la ligne où le port 22 est défini (Ctrl+W dans nano pour chercher)

Remplacez le port 22 par le port que vous souhaitez. Vérifier cependant que le port n'est pas déjà utilisé.

Enregistrez la configuration (Ctrl+X dans nano).

Vous pouvez maintenant redémarrer le service ssh avec la commande suivante : /etc/init.d/ssh restart



Changement du mot de passe root

Pour modifier le mot de passe root, il suffit d'entrer la commande suivante : passwd root

Note : Le mot de passe ne s'affichera pas à l'écran lorsque vous l'entrerez



Bloquer les connexions root à distance

Attention : Avant d'effectuer cette étape, vous devez nécessairement avoir un autre compte sur votre machine sinon vous risquez de perdre l'accès à votre machine.

Pour se faire, retournez dans le fichier de configuration SSH avec la commande suivante : nano /etc/sshd/sshd_config

Trouvez dans la configuration la ligne PermitRootLogin yes

Vous l'avez compris, passez PermitRootLogin de yes à no

Enregistrez la configuration (Ctrl+X dans nano).

Vous pouvez maintenant redémarrer le service ssh avec la commande suivante : /etc/init.d/ssh restart

Désormais, la connexion root à distance est impossible



Installation et configuration d'un Fail2Ban

Fail2Ban est un framework de prévention contre les intrusions qui analyse les logs de divers services (SSH, Apache, FTP…) en cherchant des correspondances entre des motifs définis dans ses filtres et les entrées des logs.

Ce framework est recommandé et même essentiel pour éviter toute attaque brutale contre un service de votre machine

Pour l'installer, rien de plus simple : apt install fail2ban

Une fois le paquet installé, nous allons modifier la configuration afin de l'adapter à notre machine. Comme le recommande Fail2ban, créez un fichier de configuration local de vos services en copiant le fichier jail :
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Ouvrez ensuite le fichier avec nano par exemple : nano /etc/fail2ban/jail.local

Pour chaque service présent sur votre machine et exécutés, activer fail2ban. Exemple :

[sshd]
enabled = true
port = ssh
filter = sshd
maxretry = 3
findtime = 5m
bantime = 30m

Une bonne pratique à avoir afin d'éviter de se couper l'herbe sous le pied est d'ajouter son IP en exception fail2ban. Pour se faire, dans le même fichier, cherchez la ligne suivante :
ignoreip = 192.168.0.1/16 [...] VOTRE_IP_ICI

Une fois vos modifications terminées pour l'ensemble de vos services, enregistrez votre configuration et redémarrez le service : sudo service fail2ban restart



Installation et configuration d'Iptables

Iptables est installé par défaut sur la plupart des systèmes Linux. Pour vérifier si Iptables est installé, utilisez la commande suivante : sudo apt install iptables

Pour afficher les règles déjà existantes sur votre serveur, utilisez la commande sudo iptables -L

Commençons par ajouter notre adresse IP comme IP autorisé grâce à la commande suivante :
sudo iptables -A INPUT -s votre_adresse_IP_à_autoriser -j ACCEPT

Ensuite, nous allons autoriser le trafic local avec la commande suivante : sudo iptables -A INPUT -i lo -j ACCEPT

Maintenant, il faut autoriser le trafic sur les ports nécessaires. On ajoute par exemple notre port SSH avec la commande suivante :
sudo iptables -A INPUT -p tcp --dport 2000 -j ACCEPT

Ici, 2000 représente le port SSH modifié.

Si vous définissez des règles Iptables, vous devez empêcher les accès non autorisés en supprimant le trafic provenant d'autres ports :
sudo iptables -A INPUT -j DROP

Si vous vous êtes trompé dans un règle, vous pouvez la supprimer simplement. Premièrement, entrez la commande iptables -L --line-numbers pour avoir votre liste de règles numérotées

Pour supprimer la règle désirée, entrez la commande suivante en remplaçant les valeurs : sudo iptables -D [CHAIN] [NUMERO].

Exemple : sudo iptables -D INPUT 4

Enfin, enregistrez vos modifications : sudo -s iptables-save -c

Note : Pour aller plus loin dans la configuration et l'utilisation d'Iptables, cliquez-ici