Linux Hardenining: Tipps zum Schutz und zur Sicherheit Ihrer Distribution

Hardening Linux zwei Smoking, eines wehrlos und eines in Rüstung

Viele Artikel wurden am veröffentlicht Linux-Distributionen sicherer wie TAILS (das Ihre Privatsphäre und Anonymität im Web gewährleistet), Whonix (ein Linux für paranoide Sicherheit) und andere Distributionen, die auf Sicherheit abzielen. Aber natürlich möchten nicht alle Benutzer diese Distributionen verwenden. Deshalb geben wir in diesem Artikel eine Reihe von Empfehlungen für die «Linux-Härtung«, Das heißt, machen Sie Ihre Distribution (was auch immer es ist) sicherer.

Red Hat, SUSE, CentOS, openSUSE, Ubuntu, Debian, Arch Linux, Linux Mint, ... welchen Unterschied macht es? Jede Verteilung kann sicher sein als am sichersten, wenn Sie es genau kennen und wissen, wie Sie sich vor den Gefahren schützen können, die Sie bedrohen. Und dafür können Sie auf vielen Ebenen agieren, nicht nur auf Software-, sondern auch auf Hardware-Ebene.

Generische Sicherheitskaninchen:

Hardware-Sicherheitsvorhängeschloss

In diesem Abschnitt werde ich Ihnen einige geben sehr einfache und einfache Tipps die keine Computerkenntnisse benötigen, um sie zu verstehen, sie sind nur gesunder Menschenverstand, aber manchmal führen wir sie aufgrund von Nachlässigkeit oder Nachlässigkeit nicht durch:

  • Laden Sie keine persönlichen oder sensiblen Daten in die Cloud hoch. Die Cloud ist ein gutes Werkzeug, um Ihre Daten überall zu entsorgen, unabhängig davon, ob sie kostenlos sind oder nicht und ob sie mehr oder weniger sicher sind. Versuchen Sie jedoch, keine Daten hochzuladen, die Sie nicht mit Zuschauern "teilen" möchten. Diese Art von sensibleren Daten sollte auf einem persönlicheren Medium wie einer SD-Karte oder einem Pendrive übertragen werden.
  • Wenn Sie beispielsweise mit einem Computer auf das Internet zugreifen und mit wichtigen Daten arbeiten, stellen Sie sich vor, Sie haben sich dem BYOD-Wahn angeschlossen und einige Geschäftsdaten mit nach Hause genommen. Nun, unter solchen Umständen, arbeite nicht onlineVersuchen Sie, die Verbindung zu trennen (warum möchten Sie verbunden sein, um beispielsweise mit LibreOffice zu arbeiten, das einen Text bearbeitet?). Ein nicht verbundener Computer ist am sichersten. Denken Sie daran.
  • Im Zusammenhang mit dem oben genannten, Hinterlassen Sie keine wichtigen Daten auf der lokalen Festplatte, wenn Sie online arbeiten. Ich empfehle, dass Sie eine externe Festplatte oder einen anderen Speichertyp (Speicherkarten, USB-Sticks usw.) haben, in dem Sie diese Informationen haben. Auf diese Weise werden wir eine Barriere zwischen unseren angeschlossenen Geräten und dem "nicht verbundenen" Speicher setzen, in dem sich die wichtigen Daten befinden.
  • Erstellen Sie Sicherungskopien der Daten, die Sie für interessant halten oder nicht verlieren möchten. Wenn sie Sicherheitslücken verwenden, um in Ihren Computer einzudringen und Berechtigungen zu eskalieren, kann der Angreifer alle Daten ungehindert löschen oder bearbeiten. Deshalb ist es besser, ein Backup zu haben.
  • Hinterlassen Sie keine Daten zu Ihren Schwachstellen in Foren oder Kommentare zu den Websites. Wenn Sie beispielsweise Sicherheitsprobleme auf Ihrem Computer haben und offene Ports haben, die Sie schließen möchten, lassen Sie Ihr Problem nicht in einem Forum, um Hilfe zu erhalten, da es gegen Sie verwendet werden kann. Jemand mit schlechten Absichten kann diese Informationen verwenden, um nach seinem perfekten Opfer zu suchen. Es ist besser, wenn Sie einen vertrauenswürdigen Techniker finden, der Ihnen bei der Lösung hilft. Es ist auch üblich, dass Unternehmen Anzeigen im Internet schalten, z. B. "Ich suche einen IT-Sicherheitsexperten" oder "Personal wird für die Sicherheitsabteilung benötigt". Dies kann auf eine mögliche Schwäche in diesem Unternehmen hinweisen, und ein Cyberkrimineller kann diese Art von Seiten verwenden, um nach einfachen Opfern zu suchen. Es ist auch nicht gut für Sie, Informationen über das von Ihnen verwendete System und die Versionen zu hinterlassen, die jemand mit Exploits ausnutzen könnte Schwachstellen dieser Version. Kurz gesagt, je mehr der Angreifer Sie nicht bemerkt, desto schwieriger wird es für ihn, anzugreifen. Denken Sie daran, dass Angreifer normalerweise vor dem Angriff einen Prozess ausführen, der als „Sammeln von Informationen“ bezeichnet wird und darin besteht, Informationen über das Opfer zu sammeln, die gegen sie verwendet werden können.
  • Halten Sie Ihre Ausrüstung auf dem neuesten Stand Denken Sie bei den neuesten Updates und Patches daran, dass diese bei vielen Gelegenheiten nicht nur die Funktionen verbessern, sondern auch Fehler und Schwachstellen korrigieren, damit sie nicht ausgenutzt werden.
  • Verwenden Sie sichere Passwörter. Fügen Sie niemals Namen in das Wörterbuch oder Passwörter wie 12345 ein, da diese bei Wörterbuchangriffen schnell entfernt werden können. Lassen Sie Passwörter auch nicht standardmäßig, da sie leicht erkennbar sind. Verwenden Sie auch keine Geburtsdaten, Namen von Verwandten, Haustieren oder Ihren Geschmack. Diese Art von Passwörtern kann durch Social Engineering leicht erraten werden. Verwenden Sie am besten ein langes Passwort mit Zahlen, Groß- und Kleinbuchstaben sowie Symbolen. Verwenden Sie auch nicht für alle Master-Passwörter. Wenn Sie also ein E-Mail-Konto und eine Sitzung eines Betriebssystems haben, verwenden Sie nicht für beide das gleiche Kennwort. Dies ist etwas, das sie in Windows 8 ganz unten vermasselt haben, da das Kennwort zum Anmelden mit Ihrem Hotmail / Outlook-Konto identisch ist. Ein sicheres Passwort ist vom Typ: "auite3YUQK && w-". Mit brutaler Gewalt könnte es erreicht werden, aber die dafür aufgewendete Zeit macht es nicht wert ...
  • Installieren Sie keine Pakete aus unbekannten Quellen und wenn möglich. Verwenden Sie die Quellcode-Pakete von der offiziellen Website des Programms, das Sie installieren möchten. Wenn die Pakete fraglich sind, empfehle ich Ihnen, eine Sandbox-Umgebung wie Glimpse zu verwenden. Was Sie erreichen, ist, dass alle Anwendungen, die Sie in Glimpse installieren, normal ausgeführt werden können. Wenn Sie jedoch versuchen, Daten zu lesen oder zu schreiben, werden diese nur in der Sandbox-Umgebung angezeigt, wodurch Ihr System von Problemen isoliert wird.
  • Verwendung Systemprivilegien so wenig wie möglich. Und wenn Sie Berechtigungen für eine Aufgabe benötigen, wird empfohlen, "sudo" vorzugsweise vor "su" zu verwenden.

