10 conseils de durcissement Linux pour les administrateurs système débutants

Les systèmes Linux sont de conception sécurisés et fournissent des outils d'administration robustes. Mais quelle que soit la qualité d'un système, sa sécurité dépend de l'utilisateur.

Les débutants mettent souvent des années à trouver les meilleures politiques de sécurité pour leurs machines. C'est pourquoi nous partageons ces conseils essentiels de renforcement de Linux pour les nouveaux utilisateurs comme vous. Donnez-leur un essai.

1. Appliquer des politiques de mot de passe fortes

Les mots de passe sont la principale méthode d'authentification pour la plupart des systèmes. Que vous soyez un utilisateur à domicile ou un professionnel, l'application de mots de passe solides est indispensable. Tout d'abord, désactivez les mots de passe vides. Vous ne croirez pas combien de personnes les utilisent encore.

 awk -F: '($2 == "") {print}' /etc/shadow

Exécutez la commande ci-dessus en tant que root pour voir quels comptes ont des mots de passe vides. Si vous trouvez quelqu'un avec un mot de passe vide, verrouillez immédiatement l'utilisateur. Vous pouvez le faire en utilisant ce qui suit.

 passwd -l USERNAME

Vous pouvez également configurer le vieillissement des mots de passe pour vous assurer que les utilisateurs ne peuvent pas utiliser d'anciens mots de passe. Utilisez la commande chage pour ce faire depuis votre terminal.

 chage -l USERNAME

Cette commande affiche la date d'expiration actuelle. Pour définir l'expiration du mot de passe après 30 jours, utilisez la commande ci-dessous. Les utilisateurs peuvent utiliser des gestionnaires de mots de passe Linux pour sécuriser les comptes en ligne .

 chage -M 30 USERNAME

2. Sauvegarde des données essentielles

Si vous êtes sérieux au sujet de vos données, configurez des sauvegardes régulières. De cette façon, même si votre système tombe en panne, vous pouvez récupérer les données rapidement. Mais, choisir la bonne méthode de sauvegarde est crucial pour le renforcement de Linux.

Si vous êtes un utilisateur à domicile, le clonage des données sur un disque dur peut suffire. Les entreprises, cependant, ont besoin de systèmes de sauvegarde sophistiqués qui offrent une restauration rapide.

3. Évitez les méthodes de communication héritées

Linux prend en charge de nombreuses méthodes de communication à distance. Mais les services Unix hérités tels que telnet, rlogin et ftp peuvent poser de sérieux problèmes de sécurité. Alors, essayez de les éviter. Vous pouvez les supprimer complètement pour réduire les problèmes de sécurité qui leur sont associés.

 apt-get --purge remove xinetd nis tftpd tftpd-hpa telnetd 
> rsh-server rsh-redone-server

Cette commande supprime certains services largement utilisés mais obsolètes des machines Ubuntu / Debian. Si vous utilisez un système basé sur RPM, utilisez plutôt ce qui suit.

 yum erase xinetd ypserv tftp-server telnet-server rsh-server

4. Sécuriser OpenSSH

Le protocole SSH est la méthode recommandée de communication à distance pour Linux. Assurez-vous de sécuriser la configuration de votre serveur OpenSSH (sshd). Vous pouvez en savoir plus sur la configuration d'un serveur SSH ici .

Modifiez le fichier / etc / ssh / sshd_config pour définir les politiques de sécurité pour ssh. Vous trouverez ci-dessous quelques politiques de sécurité courantes que tout le monde peut utiliser.

 PermitRootLogin no # disables root login
MaxAuthTries 3 # limits authentication attempts
PasswordAuthentication no # disables password authentication
PermitEmptyPasswords no # disables empty passwords
X11Forwarding no # disables GUI transmission
DebianBanner no # disbales verbose banner
AllowUsers *@XXX.X.XXX.0/24 # restrict users to an IP range

5. Restreindre l'utilisation de CRON

CRON est un planificateur de travaux robuste pour Linux. Il permet aux administrateurs de planifier des tâches sous Linux à l'aide du crontab . Par conséquent, il est crucial de restreindre qui peut exécuter des tâches CRON. Vous pouvez trouver toutes les tâches cron actives pour un utilisateur en utilisant la commande suivante.

 crontab -l -u USERNAME

