20 CentOS Server Härtung Sicherheits -Tipps - Teil 1

20 CentOS Server Härtung Sicherheits -Tipps - Teil 1

Dieses Tutorial umfasst nur allgemeine Sicherheitstipps für CentOS 8/7 mit welchen können, um das System zu härten. Die Checklisten-Tipps sollen hauptsächlich auf verschiedenen Arten von Bare-Metal-Servern oder auf Maschinen (physisch oder virtuell) verwendet werden, die Netzwerkdienste anbieten.

Einige der Tipps können jedoch auch erfolgreich auf allgemeine Maschinen angewendet werden, wie Desktops, Laptops und kartengroße Single-Board-Computer (Computer in Kartengröße ()Raspberry Pi).

Anforderungen

  • CentOS 8 minimale Installation
  • CentOS 7 minimale Installation

1. Physischer Schutz

Sperren Sie Ihre Serverräume zugreifen, verwenden Sie Racks Sperre und Videoüberwachung. Berücksichtigen Sie, dass jeder physische Zugriff auf Serverräume Ihre Maschine ernsthaften Sicherheitsproblemen aussetzen kann.

BIOS Passwörter können geändert werden, indem Springer auf dem Motherboard zurückgesetzt werden oder die CMOS -Akku abnehmen. Außerdem kann ein Eindringling die Festplatten stehlen oder direkt neue Festplatten an den Schnittstellen der Motherboard (SATA, SCSI usw.) anbringen, mit einer Linux -Live -Distribution starten und Daten klonen oder kopieren, ohne eine Software -Trace zu verlassen.

2. Reduzieren Sie die Auswirkungen des Spionierens

Bei hochempfindlichen Daten sollten Sie wahrscheinlich einen erweiterten physischen Schutz verwenden, z.

3. Sichern Sie BIOS/UEFI

Beginnen Sie den Prozess der Verhärtung Ihrer Maschine, indem Sie sich sicherstellen BIOS/UEFI Einstellungen, insbesondere ein festlegen a BIOS/UEFI Kennwort- und Deaktivieren von Startmediengeräten (CD, DVD, Deaktivieren Sie USB -Support), um zu verhindern, dass nicht autorisierte Benutzer die Systemeinstellungen des Systems ändern oder die Priorität des Boot -Geräts ändern und den Maschine von einem alternativen Medium booten.

Um diese Art von Änderung auf Ihre Maschine anzuwenden.

4. Stiefelloader sichern

Einstellen a RODEN Passwort, um böswillige Benutzer zu verhindern, dass sie die Kernel-Bootsequenz oder die Ausführungsstufen manipulieren, Kernelparameter bearbeiten oder das System in einen Einzelbenutzermodus starten, um Ihr System zu schädigen und das Stammkennwort zurückzusetzen, um privilegierte Steuerung zu erhalten.

5. Verwenden Sie separate Festplattenpartitionen

Bei der Installation Centos Auf Systemen, die als Produktionserver bestimmt sind, verwenden dedizierte Partitionen oder dedizierte Festplatten für die folgenden Teile des Systems:

/(root) /boot /home /tmp /var 

6. Verwenden Sie LVM und RAID für Redundanz und Dateisystemwachstum

Der /var Die Partition ist der Ort, an dem Protokollnachrichten auf die Festplatte geschrieben werden. Dieser Teil des Systems kann auf stark Verkehrsservern exponentiell an Größe wachsen.

Verwenden Sie also eine große Partition für /var Oder überlegen Sie, diese Partition mit logischen Bänden einrichten (LVM) oder mehrere physische Festplatten zu einem größeren Virtual Raid 0 -Gerät kombinieren, um große Datenmengen aufrechtzuerhalten. Für Daten berücksichtigen Redundanz bei der Verwendung des LVM -Layouts oben auf der Überfall 1 eben.

Folgen Sie unseren nützlichen Leitfäden, um LVM oder RAID auf die Festplatten einzurichten:

  1. Setup -Festplattenspeicher mit LVM unter Linux
  2. Erstellen Sie LVM -Scheiben mit VGCreate, LVCreate und LVextend
  3. Kombinieren Sie mehrere Scheiben zu einem großen virtuellen Speicher
  4. Erstellen Sie RAID 1 mit zwei Festplatten unter Linux

