25 Härtungssicherheitstipps für Linux -Server

25 Härtungssicherheitstipps für Linux -Server

Jeder sagt das Linux ist standardmäßig sicher und stimmte zu einem gewissen Verlänger ein (es sind umstrittene Themen). Linux verfügt jedoch standardmäßig über ein eingebautes Sicherheitsmodell. Müssen es stimmen und nach Ihren Bedürfnissen anpassen, um ein sichereres System zu machen. Linux ist schwerer zu verwalten, bietet aber mehr Flexibilitäts- und Konfigurationsoptionen.

25 Linux -Sicherheits- und Härtungstipps

Sicherung eines Systems in einer Produktion aus den Händen von Hacker Und Cracker ist eine herausfordernde Aufgabe für a Systemadministrator. Dies ist unser erster Artikel zu “So sichern Sie Linux -Box" oder "Verhärten einer Linux -Box“. In diesem Beitrag werden wir erklären 25 nützliche Tipps und Tricks um Ihr Linux -System zu sichern. Hoffe, unten Tipps und Tricks helfen Ihnen, sich einige zu verlängern, um Ihr System zu sichern.

1. Sicherheit des physischen Systems

Konfigurieren Sie die BIOS zum Deaktivieren des Bootens von CD/DVD, Externe Geräte, Diskettenlaufwerk In BIOS. Als nächstes aktivieren BIOS Passwort und auch schützen RODEN mit Passwort, um den physischen Zugriff Ihres Systems einzuschränken.

  1. Stellen Sie das GRUB -Passwort ein, um Linux -Server zu schützen

2. Festplattenpartitionen

Es ist wichtig, unterschiedliche Partitionen zu haben, um eine höhere Datensicherheit zu erhalten, falls eine Katastrophe auftritt. Durch das Erstellen verschiedener Partitionen können Daten getrennt und gruppiert werden. Wenn ein unerwarteter Unfall auftritt, werden nur Daten dieser Partition beschädigt, während die Daten zu anderen Partitionen überlebt haben. Stellen Sie sicher, dass Sie folgende separate Partitionen haben und sicher sind, dass Anwendungen von Drittanbietern auf separaten Dateisystemen unter installiert werden sollten /opt.

/ /boot /usr /var /home /tmp /opt

3. Minimieren Sie Pakete, um die Verwundbarkeit zu minimieren

Möchten Sie wirklich alle Arten von Diensten installiert??. Es wird empfohlen, nicht mehr nutzlose Pakete zu installieren, um Schwachstellen in Paketen zu vermeiden. Dies kann das Risiko minimieren, dass ein Kompromiss eines Dienstes zu einem Kompromiss anderer Dienste führen kann. Finden und entfernen oder deaktivieren Sie unerwünschte Dienste vom Server, um die Verwundbarkeit zu minimieren oder zu minimieren. Verwenden Sie das ''ChkconfigBefehl, um Dienste herauszufinden, die auf dem Laufenden gehen Runlevel 3.

# /sbin /chkconfig -list | grep '3: on'

Wenn Sie herausgefunden haben, dass ein unerwünschter Dienst ausgeführt wird, deaktivieren Sie sie mit dem folgenden Befehl.

# Chkconfig -Servicename aus

Benutze die Drehzahl Paketmanager wie "Yum" oder "apt-getTools zur Auflistung aller installierten Pakete auf einem System und entfernen Sie sie mit dem folgenden Befehl.

# yum -y entfernen Sie den Paketnamen
# sudo apt-Get entfernen Sie den Paketnamen
  1. 5 CHKConfig -Befehlsbeispiele
  2. 20 praktische Beispiele für RPM -Befehle
  3. 20 Linux Yum -Befehle für die Linux -Paketverwaltung
  4. 25 APT-GET- und APT-CACHE-Befehle zur Verwaltung der Paketverwaltung

4. Überprüfen Sie die Hörnetzwerkports

Mit der Hilfe von 'Netstat'Networking -Befehl Sie können alle offenen Ports und zugehörigen Programme anzeigen. Wie ich oben sagte, verwenden Sie 'ChkconfigBefehl zum Deaktivieren aller unerwünschten Netzwerkdienste vom System.

# netstat -tulpn
  1. 20 Netstat -Befehle für die Netzwerkverwaltung unter Linux

5. Verwenden Sie Secure Shell (SSH)