Weitere etwas technischere Tipps:

Computersicherheit, Vorhängeschloss auf der Tastatur

Zusätzlich zu den Ratschlägen im vorherigen Abschnitt wird dringend empfohlen, die folgenden Schritte auszuführen, um Ihre Distribution noch sicherer zu machen. Denken Sie daran, dass Ihre Verteilung sein kann so sicher wie du willstIch meine, je mehr Zeit Sie mit Konfigurieren und Sichern verbringen, desto besser.

Sicherheitssuiten unter Linux und Firewall / UTM:

Verwendung SELinux oder AppArmor um Ihr Linux zu stärken. Diese Systeme sind etwas komplex, aber Sie können Handbücher sehen, die Ihnen sehr helfen werden. AppArmor kann sogar Anwendungen einschränken, die für Exploits und andere unerwünschte Prozessaktionen empfindlich sind. AppArmor wurde ab Version 2.6.36 in den Linux-Kernel aufgenommen. Die Konfigurationsdatei wird in /etc/apparmor.d gespeichert

Schließen Sie alle Ports, die Sie nicht verwenden häufig. Es wäre interessant, selbst wenn Sie eine physische Firewall haben, das ist das Beste. Eine andere Möglichkeit besteht darin, ein altes oder nicht verwendetes Gerät für die Implementierung einer UTM oder Firewall für Ihr Heimnetzwerk zu reservieren (Sie können Distributionen wie IPCop, m0n0wall, ... verwenden). Sie können iptables auch so konfigurieren, dass herausgefiltert wird, was Sie nicht möchten. Um sie zu schließen, können Sie "iptables / netfilter" verwenden, das den Linux-Kernel selbst integriert. Ich empfehle Ihnen, Handbücher zu Netfilter und Iptables zu konsultieren, da diese recht komplex sind und in einem Artikel nicht erklärt werden konnten. Sie können die geöffneten Ports anzeigen, indem Sie das Terminal eingeben:

netstat -nap

Physischer Schutz unserer Ausrüstung:

Sie können Ihren Computer auch physisch schützen, wenn Sie jemandem in Ihrer Nähe nicht vertrauen oder Ihren Computer irgendwo in Reichweite anderer Personen lassen müssen. Zu diesem Zweck können Sie den Start auf andere Weise als auf Ihrer Festplatte im Internet deaktivieren BIOS / UEFI und Passwort schützen das BIOS / UEFI, so dass sie es ohne es nicht ändern können. Dies verhindert, dass jemand eine bootfähige USB- oder externe Festplatte mit einem installierten Betriebssystem verwendet und von dort aus auf Ihre Daten zugreifen kann, ohne sich bei Ihrer Distribution anmelden zu müssen. Um es zu schützen, greifen Sie auf das BIOS / UEFI zu. Im Abschnitt Sicherheit können Sie das Kennwort hinzufügen.

Sie können das gleiche mit tun GRUB, passwortschützend:

grub-mkpasswd-pbkdf2

Geben Sie die Passwort für GRUB Sie möchten und es wird in SHA512 codiert. Kopieren Sie dann das verschlüsselte Passwort (das in „Ihr PBKDF2 ist“ angezeigt wird) zur späteren Verwendung:

sudo nano /boot/grub/grub.cfg

Erstellen Sie am Anfang einen Benutzer und setzen Sie die verschlüsseltes Passwort. Wenn das zuvor kopierte Kennwort beispielsweise "grub.pbkdf2.sha512.10000.58AA8513IEH723" lautete:

set superusers=”isaac”
password_pbkdf2 isaac grub.pbkdf2.sha512.10000.58AA8513IEH723

Und speichern Sie die Änderungen ...

Weniger Software = mehr Sicherheit:

Minimieren Sie die Anzahl der installierten Pakete. Installieren Sie nur die, die Sie benötigen. Wenn Sie eine nicht mehr verwenden möchten, sollten Sie sie am besten deinstallieren. Je weniger Software Sie haben, desto weniger Schwachstellen. Erinnere dich dran. Gleiches empfehle ich Ihnen mit den Diensten oder Dämonen bestimmter Programme, die beim Systemstart ausgeführt werden. Wenn Sie sie nicht verwenden, schalten Sie sie in den "Aus" -Modus.

Informationen sicher löschen:

Wenn Sie Informationen löschen von einer Festplatte, Speicherkarte oder Partition oder nur einer Datei oder einem Verzeichnis, machen Sie es sicher. Selbst wenn Sie glauben, es gelöscht zu haben, kann es leicht wiederhergestellt werden. Ebenso physisch ist es nicht sinnvoll, ein Dokument mit persönlichen Daten in den Papierkorb zu werfen, da jemand es aus dem Behälter nehmen und sehen könnte, sodass Sie das Papier zerstören müssen. Dasselbe passiert beim Rechnen. Beispielsweise können Sie den Speicher mit zufälligen oder Nulldaten füllen, um Daten zu überschreiben, die Sie nicht verfügbar machen möchten. Hierfür können Sie Folgendes verwenden (damit es funktioniert, müssen Sie es mit Berechtigungen ausführen und / dev / sdax durch das Gerät oder die Partition ersetzen, auf die Sie in Ihrem Fall reagieren möchten ...):

dd if=/dev/zeo of=/dev/sdax bs=1M
dd if=/dev/unrandom of=/dev/sdax bs=1M