Vérifiez les travaux de chaque utilisateur pour savoir si quelqu'un exploite CRON. Vous pouvez empêcher tous les utilisateurs d'utiliser crontab sauf vous. Exécutez la commande suivante pour cela.

 echo $(whoami) >> /etc/cron.d/cron.allow
# echo ALL >> /etc/cron.d/cron.deny

6. Appliquer les modules PAM

Linux PAM (modules d'authentification enfichables) offre de puissantes fonctionnalités d'authentification pour les applications et les services. Vous pouvez utiliser diverses politiques PAM pour sécuriser la connexion du système. Par exemple, les commandes ci-dessous limitent la réutilisation des mots de passe.

 # CentOS/RHEL
echo 'password sufficient pam_unix.so use_authtok md5 shadow remember=5' >>
> /etc/pam.d/system-auth
# Ubuntu/Debian
echo 'password sufficient pam_unix.so use_authtok md5 shadow remember=5' >>
> /etc/pam.d/common-password

Ils restreignent l'utilisation des mots de passe qui ont été utilisés au cours des cinq dernières semaines. Il existe de nombreuses autres stratégies PAM qui fournissent des couches supplémentaires de sécurité.

7. Supprimer les packages inutilisés

La suppression des packages inutilisés réduit la surface d'attaque sur votre machine. Nous vous recommandons donc de supprimer les packages rarement utilisés. Vous pouvez afficher tous les packages actuellement installés à l'aide des commandes ci-dessous.

 yum list installed # CentOS/RHEL
apt list --installed # Ubuntu/Debian

Supposons que vous souhaitiez supprimer le package vlc inutilisé. Vous pouvez le faire en exécutant les commandes suivantes en tant que root.

 yum remove vlc # CentOS/RHEL
apt remove vlc # Ubuntu/Debian

8. Paramètres du noyau sécurisé

Un autre moyen efficace de renforcer Linux est de sécuriser les paramètres du noyau. Vous pouvez configurer ces paramètres à l'aide de sysctl ou en modifiant le fichier de configuration. Voici quelques configurations courantes.

 kernel.randomize_va_space=2 # randomnize address base for mmap, heap, and stack
kernel.panic=10 # reboot after 10 sec following a kernel panic
net.ipv4.icmp_ignore_bogus_error_responses # protects bad error messages
net.ipv4.ip_forward=0 # disables IP forwarding
net.ipv4.icmp_ignore_bogus_error_responses=1 # ignores ICP errors

Ce ne sont que quelques configurations de base. Vous apprendrez différentes manières de configurer le noyau avec l'expérience.

9. Configurer iptables

Les noyaux Linux fournissent des méthodes de filtrage robustes pour les paquets réseau via son API Netfilter. Vous pouvez utiliser iptables pour interagir avec cette API et configurer des filtres personnalisés pour les demandes réseau. Voici quelques règles de base iptables pour les utilisateurs axés sur la sécurité.

 -A INPUT -j REJECT # reject all inbound requests
-A FORWARD -j REJECT # reject traffic forwarding
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT # allow traffic on localhost
# allow ping requests
-A OUTPUT -p icmp -j ACCEPT # allow outgoing pings
# allow established/related connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# allow DNS lookups
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
# allow http/https requests
-A OUTPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
# allow SSH access
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT

10. Surveiller les journaux

Vous pouvez utiliser les journaux pour mieux comprendre votre machine Linux. Votre système stocke plusieurs fichiers journaux pour les applications et les services. Nous décrivons ici les éléments essentiels.

  • /var/log/auth.log — enregistre les tentatives d'autorisation
  • /var/log/daemon.log — enregistre les applications d'arrière-plan
  • / var / log / debug — enregistre les données de débogage
  • /var/log/kern.log — enregistre les données du noyau
  • / var / log / syslog — enregistre les données système
  • / var / log / faillog — enregistre les échecs de connexion

Meilleurs conseils de durcissement Linux pour les débutants

Sécuriser un système Linux n'est pas aussi difficile que vous le pensez. Vous pouvez renforcer la sécurité en suivant certains des conseils mentionnés dans ce guide. Vous maîtriserez plus de moyens de sécuriser Linux au fur et à mesure que vous gagnerez en expérience.