GNU/Linux >> Tutoriels Linux >  >> Linux

Sécurité Linux :8 autres contrôles de verrouillage du système

Le verrouillage du système ne doit pas nécessairement être une tâche importante ou horrible qui effraie les cœurs les plus blasés des administrateurs système. Non, ce n'est pas intuitif ni nécessairement trivial de verrouiller correctement un serveur Linux, mais ce n'est pas non plus de la physique quantique. Dans mon article précédent, Sysadmin security :8 Linux lockdown controls, j'ai couvert huit modifications essentielles que vous devez apporter à chaque système Linux, quelle que soit sa fonction. Dans cet article, je couvre davantage de contrôles système que vous pouvez mettre en œuvre rapidement et sans frais.

Ces contrôles proviennent de diverses sources, telles que ma propre expérience, DISA STIG et d'autres administrateurs système. Les contrôles répertoriés ici ne sont pas classés par ordre particulier d'importance ou de gravité.

Bannière

Que votre système dispose ou non d'une interface utilisateur graphique, vous devez créer une bannière qui s'affiche pour l'utilisateur lors de la connexion. La bannière doit avertir l'utilisateur que le système est protégé par et que l'utilisation abusive du système est une infraction pénale. La bannière doit s'afficher pour les utilisateurs de la console ainsi que pour ceux qui se connectent via le réseau.

Modifiez le /etc/issue pour les utilisateurs de la console et le /etc/issue.net pour les utilisateurs du réseau. Assurez-vous de fournir le chemin complet du fichier que vous utilisez pour la bannière dans le /etc/ssh/sshd_config fichier comme suit :

Banner /etc/issue.net

Vous pouvez utiliser n'importe quel fichier, mais vous devez modifier le chemin de la bannière et le faire pointer vers le fichier contenant votre message.

Non, la mise en place d'une bannière n'empêchera certainement pas un attaquant de compromettre votre système avec succès. Pourtant, cela détruit l'argument de la défense selon lequel l'attaquant n'avait pas conscience que le système était un système privé et protégé.

Application de la complexité des mots de passe

Appliquez la complexité des mots de passe, pour les systèmes qui utilisent encore des mots de passe, en modifiant les paramètres dans /etc/security/pwquality.con fichier (illustré ci-dessous). Ce fichier contient une liste de paramètres modifiables pour appliquer des mots de passe forts pour vos systèmes.

# Configuration for systemwide password quality limits
# Defaults:
#
# Number of characters in the new password that must not be present in the
# old password.
# difok = 5
#
# Minimum acceptable size for the new password (plus one if
# credits are not disabled which is the default). (See pam_cracklib manual.)
# Cannot be set to lower value than 6.
# minlen = 9
#
# The maximum credit for having digits in the new password. If less than 0
# it is the minimum number of digits in the new password.
# dcredit = 1
#
# The maximum credit for having uppercase characters in the new password.
# If less than 0 it is the minimum number of uppercase characters in the new
# password.
# ucredit = 1
#
# The maximum credit for having lowercase characters in the new password.
# If less than 0 it is the minimum number of lowercase characters in the new
# password.
# lcredit = 1
#
# The maximum credit for having other characters in the new password.
# If less than 0 it is the minimum number of other characters in the new
# password.
# ocredit = 1
#
# The minimum number of required classes of characters for the new
# password (digits, uppercase, lowercase, others).
# minclass = 0
#
# The maximum number of allowed consecutive same characters in the new password.
# The check is disabled if the value is 0.
# maxrepeat = 0

Voici les valeurs recommandées. Remarque :Assurez-vous de décommenter la ligne de paramètre pour activer la valeur appliquée.

difok = 8

minlen = 15

dcredit = -1

ucredit = -1

lcredit = -1

ocredit = -1

minclass = 4

maxrepeat = 3

maxclassrepeat = 4

Ces paramètres permettent de garantir que les mots de passe système sont bien plus sécurisés que les paramètres par défaut. Il est recommandé d'utiliser une authentification multifacteur plutôt que des mots de passe pour renforcer la sécurité d'accès au système.

Remarque :Le minlen (longueur minimale) doit être défini sur une valeur de 15 ou plus. Apprenez aux utilisateurs à utiliser des phrases secrètes plutôt que d'essayer de trouver un seul mot qui répond aux critères.

Durée de vie minimale du mot de passe

Certains utilisateurs intelligents changent leurs mots de passe plusieurs fois pour contourner la sécurité du système. Lorsqu'ils sont obligés de mettre à jour leurs mots de passe, ils changent leurs mots de passe suffisamment de fois pour battre la sécurité du système et éventuellement rétablir leur mot de passe à l'original. Le PASS_MIN_DAYS paramètre dans le /etc/login.defs fichier peut empêcher cette activité. Définissez la valeur sur 1 ou plus. La valeur par défaut est 0, ce qui cause le problème de sécurité.

PASS_MIN_DAYS 1

La définition de ce paramètre signifie que l'utilisateur doit conserver le nouveau mot de passe pendant au moins un jour avant de le modifier à nouveau. Vous pouvez définir la valeur sur n'importe quel nombre, mais empêcher l'utilisateur de changer immédiatement plusieurs fois semble résoudre le problème.

Durée de vie maximale du mot de passe

Peut-être encore plus dangereux que la durée de vie minimale du mot de passe est le paramètre de durée de vie maximale du mot de passe. La valeur par défaut est 99999, ce qui signifie que l'utilisateur n'aura jamais à changer son mot de passe. Il s'agit d'une grave violation de la sécurité.

En fonction des politiques et des besoins de sécurité de votre entreprise, vous devez appliquer les changements de mot de passe dans la plage de 60 à 90 jours. Pour appliquer une telle modification à l'échelle du système, modifiez le PASS_MAX_DAYS paramètre dans le /etc/login.defs fichier.

PASS_MAX_DAYS 60

Ce paramètre oblige les utilisateurs à changer leurs mots de passe tous les 60 jours. Oui, vous entendrez des grognements, surtout lorsqu'ils sont associés au PASS_MIN_DAYS restriction. La sécurité l'emporte sur les plaintes des utilisateurs.

Sécurité sudo

Souvent, les administrateurs système configurent leurs comptes d'utilisateurs pour utiliser le sudo commande sans mot de passe. Il s'agit d'une grave violation de la sécurité et qui ne devrait en aucun cas être autorisée sur n'importe quel système, quelle que soit sa fonction.

Modifiez le /etc/sudoers fichier avec visudo et supprimer toutes les instances de NOPASSWD dans le fichier.

De plus, vérifiez les instances de "!Authentication" dans le /etc/sudoers dossier. Cette entrée permet à un utilisateur qui a sudo accès pour continuer à utiliser sudo sans ré-authentification. Il s'agit d'une violation de la sécurité. Supprimez toutes les instances de "!Authentication" de /etc/sudoers fichier.

Délai d'échec de connexion

Pour aider à contrecarrer les attaques par force brute sur les comptes d'utilisateurs, vous devez définir le délai d'échec de la connexion sur au moins 4 secondes. Cela dissuade les attaques par force brute, mais peut également aider les utilisateurs à saisir le mot de passe correct, ce qui devient plus difficile pour les mots de passe et les phrases secrètes plus longs.

Ce paramètre est défini dans le /etc/login.defs dossier. Le nombre correspond au nombre de secondes pendant lesquelles le système s'arrête avant de présenter une nouvelle invite de connexion après une tentative de connexion infructueuse.

FAIL_DELAY 4

Quatre secondes, c'est assez court pour ne pas frustrer les utilisateurs qui auraient pu appuyer sur la mauvaise touche par accident, mais assez long pour empêcher les tentatives de connexion répétées par les bots.

Désactiver le montage automatique de l'appareil

Le montage automatique des systèmes de fichiers introduit des risques de sécurité provenant de périphériques inconnus susceptibles d'être connectés à un système. En d'autres termes, un attaquant pourrait brancher un périphérique USB pour fournir une charge utile lorsque le périphérique se monte automatiquement. Désactivez le montage automatique en arrêtant et en désactivant autofs services.

$ sudo systemctl stop autofs

$ sudo systemctl disable autofs

Il peut être un peu moins pratique de devoir monter manuellement les systèmes de fichiers après avoir branché un nouveau périphérique sur le système, mais l'augmentation de la sécurité compense les trois secondes de travail supplémentaires nécessaires pour monter un périphérique. Cela permet à l'administrateur système de désactiver, d'effacer ou d'éjecter un appareil non autorisé.

Restreindre les autorisations de création de fichiers

Nous revenons au /etc/login.defs fichier pour apporter une modification à l'échelle du système. Lorsque les utilisateurs créent de nouveaux fichiers, ils reçoivent généralement des autorisations de 644 résultant du umask paramètre de filtre de 022. Pour améliorer la sécurité, tous les nouveaux fichiers doivent être créés avec un umask de 077, ce qui donne aux nouveaux fichiers 600 comme autorisations par défaut.

UMASK 077

Pour la plupart des utilisateurs, cela peut avoir moins d'importance, mais pour les fichiers créés par root, ce paramètre est obligatoire. Sa configuration à l'échelle du système garantit la cohérence.

Récapitulez

L'amélioration de la sécurité du système est l'une des principales tâches de l'administrateur système. Les nouveaux systèmes, les systèmes hérités et les systèmes qui remplissent des fonctions de niche sont les plus vulnérables de votre réseau. Une attention particulière doit être portée à la protection de chaque système de réseau. Souvent, la compromission d'un système permet d'en compromettre plusieurs, car l'attaquant se trouve désormais à l'intérieur du réseau et contrôle un ou plusieurs systèmes.

Certains de ces contrôles de sécurité peuvent sembler lourds, mais par rapport à la récupération après une violation, cela fait simplement partie de la "normalité" d'aujourd'hui

[ Vous voulez en savoir plus sur la sécurité ? Consultez la liste de vérification de la sécurité informatique et de la conformité. ]


Linux
  1. Renforcez la sécurité du pare-feu de votre système Linux

  2. Survivre à un audit de sécurité avec Enterprise Linux

  3. Sécurité Linux :protégez vos systèmes avec fail2ban

  4. Sécurité de l'administrateur système :8 contrôles de verrouillage Linux

  5. En savoir plus sur votre système Linux avec inxi

Récupérer un mot de passe root oublié sur le système Redhat 7 Linux Selinux

Configuration système requise pour Kali Linux

Commande d'arrêt de Linux

Comment auditer un système Linux distant avec Lynis Security Tool

13 paramètres de confidentialité et de sécurité importants dans Ubuntu Linux

Sécurité Linux contre Windows