Wenn das, was Sie wollen, ist Löschen Sie eine bestimmte Datei für immerkönnen Sie "Shred" verwenden. Stellen Sie sich beispielsweise vor, Sie möchten eine Datei mit dem Namen passwords.txt löschen, in der Systemkennwörter notiert sind. Wir können Shred und Overwrite beispielsweise 26 Mal oben verwenden, um sicherzustellen, dass es nach dem Löschen nicht wiederhergestellt werden kann:

shred -u -z -n 26 contraseñas.txt

Es gibt Tools wie HardWipe, Eraser oder Secure Delete, auf denen Sie installieren können Speicher "löschen" (dauerhaft löschen), SWAP-Partitionen, RAM usw.

Benutzerkonten und Passwörter:

Verbessern Sie das Passwortsystem mit Tools wie S / KEY oder SecurID zum Erstellen eines dynamischen Kennwortschemas. Stellen Sie sicher, dass sich im Verzeichnis / etc / passwd kein verschlüsseltes Kennwort befindet. Wir müssen / etc / shadow besser nutzen. Dazu können Sie mit "pwconv" und "grpconv" neue Benutzer und Gruppen erstellen, jedoch mit einem versteckten Passwort. Eine weitere interessante Sache ist, die Datei / etc / default / passwd zu bearbeiten, um Ihre Passwörter abzulaufen und Sie zu zwingen, sie regelmäßig zu erneuern. Wenn sie also ein Passwort erhalten, wird es nicht ewig dauern, da Sie es häufig ändern werden. Mit der Datei /etc/login.defs können Sie auch das Kennwortsystem stärken. Bearbeiten Sie es und suchen Sie nach den Einträgen PASS_MAX_DAYS und PASS_MIN_DAYS, um die minimalen und maximalen Tage anzugeben, die ein Kennwort vor Ablauf dauern kann. PASS_WARN_AGE zeigt eine Meldung an, die Sie darüber informiert, dass das Kennwort in X Tagen bald abläuft. Ich rate Ihnen, ein Handbuch zu dieser Datei zu lesen, da die Einträge sehr zahlreich sind.

Die Konten, die nicht verwendet werden und sie sind in / etc / passwd vorhanden, sie müssen die Shell-Variable / bin / false haben. Wenn es ein anderes ist, ändern Sie es in dieses. Auf diese Weise können sie nicht verwendet werden, um eine Shell zu erhalten. Es ist auch interessant, die Variable PATH in unserem Terminal so zu ändern, dass das aktuelle Verzeichnis "." Nicht angezeigt wird. Das heißt, es muss von "./user/local/sbin/:/usr/local/bin:/usr/bin:/bin" zu "/ user / local / sbin /: / usr / local / bin:" geändert werden. / usr / bin: / bin ”.

Es wird empfohlen, dass Sie verwenden Kerberos als Netzwerkauthentifizierungsmethode.

PAM (Pluggable Authentication Module) Es ist so etwas wie Microsoft Active Directory. Es bietet ein gemeinsames, flexibles Authentifizierungsschema mit klaren Vorteilen. Sie können im Verzeichnis /etc/pam.d/ nach Informationen im Web suchen. Es ist ziemlich umfangreich, hier zu erklären ...

Behalten Sie die Privilegien im Auge der verschiedenen Verzeichnisse. Beispielsweise sollte / root mit den Berechtigungen "drwx - - - - - -" zum Root-Benutzer und zur Root-Gruppe gehören. Im Internet finden Sie Informationen darüber, welche Berechtigungen jedes Verzeichnis in der Linux-Verzeichnisstruktur haben sollte. Eine andere Konfiguration kann gefährlich sein.

Verschlüsseln Sie Ihre Daten:

Verschlüsselt den Inhalt eines Verzeichnisses oder einer Partition wo Sie relevante Informationen haben. Hierfür können Sie LUKS oder eCryptFS verwenden. Stellen Sie sich zum Beispiel vor, wir möchten einen Benutzer namens isaac verschlüsseln / home:

sudo apt-get install ecryptfs-utils
ecryptfs-setup-private
ecryptfs-migrate-home -u isaac

Geben Sie danach die Passphrase oder das Passwort an, wenn Sie gefragt werden ...

So erstellen Sie ein privates VerzeichnisZum Beispiel "privat" genannt, können wir auch eCryptFS verwenden. In diesem Verzeichnis können wir die Dinge, die wir verschlüsseln möchten, ablegen, um sie aus der Sicht anderer zu entfernen:

