Sicherheitstipps auf GNU / Linux-Systemen

Nun, ich hatte diesen Beitrag vorbereitet mein Blog für einige Zeit schlugen sie es mir vor DesdeLinuxund aus Zeitmangel war er nicht in der Lage oder wollte. Wenn ich etwas faul bin :). Aber jetzt streiken sie, wie wir in Kuba sagen ...

Dies ist eine Zusammenstellung grundlegender Sicherheitsregeln für Systemadministratoren, in diesem Fall für diejenigen, die wie ich Netzwerke / Systeme auf der Basis von GNU / Linux verwalten ... Es kann mehr geben und tatsächlich gibt es mehr, dies ist nur ein Beispiel von mir Abenteuer in der Linux-Welt ...

0- Halten Sie unsere Systeme mit den neuesten Sicherheitsupdates auf dem neuesten Stand.

0.1- Mailinglisten für kritische Updates [Slackware-Sicherheitsberater, Debian Sicherheitsberater, in meinem Fall]

1- Kein physischer Zugriff auf die Server durch nicht autorisiertes Personal.

1.1- Passwort anwenden auf BIOS unserer Server

1.2- Kein Booten von CD / DVD

1.3- Passwort in GRUB / Lilo

2- Gute Passwortpolitik, alphanumerische Zeichen und andere.

2.1- Alterung von Passwörtern [Passwortalterung] mit dem Befehl „chage“ sowie Anzahl der Tage zwischen Passwortänderung und Datum der letzten Änderung.

2.2- Vermeiden Sie die Verwendung früherer Passwörter:

in /etc/pam.d/common-password

password sufficient pam_unix.so use_auth ok md5 shadow remember 10

Auf diese Weise ändern Sie das Passwort und es erinnert Sie an die letzten 10 Passwörter, die der Benutzer hatte.

3- Gute Management- / Segmentierungsrichtlinien unseres Netzwerks [Router, Switches, VLANs] und Firewall sowie Filterregeln INPUT, OUTPUT, FORWARD [NAT, SNAT, DNAT]

4- Aktivieren Sie die Verwendung von Shells [/ etc / shells]. Benutzer, die sich nicht beim System anmelden müssen, erhalten / bin / false oder / bin / nologin.

5- Blockieren Sie Benutzer, wenn die Anmeldung fehlschlägt [faillog], und steuern Sie das Systembenutzerkonto.

passwd -l pepe -> Benutzer pepe blockieren passwd -v pepe -> Benutzer pepe entsperren

6- Aktivieren Sie die Verwendung von "sudo". Melden Sie sich NIEMALS als root bei ssh "NIE" an. Tatsächlich müssen Sie die SSH-Konfiguration bearbeiten, um diesen Zweck zu erreichen. Verwenden Sie mit sudo öffentliche / private Schlüssel auf Ihren Servern.

7- Wenden Sie in unseren Systemen die “Prinzip des geringsten Privilegs".

8- Überprüfen Sie von Zeit zu Zeit unsere Dienste [netstat -lptun] für jeden unserer Server. Fügen Sie Überwachungstools hinzu, die uns bei dieser Aufgabe helfen können [Nagios, Cacti, Munin, Monit, Ntop, Zabbix].

9- Installieren Sie IDSs, Snort / AcidBase, Snotby, Barnyard, OSSEC.

10- Nmap ist dein Freund, benutze es, um dein Subnetz / deine Subnetze zu überprüfen.

11- Gute Sicherheitspraktiken in OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP (die am häufigsten verwendeten) und einigen anderen Diensten, die Sie in Ihrem Netzwerk benötigen.

12- Verschlüsseln Sie die gesamte Kommunikation so lange wie möglich in unseren Systemen, SSL, gnuTLS, StarTTLS, Digest usw. Und wenn Sie mit vertraulichen Informationen umgehen, verschlüsseln Sie Ihre Festplatte !!!

13- Aktualisieren Sie unsere Mailserver mit den neuesten Sicherheits-, Blacklist- und Antispam-Regeln.

14- Aktivitätsprotokollierung in unseren Systemen mit Logwatch und Logcheck.

15- Kenntnisse und Verwendung von Tools wie top, sar, vmstat, free ua

sar -> Systemaktivitätsbericht vmstat -> Prozesse, Speicher, System, E / A, CPU-Aktivität usw. iostat -> CPU-E / A-Status mpstat -> Multiprozessorstatus und -nutzung pmap -> Speichernutzung durch freie Prozesse - > iptraf-Speicher -> Datenverkehr in Echtzeit unseres Netzwerkethstatus -> konsolenbasierter Ethernet-Statistikmonitor Etherape -> grafischer Netzwerkmonitor ss -> Socket-Status [TCP-Socket-Informationen, udp, Raw-Sockets, DCCP-Sockets] tcpdump -> Detaillierte Analyse de Verkehr vnstat -> Netzwerkverkehrsüberwachung ausgewählter Schnittstellen mtr -> Diagnosetool und Analyse der Überlastung in Netzwerken ethtool -> Statistiken zu Netzwerkkarten

