Les systèmes Linux sont sécurisés de par leur conception 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 == "") {impression}' / 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 NOM D'UTILISATEUR
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.
Besoin d'un gestionnaire de mots de passe sécurisé pour Linux? Ces applications sont faciles à utiliser et protègent vos mots de passe en ligne.
chage -M 30 NOM D'UTILISATEUR
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, cloner les données sur un disque dur pourrait 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 supprimer 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 effacer xinetd ypserv tftp-server telnet-server rsh-server
4. OpenSSH sécurisé
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). Tu peux en savoir plus sur la configuration d'un serveur SSH ici.
Modifier le /etc/ssh/sshd_config fichier 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 # désactive la connexion root
MaxAuthTries 3 # limite les tentatives d'authentification
PasswordAuthentication no # désactive l'authentification par mot de passe
PermitEmptyPasswords no # désactive les mots de passe vides
X11Forwarding no # désactive la transmission GUI
DebianBanner no # disbale une bannière détaillée
AllowUsers *@XXX.X.XXX.0/24 # restreindre les utilisateurs à une plage d'adresses IP
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 essentiel de restreindre les personnes autorisées à exécuter les tâches CRON. Vous pouvez trouver toutes les tâches cron actives pour un utilisateur à l'aide de la commande suivante.
crontab -l -u NOM D'UTILISATEUR
Vérifiez les tâches 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 '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 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 niveaux 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.
yum liste installée # CentOS / RHEL
liste apt - installé # 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.
miam supprimer vlc # CentOS / RHEL
apt supprimer 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 en utilisant sysctl ou en modifiant le fichier de configuration. Voici quelques configurations courantes.
kernel.randomize_va_space = 2 # base d'adresses randomnize pour mmap, heap et stack
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 de base iptables pour les utilisateurs axés sur la sécurité.
-A INPUT -j REJECT # rejette toutes les demandes entrantes
-A FORWARD -j REJECT # rejeter le transfert de trafic
-A ENTRÉE -i lo -j ACCEPTER
-A OUTPUT -o lo -j ACCEPTER # autorise le trafic sur l'hôte local
# autoriser les requêtes ping
-A OUTPUT -p icmp -j ACCEPT # autorise les pings sortants
# autoriser les connexions établies / liées
-A ENTRÉE -m état --état ÉTABLI, RELIÉ -j ACCEPTER
-A OUTPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
# 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 --state NOUVEAU -j ACCEPTER
-A SORTIE -p tcp -m tcp --dport 443 -m état --state 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 les éléments essentiels ici.
- /var/log/auth.log enregistre les tentatives d'autorisation
- /var/log/daemon.log enregistre les applications d'arrière-plan
- / var / log / debug logs débogage des données
- /var/log/kern.log enregistre les données du noyau
- / var / log / syslog enregistre les données système
- / var / log / faillog logs é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.
Vous utilisez un Chromebook, mais vous vous inquiétez de la confidentialité? Modifiez ces 7 paramètres dans le navigateur Chrome sur Chrome OS pour rester en sécurité en ligne.
- Linux
- Sécurité informatique
- Linux
- SSH
Rubaiat est un diplômé CS passionné par l'open source. En plus d'être un vétéran d'Unix, il s'intéresse également à la sécurité réseau, à la cryptographie et à la programmation fonctionnelle. Il est un collectionneur passionné de livres d'occasion et a une admiration sans fin pour le rock classique.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives!
Un pas de plus…!
Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.