1. Systemsicherheitsaufzeichnungsdateien
Die Aufzeichnungsdateien im Betriebssystem sind wichtige Hinweise, um zu erkennen, ob ein Netzwerkeinbruch vorliegt. Wenn Ihr System direkt mit dem Internet verbunden ist und Sie feststellen, dass viele Personen Telnet/FTP-Anmeldeversuche bei Ihrem System durchführen, können Sie „#more /var/log/secure grep Refused“ ausführen, um die Angriffe auf das System zu überprüfen dass Sie entsprechende Gegenmaßnahmen ergreifen können, z. B. die Verwendung von ssh als Ersatz für Telnet/rlogin usw.
2. Start- und Anmeldesicherheit
1. BIOS-Sicherheit
Legen Sie das BIOS-Passwort fest und ändern Sie die Startreihenfolge, um das Booten des Systems von einer Diskette zu verhindern.
2. Benutzerkennwort
Benutzerkennwort ist ein grundlegender Ausgangspunkt für die Linux-Sicherheit. Das von vielen Menschen verwendete Benutzerkennwort ist zwar theoretisch Tür und Tor, solange genügend Zeit vorhanden ist und Wenn Ressourcen verfügbar sind, gibt es kein Benutzerpasswort, das nicht geknackt werden kann, aber ein richtig gewähltes Passwort wird schwer zu knacken sein. Ein besseres Benutzerpasswort ist eine Zeichenfolge, die nur er sich leicht merken und verstehen kann und die niemals irgendwo ausgeschrieben werden sollte.
3. Das Standardkonto
sollte alle unnötigen Konten verbieten, die standardmäßig vom Betriebssystem selbst gestartet werden. Sie sollten dies tun, wenn Sie das System zum ersten Mal installieren. Linux bietet viele Standardkonten Je mehr Konten vorhanden sind, desto anfälliger ist das System für Angriffe.
Mit dem folgenden Befehl können Sie das Konto löschen.
# userdel用户名
Oder verwenden Sie den folgenden Befehl, um das Gruppenbenutzerkonto zu löschen.
# groupdel username
4. Der Befehl „Passwortdatei
chattr“ fügt der folgenden Datei ein unveränderliches Attribut hinzu, um zu verhindern, dass nicht autorisierte Benutzer Berechtigungen erhalten.
# chattr +i /etc/passwd # chattr +i /etc/shadow # chattr +i /etc/group # chattr +i /etc/gshadow
5. Deaktivieren Sie Strg+Alt+Entf, um die Maschine neu zu starten. Befehl
Ändern Sie die Datei /etc/inittab und ändern Sie die Zeile „ca::ctrlaltdel:/sbin/shutdown -t3 -r now</“ Code>" Auskommentieren. Setzen Sie dann die Berechtigungen aller Dateien im Verzeichnis /etc/rc.d/init.d/ zurück und führen Sie den folgenden Befehl aus: <code>ca::ctrlaltdel:/sbin/shutdown -t3 -r now
"一行注释掉。然后重新设置/etc/rc.d/init.d/目录下所有文件的许可权限,运行如下命令:
# chmod -r 700 /etc/rc.d/init.d/*
这样便仅有root可以读、写或执行上述所有脚本文件。
6.限制su命令
如果您不想任何人能够su作为root,可以编辑/etc/pam.d/su文件,增加如下两行:
auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=isd
这时,仅isd组的用户可以su作为root。此后,如果您希望用户admin能够su作为root,可以运行如下命令:
# usermod -g10 admin
7.删减登录信息
默认情况下,登录提示信息包括linux发行版、内核版本名和服务器主机名等。对于一台安全性要求较高的机器来说这样泄漏了过多的信息。可以编辑/etc/rc.d/rc.local将输出系统信息的如下行注释掉。
# this will overwrite /etc/issue at every boot. so, make any changes you # want to make to /etc/issue here or you will lose them when you reboot. # echo "" > /etc/issue # echo "$r" >> /etc/issue # echo "kernel $(uname -r) on $a $(uname -m)" >> /etc/issue # cp -f /etc/issue /etc/issue.net # echo >> /etc/issue
然后,进行如下操作:
# rm -f /etc/issue # rm -f /etc/issue.net # touch /etc/issue # touch /etc/issue.net
三、限制网络访问
1.nfs访问
如果您使用nfs网络文件系统服务,应该确保您的/etc/exports具有最严格的访问权限设置,也就是意味着不要使用任何通配符、不允许root写权限并且只能安装为只读文件系统。编辑文件/etc/exports并加入如下两行。
/dir/to/export host1.mydomain.com(ro,root_squash) /dir/to/export host2.mydomain.com(ro,root_squash)
/dir/to/export 是您想输出的目录,host.mydomain.com是登录这个目录的机器名,ro意味着mount成只读系统,root_squash禁止root写入该目录。为了使改动生效,运行如下命令。
# /usr/sbin/exportfs -a
2.inetd设置
首先要确认/etc/inetd.conf的所有者是root,且文件权限设置为600。设置完成后,可以使用"stat
# chmod 600 /etc/inetd.conf
ftp telnet shell login exec talk ntalk imap pop-2 pop-3 finger auth
Derzeit können nur Benutzer in der isd-Gruppe als Root angemeldet sein. Wenn Sie anschließend möchten, dass der Benutzeradministrator su als Root verwenden kann, können Sie den folgenden Befehl ausführen:
#killall -hup inetd
7. Anmeldeinformationen löschen
Standardmäßig umfassen die Anmeldeaufforderungsinformationen die Linux-Distributionsversion, den Kernel-Versionsnamen, den Server-Hostnamen usw. Für eine Maschine mit hohen Sicherheitsanforderungen gehen dadurch zu viele Informationen verloren. Sie können /etc/rc.d/rc.local bearbeiten, um die folgenden Zeilen, die Systeminformationen ausgeben, auszukommentieren.
# tcpdchk
Dann gehen Sie wie folgt vor:
# tty1 # tty2 # tty3 # tty4 # tty5 # tty6
1. NFS-Zugriff
Wenn Sie den NFS-Netzwerkdateisystemdienst verwenden, sollten Sie sicherstellen, dass Ihre /etc/exports über die restriktivsten Zugriffseinstellungen verfügt, was bedeutet, dass Sie keine Platzhalter verwenden und keine Root-Schreibberechtigungen zulassen , und Kann nur als schreibgeschütztes Dateisystem gemountet werden. Bearbeiten Sie die Datei /etc/exports und fügen Sie die folgenden zwei Zeilen hinzu.
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -
/dir/to/export ist das Verzeichnis, das Sie ausgeben möchten, host.mydomain.com ist der Name der Maschine, die in diesem Verzeichnis angemeldet ist, ro bedeutet Mounten als schreibgeschütztes System, root_squash Verhindert, dass Root in dieses Verzeichnis schreibt. Inhaltsverzeichnis. Führen Sie den folgenden Befehl aus, damit die Änderungen wirksam werden.
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
2. inetd-EinstellungenStellen Sie zunächst sicher, dass der Besitzer von /etc/inetd.conf root ist und die Dateiberechtigungen auf 600 eingestellt sind. Nachdem die Einstellungen abgeschlossen sind, können Sie zur Überprüfung den Befehl „stat
“ verwenden.
order bind,hosts multi off nospoof on
Bearbeiten Sie dann /etc/inetd.conf, um die folgenden Dienste zu deaktivieren.
session required /lib/security/pam_limits.so
Wenn Sie ssh/scp installiert haben, können Sie auch Telnet/ftp deaktivieren. Damit die Änderungen wirksam werden, führen Sie den folgenden Befehl aus:
rrreee#🎜🎜# Standardmäßig lassen die meisten Linux-Systeme alle Anfragen zu, und die Verwendung von tcp_wrappers zur Verbesserung der Systemsicherheit ist ein Kinderspiel. Sie können / ändern. etc/hosts.deny und /etc/hosts.allow, um Zugriffsbeschränkungen zu erhöhen. Wenn Sie beispielsweise /etc/hosts.deny auf „all: all“ setzen, wird standardmäßig jeglicher Zugriff verweigert. Fügen Sie dann den zulässigen Zugriff in der Datei /etc/hosts.allow hinzu. Beispielsweise bedeutet „sshd: 192.168.1.10/255.255.255.0 gate.openarch.com“, dass die IP-Adresse 192.168.1.10 und der Hostname gate.openarch.com eine Verbindung über ssh herstellen dürfen. #🎜🎜##🎜🎜#Nachdem die Konfiguration abgeschlossen ist, können Sie sie mit tcpdchk überprüfen: #🎜🎜#rrreee#🎜🎜#tcpchk ist ein Tool zur Überprüfung der TCP_Wrapper-Konfiguration, das Ihre TCP-Wrapper-Konfiguration überprüft und alle entdeckten potenziellen/ bestehende Probleme. #🎜🎜##🎜🎜#3. Login-Terminal-Einstellungen#🎜🎜##🎜🎜# Die Datei /etc/securetty gibt das TTY-Gerät an, das die Root-Anmeldung ermöglicht. Ihr Format ist eine Liste zulässiger Namen /securetty und kommentieren Sie die folgenden Zeilen aus. #🎜🎜#rrreee#🎜🎜#Derzeit kann sich Root nur am tty1-Terminal anmelden. #🎜🎜##🎜🎜#4. Vermeiden Sie die Anzeige von System- und Versionsinformationen. #🎜🎜##🎜🎜#Wenn Sie möchten, dass Benutzer mit Remote-Anmeldung die System- und Versionsinformationen nicht sehen, können Sie die Datei /etc/inetd.conf mit den folgenden Vorgängen ändern: #🎜🎜#rrreee#🎜🎜#Hinzufügen - h, um anzuzeigen, dass Telnet nicht möglich ist. Zeigt Systeminformationen anstelle von „login:“ an. #🎜🎜##🎜🎜##🎜🎜#4. Angriffe verhindern#🎜🎜##🎜🎜##🎜🎜#1. Ping blockieren Wenn niemand Ihr System anpingen kann, erhöht sich natürlich die Sicherheit. Dazu können Sie der Datei /etc/rc.d/rc.local die folgende Zeile hinzufügen: #🎜🎜#rrreee#🎜🎜#2. IP-Spoofing verhindern#🎜🎜#编辑host.conf文件并增加如下几行来防止ip欺骗攻击。
order bind,hosts multi off nospoof on
3.防止dos攻击
对系统所有的用户设置资源限制可以防止dos类型攻击。如最大进程数和内存使用数量等。例如,可以在/etc/security/limits.conf中添加如下几行:
* hard core 0
* hard rss 5000
* hard nproc 20
然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。
session required /lib/security/pam_limits.so
上面的命令禁止调试文件,限制进程数为50并且限制内存使用为5mb。
Das obige ist der detaillierte Inhalt vonSo verbessern Sie die Sicherheit von Linux- und Unix-Servern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!