25 Conseils de sécurité durcissant pour les serveurs Linux

25 Conseils de sécurité durcissant pour les serveurs Linux

Tout le monde dit cela Linux est sécurisé par défaut et a accepté une certaine étendue (ce sont des sujets discutables). Cependant, Linux a un modèle de sécurité intégré par défaut. Besoin de le régler et de personnaliser selon vos besoins, ce qui peut aider à rendre le système plus sécurisé. Linux est plus difficile à gérer mais offre plus de flexibilité et d'options de configuration.

25 conseils de sécurité et de durcissement Linux

Sécuriser un système dans une production à partir des mains de pirates et craquelins est une tâche difficile pour un Administrateur du système. Ceci est notre premier article lié à «Comment sécuriser la boîte Linux" ou "Durcissant une boîte Linux". Dans ce post, nous expliquerons 25 conseils et astuces utiles Pour sécuriser votre système Linux. Hope, ci-dessous les conseils et les astuces vous aideront à étendre pour sécuriser votre système.

1. Sécurité du système physique

Configurer le Bios pour désactiver le démarrage à partir de CD / DVD, Dispositifs externes, Lecteur de disquette dans Bios. Ensuite, activez Bios mot de passe et protéger également VER avec un mot de passe pour restreindre l'accès physique à votre système.

  1. Définissez le mot de passe Grub pour protéger les serveurs Linux

2. Partitions de disque

Il est important d'avoir différentes partitions pour obtenir une sécurité de données plus élevée au cas où une catastrophe se produit. En créant différentes partitions, les données peuvent être séparées et regroupées. Lorsqu'un accident inattendu se produit, seules les données de cette partition seront endommagées, tandis que les données sur d'autres partitions ont survécu. Assurez-vous que vous devez avoir suivi des partitions distinctes et sûr que les applications tierces doivent être installées sur des systèmes de fichiers séparés sous /opter.

/ / boot / usr / var / home / tmp / opt

3. Minimiser les packages pour minimiser la vulnérabilité

Voulez-vous vraiment toutes sortes de services installés?. Il est recommandé d'éviter d'installer des packages inutiles pour éviter les vulnérabilités dans les packages. Cela peut minimiser le risque que le compromis d'un service puisse entraîner un compromis d'autres services. Trouver et supprimer ou désactiver les services indésirables du serveur pour minimiser la vulnérabilité. Utilisez le 'chkconfig«Commande pour découvrir des services qui fonctionnent Runlevel 3.

# / sbin / chkconfig - list | grep '3: on'

Une fois que vous avez découvert un service indésirable en cours d'exécution, désactivez-les en utilisant la commande suivante.

# chkconfig ServiceName off

Utilisez le RPM Gestionnaire de packages tels que «Miam" ou "apt-get»Outils pour répertorier tous les packages installés sur un système et les supprimer à l'aide de la commande suivante.

# yum -y supprimer le nom de package
# sudo apt-get supprimer le nom de package
  1. 5 exemples de commande CHKConfig
  2. 20 exemples pratiques de commandes RPM
  3. 20 commandes Linux Yum pour la gestion des packages Linux
  4. 25 Commandes apt-get et apt-cache pour gérer la gestion des packages

4. Vérifiez les ports du réseau d'écoute

Avec l'aide de 'netstat«Commande de réseautage Vous pouvez afficher tous les ports ouverts et les programmes associés. Comme je l'ai dit ci-dessus, utilisez-vous 'chkconfig«Commande pour désactiver tous les services de réseau indésirables du système.

# netstat -tulpn
  1. 20 commandes NetStat pour la gestion du réseau dans Linux

5. Utilisez Secure Shell (SSH)

Telnet et rlogin Les protocoles utilisent du texte brut et non un format crypté qui est les violations de sécurité. Ssh est un protocole sécurisé qui utilise la technologie de chiffrement pendant la communication avec le serveur.

Ne vous connectez jamais directement comme racine sauf si nécessaire. Utiliser "Sudo«Pour exécuter les commandes. sudo sont spécifiés dans / etc / sudoers Le fichier peut également être modifié avec le «visudo”Utilité qui s'ouvre dans Vi éditeur.

Il est également recommandé de modifier le défaut SSH 22 Numéro de port avec un autre numéro de port de niveau supérieur. Ouvrez le principal Ssh Fichier de configuration et faire des paramètres suivants pour restreindre les utilisateurs à accéder.

# vi / etc / ssh / sshd_config
Désactiver la connexion racine
Permutrootlogine no
Autoriser uniquement les utilisateurs spécifiques
Nom d'utilisateur des permis
Utiliser la version SSH Protocol 2
Protocole 2
  1. 5 meilleures pratiques pour sécuriser et protéger le serveur SSH

