FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

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

Les systèmes Linux sont sécurisés par conception et fournissent des outils d'administration robustes. Mais aussi bien conçu qu'un système soit, 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 durcissement Linux pour les nouveaux utilisateurs comme vous. Essayez-les.

1. Appliquer des politiques de mot de passe fort

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 l'utilisateur immédiatement. Vous pouvez le faire en utilisant ce qui suit.

passwd -l USERNAME 

Vous pouvez également configurer le vieillissement du mot de passe pour vous assurer que les utilisateurs ne peuvent pas utiliser d'anciens mots de passe. Utilisez la commande chage pour le 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 les gestionnaires de mots de passe Linux pour sécuriser les comptes en ligne.

chage -M 30 USERNAME 

2. Sauvegarde des données essentielles

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

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 durcissement de Linux.

Si vous êtes un utilisateur à domicile, le clonage des données sur un disque dur peut suffire. Cependant, les entreprises ont besoin de systèmes de sauvegarde sophistiqués offrant une récupération rapide.

3. Évitez les anciennes méthodes de communication

Linux prend en charge de nombreuses méthodes de communication à distance. Cependant, 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écurisez OpenSSH

Le protocole SSH est la méthode de communication à distance recommandée 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 fichier pour définir les politiques de sécurité pour ssh. Vous trouverez ci-dessous quelques règles de sécurité courantes que tout le monde peut utiliser.

PermitRootLogin no # désactive la connexion root 
MaxAuthTries 3 # limite les tentatives d'authentification
PasswordAuthentication non # désactive l'authentification par mot de passe
PermitEmptyPasswords no # désactive les mots de passe vides
X11Forwarding no # désactive la transmission de l'interface graphique
DebianBanner no # disbale la bannière verbeuse
AllowUsers *@XXX.X.XXX.0/24 # restreindre les utilisateurs à une plage IP

5. Restreindre l'utilisation de CRON

CRON est un planificateur de tâches robuste pour Linux. Il permet aux administrateurs de planifier des tâches sous Linux à l'aide de la crontab. Il est donc crucial de limiter les personnes autorisées à exécuter des tâches CRON. Vous pouvez trouver tous les cronjobs actifs pour un utilisateur en utilisant la commande suivante.

crontab -l -u USERNAME 
10 conseils de durcissement Linux pour les administrateurs système débutants

Vérifiez les tâches de chaque utilisateur pour savoir si quelqu'un exploite CRON. Vous voudrez peut-être 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 (Pluggable Authentication Modules) offre de puissantes fonctionnalités d'authentification pour les applications et les services. Vous pouvez utiliser diverses politiques PAM pour sécuriser la connexion au système. Par exemple, les commandes ci-dessous limitent la réutilisation des mots de passe.

# CentOS/RHEL 
echo 'mot de passe suffisant pam_unix.so use_authtok md5 shadow Remember=5'>> \
> /etc/pam.d/system-auth
#Ubuntu/Debian
echo 'mot de passe suffisant pam_unix.so use_authtok md5 shadow Remember=5'>> \
> /etc/pam.d/common-password

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

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.

liste yum installée # CentOS/RHEL 
apt list --installed # Ubuntu/Debian
10 conseils de durcissement Linux pour les administrateurs système débutants

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

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

8. Paramètres du noyau sécurisé

Un autre moyen efficace de renforcer Linux consiste à sécuriser les paramètres du noyau. Vous pouvez configurer ces paramètres en utilisant sysctl ou en modifiant le fichier de configuration. Vous trouverez ci-dessous quelques configurations courantes.

kernel.randomize_va_space=2 # base d'adresse aléatoire pour mmap, tas et pile 
kernel.panic=10 # redémarrage après 10 secondes suite à une panique du noyau
net.ipv4.icmp_ignore_bogus_error_responses # protège les mauvais messages d'erreur
net.ipv4.ip_forward=0 # désactive le transfert IP
net.ipv4.icmp_ignore_bogus_error_responses=1 # ignore les erreurs ICP

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 requêtes réseau. Vous trouverez ci-dessous quelques règles iptables de base pour les utilisateurs soucieux de la sécurité.

-A INPUT -j REJECT # rejeter toutes les requêtes entrantes 
-A FORWARD -j REJECT # rejeter le transfert de trafic
-A ENTRÉE -i lo -j ACCEPTER
-A OUTPUT -o lo -j ACCEPT # autoriser le trafic sur l'hôte local
# autoriser les requêtes ping
-A OUTPUT -p icmp -j ACCEPT # autoriser les pings sortants
# autoriser les connexions établies/associées
-A ENTRÉE -m état --état ÉTABLI, CONNEXE -j ACCEPTER
-A SORTIE -m état --état ÉTABLI, CONNEXE -j ACCEPTER
# autoriser les recherches DNS
-A SORTIE -p udp -m udp --dport 53 -j ACCEPTER
# autoriser les requêtes http/https
-A SORTIE -p tcp -m tcp --dport 80 -m état --état NOUVEAU -j ACCEPTER
-A SORTIE -p tcp -m tcp --dport 443 -m état --état NOUVEAU -j ACCEPTER
# autoriser l'accès SSH
-A ENTRÉE -p tcp -m tcp --dport 22 -j ACCEPTER
-A SORTIE -p tcp -m tcp --dport 22 -j ACCEPTER

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 en arrière-plan
  • /var/log/debug --- enregistre les données de débogage
  • /var/log/kern.log --- consigne 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 d'autres moyens de sécuriser Linux au fur et à mesure que vous acquerrez de l'expérience.


[]