Netzwerksicherheit ist ein sehr wichtiges Thema und der Server ist das wichtigste Bindeglied in der Netzwerksicherheit. Linux gilt als relativ sicherer Internetserver. Da es sich um ein Open-Source-Betriebssystem handelt, werden Sicherheitslücken im Linux-System von Freiwilligen aus aller Welt im Internet aktiv behoben. Allerdings gelingt es den Systembetreuern oft nicht, rechtzeitig Informationen einzuholen und Korrekturen vorzunehmen, was Hackern eine Gelegenheit bietet, davon zu profitieren. Verglichen mit den Sicherheitslücken dieser Systeme selbst werden jedoch mehr Sicherheitsprobleme durch eine falsche Konfiguration verursacht und können durch eine richtige Konfiguration vermieden werden. Je mehr Dienste auf einem Server ausgeführt werden, desto größer ist die Möglichkeit falscher Konfigurationen und desto größer ist die Möglichkeit von Sicherheitsproblemen. Wie wir alle wissen, ist Netzwerksicherheit ein sehr wichtiges Thema und Linux und Unix sind die beliebtesten Betriebssysteme, die auf Servern laufen. Der folgende Artikel wird einige geeignete Konfigurationen stärken, um das Auftreten einiger Sicherheitsprobleme zu verhindern und so die Sicherheit von Linux/Unix-Serversystemen zu verbessern. 1. Systemsicherheitsprotokolldateien Um einen Netzwerkangriff zu erkennen, sind die Logdateien im Betriebssystem ein wichtiger Anhaltspunkt. Wenn Ihr System direkt mit dem Internet verbunden ist und Sie feststellen, dass viele Leute versuchen, sich über Telnet/FTP bei Ihrem System anzumelden, können Sie „#more /var/log/secure grep rejected“ ausführen, um die Angriffe auf das System zu überprüfen, damit Sie entsprechende Gegenmaßnahmen ergreifen können, z. B. die Verwendung von SSH anstelle von Telnet/rlogin. 2. Start- und Anmeldesicherheit 1. BIOS-Sicherheit Legen Sie das BIOS-Kennwort fest und ändern Sie die Startreihenfolge, um das Booten des Systems von einer Diskette zu verhindern. 2. Benutzerkennwort Benutzerkennwörter sind ein grundlegender Ausgangspunkt für die Linux-Sicherheit. Viele Leute verwenden zu einfache Benutzerkennwörter, was bedeutet, Eindringlingen Tür und Tor zu öffnen. Obwohl es theoretisch kein Benutzerkennwort gibt, das nicht geknackt werden kann, solange genügend Zeit und Ressourcen zur Verfügung stehen, ist ein richtig ausgewähltes Kennwort schwer zu knacken. Ein gutes Benutzerpasswort ist eine Zeichenfolge, die nur der Benutzer sich leicht merken und verstehen kann und die niemals irgendwo aufgeschrieben werden sollte. 3. Standardkonto Alle Standardkonten, die vom Betriebssystem selbst gestartet werden und nicht benötigt werden, sollten deaktiviert werden. Dies sollte bei der ersten Installation des Systems erfolgen. Linux bietet viele Standardkonten und je mehr Konten es gibt, desto anfälliger ist das System für Angriffe. Sie können das Konto mit dem folgenden Befehl löschen. #userdel Benutzername Oder verwenden Sie den folgenden Befehl, um das Gruppenbenutzerkonto zu löschen. # Groupdel-Benutzername 4. Kennwortdatei Der Befehl chattr fügt den folgenden Dateien unveränderliche Attribute hinzu und verhindert so, dass nicht autorisierte Benutzer Berechtigungen erhalten. # chattr +i /etc/passwd # chattr +i /etc/shadow # chattr +i /etc/Gruppe # chattr +i /etc/gshadow 5. Deaktivieren Sie Strg+Alt+Entf, um den Computer neu zu starten Ändern Sie die Datei /etc/inittab und kommentieren Sie die Zeile „ # chmod -R 700 /etc/rc.d/init.d/* Auf diese Weise kann nur Root alle oben genannten Skriptdateien lesen, schreiben oder ausführen. 6. Einschränken des su-Befehls Wenn Sie nicht möchten, dass sich jemand als Root auf su anmelden kann, bearbeiten Sie die Datei /etc/pam.d/su und fügen Sie die folgenden beiden Zeilen hinzu: Auth ausreichend /lib/security/pam_rootok.so debug Authentifizierung erforderlich /lib/security/pam_wheel.so group=isd Derzeit können nur Benutzer in der ISD-Gruppe als Root auf su zugreifen. Wenn Sie anschließend dem Benutzer „admin“ die Möglichkeit geben möchten, als Root auf su zuzugreifen, können Sie den folgenden Befehl ausführen: # usermod -G10 admin 7. Anmeldeinformationen löschen Standardmäßig enthält die Anmeldeaufforderung die Linux-Distribution, den Namen der Kernel-Version und den Server-Hostnamen. Bei einer Maschine mit hohen Sicherheitsanforderungen werden dadurch zu viele Informationen preisgegeben. Sie können /etc/rc.d/rc.local bearbeiten und die folgende Zeile auskommentieren, die Systeminformationen ausgibt. # Dadurch wird /etc/issue bei jedem Bootvorgang überschrieben. Nehmen Sie also alle Änderungen vor, die Sie # möchten Sie hier in /etc/issue vornehmen, sonst gehen sie beim Neustart verloren. # echo "" > /etc/Problem # echo "$R" >> /etc/Ausgabe # echo "Kernel $(uname -r) auf $a $(uname -m)" >> /etc/issue # cp -f /etc/issue /etc/issue.net # echo >> /etc/Problem Gehen Sie dann wie folgt vor: # rm -f /etc/issue # rm -f /etc/issue.net # berühren Sie /etc/issue # berühren Sie /etc/issue.net 3. Beschränken Sie den Netzwerkzugriff 1. NFS-Zugriff Wenn Sie NFS-Netzwerkdateisystemdienste verwenden, sollten Sie sicherstellen, dass für Ihre Datei /etc/exports die restriktivsten Zugriffsberechtigungen festgelegt sind. Dies bedeutet, dass keine Platzhalter verwendet werden, keine Root-Schreibberechtigungen gewährt werden und die Datei nur als schreibgeschütztes Dateisystem gemountet werden kann. Bearbeiten Sie die Datei /etc/exports und fügen Sie die folgenden beiden Zeilen hinzu. /dir/to/export host1.mydomain.com(ro,root_squash) /dir/to/export host2.mydomain.com(ro,root_squash) /dir/to/export ist das Verzeichnis, das Sie exportieren möchten, host.mydomain.com ist der Name der Maschine, die sich bei diesem Verzeichnis anmeldet, ro bedeutet, es als schreibgeschütztes System zu mounten, und root_squash verbietet root, in dieses Verzeichnis zu schreiben. Damit die Änderungen wirksam werden, führen Sie den folgenden Befehl aus. # /usr/sbin/exportfs -a 2. Inetd-Einstellungen Stellen Sie zunächst sicher, dass der Eigentümer von /etc/inetd.conf Root ist und die Dateiberechtigungen auf 600 eingestellt sind. Sobald die Einstellungen abgeschlossen sind, können Sie diese mit dem Befehl „ # chmod 600 /etc/inetd.conf Bearbeiten Sie dann /etc/inetd.conf, um die folgenden Dienste zu deaktivieren. FTP Telnet Shell Login Exec Talk Ntalk IMAP Pop-2 Pop-3 Finger Authentifizierung Wenn Sie ssh/scp installiert haben, können Sie Telnet/FTP auch deaktivieren. Damit die Änderungen wirksam werden, führen Sie den folgenden Befehl aus: #killall -HUP inetd Standardmäßig lassen die meisten Linux-Systeme alle Anfragen zu. Mit TCP_WRAPPERS lässt sich die Systemsicherheit ganz einfach verbessern. Sie können /etc/hosts.deny und /etc/hosts.allow ändern, um die Zugriffsbeschränkungen zu erhöhen. Wenn Sie beispielsweise /etc/hosts.deny auf „ALL: ALL“ setzen, können Sie standardmäßig sämtliche Zugriffe verweigern. 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 mit tcpdchk Folgendes überprüfen: # tcpdchk tcpchk ist ein Tool zur Überprüfung der TCP_Wrapper-Konfiguration. Es überprüft Ihre TCP-Wrapper-Konfiguration und meldet alle gefundenen potenziellen/vorhandenen Probleme. 3. Einstellungen des Anmeldeterminals Die Datei /etc/securetty gibt die TTY-Geräte an, die eine Root-Anmeldung erlauben. Sie wird vom Programm /bin/login gelesen und hat das Format einer Liste zulässiger Namen. Sie können /etc/securetty bearbeiten und die folgenden Zeilen auskommentieren. #tty1 #tty2 #tty3 #tty4 #tty5 #tty6 Derzeit kann sich Root nur am Terminal tty1 anmelden. 4. Vermeiden Sie die Anzeige von System- und Versionsinformationen. Wenn Sie nicht möchten, dass Remote-Anmeldebenutzer die System- und Versionsinformationen sehen, können Sie die Datei /etc/inetd.conf wie folgt ändern: Telnet-Stream TCP wartet auf Root /usr/sbin/tcpd in.telnetd - Das Hinzufügen von -h bedeutet, dass Telnet keine Systeminformationen anzeigt, sondern nur „login:“ anzeigt. 4. Angriffe verhindern 1. Ping blockieren Wenn niemand Ihr System anpingen kann, erhöht sich natürlich die Sicherheit. Fügen Sie dazu die folgende Zeile zur Datei /etc/rc.d/rc.local hinzu: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 2. IP-Spoofing verhindern Bearbeiten Sie die Datei host.conf und fügen Sie die folgenden Zeilen hinzu, um IP-Spoofing-Angriffe zu verhindern. Reihenfolge binden,Hosts Mehrfach aus nospoof auf 3. DoS-Angriffe verhindern Durch das Festlegen von Ressourcenbeschränkungen für alle Benutzer des Systems können DoS-Angriffe verhindert werden. Wie etwa die maximale Anzahl an Prozessen und die Speichernutzung. Beispielsweise können Sie die folgenden Zeilen zu /etc/security/limits.conf hinzufügen:
Dann müssen Sie die Datei /etc/pam.d/login bearbeiten, um zu prüfen, ob die folgende Zeile vorhanden ist. Sitzung erforderlich /lib/security/pam_limits.so Der obige Befehl deaktiviert Debugdateien, begrenzt die Anzahl der Prozesse auf 50 und die Speichernutzung auf 5 MB. Nach den oben genannten Einstellungen ist Ihr Linux-Server bereits gegen die meisten bekannten Sicherheitsprobleme und Netzwerkangriffe immun. Ein guter Systemadministrator muss jedoch dennoch auf Netzwerksicherheitstrends achten und offengelegte und potenzielle Sicherheitslücken jederzeit patchen. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Mysql Master-Slave-Synchronisation Last_IO_Errno:1236 Fehlerlösung
>>: js implementiert Tabellen-Drag-Optionen
Dieser Artikel ist eine selbstgeschriebene Nachah...
Einführung in XHTML-Tags <br />Vielleicht is...
Lassen Sie mich zunächst erklären, dass wir uns o...
Inhaltsverzeichnis Die Knotenversion stimmt nicht...
Nach der Installation von Docker trat beim Versuc...
Inhaltsverzeichnis 1. Was ist Ts 2. Grundlegende ...
Der spezifische Code für die Verwendung von jQuer...
Idea importiert ein bestehendes Webprojekt und ve...
Effektanzeige Die eingebaute Boot-Oberfläche ist ...
1. MySQL-Selbstverbindung MySQL muss beim Abfrage...
MySQL erstellt bei der Installation automatisch e...
Ubuntu ist ein kostenloses und quelloffenes Deskt...
HTML5 fügt ein natives Platzhalterattribut für di...
Version 1.4.2 Offizielle Dokumentation Dockerhub ...
Lösen Sie das Problem der verstümmelten chinesisc...