6. Gardez le système à jour

Gardez toujours le système à jour avec les derniers correctifs de versions, correctifs de sécurité et noyau lorsqu'il est disponible.

# mim mises à jour # yum Check-update

7. Cronjobs de verrouillage

Cron a sa propre fonctionnalité intégrée, où elle permet de spécifier qui peut et qui peut ne pas vouloir exécuter des travaux. Ceci est contrôlé par l'utilisation de fichiers appelés / etc / cron.permettre et / etc / cron.refuser. Pour verrouiller un utilisateur à l'aide de cron, ajoutez simplement les noms d'utilisateur dans cron.refuser et pour permettre à un utilisateur d'exécuter Cron Add en cron.permettre déposer. Si vous souhaitez désactiver tous les utilisateurs d'utiliser Cron, ajoutez le 'TOUS'ligne à cron.refuser déposer.

# écho tout >> / etc / cron.refuser
  1. 11 exemples de planification Cron dans Linux

8. Désactiver le bâton USB pour détecter

Plusieurs fois, il arrive que nous voulons empêcher les utilisateurs d'utiliser USB rester dans les systèmes pour protéger et sécuriser les données contre le vol. Créer un fichier '/ etc / modprobe.D / No-USB'et l'ajout de ligne sous la ligne ne détectera pas USB stockage.

Installez USB-Storage / Bin / True

9. Allumez SELINUX

Linux amélioré par la sécurité (Selinux) est un mécanisme de sécurité du contrôle d'accès obligatoire fourni dans le noyau. Invalidie Selinux signifie supprimer le mécanisme de sécurité du système. Réfléchissez soigneusement deux fois avant de retirer, si votre système est attaché à Internet et accessible par le public, alors pensez-y un peu plus.

Selinux fournit trois modes de fonctionnement de base et ils sont.

  1. Application: Il s'agit d'un mode par défaut qui activer et appliquer le Selinux Politique de sécurité sur la machine.
  2. Permissif: Dans ce mode, Selinux n'appliquera pas la politique de sécurité sur le système, avertira et ne journalisera que les actions. Ce mode est très utile en termes de dépannage Selinux problèmes liés.
  3. Désactivé: Selinux est éteint.

Vous pouvez afficher l'état actuel de Selinux Mode à partir de la ligne de commande à l'aide de 'Système-Config-Selinux','Gettenforce' ou 'Sestatus«Commandes.

# Sestatus

S'il est désactivé, activez Selinux en utilisant la commande suivante.

# setenforce applique

Il peut également être géré à partir de '/ etc / selinux / config«Fichier, où vous pouvez l'activer ou le désactiver.

dix. Supprimer les ordinateurs de bureau KDE / GNOME

Il n'y a pas besoin de courir Fenêtre Desktops comme Kde ou GNOME Sur votre serveur de lampe dédié. Vous pouvez les supprimer ou les désactiver pour augmenter la sécurité du serveur et des performances. Pour désactiver simple, ouvrez le fichier '/ etc / inittab'et régler le niveau d'exécution à 3. Si vous souhaitez le supprimer complètement du système, utilisez la commande ci-dessous.

# Yum Groupremove "X Window System"

11. Désactiver IPv6

Si vous n'utilisez pas un Ipv6 Protocole, alors vous devez le désactiver car la plupart des demandes ou politiques non requises Ipv6 protocole et actuellement il n'est pas nécessaire sur le serveur. Accédez au fichier de configuration du réseau et ajoutez des lignes de suivi pour le désactiver.

# vi / etc / sysconfig / réseau
Networking_ipv6 = no ipv6init = non

12. Restreindre les utilisateurs à utiliser les anciens mots de passe

Ceci est très utile si vous souhaitez interdire les utilisateurs pour utiliser les mêmes anciens mots de passe. L'ancien fichier de mot de passe est situé à / etc / Security / Opasswd. Cela peut être réalisé en utilisant Pam module.

Ouvrir '/ etc / pam.D / System-Auth'Fichier sous Rhel / centos / fedora.

# vi / etc / pam.D / System-Auth

Ouvrir '/ etc / pam.D / mot de passe commun'Fichier sous Ubuntu / Debian / Linux Mint.

# vi / etc / pam.D / mot de passe commun

Ajoutez la ligne suivante à 'authentification' section.

autheat suffisant pam_unix.Alors likauth nullok

Ajoutez la ligne suivante à 'mot de passe'Section pour interdire un utilisateur de la réutilisation du dernier 5 mot de passe de son.

mot de passe suffisant PAM_UNIX.donc nullok use_authtok md5 shadow reound = 5

Seulement durer 5 Les mots de passe sont mémorisés par serveur. Si vous avez essayé d'utiliser l'un des derniers 5 anciens mots de passe, vous obtiendrez une erreur comme.

