Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So härten Sie das Linux-Server-Betriebssystem ab
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.
Reduzieren Sie nutzlose Konten im System und reduzieren Sie Sicherheitsrisiken.
Bedienungsschritte
Verwenden Sie den Befehl userdel 86221bd1fc879dffc233e57aa17d879d
, um unnötige Konten zu löschen.
Verwenden Sie den Befehl passwd -l 86221bd1fc879dffc233e57aa17d879d
, um nicht benötigte Konten zu sperren.
Verwenden Sie den Befehl passwd -u 86221bd1fc879dffc233e57aa17d879d
, um die erforderlichen Konten zu entsperren.
Überprüfen Sie, ob Konten mit leeren Passwörtern und Root-Berechtigungen vorhanden sind.
Vorgangsschritte
Ü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 86221bd1fc879dffc233e57aa17d879d
, 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.
Erhöhen Sie die Komplexität des Passworts, um die Möglichkeit des Erratens zu verringern.
Bedienungsschritte
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 86221bd1fc879dffc233e57aa17d879d
, 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.
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.
Root-Benutzern die direkte Anmeldung verbieten.
Vorgangsschritte
Erstellen Sie ein normales Berechtigungskonto und konfigurieren Sie ein Passwort, um eine Remote-Anmeldung zu verhindern;
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.
Unnötige Dienste (wie gewöhnliche Dienste und xinetd-Dienste) schließen, um Risiken zu reduzieren.
Bedienungsschritte
Mit dem Befehl chkconfig --level bba9960d6aac15132474a1f435ddb4e4 2fd417a143330cc5e8929d48adb6458b on|off|reset
legen Sie fest, ob der Dienst auf dem angegebenen Init-Level gestartet werden soll.
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.
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.
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.
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.
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 '{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. 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 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!