Telnet Und Rlogin Protokolle verwendet einen einfachen Text, kein verschlüsseltes Format, bei dem es sich um Sicherheitsverletzungen handelt. Ssh ist ein sicheres Protokoll, das die Verschlüsselungstechnologie während der Kommunikation mit dem Server verwenden.

Melden Sie sich niemals direkt als direkt an als Wurzel es sei denn, erforderlich. Verwenden "sudoUm Befehle auszuführen. sudo sind in angegeben in /etc/sudoers Die Datei kann auch mit dem “bearbeitet werdenVisudoNützlichkeit, das sich öffnet Vi Editor.

Es wird auch empfohlen, den Standard zu ändern SSH 22 Portnummer mit einer anderen Portnummer auf höherer Ebene. Öffne die Haupt Ssh Konfigurationsdatei und einige folgende Parameter erstellen, um die Benutzer auf den Zugriff einzuschränken.

# vi/etc/ssh/sshd_config
Root Login deaktivieren
Erläuterung Nr
Erlauben Sie nur bestimmte Benutzer
Zulasser Benutzername
Verwenden Sie die SSH -Protokoll -2 -Version
Protokoll 2
  1. 5 Best Practices, um den SSH -Server zu sichern und zu schützen

6. System auf dem Laufenden halten

Halten Sie das System immer auf dem neuesten Stand mit den neuesten Platches, Sicherheitsfixes und Kernel, wenn es verfügbar ist.

# yum updates # yum Check-update

7. Lockdown Cronjobs

Cron Hat seine eigene Funktion, in der es ermöglicht, anzugeben, wer kann und wer möglicherweise keine Jobs erledigen möchte. Dies wird durch die Verwendung von Dateien genannt /etc/cron.erlauben Und /etc/cron.leugnen. Fügen Sie einfach Benutzernamen in den Benutzernamen hinzu, um einen Benutzer mit Cron zu sperren Cron.leugnen und damit ein Benutzer Cron hinzufügen kann Cron.erlauben Datei. Wenn Sie alle Benutzer von der Verwendung von Cron deaktivieren möchten, fügen Sie die 'hinzuALLE'Linie zu Cron.leugnen Datei.

# Echo alle >>/etc/cron.leugnen
  1. 11 Beispiele für Cron -Planung unter Linux

8. Deaktivieren Sie USB -Stick, um zu erkennen

Oft kommt es vor, dass wir Benutzer von Verwendung beschränken möchten USB Halten Sie sich in Systemen, um Daten vor Diebstahl zu schützen und zu sichern. Erstellen Sie eine Datei '/etc/modProbe.d/no-usb'Und das Hinzufügen unter der Linie wird nicht erkannt USB Lagerung.

Installieren Sie USB-Storage /bin /true

9. Selinux einschalten

Sicherheitsverstärktes Linux (Selinux) ist ein im Kernel bereitgestellter Sicherheitsmechanismus für Zugangskontrolle. Deaktivierung Selinux bedeutet, Sicherheitsmechanismus aus dem System zu entfernen. Überlegen Sie zweimal sorgfältig vor dem Entfernen. Wenn Ihr System mit dem Internet angeschlossen ist und von der Öffentlichkeit zugegriffen wird, dann denken Sie noch mehr darüber nach.

Selinux Bietet drei grundlegende Betriebsmodi und sie sind es.

  1. Strikt: Dies ist der Standardmodus, der die ermöglicht und durchsetzen kann Selinux Sicherheitsrichtlinie auf der Maschine.
  2. Zulässt: In diesem Modus, Selinux wird die Sicherheitsrichtlinien für das System nicht durchsetzen, nur Warnaktionen warnen und protokollieren. Dieser Modus ist sehr nützlich bei der Fehlerbehebung Selinux Verwandte Themen.
  3. Behinderte: Selinux ist ausgeschaltet.

Sie können den aktuellen Status von anzeigen Selinux Modus aus der Befehlszeile mit 'System-Config-Selinux',' 'Getenforce' oder 'sestatus'Befehle.

# Sestatus

Wenn es deaktiviert ist, aktivieren Sie Selinux Verwenden des folgenden Befehls.

# SetEnforce Durchsetzung

Es kann auch aus 'verwaltet werden'/etc/selinux/config'Datei, wo Sie sie aktivieren oder deaktivieren können.