Le mot de passe a déjà été utilisé. Choisis un autre.

13. Comment vérifier l'expiration du mot de passe de l'utilisateur

Dans Linux, les mots de passe de l'utilisateur sont stockés dans '/ etc / ombre'Fichier au format crypté. Pour vérifier l'expiration du mot de passe des utilisateurs, vous devez utiliser 'chage' commande. Il affiche des informations sur les détails d'expiration du mot de passe ainsi que la dernière date de changement de mot de passe. Ces détails sont utilisés par le système pour décider quand un utilisateur doit modifier son mot de passe.

Pour afficher les informations vieillissantes de tout utilisateur existantes telles que date d'expiration et temps, Utilisez la commande suivante.

Nom d'utilisateur #Chage -l

Pour modifier le vieillissement du mot de passe de tout utilisateur, utilisez la commande suivante.

#Chage -M 60 Nom d'utilisateur #Chage -M 60 -M 7 -W 7 Nom d'utilisateur
Paramètres
  1. -M Définir le nombre maximum de jours
  2. -m Définir le nombre minimum de jours
  3. -W Définir le nombre de jours d'avertissement

14. Verrouiller et déverrouiller le compte manuellement

Les fonctionnalités de verrouillage et de déverrouillage sont très utiles, au lieu de retirer un compte du système, vous pouvez le verrouiller pendant une semaine ou un mois. Pour verrouiller un utilisateur spécifique, vous pouvez utiliser la commande suivante.

# passwd -l compteName

Note : L'utilisateur verrouillé est toujours disponible pour racine Utilisateur uniquement. Le verrouillage est effectué en remplaçant le mot de passe crypté par un (!) chaîne. Si quelqu'un essaie d'accéder au système en utilisant ce compte, il obtiendra une erreur similaire à ci-dessous.

# Su - CompteName Ce compte n'est actuellement pas disponible.

Pour déverrouiller ou permettre d'accéder à un compte verrouillé, utilisez la commande comme. Cela supprimera (!) String avec mot de passe crypté.

# passwd -u comptename

15. Appliquer des mots de passe plus forts

Un certain nombre d'utilisateurs utilisent des mots de passe doux ou faibles et leur mot de passe peut être piraté avec un dictionnaire basé sur le dictionnaire ou attaques de force brute. Le 'pam_cracklib'Le module est disponible en Pam (Modules d'authentification enfichables) pile de modules qui obligera l'utilisateur à définir des mots de passe solides. Ouvrez le fichier suivant avec un éditeur.

Lisez également:

# vi / etc / pam.D / System-Auth

Et ajouter la ligne en utilisant les paramètres de crédit comme (lcredit, ucedit, dcredit et / ou ocedit respectivement dans les cas inférieurs, les caisses supérieures, les chiffres et autres)

/ lib / Security / $ ISA / PAM_CRACKLIB.donc réessayer = 3 minlen = 8 lcredit = -1 uCredit = -2 dcredit = -2 oCredit = -1

16. Activer les iptables (pare-feu)

Il est fortement recommandé d'activer Pare-feu Linux Pour sécuriser l'accès non autorisé à vos serveurs. Appliquer des règles dans iptables aux filtres entrant, sortant et expéditeur paquets. Nous pouvons spécifier la source et l'adresse de destination pour autoriser et nier en particulier UDP / TCP numéro de port.

  1. Guide et conseils de base iptables

17. Désactiver Ctrl + Alt + Supprimer dans inittab

Dans la plupart des distributions Linux, appuyant surCtrl-alt-Delete ' Will prend votre système pour redémarrer le processus. Donc, ce n'est pas une bonne idée que cette option soit activée au moins sur les serveurs de production, si quelqu'un le fait par erreur.

Ceci est défini dans '/ etc / inittab«Fichier, si vous regardez de près dans ce fichier, vous verrez une ligne similaire à ci-dessous. Par défaut, la ligne n'est pas commentée. Nous devons le commenter. Cette signalisation de séquence de clés particulière fera arrêter un système.

# Trap Ctrl-Alt-Delete #ca :: ctrlaltdel: / sbin / shutdown -t3 -r maintenant

18. Vérification des comptes pour les mots de passe vides

Tout compte ayant un mot de passe vide signifie qu'il est ouvert pour un accès non autorisé à toute personne sur le Web et il fait partie de la sécurité au sein d'un serveur Linux. Vous devez donc vous assurer que tous les comptes ont des mots de passe solides et personne n'a d'accès autorisé. Les comptes de mot de passe vides sont des risques de sécurité et cela peut être facilement piratable. Pour vérifier s'il y avait des comptes avec un mot de passe vide, utilisez la commande suivante.

