GNU/Linux >> Tutoriels Linux >  >> Linux

5 conseils pour démarrer avec la sécurité des serveurs Linux

La sécurité est un sujet populaire parmi les administrateurs système Linux. Chaque forum que je lis, chaque conférence à laquelle j'assiste et chaque discussion centrée sur l'informatique à laquelle je participe tourne toujours vers la sécurité, puis les conversations se tournent inévitablement vers la sécurité Linux. C'est mon expérience, et mon incapacité à m'empêcher d'écouter les conversations techniques sur Linux est à l'origine de cet article. Voici mes cinq recommandations pour commencer avec une installation Linux plus sécurisée dès le départ.

[Vous voulez essayer Red Hat Enterprise Linux ? Téléchargez-le maintenant gratuitement.]

Gardez-le au minimum

Quand j'installe Linux, j'installe toujours la plus petite version possible. Pour CentOS ou Red Hat Enterprise Linux, cela signifie une installation minimale. Je préfère commencer petit et ajouter ensuite ce dont j'ai besoin plutôt que de supprimer ce dont je n'ai pas besoin. L'avantage supplémentaire de la sélection d'une installation minimale est que l'encombrement du système est également minime. L'espace disque est bon marché, mais qui veut gaspiller de l'espace disque sur des applications superflues qui pourraient revenir nous hanter plus tard avec des problèmes de sécurité ? Tout ce dont j'ai besoin au départ est une installation de base avec un serveur SSH pour pouvoir m'y connecter et le gérer à distance. Je peux ajouter tout ce dont j'ai besoin via DNF plus tard.

Les serveurs sont des zones sans interface graphique

Si votre système Linux doit vivre sa vie en tant que serveur, n'installez pas d'interface utilisateur graphique. Plusieurs personnes contestent ce point. Du point de vue de la sécurité, l'installation d'une interface graphique, même petite, nécessite de nombreux packages logiciels supplémentaires. N'importe lequel d'entre eux pourrait être sujet à des problèmes de sécurité. Certains packages d'interface graphique peuvent ouvrir des ports sur votre système, ce qui n'est pas souhaitable car cette action augmente la surface d'attaque. Enfin, les performances de votre système pourraient (peuvent) souffrir d'une interface graphique, car les interfaces graphiques consomment beaucoup de ressources système.

Laissez les interfaces graphiques sur le bureau. Apprenez la ligne de commande.

Les pare-feu sont obligatoires

Sur les systèmes basés sur Red Hat (Red Hat Enterprise Linux, Fedora et CentOS), firewalld est votre pare-feu par défaut. Utilise le. Ce pare-feu basé sur l'hôte protège votre système contre les intrusions indésirables via tous les ports, à l'exception de ceux que vous avez explicitement autorisés. Vous pouvez également limiter de manière sélective le trafic sortant via le pare-feu.

Cependant, la méthode la plus sûre pour limiter le trafic sortant consiste à configurer un serveur proxy Internet interne et à autoriser uniquement le trafic sortant vers ce système. Vous pouvez également autoriser le trafic SSH vers votre sous-réseau local au cas où vous auriez besoin de vous connecter d'un système à un autre. Les pare-feu basés sur l'hôte peuvent être frustrants lors des tests de connectivité entre les systèmes, en particulier pour les services nouvellement configurés, mais cela vaut bien les quelques moments de frustration. Accrochez un panneau juste au-dessus de votre ou vos écrans dans votre cabine indiquant "VÉRIFIEZ LE PARE-FEU" et tout ira bien.

SELinux vaut la peine d'être appris

Ah, le SELinux tant détesté et incompris. En règle générale, les administrateurs système désactivent ou suppriment complètement SELinux plutôt que de faire face à l'angoisse extrême de sécurité renforcée qu'il produit. Mon conseil est de laisser ce service activé, activé et mis en application.

SELinux utilise ce qu'on appelle le contrôle d'accès obligatoire (ou MAC), tandis que les pare-feu utilisent un contrôle d'accès basé sur des règles, et les autorisations standard * nix sont appelées contrôle d'accès discrétionnaire. Avant d'abandonner et de désactiver SELinux, veuillez lire la documentation sur sa configuration. Étant donné que la plupart des systèmes n'exécutent qu'un petit ensemble de services, la configuration n'est pas si compliquée que le danger de ne pas activer ce service.

SELinux doit être configuré d'une manière particulière, permettant aux fichiers d'être étiquetés, configurés dans des contextes de sécurité et redémarrés plusieurs fois pour faire avancer les choses. Lisez la documentation. SELinux, contrairement à la croyance populaire, n'est PAS un pare-feu (ou un remplacement pour un), une solution anti-malware, un remplacement pour les mécanismes d'authentification tels que l'authentification multifacteur, ou une panacée de sécurité par n'importe quel effort d'imagination.

SELinux est une défense contre l'élévation des privilèges des services qui s'exécutent en tant qu'utilisateur root. Le désactiver est probablement une mauvaise idée. L'utilisation correcte de SELinux est une couche de protection supplémentaire nécessaire à l'heure actuelle des menaces persistantes avancées et des logiciels malveillants plus intelligents.

Les connexions root à distance sont une mauvaise idée

Par défaut, sur les systèmes basés sur Red Hat, l'utilisateur root peut se connecter à distance via SSH. Je peux comprendre pourquoi cette fonctionnalité est définie par défaut sur les systèmes nouvellement installés, mais elle doit être désactivée une fois que le système est opérationnel et opérationnel, et que des comptes avec accès sudo ont été créés.

La désactivation de la connexion root à distance empêche un attaquant d'utiliser des méthodes de force brute pour deviner votre mot de passe root. Les tentatives sont enregistrées mais n'auront aucun effet sur votre sécurité car le compte root ne peut pas se connecter à distance. Et si vous avez installé un script ou un service de prévention d'intrusion, les tentatives répétées entraînent automatiquement une nouvelle règle DROP ou la création d'un /etc/hosts.deny entrée.

Vérifiez si les connexions root à distance sont activées :

$ sudo grep -i root /etc/ssh/sshd_config

PermitRootLogin yes
# the setting of "PermitRootLogin without-password".
#ChrootDirectory none

Si vous voyez PermitRootLogin yes , l'utilisateur root peut se connecter à distance via SSH. Modifiez le /etc/ssh/sshd_config fichier et placez un # pour commenter la ligne, ou changer yes à no . Redémarrez le sshd service pour accepter la nouvelle configuration :

$ sudo systemctl restart sshd.service

L'utilisateur root ne pourra plus se connecter via SSH.

Conclusion

Lisez toutes les enquêtes des dix dernières années et vous constaterez que la sécurité est la priorité ou la préoccupation première des administrateurs système. Faites-en votre priorité pour sécuriser un système avec au moins ces cinq conseils avant que vos systèmes ne passent en production. La sécurité n'est pas quelque chose que vous pouvez remettre à plus tard ou vous détendre. Ces cinq conseils vous aideront à mettre en ligne un système plus sécurisé et à faire de votre réseau un lieu de travail plus sûr.


Linux
  1. 3 conseils pour imprimer avec Linux

  2. Premiers pas avec les pare-feux Linux

  3. 4 conseils pour mettre un parent plus âgé en ligne avec Linux

  4. Premiers pas avec socat, un outil de relais polyvalent pour Linux

  5. Premiers pas avec PostgreSQL sous Linux

Premiers pas avec le système d'exploitation Linux

Tutoriel Vagrant - Premiers pas avec Vagrant sous Linux

Premiers pas avec VirtualBox sous Linux - Partie 1

Premiers pas avec Flutter sur Linux Desktop

Premiers pas avec Buildah pour la gestion des conteneurs Linux

Prise en main et installation de Slack pour Linux