10. Entfernen Sie KDE/GNOME -Desktops

Es ist nicht nötig zu laufen X Fenster Desktops mögen Kde oder Gnom Auf Ihrem dedizierten Lampenserver. Sie können sie entfernen oder deaktivieren, um die Sicherheit von Server und Leistung zu erhöhen. Um einfach die Datei zu deaktivieren '/etc/inittab'und setzen 3. Wenn Sie es vollständig aus dem System entfernen möchten, verwenden Sie den folgenden Befehl.

# yum Groupremove "x Fenstersystem"

11. Schalten Sie IPv6 aus

Wenn Sie keine verwenden IPv6 Protokoll, dann sollten Sie es deaktivieren, da die meisten Anwendungen oder Richtlinien nicht erforderlich sind IPv6 Protokoll und derzeit nicht auf dem Server erforderlich. Gehen Sie zur Netzwerkkonfigurationsdatei und fügen Sie Follownings -Zeilen hinzu, um sie zu deaktivieren.

# vi/etc/sysconfig/network
Networking_ipv6 = no ipv6init = nein

12. Beschränken Sie die Benutzer auf alte Passwörter

Dies ist sehr nützlich, wenn Sie Benutzer nicht zulassen möchten, um die gleichen alten Passwörter zu verwenden. Die alte Passwortdatei befindet sich bei /etc/Security/opasswd. Dies kann durch Verwendung erreicht werden Pam Modul.

Offen '/etc/pam.D/System-Auth'Datei unter Rhel / Centos / Fedora.

# vi /etc /pam.D/System-Auth

Offen '/etc/pam.D/Common-Password'Datei unter Ubuntu/Debian/Linux Mint.

# vi /etc /pam.D/Common-Password

Fügen Sie die folgende Zeile zu 'hinzu'Auth' Abschnitt.

auth genügend pam_unix.Also LikeAuth Nullok

Fügen Sie die folgende Zeile zu 'hinzu'Passwort'Abschnitt, um einen Benutzer von der Wiederverwendung zuletzt zu verweigern 5 Passwort seines oder ihr.

Passwort ausreichend pam_unix.Also Nullok Use_Authtok Md5 Shadow Remember = 5

Nur zuletzt 5 Passwörter werden nach Server erinnern. Wenn Sie versucht haben, einen der letzten zu verwenden 5 Alte Passwörter erhalten einen Fehler wie.

Passwort wurde bereits verwendet. Wähle ein anderes.

13. So überprüfen Sie das Ablauf des Benutzers des Passworts

In Linux werden die Passwörter des Benutzers in 'gespeichert/etc/Shadow'Datei im verschlüsselten Format. Um das Ablauf des Benutzers des Passworts zu überprüfen, müssen Sie verwenden. 'Schicht' Befehl. Es zeigt Informationen zu Kennwort -Ablaufdetails sowie das Datum des letzten Kennwortänderungsdatums an. Diese Details werden vom System verwendet, um zu entscheiden, wann ein Benutzer sein Passwort ändern muss.

Um die Alterungsinformationen des vorhandenen Benutzers anzuzeigen, z. B Verfallsdatum Und Zeit, Verwenden Sie den folgenden Befehl.

#Chage -l Benutzername

Verwenden Sie den folgenden Befehl zum Ändern des Kennwortalterung eines Benutzers.

#Chage -m 60 Benutzername #chage -m 60 -m 7 -W 7 Benutzername
Parameter
  1. -M Stellen Sie die maximale Anzahl von Tagen fest
  2. -M Stellen Sie die minimale Anzahl von Tagen fest
  3. -W Legen Sie die Anzahl der Warntage fest

14. Account manuell sperren und freischalten

Die Sperren- und Entsperrfunktionen sind sehr nützlich, anstatt ein Konto aus dem System zu entfernen, können Sie es für eine Woche oder einen Monat sperren. Um einen bestimmten Benutzer zu sperren, können Sie den Befehl folgen verwenden.

# Passwd -l -Kontoname