7. Ändern Sie die FSTAB -Optionen, um Datenpartitionen zu sichern

Separate Partitionen zum Speichern von Daten und zur Verhinderung der Ausführung von Programmen, Gerätedateien oder SetUid Bit auf diese Art von Partitionen, indem die folgenden Optionen hinzugefügt werden fstab Datei wie im folgenden Auszug dargestellt:

/dev /sda5 /nas ext4 Standardeinstellungen,Nosuid, Nodev, noexec 1 2 

Um Privilegien-Eskalation und willkürliche Skriptausführung zu verhindern, erstellen Sie eine separate Partition für /tmp und montieren es als Nosuid, Nodev, Und noexec.

/dev /sda6 /tmp ext4 Standards,Nosuid, Nodev, noexec 0 0 

8. Verschlüsseln Sie die Festplatten auf Blockebene mit Luks

Zum Schutz sensibler Daten im Falle eines physischen Zugangs zu maschinellen Festplatten zu schützen. Ich empfehle Ihnen zu lernen, wie Sie die Festplatte verschlüsseln können, indem Sie unseren Artikel über Linux -Festplatten -Datenverschlüsselung mit Luks lesen.

9. Verwenden Sie PGP- und öffentliche Kryptographie

Verwenden Sie die Kryptographie oder OpenSSL-Befehl PGP und öffentlicher Key, um sensible Dateien mit einem Kennwort zu verschlüsseln und zu entschlüsseln.

10. Installieren Sie nur die erforderliche Mindestmenge an Paketen

Vermeiden Sie es, unwichtige oder unnötige Programme, Anwendungen oder Dienste zu installieren, um Schwachstellen zu vermeiden. Dies kann das Risiko verringern, dass der Kompromiss einer Software -Kompromisse dazu führen kann, andere Anwendungen, Teile des Systems oder sogar Dateisysteme zu kompromittieren.

11. Aktualisieren Sie das System häufig

Aktualisieren Sie das System regelmäßig. Halten Sie den Linux-Kernel synchron mit den neuesten Sicherheitspatches und allen installierten Software, die mit den neuesten Versionen aktualisiert werden, indem Sie den folgenden Befehl ausgeben:

# YUM Update 

12. Deaktivieren Sie Strg+Alt+del

Um zu verhindern, dass Benutzer den Server neu starten, sobald er einen physischen Zugriff auf eine Tastatur oder über eine Remote -Konsolenanwendung oder eine virtualisierte Konsole hat (Kvm, Virtualisierung der Software -Schnittstelle) Sie sollten deaktivieren Strg+Alt+del Schlüsselsequenz durch Ausführen des folgenden Befehls.

# SystemCTL Mask Ctrl-Alt-Del.Ziel 

13. Entfernen Sie unnötige Softwarepakete

Installieren Sie minimale Software, die für Ihren Computer erforderlich ist. Installieren Sie niemals zusätzliche Programme oder Dienste. Installieren Sie Pakete nur aus vertrauenswürdigen oder offiziellen Repositories. Verwenden Sie die minimale Installation des Systems, falls die Maschine dazu bestimmt ist, ihr gesamtes Leben als Server zu führen.

Überprüfen Sie die installierten Pakete mit einem der folgenden Befehle:

# RPM -qa 

Erstellen Sie eine lokale Liste aller installierten Pakete.

# YUM -Liste installiert >> installiert.txt 

Wenden Sie sich an die Liste für nutzlose Software und löschen Sie ein Paket, indem Sie den folgenden Befehl ausgeben:

# yum entfernen package_name 
Verwandter Artikel: Deaktivieren und entfernen Sie unerwünschte Pakete bei minimaler Installation von CentOs

14. Starten Sie Systemd Services nach Dämon -Updates neu

Verwenden Sie das folgende Befehlsbeispiel, um einen Systemd -Dienst neu zu starten, um neue Updates anzuwenden.

