GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Durcissement du serveur Linux – Meilleures pratiques

En tant que professionnel de l'informatique, il est difficile de se tenir au courant des vulnérabilités et des menaces de sécurité. Les mises à jour des correctifs système, le renforcement des serveurs et du réseau sont les facteurs les plus cruciaux pour prévenir les menaces de sécurité. Le renforcement des serveurs Linux et des périphériques réseau est important pour réduire les vulnérabilités informatiques et se protéger contre une compromission du système. Dans cet article, nous apprendrons quelques bonnes pratiques utilisées pour le renforcement des serveurs Linux. À des fins de démonstration, le serveur CentOS/RHEL est utilisé afin que certaines configurations puissent être différentes sur d'autres distributions Linux.

Mettre à jour le serveur Linux

Il est nécessaire de maintenir votre système à jour. Il peut y avoir des mises à jour de correctifs de sécurité pour les composants vulnérables. Exécutez la commande suivante pour mettre à jour le système.

$ yum update -y

Activer et configurer le pare-feu

La plupart des serveurs Linux sont livrés avec un package firewalld installé. Assurez-vous que le pare-feu est en cours d'exécution dans le système. Dans le système Linux, l'utilitaire de ligne de commande firewall-cmd peut être utilisé pour configurer les règles de pare-feu.

Démarrer et activer le service de pare-feu

$ systemctl start firewalld
$ systemctl enable firewalld

Pour ajouter des services et des ports spécifiques, utilisez la syntaxe suivante

$ firewall-cmd --add-service=http --permanent (Allow http service)
$ firewall-cmd --add-port=8000/tcp --permanent (Allow specific port)

Pour refléter les modifications, rechargez le pare-feu.

$ firewall-cmd --reload

Bloquer les clés USB

Dans un système Linux, le stockage USB peut être restreint en créant un fichier de configuration sous /etc/modprobe.d/ répertoire.

Créer un fichier de configuration

$ touch /etc/modprobe.d/usb_block.conf
$ echo “install usb-storage /bin/false” > /etc/modprobe.d/usb_block.conf

Supprimer les utilisateurs et groupes indésirables

Certains utilisateurs et groupes sont déjà ajoutés au système par défaut, ce qui n'est pas nécessaire. Supprimez ces utilisateurs et groupes.

$ userdel postfix
$ groupdel postfix
$ userdel games
$ groupdel games

Recherchez ces utilisateurs et groupes et supprimez-les si vous n'en avez pas besoin.

Supprimer les packages indésirables

Certains packages sont déjà installés par défaut dans le système Linux. Par exemple, postfix est fourni par défaut et le service démarre lorsque le système est en marche. Identifiez ces services et supprimez-les

$ yum remove postfix -y

Configurer la politique de mot de passe

Dans la machine Linux, la stratégie de mot de passe est spécifiée dans le fichier /etc/login.defs. Modifiez les paramètres de stratégie de mot de passe comme suit.

PASS_MAX_DAYS 90

PASS_MIN_DAYS 1

PASS_MIN_LENTH 8

PASS_WARN_AGE 30

Exemple :

Configurer SSH

Pour empêcher les accès ssh non autorisés et les attaques, apportez les modifications suivantes au fichier /etc/ssh/sshd_config.

# Set the custom ssh port

Port 8022

# Prevent from root login

PermitRootLogin no

# Restrict Empty password

PermitEmptyPasswords no

# Restrict host-based authentications

HostbasedAuthentication no

IgnoreRhosts yes

# Use ssh protocol 2

Protocol 2

# Disable tools that have GUI

X11Forwarding no

Vérifiez la configuration à l'aide de la commande suivante.

$ sshd -t

Redémarrez le service ssh

$ systemctl restart sshd

Umask

Certains fichiers nécessitent un durcissement umask.

$ sed -i -e 's/umask 022/umask 027/g' -e 's/umask 002/umask 027/g' /etc/profile
$ sed -i -e 's/umask 022/umask 027/g' -e 's/umask 002/umask 027/g' /etc/csh.cshrc
$ sed -i -e 's/umask 022/umask 027/g' -e 's/umask 002/umask 027/g' /etc/init.d/functions
$ sed -i -e 's/umask 022/umask 027/g' -e 's/umask 002/umask 027/g' /etc/bashrc

Désactiver le vidage mémoire

Le vidage de mémoire stocke les informations d'un programme exécutable. Il peut être utilisé pour déterminer pourquoi le programme a été abandonné. Le vidage mémoire peut également être utilisé pour récupérer des informations confidentielles à partir d'un fichier core. Utilisez la commande suivante pour désactiver le vidage de mémoire.

$ echo “* hard core 0” >>/etc/security/limits.conf

Utiliser des outils d'audit système

L'utilisation d'outils de sécurité permet d'identifier facilement les problèmes du système. L'un des outils gratuits et open source est lynis qui peut être utilisé pour effectuer un audit régulier du système. Tous les résultats sont affichés à l'écran et également stockés dans le fichier journal.

Installer l'outil

$ yum install epel-release -y
$ yum install lynis

Auditez le système à l'aide de la commande ci-dessous

$ lynis audit system

Des suggestions et des résultats d'avertissement seront stockés dans le fichier journal. Exécutez la commande suivante pour voir le résultat et résoudre en conséquence.

$ grep Suggestion /var/log/lynis.log

Sortie :

$ grep Warning /var/log/lynis.log

Conclusion

Dans cet article, nous avons appris quelques bonnes pratiques pour renforcer les systèmes Linux. Si vous avez des trucs et astuces pour sécuriser un serveur Linux, n'oubliez pas de laisser un commentaire dans la case ci-dessous.


Ubuntu
  1. Configuration rapide du serveur NFS sur le système Redhat 7 Linux

  2. Vérifier la disponibilité sur le serveur Ubuntu Linux - Comment faire ?

  3. Meilleures pratiques de sécurité des serveurs Linux

  4. Meilleures pratiques de codage pour la programmation système Linux en langage C - Partie 1

  5. Les meilleures pratiques du serveur Nagios ?

16 meilleurs serveurs Syslog pour Linux et Windows

Serveur NTP et meilleures pratiques

Comment vérifier la disponibilité sur un serveur Linux

Comment gérer le système de fichiers Linux sur le serveur Ubuntu

Serveur FreeIPA sur Alma Linux 8/CentOS 8

Serveur de surveillance Graylog sur Ubuntu Linux pour la surveillance du serveur/des services