So härten Sie das Linux-Server-Betriebssystem ab

小云云
Freigeben: 2018-02-24 09:57:05
Original
2100 Leute haben es durchsucht

In diesem Artikel erfahren Sie hauptsächlich, wie Sie das Linux-Server-Betriebssystem härten. Dieses Hilfehandbuch soll Systemmanagern oder Sicherheitsinspektoren dabei helfen, die Sicherheitskonformität des Linux-Betriebssystems zu überprüfen und zu härten . Ich hoffe, es kann allen helfen.

1. Konto und Passwort

1.1 Deaktivieren oder löschen Sie nutzlose Konten

Reduzieren Sie nutzlose Konten im System und reduzieren Sie Sicherheitsrisiken.

Bedienungsschritte

  • Verwenden Sie den Befehl userdel <用户名>, um unnötige Konten zu löschen.

  • Verwenden Sie den Befehl passwd -l <用户名>, um nicht benötigte Konten zu sperren.

  • Verwenden Sie den Befehl passwd -u <用户名>, um die erforderlichen Konten zu entsperren.

1.2 Sonderkonten prüfen

Überprüfen Sie, ob Konten mit leeren Passwörtern und Root-Berechtigungen vorhanden sind.

Vorgangsschritte

  1. Überprüfen Sie das leere Passwort und das Root-Berechtigungskonto, um zu bestätigen, ob ein abnormales Konto vorliegt:

  • Verwenden Sie den Befehl awk -F: '(=="")' /etc/shadow, um Konten mit leeren Passwörtern anzuzeigen.

  • Verwenden Sie den Befehl awk -F: '(==0)' /etc/passwd, um Konten mit UID Null anzuzeigen.

  • Das leere Passwortkonto verstärken:

    • Verwenden Sie den Befehl passwd <用户名>, um ein Passwort für das leere Passwort festzulegen Konto.

    • Bestätigen Sie, dass das Konto mit der UID Null nur das Root-Konto ist.

    1.3 Passwortstrategie hinzufügen

    Erhöhen Sie die Komplexität des Passworts, um die Möglichkeit des Erratens zu verringern.

    Bedienungsschritte

    1. Verwenden Sie den Befehl vi /etc/login.defs, um die Konfigurationsdatei zu ändern.

    • PASS_MAX_DAYS 90 #新建用户的密码最长使用天数

    • PASS_MIN_DAYS 0 #新建用户的密码最短使用天数

    • PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数

  • Verwenden Sie den Befehl chage, um Benutzereinstellungen zu ändern.
    Beispielsweise bedeutet chage -m 0 -M 30 -E 2000-01-01 -W 7 <用户名>, dass die maximale Anzahl an Nutzungstagen des Kennworts dieses Benutzers auf 30 und die minimale Anzahl an Nutzungstagen auf 0 festgelegt ist. Das Kennwort läuft am 1. Januar 2000 ab und der Benutzer werden sieben Tage vor Ablauf gewarnt.

  • Wenn Sie dreimal hintereinander das falsche Passwort eingeben, wird Ihr Konto für fünf Minuten gesperrt. Verwenden Sie den Befehl vi /etc/pam.d/common-auth, um die Konfigurationsdatei zu ändern und auth required pam_tally.so onerr=fail deny=3 unlock_time=300 in die Konfigurationsdatei einzufügen.

  • 1.4 Benutzer su einschränken

    Benutzer, die su können, auf Root beschränken.

    Vorgangsschritte

    Verwenden Sie den Befehl vi /etc/pam.d/su, um die Konfigurationsdatei zu ändern und Zeilen in der Konfigurationsdatei hinzuzufügen. Um beispielsweise nur Benutzern in der Testgruppe zu erlauben, su zu rooten, fügen Sie auth required pam_wheel.so group=test hinzu.

    1.4 Root-Benutzern die direkte Anmeldung verbieten

    Root-Benutzern die direkte Anmeldung verbieten.

    Vorgangsschritte

    1. Erstellen Sie ein normales Berechtigungskonto und konfigurieren Sie ein Passwort, um eine Remote-Anmeldung zu verhindern;

    2. Verwenden Sie den Befehl vi /etc/ssh/sshd_config, um die Konfigurationsdatei zu ändern und den Wert von PermitRootLogin in „Nein“ zu ändern, speichern Sie ihn und verwenden Sie dann den Befehl service sshd restart, um den Dienst neu zu starten.

    2. Dienste

    2.1 Unnötige Dienste schließen

    Unnötige Dienste (wie gewöhnliche Dienste und xinetd-Dienste) schließen, um Risiken zu reduzieren.

    Bedienungsschritte

    Mit dem Befehl chkconfig --level <init级别> <服务名> on|off|reset legen Sie fest, ob der Dienst auf dem angegebenen Init-Level gestartet werden soll.

    2.2 SSH-Dienstsicherheit

    Stärken Sie die Sicherheit des SSH-Dienstes, um erfolgreiches Brute-Force-Cracking zu verhindern.

    Bedienungsschritte

    Verwenden Sie den Befehl vim /etc/ssh/sshd_config, um die Konfigurationsdatei zu bearbeiten.

    • Das Root-Konto darf sich nicht direkt am System anmelden.
      Setzen Sie den Wert von PermitRootLogin auf „Nein“.

    • Ändern Sie die von SSH verwendete Protokollversion.
      Setzen Sie die Protokollversion auf 2.

    • Ändern Sie die Anzahl der zulässigen Passwortfehler (Standard 6).
      Legen Sie den Wert von MaxAuthTries auf 3 fest.

    Nachdem die Änderung der Konfigurationsdatei abgeschlossen ist, starten Sie den SSHD-Dienst neu, damit er wirksam wird.

    3. Dateisystem

    3.1 umask-Wert festlegen

    Legen Sie den Standard-umask-Wert fest, um die Sicherheit zu erhöhen.

    Vorgangsschritte

    Verwenden Sie den Befehl vi /etc/profile, um die Konfigurationsdatei zu ändern und die Zeile umask 027 hinzuzufügen, d. h. der Eigentümer der neu erstellten Datei hat Lese-, Schreib- und Ausführungsberechtigungen und ist in derselben Gruppe. Der Benutzer hat Lese- und Ausführungsberechtigungen, andere Benutzer haben jedoch keine Berechtigungen.

    3.2 Anmelde-Timeout festlegen

    Legen Sie das Verbindungs-Timeout nach der Systemanmeldung fest, um die Sicherheit zu erhöhen.

    Bedienungsschritte

    Verwenden Sie den Befehl vi /etc/profile, um die Zeile zu ändern, die mit TMOUT= beginnt, und setzen Sie sie auf TMOUT=180 , die Zeitüberschreitung beträgt drei Minuten.

    4. Protokoll

    4.1 syslogd-Protokoll

    Aktivieren Sie die Protokollierungsfunktion und konfigurieren Sie die Protokollierung.

    Bedienungsschritte

    Das Linux-System aktiviert standardmäßig die folgenden Protokolltypen:

    • Systemprotokoll (Standard) /var /log/ Meldungen

    • Cron-Protokoll (Standard) /var/log/cron

    • Sicherheitsprotokoll (Standard) /var/log/secure

    Hinweis: Einige Systeme verwenden möglicherweise Syslog-ng-Protokolle. Die Konfigurationsdatei lautet: /etc/syslog-ng/syslog-ng.conf.

    Sie können detaillierte Protokolle entsprechend Ihren Anforderungen konfigurieren.

    4.2 Zeichnen Sie die Anmelde- und Betriebsprotokolle aller Benutzer auf.

    Zeichnen Sie die Anmeldeprotokolle aller Benutzer mithilfe eines Skriptcodes auf, um zu verhindern, dass Sicherheitsvorfälle zurückbleiben.

    Vorgangsschritte

    1. Führen Sie [root@xxx /]# vim /etc/profile aus, um die Konfigurationsdatei zu öffnen.

    2. Geben Sie den folgenden Inhalt in die Konfigurationsdatei ein:


    history
    USER=`whoami`
    USER_IP=`who -u am i 2>/dev/null| awk &#39;{print $NF}&#39;|sed -e &#39;s/[()]//g&#39;`
    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
    Nach dem Login kopieren

    3. Führen Sie [root@xxx /]# source /etc/profile aus laden Die Konfiguration wird wirksam.
    Hinweis: /var/log/history ist der Speicherort von Protokollen und kann angepasst werden.

    Mit den oben genannten Schritten können Sie für jeden Benutzer einen neuen Ordner im Verzeichnis /var/log/history erstellen. Jedes Mal, wenn sich ein Benutzer abmeldet, wird eine Protokolldatei mit Benutzername, Anmelde-IP und Uhrzeit erstellt wird generiert. Enthält alle von diesem Benutzer ausgeführten Vorgänge (außer Root-Benutzer).

    Gleichzeitig wird empfohlen, den OSS-Dienst zum Sammeln von Speicherprotokollen zu nutzen.

    Verwandte Empfehlungen:

    php Detaillierte Erläuterung der umfassendsten Grundbefehle zum Abrufen von Server-Betriebssysteminformationen

    php zum Abrufen des Serverbetriebs systembezogene Informationen Methode

    PHP zur Bestimmung des Typs des Server-Betriebssystems_PHP-Tutorial

    Das obige ist der detaillierte Inhalt vonSo härten Sie das Linux-Server-Betriebssystem ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!