20 CentOS Server Durning Security Conseils - Partie 1

20 CentOS Server Durning Security Conseils - Partie 1

Ce tutoriel ne couvre que des conseils de sécurité généraux pour Centos 8/7 qui peut être utilisé pour durcir le système. Les conseils de liste de contrôle sont destinés à être utilisés principalement sur divers types de serveurs à métal nu ou sur des machines (physiques ou virtuelles) qui fournissent des services réseau.

Cependant, certains des conseils peuvent également être appliqués avec succès aux machines à usage général, telles que les ordinateurs de bureau, les ordinateurs portables et les ordinateurs monomodes de la taille d'une carte (Tarte aux framboises).

Exigences

  • Centos 8 installation minimale
  • Centos 7 Installation minimale

1. Protection physique

Verrouiller l'accès aux chambres de vos serveurs, utilisez le verrouillage des racks et la surveillance vidéo. Prenez en considération que tout accès physique aux salles de serveurs peut exposer votre machine à de sérieux problèmes de sécurité.

Bios Les mots de passe peuvent être modifiés en réinitialisant les cavaliers sur la carte mère ou en déconnectant la batterie CMOS. De plus, un intrus peut voler les disques durs ou attacher directement de nouveaux disques durs aux interfaces de la carte mère (SATA, SCSI, etc.), démarrer avec une distribution live Linux et clone ou copier des données sans laisser de trace logiciel.

2. Réduire l'impact d'espionnage

En cas de données hautement sensibles, vous devriez probablement utiliser une protection physique avancée, comme placer et verrouiller le serveur dans une cage Faraday ou utiliser une solution de tempête militaire afin de minimiser l'impact de l'espionnage du système par radio ou des émanations de fuite électrique.

3. BIOS sécurisé / UEFI

Démarrez le processus de durcissement de votre machine en sécurisant Bios / uefi Paramètres, en particulier définir un Bios / uefi mot de passe et désactiver les appareils de support de démarrage (CD, DVD, désactiver la prise en charge USB) afin d'empêcher tout utilisateur non autorisé de modifier les paramètres du bios système ou de modifier la priorité du périphérique de démarrage et de démarrer la machine à partir d'un support alternatif.

Afin d'appliquer ce type de changement à votre machine, vous devez consulter le manuel du fabricant de la carte mère pour des instructions spécifiques.

4. Sécurocheur de démarrage

Définir un VER Mot de passe afin d'empêcher les utilisateurs malveillants de falsifier la séquence de démarrage du noyau ou d'exécuter des niveaux, de modifier les paramètres du noyau ou de démarrer le système en un mode utilisateur unique afin de nuire à votre système et de réinitialiser le mot de passe racine pour obtenir un contrôle privilégié.

5. Utilisez des partitions de disque séparées

Lors de l'installation Centos Sur les systèmes destinés aux serveurs de production, utilisent des partitions dédiées ou des disques durs dédiés pour les parties suivantes du système:

/ (root) / boot / home / tmp / var 

6. Utilisez LVM et RAID pour la redondance et la croissance du système de fichiers

Le / var La partition est l'endroit où les messages de journal sont écrits sur le disque. Cette partie du système peut croître de façon exponentielle en taille sur des serveurs de trafic fortement qui exposent des services réseau tels que les serveurs Web ou les serveurs de fichiers.

Ainsi, utilisez une grande partition pour / var ou envisagez de configurer cette partition à l'aide de volumes logiques (LVM) ou combiner plusieurs disques physiques en un seul appareil Virtual Raid 0 plus grand pour maintenir de grandes quantités de données. Pour les données, la redondance envisage d'utiliser la disposition LVM au-dessus de Le raid 1 niveau.

Pour configurer LVM ou RAID sur les disques, suivez nos guides utiles:

  1. Configuration du stockage du disque avec LVM dans Linux
  2. Créer des disques LVM à l'aide de VGcreate, LVCreate et LVEXTEND
  3. Combinez plusieurs disques en un grand stockage virtuel
  4. Créer un raid 1 en utilisant deux disques dans Linux

7. Modifier les options FSTAB pour sécuriser les partitions de données

Partitions séparées destinées à stocker les données et à empêcher l'exécution de programmes, de fichiers de périphérique ou setuid bit sur ce type de partitions en ajoutant les options suivantes fstab Fichier comme illustré sur l'extrait ci-dessous:

/ dev / sda5 / nas ext 4 par défaut,Nosuid, Nodev, Noexec 1 2 

Pour empêcher l'escalade de privilèges et l'exécution de script arbitraire, créez une partition distincte pour / tmp et montez-le comme nosuide, nov, et NOEXEC.

/ dev / sda6 / tmp ext4 par défaut,Nosuid, Nodev, Noexec 0 0 

8. Crypter les disques durs au niveau du bloc avec LUKS

Afin de protéger les données sensibles, l'espionnage en cas d'accès physique aux disques durs de la machine. Je vous suggère d'apprendre à crypter le disque en lisant notre article du cryptage des données du disque dur Linux avec LUKS.

9. Utilisez la cryptographie PGP et clé publique

Afin de crypter les disques, utilisez la cryptographie PGP et la cryptographie par clé publique ou l'ouverture de la commande pour crypter et déchiffrer des fichiers sensibles avec un mot de passe comme indiqué dans cet article Configurer le stockage du système Linux crypté.

dix. Installez uniquement la quantité minimale de packages requis