# Systemctl Neustart HTTPD neu starten.Service 

15. Unnötige Dienste entfernen

Identifizieren Sie die Dienste, die mit dem folgenden SS -Befehl an bestimmten Ports zuhören.

# ss -tulpn 

Um alle installierten Dienste mit ihrem Ausgangsstatus aufzulisten, geben Sie den folgenden Befehl aus:

# Systemctl List -Units -t -Dienst 

Zum Beispiel, Centos Die Standard -Minimalinstallation wird mit einem standardmäßigen Postfix -Daemon installiert, der mit dem Namen eines Masters unter Port ausgeführt wird 25. Entfernen Sie den Postfix -Netzwerkdienst, falls Ihr Computer nicht als Mailserver verwendet wird.

# yum postfix entfernen 
Verwandter Artikel: Stoppen und deaktivieren Sie unerwünschte Dienstleistungen in CentOs

16. Verschlüsselnde Daten

Verwenden Sie keine ungesicherten Protokolle für Remote -Zugriff oder Dateiübertragung wie z Telnet, Ftp, oder andere hochte Text hohe Protokolle wie SMTP, HTTP, NFS oder SMB, die standardmäßig die Authentifizierungssitzungen oder gesendete Daten nicht verschlüsseln.

Verwenden Sie nur SFTP, SCP für Dateitransfers und SSH oder VNC über SSH -Tunnel für Remote -Konsolenverbindungen oder GUI -Zugriff.

Um eine VNC -Konsole über SSH zu tun, verwenden Sie das folgende Beispiel, das den VNC -Port 5901 vom Remote -Computer an Ihre lokale Maschine weiterleitet:

# SSH -l 5902: localhost: 5901 Remote_machine 

Führen Sie auf der lokalen Maschine den folgenden Befehl aus, um die virtuelle Verbindung zum Remote -Endpunkt zu erhalten.

# VNCViewer localhost: 5902 

17. Netzwerkanschluss -Scannen

Führen Sie externe Portprüfungen mit dem NMAP -Tool von einem Remote -System über dem LAN durch. Diese Art des Scannens kann verwendet werden.

# nmap -st -o 192.168.1.10 
Verwandter Artikel: Erfahren Sie, wie Sie NMAP mit diesen 29 Beispielen verwenden

18. Paket-Filter-Firewall

Verwenden Firewall Dienstprogramm zum Schutz der Systemanschlüsse, offenen oder schließen spezifischen Diensteports, insbesondere bekannte Ports (<1024).

Installieren, starten, aktivieren und listen Sie die Firewall -Regeln auf, indem Sie die folgenden Befehle ausgeben:

# yum install Firewalld # SystemCTL Start Firewall.Service # SystemCTL Aktivieren Sie die Firewalld.Service # Firewall-CMD-List-All 

19. Überprüfen Sie die Protokollpakete mit TCPDump

Verwenden Sie das TCPDump-Dienstprogramm, um Netzwerkpakete lokal zu schnüffeln und ihren Inhalt auf verdächtigen Datenverkehr (Quelldestinationsports, TCP/IP-Protokolle, Layer Two-Verkehr, ungewöhnliche ARP-Anfragen) zu überprüfen.

Für eine bessere Analyse der tcpdump Erfassete Datei verwenden ein fortschrittlicheres Programm wie z. B Wireshark.

# TCPDUMP -i ENO16777736 -W TCPDUMP.PCAP 

20. Verhindern Sie DNS -Angriffe

Überprüfen Sie den Inhalt Ihres Resolvers normalerweise /etc/resolv.Conf Datei, die die IP-Adresse der DNS-Server definiert, mit der sie nach Domainnamen abfragen sollten, um MANN-the-Middle-Angriffe, unnötigen Verkehr für Root-DNS-Server, Parodie zu vermeiden oder einen DOS-Angriff zu erstellen.

Dies ist nur der erste Teil. Im nächsten Teil werden wir andere Sicherheits -Tipps besprechen CentOS 8/7.

Verpassen Sie nicht: Der Mega -Leitfaden zum Verhärten und Sicherung von CentOs 8/7 - Teil 2