Notiz : Der gesperrte Benutzer ist immer noch verfügbar für Wurzel Nur Benutzer. Die Verriegelung wird durchgeführt, indem verschlüsseltes Passwort durch ein (ein () ersetzt wird (!) Zeichenfolge. Wenn jemand, der versucht, mit diesem Konto auf das System zuzugreifen, erhält er einen ähnlichen Fehler wie unten.

# Su - AccountName Dieses Konto ist derzeit nicht verfügbar.

Verwenden Sie den Befehl als Erschließung oder Aktivierung des Zugriffs auf ein gesperrtes Konto. Dies wird entfernen (!) String mit verschlüsselten Passwort.

# Passwd -u AccountName

15. Durchsetzung stärkerer Passwörter

Eine Reihe von Benutzern verwenden sanfte oder schwache Passwörter, und ihr Passwort kann mit a gehackt werden Wörterbuch basiert oder Brute-Force-Angriffe. Der 'pam_cracklib'Modul ist in erhältlich Pam (Steckbare Authentifizierungsmodule) Modulstapel, mit dem der Benutzer starke Passwörter festgelegt hat. Öffnen Sie die folgende Datei mit einem Editor.

Lesen Sie auch:

# vi /etc /pam.D/System-Auth

Und Fügen Sie die Zeile mit Kreditparametern als ((Lcredit, Ucredit, Dcredit und/oder Ocredit jeweils unterer Fall, oberer Fall, Ziffer und andere)

/lib/security/$ isa/pam_cracklib.Also Wiederholung = 3 minlen = 8 lcredit = -1 ucredit = -2 dcredit = -2 ocredit = -1

16. Aktivieren Sie Iptables (Firewall)

Es wird sehr empfohlen, aktiviert zu werden Linux Firewall Um den unbefugten Zugang Ihrer Server zu sichern. Regeln anwenden in iptables Filter eingehend, ausgeschlossen Und Weiterleitung Pakete. Wir können die Quell- und Zieladresse angeben, um bestimmte zuzulassen und zu leugnen UDP/TCP Port-Nummer.

  1. Grundlegende Iptables -Handbuch und Tipps

17. Deaktivieren Sie Strg+Alt+Löschen in Inittab

In den meisten Linux -Verteilungen drücken 'Strg-Alt-Delete ' Wird Ihr System zum Neustart des Prozesses benötigen. Es ist also keine gute Idee, dass diese Option zumindest bei Produktionsservern aktiviert ist, wenn jemand durch irrtümliches Tat dies tut.

Dies ist in 'definiert'/etc/inittab'Datei, wenn Sie in dieser Datei genau hinschauen, sehen Sie eine ähnliche Zeile wie unten. Standardmäßig wird die Zeile nicht kommentiert. Wir müssen es kommentieren. Diese spezielle Schlüsselsequenzsignalisierung wird ein System abgebrochen.

# Trap Strg -Alt -Delete #ca :: Strlaltdel:/sbin/stilldown -t3 -r jetzt

18. Überprüfen Sie Konten auf leere Passwörter

Jedes Konto mit einem leeren Passwort bedeutet, dass es für unbefugten Zugriff auf jeden im Web geöffnet ist und Teil der Sicherheit innerhalb eines Linux -Servers ist. Sie müssen also sicherstellen. Leere Kennwortkonten sind Sicherheitsrisiken, die leicht hackbar sein können. Verwenden Sie den folgenden Befehl, um zu überprüfen, ob Konten mit leerem Passwort vorhanden sind.

# Katze /etc /Shadow | awk -f: '($ 2 == "") print $ 1'

19. Zeigen Sie das SSH -Banner vor dem Login an

Es ist immer eine bessere Idee, vor der SSH -Authentifizierung ein legales Banner oder eine Sicherheitsbanner mit einigen Sicherheitswarnungen zu haben. Um solche Banner festzulegen, lesen Sie den folgenden Artikel.

  1. Zeigen Sie den Benutzern die SSH -Warnmeldung an

20. Benutzeraktivitäten überwachen

Wenn Sie mit vielen Benutzern zu tun haben, ist es wichtig, die Informationen der von ihnen konsumierten Benutzeraktivitäten und -prozesse zu sammeln und zu einem späteren Zeitpunkt zu analysieren, falls diese Leistung, Sicherheitsprobleme. Aber wie wir Informationen über Benutzeraktivitäten überwachen und sammeln können.

Es gibt zwei nützliche Tools namens 'PSACCT' Und 'Acct'werden zur Überwachung von Benutzeraktivitäten und -prozessen auf einem System verwendet. Diese Tools werden in einem Systemhintergrund ausgeführt und verfolgen kontinuierlich jede Benutzeraktivität auf einem System und Ressourcen, die von Diensten wie vergrößert werden, z. B Apache, Mysql, Ssh, Ftp, usw. Weitere Informationen zu Installation, Konfiguration und Verwendung finden Sie in der folgenden URL.

  1. Überwachen Sie die Benutzeraktivität mit PSACCT- oder ACCT -Befehlen

21. Überprüfen Sie die Protokolle regelmäßig

Verschieben Sie Protokolle auf dediziertem Protokollserver. Dies kann Eindringlinge verhindert, um die lokalen Protokolle problemlos zu ändern. Im Folgenden finden Sie den Namen der gemeinsamen Linux -Standardprotokolldateien und deren Verwendung:

  1. /var/log/meldung - Wo ganze Systemprotokolle oder aktuelle Aktivitätsprotokolle verfügbar sind.
  2. /var/log/auth.Protokoll - Authentifizierungsprotokolle.
  3. /var/log/kern.Protokoll - Kernelprotokolle.
  4. /var/log/cron.Protokoll - Crond -Protokolle (Cron Job).
  5. /var/log/Mailog - Mail -Serverprotokolle.
  6. /var/log/boot.Protokoll - Systemstartprotokoll.
  7. /var/log/mysqld.Protokoll - MySQL Database Server -Protokolldatei.
  8. /var/log/sicher - Authentifizierungsprotokoll.
  9. /var/log/utmp oder /var/log/wtmp : Login -Datensätze Datei.
  10. /var/log/yum.LOG: Yum -Protokolldateien.

22. Wichtige Dateisicherung

In einem Produktionssystem ist es erforderlich, wichtige Dateien zu sichern und sie in Sicherheitsverluster, Remote -Site oder Offsite für die Wiederherstellung von Katastrophen zu halten.

23. Nic Bindung

Es gibt zwei Arten von Modus in Nic Bindung, in der Bindungsschnittstelle erwähnen müssen.

  1. Modus = 0 - Runde Robin
  2. Modus = 1 - Aktiv und Backup

Nic Bindung Hilft uns, einen einzigen Fehlerpunkt zu vermeiden. In Nic Bindung, wir verbinden zwei oder mehr Netzwerk -Ethernet -Karten zusammen und eine einzelne virtuelle Schnittstelle machen, an der wir zuweisen können IP Adresse, um mit anderen Servern zu sprechen. Unser Netzwerk wird im Falle eines erhältlich sein NIC -Karte ist aus irgendeinem Grund nicht verfügbar oder nicht verfügbar.

Lesen Sie auch : Erstellen Sie die NIC -Kanalbindung unter Linux

24. Halten Sie /starten Sie als schreibgeschützt

Linux -Kernel und seine zugehörigen Dateien sind in /Stiefel Verzeichnis, das standardmäßig als standardmäßig ist lesen Schreiben. Wechseln in schreibgeschützt Reduziert das Risiko einer nicht autorisierten Änderung kritischer Startdateien. Dazu, offen ““/etc/fstab" Datei.

# vi /etc /fstab

Fügen Sie die folgende Zeile unten hinzu, speichern Sie sie und schließen Sie sie.

Label = /boot /boot ext2 Standards, RO 1 2

Bitte beachten Sie, dass Sie die Änderung auf das Leseschreiber zurücksetzen müssen, wenn Sie den Kernel in Zukunft aktualisieren müssen.

25. Ignorieren Sie die ICMP- oder Rundfunkanforderung

Fügen Sie die folgende Zeile in "/etc/sysctl.Conf”Datei zu ignorieren Klingeln oder übertragen Anfrage.

Ignorieren Sie die ICMP -Anfrage: Netz.IPv4.ICMP_ECHO_IGNORE_ALL = 1 Ignorieren Sie die Broadcast -Anforderung: Netz.IPv4.ICMP_ECHO_IGNORE_BROADCASTS = 1

Laden Sie neue Einstellungen oder Änderungen, indem Sie den folgenden Befehl ausführen

#SYSCTL -P

Wenn Sie in der obigen Liste wichtige Sicherheits- oder Härtungstipps verpasst haben oder einen anderen Tipp haben, der in die Liste enthalten sein muss. Bitte geben Sie Ihre Kommentare in unserem Kommentarbox ab. Tecmint ist immer daran interessiert, Kommentare, Vorschläge und Diskussion zur Verbesserung zu erhalten.