23 Centos Server Härtung Sicherheits -Tipps - Teil 2
- 4286
- 312
- Aileen Dylus
Wenn Sie das vorherige Tutorial zur Sicherung und Härten von CentOS -Server in diesem Artikel fortsetzen, werden wir in diesem Artikel andere Sicherheits -Tipps erörtert, die auf der folgenden Checkliste angezeigt werden.
Anforderungen
- 20 CentOS Server Härtung Sicherheits -Tipps - Teil 1
21. Deaktivieren Sie nutzlose SUID- und SGID -Befehle
Wenn der SetUid Und setgid Bits werden auf binären Programmen festgelegt, diese Befehle können Aufgaben mit anderen Benutzer- oder Gruppenrechten ausführen, wie z Wurzel Privilegien, die ernsthafte Sicherheitsprobleme aufdecken können.
Oft können Pufferüberschreitungsangriffe solche ausführbaren Binärdateien ausnutzen, um einen unbefugten Code mit den Rechten eines Root Power Users auszuführen.
# find / -path / proc -prune -o -typ f \ (-perm -4000 -o -perm -2000 \) -exec ls -l \;
Um die zu verunsichern SetUid Führen Sie den folgenden Befehl aus:
# chmod u-s/path/to/binary_file
Um den SetGid -Bit zu verunreinigen, führen Sie den folgenden Befehl aus:
# Chmod g-s/path/to/binary_file
22. Überprüfen Sie auf unbekannte Dateien und Verzeichnisse
Dateien oder Verzeichnisse, die kein gültiges Konto gehören, müssen gelöscht oder mit Berechtigungen von einem Benutzer und einer Gruppe zugewiesen werden.
Geben Sie den folgenden Befehl Suchen Sie auf, um Dateien oder Verzeichnisse ohne Benutzer und Gruppe aufzulisten.
# find / -nouser -o -nogroup -exec ls -l \;
23. Listen Sie weltweit geschriebene Dateien auf
Eine weltweit geschriebene Datei am System zu führen, kann gefährlich sein, da jeder sie ändern kann. Führen Sie den folgenden Befehl aus, um mit wortschrieben Symlinks, die immer weltweit geschrieben sind.
# find / -path / proc -prune -o -perm -2 ! -Typ l -ls
24. Erstellen Sie starke Passwörter
Erstellen Sie ein Passwort von mindestens acht Zeichen. Das Passwort muss Ziffern, Sonderzeichen und Großbuchstaben enthalten. Verwenden pwmake um ein Passwort von 128 Bits aus zu generieren /dev/urandom Datei.
# Pwmake 128
25. Wenden Sie eine starke Passwort -Richtlinie an
Erzwingen Sie das System, um starke Passwörter zu verwenden, indem Sie die folgende Zeile in die folgende Zeile hinzufügen /etc/pam.D/Passwd Datei.
Passwort erforderlich pam_pwqualität.Also wiederholen = 3
Hinzufügen der obigen Zeile, das eingegebene Passwort kann nicht mehr als enthalten 3 Zeichen in einer monotonischen Reihenfolge, wie z A B C D, und mehr als 3 identische aufeinanderfolgende Zeichen, wie z 1111.
Benutzer zu zwingen, ein Passwort mit einer Mindestlänge von minimaler zu verwenden 8 Charaktere, einschließlich aller Zeichenklassen, Stärkeprüfung für Zeichensequenzen und aufeinanderfolgende Zeichen fügen den folgenden Zeilen hinzu, der die folgenden Zeilen hinzufügen /etc/Sicherheit/pwqualität.Conf Datei.
minlen = 8 minclass = 4 maxequence = 3 maxrepeat = 3
26. Verwenden Sie das Alterung von Passwort
Der Befehl Chage kann für die Alterung des Benutzerkennworts verwendet werden. So setzen Sie das Kennwort eines Benutzers für abgelaufen 45 Tagen verwenden Sie den folgenden Befehl:
# Chage -M 45 Benutzername
So deaktivieren Sie die Ablaufzeit des Passworts. Verwenden Sie den Befehl:
# Chage -m -1 Benutzername
Erzwingen Sie den Ablauf der sofortigen Kennwort (der Benutzer muss das Kennwort bei der nächsten Anmeldung ändern), indem Sie den folgenden Befehl ausführen:
# Chage -d 0 Benutzername
27. Konten sperren
Benutzerkonten können durch Ausführung der Ausführung der Ausführung gesperrt werden Passwd oder Usermod -Befehl:
# Passwd -l Benutzername # Usermod -l Benutzername
Um Konten freizuschalten, verwenden Sie die -u
Option für Passwd Befehl und -U
Option für Usmod.
28. Verhindern
Um ein Systemkonto (ordentliches Konto oder Servicekonto) zu verhindern, um Zugriff auf eine Bash -Shell zu erhalten /usr/sbin/nologin oder /bin/false im /etc/passwd Datei durch Ausgabe des folgenden Befehls:
# Usermod -s /bin /Falsch Benutzername
So ändern Sie die Shell beim Erstellen eines neuen Benutzerproblems den folgenden Befehl:
# UserAdd -S/usr/sbin/nologin BenutzernameVerwandter Artikel: Lernen Sie 15 Beispiele für den Befehl „userAdd“ unter Linux
29. Sperren Sie die virtuelle Benutzerkonsole mit Vlock
vlock ist ein Programm, das zum Sperren einer mehreren Sitzung auf Linux -Konsole verwendet wird. Installieren Sie das Programm und sperren Sie Ihre Terminalsitzung, indem Sie die folgenden Befehle ausführen:
# yum install vlock # vlock
30. Verwenden Sie ein zentrales System, um Konten und Authentifizierung zu verwalten
Die Verwendung eines zentralisierten Authentifizierungssystems kann die Kontoverwaltung und Kontrolle stark vereinfachen. Dienste, die diese Art von Kontoverwaltung anbieten können, sind IPA Server, LDAP, Kerberos, Microsoft Active Directory, NIS, Samba -Anzeigen oder Winbind.
Einige dieser Dienste sind standardmäßig stark mit kryptografischen Protokollen und symmetrischer Kryptographie wie Kerberos gesichert.
Verwandter Artikel: Setup NFS-Server mit Kerberos-basierter Benutzerauthentifizierung unter Linux einrichten31. Erzwingen Sie eine schreibgeschützte Montage von USB-Medien
Verwendung Blockdev Dienstprogramm Sie können alle abnehmbaren Medien dazu zwingen, als schreibgeschützt zu montieren. Erstellen Sie beispielsweise eine neue Udev Konfigurationsdatei benannt 80-ladonly-USB.Regeln im /etc/udev/Regeln.D/ Verzeichnis mit dem folgenden Inhalt:
Subsystem == "Block", Attrs entfernbar == "1", run programm = "/sbin/blockdev -setro %n"
Wenden Sie dann die Regel mit dem folgenden Befehl an:
# Udevadm Control -ReladVerwandter Artikel: So verwenden Sie UDEV für die Erkennung und Verwaltung von Geräten unter Linux
32. Deaktivieren des Root -Zugriffs über TTY
Um zu verhindern, dass das Stammkonto über alle Konsolengeräte (TTY) ein System anmeldet, löschen.
# CP /etc /Securetty /etc /Securetty.Bak # cat /dev /null> /etc /Securetty
Denken Sie daran, dass diese Regel nicht für SSH -Anmeldesitzungen gilt
Um die Stammanmeldung über SSH zu verhindern, bearbeiten Sie die Datei /etc/ssh/sshd_config und fügen Sie die folgende Zeile hinzu:
Erläuterung NrVerwandter Artikel: So sichern und Harden OpenSSH Server sichern und Harden erhalten
33. Verwenden Sie POSIX -ACLs, um die Systemberechtigungen zu erweitern
Zugriffskontrolllisten können Zugriffsrechte für mehr als nur einen einzelnen Benutzer oder eine Gruppe definieren und Rechte für Programme, Prozesse, Dateien und Verzeichnisse angeben. Wenn Sie die ACL auf ein Verzeichnis festlegen, erben die Nachkommen automatisch die gleichen Rechte.
Zum Beispiel,
# setfacl -m u: Benutzer: RW -Datei # getfacl -DateiVerwandter Artikel: Setup ACL- und Festplattenquoten für Benutzer/Gruppen unter Linux einrichten
34. SETUP SELINUX im Durchsetzungsmodus einrichten
Der Selinux Verbesserung des Linux -Kernels implementiert die MAC -Richtlinie (Oblicatory Access Control), mit der Benutzer eine Sicherheitsrichtlinie definieren können, die granuläre Berechtigungen für alle Benutzer, Programme, Prozesse, Dateien und Geräte bietet.
Die Zugriffskontrollentscheidungen des Kernels basieren auf dem gesamten sicherheitsrelevanten Kontext und nicht auf der authentifizierten Benutzeridentität.
Zu bekommen Selinux Status und Durchsetzung der Richtlinie Führen Sie die folgenden Befehle aus:
# GetEnforce # setEnforce 1 # sestatusVerwandter Artikel: Richten Sie mit Selinux obligatorische Richtlinien zur Zugriffskontrolle ein
35. Installieren Sie Selinux zusätzliche Dienstprogramme
Installieren PolicyCoreutils-Python Paket, das zusätzliche Python -Dienstprogramme zum Betrieb bietet Selinux: Audit2allow, Audit2whe, chcat, Und Semanage.
Verwenden Sie den folgenden Befehl, um alle booleschen Werte zusammen mit einer kurzen Beschreibung anzuzeigen:
# semanage boolean -l
Zum Beispiel zum Anzeigen und Festlegen des Wertes von httpd_enable_ftp_server, Führen Sie den folgenden Befehl aus:
# GetSBool httpd_enable_ftp_server
Um den Wert eines boolenischen Barrestarts bei Neustarts zu bestehen, geben Sie die an -P
Option zu Setsbool, Wie im folgenden Beispiel dargestellt:
# setsbool -p httpd_enable_ftp_server on
36. Verwenden Sie einen zentralen Protokollserver
Konfigurieren rsyslog Dämon zum Senden sensibler Dienstprogramm -Protokollnachrichten an einen zentralen Protokollserver. Überwachen Sie auch Protokolldateien mit Hilfe des Logwatch -Dienstprogramms.
Das Senden von Protokollnachrichten an einen Remote -Server versichert, dass die böswilligen Benutzer ihre Aktivitäten nicht vollständig ausblenden können, sobald das System kompromittiert wurde.
Verwandter Artikel: 4 Beste Linux -Protokollüberwachungs- und -management -Tools37. Aktivieren Sie die Prozessbuchhaltung
Aktivieren Sie die Prozessbuchhaltung, indem Sie das PSACCT -Dienstprogramm installieren und verwenden lastcomm Der Befehl zum Anmelden von Informationen zu zuvor ausgeführten Befehlen, die in der System -Buchhaltungsdatei und aufgezeichnet wurden sa Fassen Sie Informationen zu zuvor ausgeführten Befehlen zusammen, die in der Systembuchhaltungsdatei aufgezeichnet wurden.
38. Härtung /etc /sysctl.Conf
Verwenden Sie die folgenden Kernel -Parameterregeln, um das System zu schützen:
Deaktivieren von Quellenrouting
Netz.IPv4.Conf.alle.Accept_Source_Route = 0
Deaktivieren Sie die IPv4 -Weiterleitung
IPv4.Conf.alle.Weiterleitung = 0
IPv6 deaktivieren
Netz.IPv6.Conf.alle.disable_ipv6 = 1 net.IPv6.Conf.Standard.disable_ipv6 = 1 net.IPv6.Conf.LO.disable_ipv6 = 1
Deaktivieren Sie die Annahme und das Senden von ICMP -umgelenkten Paketen, sofern dies nicht ausdrücklich erforderlich ist.
Netz.IPv4.Conf.alle.Accept_redirects = 0 Netz.IPv4.Conf.alle.Secure_redirects = 0 Netz.IPv4.Conf.alle.send_redirects = 0
Deaktivieren Sie die Rückwärtsweiterleitung
Netz.IPv4.Conf.alle.rp_filter = 2
Ignorieren Sie alle ICMP -Echo -Anfragen (auf 1 festlegen, um aktiviert zu werden)
Netz.IPv4.ICMP_ECHO_IGNORE_ALL = 0
39. Verwenden Sie VPN -Dienste, um über ungeschützte öffentliche Netzwerke auf Ihre Räumlichkeiten zuzugreifen
Verwenden Sie immer VPN Dienstleistungen für Fluggesellschaften, um über das Internet aus der Ferne zugreifen zu können. Solche Dienstetypen können mithilfe einer kostenlosen Open -Source -Lösung wie OpenVPN oder einer proprietären Lösung wie Cisco VPN konfiguriert werden (Installation VPNC Befehlszeilennutzung von Epel Repositories).
Verwandter Artikel: Installieren Sie OpenVPN Server mit Windows -Clients in CentOS40. Führen Sie einen externen Systemscan durch
Bewerten Sie Ihre Systemsicherheit für Schwachstellen, indem Sie das System mit Remote -Punkten über Ihren LAN unter Verwendung spezifischer Tools wie folgt scannen, z. B.:
- NMAP - Netzwerkscanner 29 Beispiele für den NMAP -Befehl
- Nessus - Sicherheitsscanner
- Openvas - Wird verwendet, um Schwachstellen und ein umfassendes Verwundbarkeitsmanagement zu scannen.
- Nikto - Ein hervorragendes CGI -Skriptscanner -Scanner -Scan -Scan -Sicherheitsanfälligkeit von Gateway Interface (CGI)
41. System intern schützen
Verwenden Sie den internen Systemschutz vor Viren, Rootkits, Malware und als gute Praxis, und installieren Sie Intrusion Detection Systems, die nicht autorisierte Aktivitäten (DDOS -Angriffe, Port -Scans) erkennen können, wie:
- AIDE - Umgebung für erweiterte Intrusion Detection - http: // AIDE.SourceForge.Netz/
- Clamav - Antivirus -Scanner https: // www.Klamav.Netz
- Rkhunter - rootkit scanner
- Lynis - Sicherheitsprüfungs- und Scan -Tool für Linux
- Tripwire - Sicherheits- und Datenintegrität http: // www.Tripwire.com/
- Fail2ban - Intrusion Network Prevention
- OSSEC - (HIDS) Host-basierte Intrusionserkennungssystem http: // OSSEC.Github.io/
- Mod_security - Schützen Sie Brute Force oder DDOS -Angriffe
42. Ändern Sie die Variablen der Benutzerumgebung
Anhängen Datum Und Zeit FORMATE TO STADENEN FORMENS -Ausführung, indem Sie den folgenden Befehl ausgeben:
# echo 'histimeFormat = "%d/%m/%y%t"' >> .bashrc '
Zwingen, sofort aufzunehmen Histfile Jedes Mal, wenn ein Befehl getippt wird (anstelle von Abmelden):
# echo 'prompt_command = "history -a"' >> .bashrc
Begrenzen Sie die Timeout -Anmeldesitzung. Verrissen Sie die Schale automatisch, wenn während eines Leerlaufzeitraums keine Aktivität durchgeführt wird. Sehr nützlich, um SSH -Sitzungen automatisch zu trennen.
# echo 'tmout = 120' >> .bashrc
Wenden Sie alle Regeln an, indem Sie ausführen:
# Quelle .bashrcVerwandter Artikel: Setzen Sie die Benutzerumgebungsvariablen in Linux
43. Backup-Daten
Verwenden Sie Backup -Dienstprogramme wie Tar, Cat, RSYNC, SCP, LVM -Snapshots usw., um eine Kopie Ihres Systems, vorzugsweise im Falle eines Systemfehlers, zu speichern.
Wenn das System kompromittiert wird.
Vergessen Sie schließlich nicht, dass Sie unabhängig davon, wie viele Sicherheitsmaßnahmen und Kontra-Messungen Sie ergreifen, um Ihr System sicher zu halten.
- « So installieren Sie Postgresql und Pgadmin4 in Ubuntu 20.04
- Einrichten der Zimbra Collaboration Suite (ZCS) auf RHEL/Centos 7/8 »