Alors que chaque entreprise devient de plus en plus dépendante d'Internet, la cybersécurité devient de plus en plus une priorité organisationnelle. À cet égard, les systèmes Linux constituent un bon point de départ. En raison de ses caractéristiques open source, de son utilisation généralisée et de l’absence d’autorisation, le système Linux est devenu le système d’exploitation de choix pour de nombreuses organisations et entreprises. Cependant, les risques liés aux systèmes Linux augmentent également. Cet article explique comment renforcer et réparer les vulnérabilités du système Linux et fournit des exemples de code pour vous aider à configurer un système Linux plus sécurisé.
Tout d'abord, nous devons nous concentrer sur ces aspects : la gestion des utilisateurs, les autorisations des fichiers et des répertoires, la configuration du réseau et du serveur et la sécurité des applications. Des mesures détaillées et un exemple de code pour chaque aspect sont décrits ci-dessous.
Mots de passe forts
Développez une politique de mot de passe qui oblige les utilisateurs à choisir des mots de passe complexes et à modifier régulièrement leurs mots de passe.
#强制用户选择具备最低密码强度的密码 auth requisite pam_passwdqc.so enforce=users #强制/用户更改自己的密码 auth required pam_warn.so auth required pam_passwdqc.so min=disabled,disabled,12,8,7 auth required pam_unix.so remember=24 sha512 shadow
Interdire la connexion à distance root
Il est recommandé que seuls les utilisateurs disposant des autorisations root puissent se connecter directement. Configurez PermitRootLogin dans /etc/ssh/sshd_config sur no.
Délai d'expiration de connexion
Les paramètres de délai d'attente peuvent garantir une déconnexion automatique après une période d'inactivité. Définissez comme suit dans /etc/profile ou ~/.bashrc :
#设置空闲登陆超时退出时间为300秒 TMOUT=300 export TMOUT
Configuration par défaut
La configuration par défaut permettra à tous les utilisateurs d'afficher tous les fichiers et répertoires. Ajoutez le contenu suivant au fichier /etc/fstab :
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /dev/shm tmpfs defaults,noatime,mode=1777 0 0
Déterminez les autorisations pour les fichiers et répertoires sensibles
L'accès doit être limité à des groupes d'utilisateurs ou à des individus spécifiques. Utilisez les commandes chown et chmod pour modifier les autorisations des fichiers et des répertoires. L'exemple suivant consiste à définir un répertoire qui ne peut être modifié que par l'utilisateur root :
#修改某目录只能root用户修改 chown root /etc/cron.deny chmod 600 /etc/cron.deny
Vérifiez le SUID, le SGID et les Sticky Bits
SUID (Set ID utilisateur), SGID (Set group ID), Sticky Bit et d'autres bits sont des marques de sécurité dans le système Linux et doivent être audités régulièrement. La commande suivante est utilisée pour rechercher les conditions d'autorisation non qualifiées :
#查找SUID权限未被使用的文件和目录 find / -perm +4000 ! -type d -exec ls -la {} ; 2>/dev/null #查找SGID权限未被使用的文件和目录 find / -perm +2000 ! -type d -exec ls -la {} ; 2>/dev/null #查找粘滞位未设置的目录 find / -perm -1000 ! -type d -exec ls -la {} ; 2>/dev/null
Firewall
iptables est l'une des applications de pare-feu les plus couramment utilisées sous Linux. L'exemple de code suivant bloque tous les accès entrants :
#清空所有规则和链 iptables -F iptables -X #允许所有本地进出的通信,并拒绝所有远程的访问 iptables -P INPUT DROP iptables -P OUTPUT DROP #添加规则 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
Restreindre l'accès aux services
Certains services ne doivent être exécutés que localement et il existe un grand risque d'accès depuis l'extérieur. Développez des règles dans les répertoires /etc/hosts.allow et /etc/hosts.deny pour limiter le temps d'accès, l'adresse IP et d'autres informations au service.
Mise à jour des packages logiciels
Les logiciels du noyau et de l'espace utilisateur nécessitent des mises à jour régulières pour résoudre les bogues et les vulnérabilités connus. Vous pouvez utiliser yum, rpm et d'autres outils pour mettre à jour les progiciels. Un exemple de code est donné ci-dessous :
#更新已安装的所有软件包 yum -y update #更新单个软件包 yum -y update
Évitez d'utiliser l'utilisateur root pour exécuter des applications
Lors de l'exécution d'applications, vous devez utiliser des utilisateurs non privilégiés et ne pas utiliser d'utilisateurs root pour exécuter des applications.
Compiler la bibliothèque de liens statiques
La bibliothèque de liens statiques contient toutes les dépendances pour l'écriture d'applications, ce qui peut empêcher d'autres utilisateurs de falsifier les packages dépendants. L'exemple de code est donné ci-dessous :
#编译静态链接库 gcc -o app app.c -static
Conclusion
Le travail de renforcement de la sécurité et de réparation des vulnérabilités du système Linux ne s'arrête pas là, mais les mesures ci-dessus peuvent nous aider à renforcer la sécurité du système Linux. Il convient de noter que ces mesures ne peuvent pas garantir pleinement la sécurité du système. Les organisations et les entreprises doivent prendre plusieurs mesures pour assurer la sécurité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!