# chat / etc / ombre | awk -f: '($ 2 == "") print $ 1'

19. Afficher la bannière SSH avant la connexion

C'est toujours une meilleure idée d'avoir une bannière légale ou des bannières de sécurité avec des avertissements de sécurité avant l'authentification SSH. Pour définir de telles bannières, lisez l'article suivant.

  1. Afficher le message d'avertissement SSH aux utilisateurs

20. Surveiller les activités des utilisateurs

Si vous avez affaire à beaucoup d'utilisateurs, il est important de collecter les informations de chaque activité et processus utilisateur consommées par eux et les analyser plus tard ou dans le cas où un type de performance, des problèmes de sécurité. Mais comment nous pouvons surveiller et collecter les informations sur les activités des utilisateurs.

Il existe deux outils utiles appelés 'PSACCT' et 'accorder'sont utilisés pour surveiller les activités et les processus des utilisateurs sur un système. Ces outils s'exécutent dans un fond système et suivent en continu chaque activité utilisateur sur un système et des ressources consommées par des services tels que Apache, Mysql, Ssh, FTP, etc. Pour plus d'informations sur l'installation, la configuration et l'utilisation, visitez l'URL ci-dessous.

  1. Surveiller l'activité utilisateur avec les commandes PSACCT ou ACCT

21. Examiner régulièrement les journaux

Déplacer les journaux dans le serveur de journaux dédié, cela peut empêcher les intrus à modifier facilement les journaux locaux. Vous trouverez ci-dessous le nom des fichiers journaux par défaut de Linux commun et leur utilisation:

  1. / var / log / message - Où des journaux système entiers ou des journaux d'activité actuels sont disponibles.
  2. / var / log / auth.enregistrer - Journaux d'authentification.
  3. / var / log / kern.enregistrer - Journaux du noyau.
  4. / var / log / cron.enregistrer - Grond journaux (travail cron).
  5. / var / log / Maillog - Journaux du serveur de messagerie.
  6. / var / log / boot.enregistrer - Journal de démarrage du système.
  7. / var / log / mysqld.enregistrer - Fichier journal du serveur de base de données MySQL.
  8. / var / log / sécurisé - Journal d'authentification.
  9. / var / log / utmp ou / var / log / wtmp : Fichier des enregistrements de connexion.
  10. / var / log / yum.àG: les fichiers journaux de yum.

22. Sauvegarde du fichier important

Dans un système de production, il est nécessaire de prendre une sauvegarde importante des fichiers et de les conserver dans le coffre-fort de sécurité, le site distant ou le site hors site pour la récupération des catastrophes.

23. Liaison de nic

Il existe deux types de mode dans Nic liaison, besoin de mentionner dans l'interface de liaison.

  1. mode = 0 - Roundbin
  2. mode = 1 - Actif et sauvegarde

Liaison de nic nous aide à éviter un seul point d'échec. Dans Nic liaison, nous lions deux ou plus Cartes Ethernet réseau ensemble et faire une seule interface virtuelle où nous pouvons attribuer IP Adresse pour parler avec d'autres serveurs. Notre réseau sera disponible en cas de Carte nic est en panne ou indisponible pour une raison.

Lire aussi : Créer une liaison de canal NIC dans Linux

24. Garder / démarrer en lecture seule

Le noyau Linux et ses fichiers connexes sont en /botte répertoire qui est par défaut comme lire écrire. Le modifier en lecture seulement Réduit le risque de modification non autorisée des fichiers de démarrage critiques. Pour ce faire, ouvrez "/ etc / fstab" déposer.

# vi / etc / fstab

Ajoutez la ligne suivante en bas, enregistrez-le et fermez-le.

Label = / boot / boot ext2 par défaut, ro 1 2

Veuillez noter que vous devez réinitialiser le changement à la lecture-écriture si vous devez mettre à niveau le noyau à l'avenir.

25. Ignorer ICMP ou la demande de diffusion

Ajouter la ligne suivante dans "/ etc / sysctl.confli»Fichier à ignorer ping-ping ou diffuser demande.

Ignorer la demande ICMP: net.ipv4.ICMP_ECHO_IGNORE_ALL = 1 Ignorer la demande de diffusion: net.ipv4.ICMP_ECHO_IGNORE_BORDASTS = 1

Chargez de nouveaux paramètres ou modifications, en exécutant la commande suivante

#sysctl -p

Si vous avez manqué un astuce de sécurité ou de durcissement important dans la liste ci-dessus, ou si vous avez un autre conseil qui doit être inclus dans la liste. Veuillez laisser tomber vos commentaires dans notre boîte de commentaires. Tecmint est toujours intéressé à recevoir des commentaires, des suggestions ainsi que de la discussion pour l'amélioration.