Da jedes Unternehmen immer stärker vom Internet abhängig wird, rückt Cybersicherheit zunehmend in den Fokus der Organisation. In dieser Hinsicht sind Linux-Systeme ein guter Ausgangspunkt. Aufgrund seiner Open-Source-Eigenschaften, seiner weiten Verbreitung und der fehlenden Autorisierung ist das Linux-System für viele Organisationen und Unternehmen zum Betriebssystem der Wahl geworden. Allerdings nehmen auch die Risiken von Linux-Systemen zu. In diesem Artikel erfahren Sie, wie Sie Schwachstellen im Linux-System absichern und reparieren. Außerdem erhalten Sie einige Beispielcodes, die Ihnen bei der Konfiguration eines sichereren Linux-Systems helfen.
Zuerst müssen wir uns auf diese Aspekte konzentrieren: Benutzerverwaltung, Datei- und Verzeichnisberechtigungen, Netzwerk- und Serverkonfiguration und Anwendungssicherheit. Detaillierte Maßnahmen und Beispielcode für jeden Aspekt werden unten beschrieben.
Starke Passwörter
Entwickeln Sie eine Passwortrichtlinie, die von Benutzern verlangt, komplexe Passwörter zu wählen und Passwörter regelmäßig zu ändern.
#强制用户选择具备最低密码强度的密码 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
Root-Remote-Anmeldung verbieten
Es wird empfohlen, dass nur Benutzer mit Root-Berechtigungen eine direkte Verbindung herstellen können. Konfigurieren Sie PermitRootLogin in /etc/ssh/sshd_config auf „no“.
Login-Timeout
Timeout-Einstellungen können eine automatische Trennung nach einer gewissen Zeit der Inaktivität sicherstellen. Stellen Sie Folgendes in /etc/profile oder ~/.bashrc ein:
#设置空闲登陆超时退出时间为300秒 TMOUT=300 export TMOUT
Standardkonfiguration
Die Standardkonfiguration ermöglicht allen Benutzern, alle Dateien und Verzeichnisse anzuzeigen. Fügen Sie der Datei /etc/fstab den folgenden Inhalt hinzu:
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
Berechtigungen für vertrauliche Dateien und Verzeichnisse festlegen
Der Zugriff sollte auf bestimmte Benutzergruppen oder Einzelpersonen beschränkt sein. Verwenden Sie die Befehle chown und chmod, um die Berechtigungen von Dateien und Verzeichnissen zu ändern. Im folgenden Beispiel wird ein Verzeichnis festgelegt, das nur vom Root-Benutzer geändert werden kann:
#修改某目录只能root用户修改 chown root /etc/cron.deny chmod 600 /etc/cron.deny
Überprüfen Sie die SUID, SGID und Sticky Bits
SUID (Set Benutzer-ID), SGID (Gruppen-ID festlegen), Sticky Bit und andere Bits sind einige Sicherheitsmerkmale im Linux-System und müssen regelmäßig überprüft werden. Der folgende Befehl wird verwendet, um alle nicht qualifizierten Berechtigungsbedingungen zu finden:
#查找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 ist eine der am häufigsten verwendeten Firewall-Anwendungen unter Linux. Der folgende Beispielcode blockiert alle eingehenden Zugriffe:
#清空所有规则和链 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
Dienstzugriff einschränken
Einige Dienste sollten nur lokal ausgeführt werden, und es besteht ein großes Risiko, dass von außen darauf zugegriffen wird. Entwickeln Sie Regeln in den Verzeichnissen /etc/hosts.allow und /etc/hosts.deny, um die Zugriffszeit, die IP-Adresse und andere Informationen zum Dienst zu begrenzen.
Softwarepakete aktualisieren
Sowohl Kernel- als auch User-Space-Software erfordern regelmäßige Updates, um bekannte Fehler und Schwachstellen zu beheben. Sie können yum, rpm und andere Tools verwenden, um Softwarepakete zu aktualisieren. Beispielcode ist unten angegeben:
#更新已安装的所有软件包 yum -y update #更新单个软件包 yum -y update
Vermeiden Sie die Verwendung von Root-Benutzern zum Ausführen von Anwendungen.
Beim Ausführen von Anwendungen sollten Sie unprivilegierte Benutzer und keine Root-Benutzer zum Ausführen von Anwendungen verwenden.
Statische Linkbibliothek kompilieren
Die statische Linkbibliothek enthält alle Abhängigkeiten zum Schreiben von Anwendungen, wodurch andere Benutzer daran gehindert werden können, abhängige Pakete zu manipulieren. Der Beispielcode ist unten angegeben:
#编译静态链接库 gcc -o app app.c -static
Fazit
Die Sicherheitsverstärkung und die Reparatur von Schwachstellen des Linux-Systems sind damit noch nicht beendet, aber die oben genannten Maßnahmen können uns helfen, die Sicherheit des Linux-Systems zu stärken. Es ist zu beachten, dass diese Maßnahmen die Sicherheit des Systems nicht vollständig gewährleisten können. Organisationen und Unternehmen sollten mehrere Maßnahmen ergreifen, um die Sicherheit zu gewährleisten.
Das obige ist der detaillierte Inhalt vonSo führen Sie Sicherheitshärtung und Schwachstellenreparatur auf Linux-Systemen durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!