Im Moment ist alles. Ich weiß, dass es in dieser Art von Umgebung tausend und einen weiteren Sicherheitsvorschlag gibt, aber dies sind diejenigen, die mich am meisten beeindruckt haben oder die ich irgendwann in einer von mir verwalteten Umgebung anwenden / trainieren musste.

Eine Umarmung und hoffentlich wird es dir dienen 😀


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   koratsuki sagte

    Ich lade Sie in den Kommentaren ein, uns einige andere Regeln mitzuteilen, die außer den bereits erwähnten implementiert wurden, um das Wissen unserer Leser zu erweitern

    1.    yukiteru sagte

      Nun würde ich hinzufügen:

      1.- Wenden Sie sysctl-Regeln an, um den Zugriff auf dmesg, / proc und SysRQ zu verhindern, weisen Sie dem Kern PID1 zu, aktivieren Sie den Schutz für harte und weiche Symlinks, den Schutz für TCP / IP-Stacks für IPv4 und IPv6 und aktivieren Sie das vollständige VDSO für maximale Randomisierung Zeiger- und Speicherplatzzuweisungen und Verbesserung der Pufferüberlaufstärke.

      2.- Erstellen Sie Brandmauern vom Typ SPI (Stateful Package Inspect), um zu verhindern, dass nicht erstellte oder zuvor zugelassene Verbindungen Zugriff auf das System haben.

      3.- Wenn Sie keine Dienste haben, für die Verbindungen mit erhöhten Berechtigungen von einem Remotestandort aus erforderlich sind, widerrufen Sie den Zugriff einfach über die Datei access.conf oder aktivieren Sie andernfalls den Zugriff nur auf einen bestimmten Benutzer oder eine bestimmte Gruppe.

      4.- Verwenden Sie strenge Grenzwerte, um zu verhindern, dass der Zugriff auf bestimmte Gruppen oder Benutzer Ihr System destabilisiert. Sehr nützlich in Umgebungen, in denen jederzeit ein echter Mehrbenutzer aktiv ist.

      5.- TCPWrappers ist Ihr Freund, wenn Sie sich auf einem System befinden, das dies unterstützt, würde die Verwendung nicht schaden, sodass Sie den Zugriff von jedem Host aus verweigern können, es sei denn, es ist zuvor im System konfiguriert.

      6.- Erstellen Sie SSH-RSA-Schlüssel mit mindestens 2048 Bit oder besser von 4096 Bit mit alphanumerischen Schlüsseln mit mehr als 16 Zeichen.

      7.- Wie weltbeschreibbar bist du? Das Überprüfen der Lese- / Schreibberechtigungen Ihrer Verzeichnisse ist überhaupt nicht schlecht und der beste Weg, um unbefugten Zugriff in Mehrbenutzerumgebungen zu vermeiden. Außerdem ist es für bestimmte nicht autorisierte Zugriffe schwieriger, auf Informationen zuzugreifen, die Sie nicht möchten. niemand sonst sieht.

      8.- Mounten Sie jede externe Partition, die dies nicht verdient, mit den Optionen noexec, nosuid, nodev.

      9.- Verwenden Sie Tools wie rkhunter und chkrootkit, um regelmäßig zu überprüfen, ob auf dem System kein Rootkit oder keine Malware installiert ist. Eine umsichtige Maßnahme, wenn Sie zu denjenigen gehören, die Dinge aus nicht sicheren Repositorys, aus PPAs oder nur aus dem Live-Kompilieren von Code von nicht vertrauenswürdigen Sites installieren.

      1.    koratsuki sagte

        Ähmmm, lecker… Guter Kommentar, Leute hinzufügen… 😀

    2.    William Moreno-Reyes sagte

      Mit SElinux eine obligatorische Zugangskontrolle anwenden?

  2.   ArmandoF sagte

    sehr guter Artikel

    1.    koratsuki sagte

      Danke Freund 😀

  3.   Joaco sagte

    Hallo und wenn ich ein normaler Benutzer bin, sollte ich su oder sudo verwenden?
    Ich benutze su, weil ich sudo nicht mag, weil jeder, der mein Benutzerpasswort hat, ändern kann, was er will, stattdessen mit su no.

    1.    koratsuki sagte

      Auf Ihrem PC macht es sich nicht die Mühe, su zu verwenden. Sie können es problemlos verwenden. Auf Servern wird dringend empfohlen, die Verwendung von su zu deaktivieren und sudo zu verwenden. Viele sagen, dass dies auf die Tatsache zurückzuführen ist, dass geprüft wurde, wer welchen Befehl ausgeführt hat, und sudo diese Aufgabe ausführt das besondere, auf meinem pc benutze ich seins, genau wie du ...

      1.    Joaco sagte

        Klar, ich weiß nicht wirklich, wie es auf den Servern funktioniert. Obwohl es mir scheint, dass sudo den Vorteil hatte, dass Sie dem Benutzer eines anderen Computers Berechtigungen erteilen können, wenn ich mich nicht irre.

    2.    andrew sagte

      Interessanter Artikel, ich verschlüssele einige Dateien mit gnu-gpg, wie z. B. Mindestberechtigungen, falls Sie beispielsweise eine Binärdatei unbekannten Ursprungs ausführen möchten, die in den riesigen Informationsmeeren auf der Festplatte verloren gegangen ist. Wie entferne ich den Zugriff auf bestimmte Funktionen? ?

      1.    koratsuki sagte

        Diesen Teil schulde ich dir, obwohl ich denke, du solltest nur als sudo / root laufen, Programme, die zuverlässig sind, das heißt, sie kommen von deinem Repo ...

      2.    yukiteru sagte

        Ich erinnere mich, dass ich gelesen habe, dass es eine Möglichkeit gibt, Root-Funktionen in einem Handbuch unter GNU / Linux und UNIX zu aktivieren. Wenn ich es finde, werde ich es setzen 😀

      3.    Clown sagte

        und Käfige chown, um unbekannte Binärdateien auszuführen?

    3.    yukiteru sagte

      Sudo zu jeder Zeit zu verwenden ist viel besser.

    4.    lebhaft sagte

      Oder Sie können sudo verwenden, aber die Zeit begrenzen, in der das Passwort gespeichert wird.

  4.   Kevin Rodríguez sagte

    Ähnliche Tools verwende ich zur Überwachung des PCs, «iotop» als Ersatz für «iostat», «htop», ausgezeichneter «Task-Manager», «iftop» Bandbreitenüberwachung.

  5.   Monitolinux sagte

    Viele werden glauben, dass dies übertrieben ist, aber ich habe bereits Angriffe gesehen, bei denen ein Server in ein Botnetz aufgenommen wurde.

    https://twitter.com/monitolinux/status/594235592260636672/photo/1

    ps: Chinesische Bettler und ihre Versuche, meinen Server zu hacken.

  6.   Clown sagte

    Praktisch ist auch die Verwendung von Käfigkäfigen für die Dienste. Wenn sie also aus irgendeinem Grund angegriffen werden, können sie das System nicht gefährden.

  7.   Diab sagte

    Die Verwendung des Befehls ps eignet sich auch hervorragend zur Überwachung und kann Teil von Maßnahmen zur Überprüfung auf Sicherheitslücken sein. Wenn Sie ps -ef ausführen, werden alle Prozesse aufgelistet. Es ähnelt top, zeigt jedoch einige Unterschiede. Die iptraf-Installation ist ein weiteres Tool, das möglicherweise funktioniert.

  8.   Claudio J. Concepcion Gewissheit sagte

    Guter Beitrag.

    Ich würde hinzufügen: SELinux oder Apparmor, je nach Distribution, immer aktiviert.

    Aus eigener Erfahrung wurde mir klar, dass es eine schlechte Praxis ist, diese Komponenten zu deaktivieren. Fast immer tun wir dies, wenn wir einen Dienst installieren oder konfigurieren, mit der Entschuldigung, dass er ohne Probleme ausgeführt wird, wenn wir wirklich lernen sollten, sie zu verwalten, um diesen Dienst zuzulassen.

    Ein Gruß.

  9.   GnuLinux? sagte

    1.Wie verschlüssele ich das gesamte Dateisystem? es ist es wert??
    2. Muss es jedes Mal entschlüsselt werden, wenn das System aktualisiert wird?
    3. Ist das Verschlüsseln des gesamten Dateisystems des Computers dasselbe wie das Verschlüsseln einer anderen Datei?

    1.    yukiteru sagte

      Wie zeigen Sie, dass Sie wissen, wovon Sie sprechen?

  10.   Nautilus sagte

    Sie können auch Programme und sogar mehrere Benutzer in Käfigen halten. Dies zu tun ist zwar mehr Arbeit, aber wenn etwas passiert ist und Sie eine vorherige Kopie dieses Ordners hatten, schlägt und singt es nur.

  11.   Toño sagte

    Die beste und bequemste Sicherheitsrichtlinie ist, nicht paranoid zu sein.
    Probieren Sie es aus, es ist unfehlbar.

  12.   Angelbeniten sagte

    Ich verwende csf und wenn ich einen Client entsperre, der sein Passwort bei einem Zugriff verlegt hat, verzögert sich dies im Prozess, aber es tut es. Es ist normal?

    Ich suche nach dem Befehl zum Entsperren von ssh ... jeden Vorschlag