Évitez d'installer des programmes, applications ou services sans importance ou inutile pour éviter les vulnérabilités des emballages. Cela peut réduire le risque que le compromis d'un logiciel puisse conduire à un compromis d'autres applications, des parties du système ou même des systèmes de fichiers, entraînant enfin une corruption de données ou une perte de données.

11. Mettez à jour le système fréquemment

Mettez à jour le système régulièrement. Gardez le noyau Linux en synchronisation avec les derniers correctifs de sécurité et tous les logiciels installés à jour avec les dernières versions en émettant la commande ci-dessous:

# mise à jour 

12. Désactiver Ctrl + Alt + Del

Afin d'empêcher les utilisateurs de redémarrer le serveur une fois qu'ils ont un accès physique à un clavier ou via une application de console distante ou une console virtualisée (Kvm, Interface logicielle de virtualisation) Vous devez désactiver Ctrl + alt + del Séquence clé en exécutant la commande ci-dessous.

# SystemCTL Mask Ctrl-Alt-Del.cible 

13. Supprimer les packages logiciels inutiles

Installez un logiciel minimal requis pour votre machine. N'installez jamais de programmes ou de services supplémentaires. Installez les packages uniquement à partir de référentiels de confiance ou officiels. Utilisez une installation minimale du système au cas où la machine serait destinée à exécuter toute sa durée de vie en tant que serveur.

Vérifiez les packages installés à l'aide de l'une des commandes suivantes:

# RPM -QA 

Faire une liste locale de tous les packages installés.

# Liste Yum installée >> installé.SMS 

Consultez la liste des logiciels inutiles et supprimez un package en émettant la commande ci-dessous:

# yum supprimer le package_name 
Article associé: Désactiver et supprimer les packages indésirables sur une installation minimale de CentOS

14. Redémarrez les services Systemd après les mises à jour du démon

Utilisez l'exemple de commande ci-dessous pour redémarrer un service Systemd afin d'appliquer de nouvelles mises à jour.

# SystemCTL Redémarrer HTTPD.service 

15. Supprimer les services inutiles

Identifiez les services qui écoutent sur des ports spécifiques en utilisant la commande SS suivante.

# ss -tulpn 

Pour répertorier tous les services installés avec leur émission d'état de sortie La commande ci-dessous:

# SystemCTL List-Units-Units Service 

Par exemple, Centos L'installation minimale par défaut est livrée avec un démon postfix installé par défaut qui s'exécute par le nom d'un maître sous le port 25. Supprimer le service réseau postfix au cas où votre machine ne sera pas utilisée comme serveur de messagerie.

# yum supprimer le postfix 
Article associé: Arrêtez et désactivez les services indésirables dans les centos

16. Crypter les données transmises

N'utilisez pas de protocoles non garantis pour un accès à distance ou un transfert de fichiers tels que Telnet, FTP, ou d'autres protocoles élevés de texte brut tels que SMTP, HTTP, NFS ou SMB qui, par défaut, ne cryptent pas les séances d'authentification ni les données envoyées.

Utilisez uniquement SFTP, SCP pour les transferts de fichiers et SSH ou VNC sur les tunnels SSH pour les connexions de console distante ou l'accès à l'interface graphique.

Afin de tunnel une console VNC via SSH, utilisez l'exemple ci-dessous qui transmet le port VNC 5901 de la machine distante à votre machine locale:

# SSH -L 5902: LocalHost: 5901 Remote_machine 

Sur la machine locale, exécutez la commande ci-dessous pour une connexion virtuelle au point de terminaison distant.

# vncviewer localhost: 5902 

17. Analyse du port réseau

Effectuer des vérifications de port externes à l'aide de l'outil NMAP à partir d'un système distant sur le LAN. Ce type de numérisation peut être utilisé pour vérifier les vulnérabilités du réseau ou tester les règles du pare-feu.

# nmap -st -o 192.168.1.dix 
Article connexe: Apprenez à utiliser NMAP avec ces 29 exemples

18. Pare-feu à filtrage des paquets

Utiliser pare-feu Utilité pour protéger les ports système, ouvrir ou fermer des ports de services spécifiques, en particulier les ports bien connus (<1024).

Installer, démarrer, activer et répertorier les règles de pare-feu en émettant les commandes ci-dessous:

# yum install firewalld # systemctl start Firewalld.Service # SystemCTL Activer Firewalld.Service # pare-feu-CMD - list-all 

19. Inspecter les paquets de protocole avec TCPDump

Utilisez un utilitaire TCPDUmp afin de renifler les paquets de réseau localement et d'inspecter leur contenu pour un trafic suspect (ports de destation source, protocoles TCP / IP, calque deux trafic, requêtes ARP inhabituelles).

Pour une meilleure analyse de la tcpdump Fichier capturé utilise un programme plus avancé tel que Wireshark.

# tcpdump -i eno16777736 -w tcpdump.PCAP 

20. Empêcher les attaques DNS

Inspectez le contenu de votre résolveur, généralement / etc / résolv.confli Fichier, qui définit l'adresse IP des serveurs DNS qu'il doit utiliser pour interroger pour les noms de domaine, afin d'éviter les attaques de l'homme au milieu, le trafic inutile pour les serveurs DNS racine, l'entraînement ou la création d'une attaque DOS.

Ce n'est que la première partie. Dans la prochaine partie, nous discuterons d'autres conseils de sécurité pour Centos 8/7.

Ne manque pas: Le Mega Guide to Hardening and Securing CentOS 8/7 - Partie 2