Maison > Article > Opération et maintenance > Comment renforcer le système d'exploitation du serveur Linux
Cet article vous explique principalement comment renforcer le système d'exploitation du serveur Linux. Ce manuel d'aide est conçu pour guider les gestionnaires système ou les inspecteurs de sécurité dans la vérification et le renforcement de la conformité de sécurité du système d'exploitation Linux. Les amis dans le besoin peuvent s'y référer. . J'espère que cela pourra aider tout le monde.
Réduisez les comptes inutiles dans le système et réduisez les risques de sécurité.
Étapes de fonctionnement
Utilisez la commande userdel 86221bd1fc879dffc233e57aa17d879d
pour supprimer les comptes inutiles.
Utilisez la commande passwd -l 86221bd1fc879dffc233e57aa17d879d
pour verrouiller les comptes inutiles.
Utilisez la commande passwd -u 86221bd1fc879dffc233e57aa17d879d
pour débloquer les comptes nécessaires.
Vérifiez s'il existe des comptes avec des mots de passe vides et des autorisations root.
Étapes de fonctionnement
Vérifiez le mot de passe vide et le compte privilège root pour confirmer s'il existe un compte anormal :
Utilisez la commande awk -F: '(=="")' /etc/shadow
pour afficher les comptes avec des mots de passe vides.
Utilisez la commande awk -F: '(==0)' /etc/passwd
pour afficher les comptes avec l'UID zéro.
Renforcez le compte avec mot de passe vide :
Utilisez la commande passwd 86221bd1fc879dffc233e57aa17d879d
pour définir un mot de passe pour le mot de passe vide compte.
Confirmez que le compte avec l'UID zéro est uniquement le compte root.
Améliorez la complexité des mots de passe et réduisez la possibilité d'être deviné.
Étapes de fonctionnement
Utilisez la commande vi /etc/login.defs
pour modifier le fichier de configuration.
PASS_MAX_DAYS 90 #新建用户的密码最长使用天数
PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数
Utilisez la commande chage pour modifier les paramètres utilisateur.
Par exemple, chage -m 0 -M 30 -E 2000-01-01 -W 7 86221bd1fc879dffc233e57aa17d879d
signifie que le nombre maximum de jours d'utilisation du mot de passe de cet utilisateur est défini sur 30 et que le nombre minimum de jours d'utilisation est défini sur 0. Le mot de passe expirera le 1er janvier 2000 et l'utilisateur sera prévenu sept jours avant l’expiration.
Si vous saisissez un mot de passe erroné trois fois de suite, votre compte sera verrouillé pendant cinq minutes. Utilisez la commande vi /etc/pam.d/common-auth
pour modifier le fichier de configuration et ajoutez auth required pam_tally.so onerr=fail deny=3 unlock_time=300
dans le fichier de configuration.
Limiter les utilisateurs qui peuvent su à root.
Étapes de fonctionnement
Utilisez la commande vi /etc/pam.d/su
pour modifier le fichier de configuration et ajouter des lignes dans le fichier de configuration. Par exemple, pour autoriser uniquement les utilisateurs du groupe de test à utiliser le su comme root, ajoutez auth required pam_wheel.so group=test
.
Interdire aux utilisateurs root de se connecter directement.
Étapes de fonctionnement
Créez un compte d'autorisation normal et configurez un mot de passe pour empêcher la connexion à distance ;
Utilisez la commande vi /etc/ssh/sshd_config
pour modifier le fichier de configuration et changez la valeur de PermitRootLogin en non, enregistrez-le, puis utilisez la commande service sshd restart
pour redémarrer le service.
Fermer les services inutiles (tels que les services ordinaires et les services xinetd) pour réduire les risques.
Étapes de fonctionnement
Utilisez la commande chkconfig --level bba9960d6aac15132474a1f435ddb4e4 2fd417a143330cc5e8929d48adb6458b on|off|reset
pour définir si le service doit être démarré au niveau d'initialisation spécifié.
Renforcez la sécurité du service SSH pour empêcher le piratage réussi par force brute.
Étapes de fonctionnement
Utilisez la commande vim /etc/ssh/sshd_config
pour modifier le fichier de configuration.
Le compte root n'est pas autorisé à se connecter directement au système.
Définissez la valeur de PermitRootLogin sur non.
Modifiez la version du protocole utilisée par SSH.
Définissez la version du protocole sur 2.
Modifiez le nombre d'erreurs de mot de passe autorisées (6 par défaut).
Définissez la valeur de MaxAuthTries sur 3.
Une fois la modification du fichier de configuration terminée, redémarrez le service sshd pour prendre effet.
Définissez la valeur umask par défaut pour améliorer la sécurité.
Étapes de fonctionnement
Utilisez la commande vi /etc/profile
pour modifier le fichier de configuration et ajoutez la ligne umask 027
, c'est-à-dire que le propriétaire du fichier nouvellement créé a autorisations de lecture, d'écriture et d'exécution et se trouve dans le même groupe. L'utilisateur dispose d'autorisations de lecture et d'exécution, mais les autres utilisateurs n'ont aucune autorisation.
Définissez le délai d'expiration de la connexion après la connexion au système pour améliorer la sécurité.
Étapes de fonctionnement
Utilisez la commande vi /etc/profile
pour modifier le fichier de configuration. Commentez la ligne commençant par TMOUT=
et définissez-la sur TMOUT=180
, c'est-à-dire. , le délai d'attente est de trois minutes.
Activez la fonction de journalisation et configurez la journalisation.
Étapes de fonctionnement
Le système Linux active les types de journaux suivants par défaut :
Journal système (par défaut) /var /log/ messages
journal cron (par défaut) /var/log/cron
Journal de sécurité (par défaut) /var/log/secure
Remarque : Certains systèmes peuvent utiliser les journaux syslog-ng, le fichier de configuration est : /etc/syslog-ng/syslog-ng.conf.
Vous pouvez configurer des journaux détaillés en fonction de vos besoins.
Enregistrez les journaux d'opération de connexion de tous les utilisateurs via un code de script pour éviter que des incidents de sécurité ne soient laissés pour compte.
Étapes de fonctionnement
1. Exécutez [root@xxx /]# vim /etc/profile pour ouvrir le fichier de configuration.
2. Saisissez le contenu suivant dans le fichier de configuration :
history USER=`whoami` USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = "" ]; then USER_IP=`hostname` fi if [ ! -d /var/log/history ]; then mkdir /var/log/history chmod 777 /var/log/history fi if [ ! -d /var/log/history/${LOGNAME} ]; then mkdir /var/log/history/${LOGNAME} chmod 300 /var/log/history/${LOGNAME} fi export HISTSIZE=4096 DT=`date +"%Y%m%d_%H:%M:%S"` export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT" chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
3. Exécutez [root@xxx /]# source /etc/profile. charger La configuration prend effet.
Remarque : /var/log/history est l'emplacement de stockage des journaux et peut être personnalisé.
Grâce aux étapes ci-dessus, vous pouvez créer un nouveau dossier nommé pour chaque utilisateur dans le répertoire /var/log/history Chaque fois qu'un utilisateur se déconnecte, un fichier journal avec le nom d'utilisateur, l'adresse IP de connexion et l'heure. sera généré. Contient toutes les opérations effectuées par cet utilisateur (sauf l'utilisateur root).
Dans le même temps, il est recommandé d'utiliser le service OSS pour collecter les journaux de stockage.
Recommandations associées :
php pour obtenir le fonctionnement du serveur informations relatives au système Méthode
php pour déterminer le type de système d'exploitation du serveur_Tutoriel PHP
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!