mkdir /home/isaac/privado
chmod 700 /home/isaac/privado
mount -t ecryptfs /home/isaa/privado

Es werden uns Fragen zu verschiedenen Parametern gestellt. Zuerst können wir zwischen Passwörtern, OpenSSL, ... wählen und 1, dh "Passphrase", auswählen. Dann geben wir das Passwort ein, das wir zweimal überprüfen möchten. Danach wählen wir die gewünschte Verschlüsselungsart (AES, Blowfish, DES3, CAST, ...). Ich würde den ersten wählen, AES, und dann führen wir den Bytetyp des Schlüssels ein (16, 32 oder 64). Und schließlich beantworten wir die letzte Frage mit "Ja". Jetzt können Sie dieses Verzeichnis ein- und aushängen, um es zu verwenden.

Wenn du nur willst bestimmte Dateien verschlüsselnkönnen Sie scrypt oder PGP verwenden. In einer Datei mit dem Namen passwords.txt können Sie beispielsweise die folgenden Befehle zum Ver- und Entschlüsseln verwenden (in beiden Fällen werden Sie nach einem Kennwort gefragt):

scrypt <contraseñas.txt>contraseñas.crypt
scrypt <contraseñas.crypt>contraseñas.txt

Bestätigung in zwei Schritten mit Google Authenticator:

Google AUthenticator im Ubutnu-Terminal

Hinzufügen zweistufige Überprüfung in Ihrem System. Selbst wenn Ihr Passwort gestohlen wird, haben sie keinen Zugriff auf Ihr System. Zum Beispiel können wir für Ubuntu und seine Unity-Umgebung LightDM verwenden, aber die Prinzipien können in andere Distributionen exportiert werden. Dazu benötigen Sie ein Tablet oder Smartphone. Darin müssen Sie Google Authenticator aus dem Play Store installieren. Installieren Sie dann auf dem PC zunächst Google Authenticator PAM und starten Sie es:

sudo apt-get install libpam-google-authenticator
google-authenticator

Wenn Sie uns fragen, ob die Bestätigungsschlüssel auf der Zeit basieren, antworten wir mit einem und positiv. Jetzt zeigt es uns einen QR-Code, mit dem wir erkannt werden können Google Authenticator Eine andere Möglichkeit, von Ihrem Smartphone aus den geheimen Schlüssel direkt über die App einzugeben (dieser wurde auf dem PC als „Ihr neues Geheimnis ist:“ angezeigt). Und es gibt uns eine Reihe von Codes für den Fall, dass wir das Smartphone nicht bei uns haben und dass es gut wäre, sie im Falle der Fliegen im Auge zu behalten. Und wir antworten weiterhin mit Ihnen nach unseren Wünschen.

Jetzt öffnen wir (mit Nano, Gedit oder Ihrem bevorzugten Texteditor) die Konfigurationsdatei mit:

sudo gedit /etc/pam.d/lightdm

Und wir fügen die Zeile hinzu:

auth required pam_google_authenticator.so nullok

Wir speichern und wenn Sie sich das nächste Mal anmelden, werden Sie nach dem gefragt Bestätigungsschlüssel dass unser Handy für uns generieren wird.

Wenn eines Tages Möchten Sie die Bestätigung in zwei Schritten entfernen?müssen Sie nur die Zeile "auth required pam_google_authenticator.so nullok" aus der Datei /etc/pam.d/lightdm löschen
Denken Sie daran, gesunder Menschenverstand und Vorsicht ist der beste Verbündete. Eine GNU / Linux-Umgebung ist sicher, aber jeder Computer, der mit einem Netzwerk verbunden ist, ist nicht mehr sicher, unabhängig davon, wie gut das von Ihnen verwendete Betriebssystem ist. Wenn Sie Fragen, Probleme oder Vorschläge haben, können Sie Ihre verlassen comentario. Ich hoffe, es hilft…


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  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.   Nuria sagte

    Hallo gut, schau ich kommentiere; Ich habe Google-Authenticator problemlos auf einem Raspbian installiert und die mobile Anwendung registriert sich gut und stellt mir den Code zur Verfügung. Beim Neustart der Himbeere und beim Neustart des Systems werde ich jedoch nicht aufgefordert, den doppelten Authentifizierungscode einzugeben. Es erscheint nur mir um Benutzername und Passwort einzugeben.

    Vielen Dank. Ein Gruß.