Maison >Opération et maintenance >exploitation et maintenance Linux >Comment renforcer le système d'exploitation du serveur Linux

Comment renforcer le système d'exploitation du serveur Linux

小云云
小云云original
2018-02-24 09:57:052148parcourir

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.

1. Compte et mot de passe

1.1 Désactiver ou supprimer les comptes inutiles

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.

1.2 Vérifiez les comptes spéciaux

Vérifiez s'il existe des comptes avec des mots de passe vides et des autorisations root.

Étapes de fonctionnement

  1. 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.

    1.3 Ajouter une stratégie de mot de passe

    Améliorez la complexité des mots de passe et réduisez la possibilité d'être deviné.

    Étapes de fonctionnement

    1. 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.

  • 1.4 Restreindre l'utilisateur su

    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.

    1.4 Interdire aux utilisateurs root de se connecter directement

    Interdire aux utilisateurs root de se connecter directement.

    Étapes de fonctionnement

    1. Créez un compte d'autorisation normal et configurez un mot de passe pour empêcher la connexion à distance ;

    2. 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.

    2. Services

    2.1 Fermer les services inutiles

    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é.

    2.2 Sécurité du service SSH

    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.

    3. Système de fichiers

    3.1 Définir la valeur umask

    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.

    3.2 Définir le délai d'expiration de la connexion

    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.

    4. Journal

    4.1 journal syslogd

    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.

    4.2 Enregistrez les journaux de connexion et d'opération de tous les utilisateurs

    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 Explication détaillée des commandes de base les plus complètes pour obtenir des informations sur le système d'exploitation du serveur

    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!

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn