[vc_row full_width=“stretch_row“ css=“.vc_custom_1516124511100{margin-bottom: 54px !important;background-color: #ffffff !important;}“][vc_column][vc_empty_space height=“95px“][vc_row_inner css=“.vc_custom_1516124521409{background-color: #ffffff !important;}“][vc_column_inner width=“1/12″][/vc_column_inner][vc_column_inner width=“10/12″][vc_custom_heading text=“50 Profi Tipps, um Computersysteme abzusichern“ font_container=“tag:h3|text_align:left|color:%23000000″ google_fonts=“font_family:Montserrat%3Aregular%2C700|font_style:700%20bold%20regular%3A700%3Anormal“ subtitle_color=“#000000″ subtitle=“Tipps von Penetration Tester Daniel“][vc_column_text]Als ich jung war, veröffentlichte Paul Simon seinen Hit „50 Ways to Your Lover“. Inspiriert von diesem Lied habe ich 50 Wege gesammelt, wie Sie verhindern können gehackt zu werden.

Machen Sie sich klar. Sie können mit keinem Mittel der Welt, ein System mit Software von der Stange absichern. Das geht nur durch by Design.

1. Sichern Sie Ihre Daten. Wenn Sie von Ransomware betroffen sind, müssen Sie nicht zahlen, wenn Sie Backups haben. Viele vermuten, das wenn Ransomware eine Chance bei Ihnen hat, das dann auch etwas mit Ihrer Mitarbeitersensisbilsierung nicht stimmt.

2. Verwenden Sie einen Synchronstop, wenn Sie Ihr Telefon an einem öffentlichen Ort aufladen müssen, oder bringen Sie Ihr eigenes Batterie-Backup mit.

3. Nutzen Sie Open Source Auditing-Subsysteme. Es gibt viele Tools, mit denen Sie Ihr System überwachen können. Wenn Sie gerade in der Mittagspause sind, kann das Open Source Audit-System Ihnen sagen, was passiert ist und was der Angreifer getan hat.

4. Wenn wir von Protokollen sprechen, ist es immer eine gute Idee, die Logs auf einen zentralen Server zu laden, denn wenn ein Hacker in Ihr System eindringt, wird er als erstes das Logging-System angreifen, um seine Spuren zu verwischen. Ein gutes Intrusionssystem, das die Protokolle überwacht, hilft auch. Übrigens ist das Beste aller Intrusionssysteme Open Source. Wir haben es erst kürzlich bei einer Forschungseinrichtung installiert.

„Mach Sie einen Verteidigungsplan“

5. Führen Sie SELinux im Erzwingungsmodus aus (siehe stopdisablingselinux.com). Hätte ich nicht gedacht, dass es so lange dauern würde, bis ich dazu komme? SELinux verhindert Eskalationen und schützt übrigens auch vor Zero-Day-Schwachstellen. Als Shell Shock veröffentlicht wurde, war SELinux die einzige Verteidigung für Sicherheitsfachleute.

6. Führen Sie nach Möglichkeit Anwendungen in der SELinux-Sandbox aus – es war ein Container, bevor die Container cool waren. Folgen Sie auch der Entwicklung von Flatpack, das bald Sandboxing-Fähigkeiten entwickeln sollte.

7. Installieren oder verwenden Sie Flash nicht. Firefox unterstützt es nicht mehr und hoffentlich nutzen es die meisten Webserver bald nicht mehr.

8. Verwenden Sie eingeschränkte SELinux-Benutzer, um zu steuern, was Benutzer in Ihren Systemen anstellt. Wenn Sie ein gemeinsames Anmeldesystem ausführen, richten Sie Benutzer als guest_t ein.

Weitere Linux-Ressourcen – Was Sie unbedingt wissen sollten:

  • Was ist Linux?
  • Was sind Linux-Container?
  • Erstellen Sie sich einen Linux Befehl Spickzettel
  • Erweiterte Linux Befehle Spickzettel

„Dienste sichern“

9. Nutzen Sie die systemd-Tools, um Ihre Dienste zu sichern. Die meisten Systemangriffe werden über einen Dienst erfolgen, der auf das Netzwerk zugreift. Systemd bietet großartige Möglichkeiten, den Dienst zu sperren. Verwenden Sie beispielsweise PrivateTmp = yes. PrivateTmp nutzt den Mount-Namespace, um ein privates Tmpfs-Mount für den Server / tmp einzurichten. Dies verhindert, dass ein gehackter Dienst Zugriff auf Inhalt in der / tmp-Datei des Hosts erhält und möglicherweise den Rest des Systems basierend auf Diensten, die auf / tmp hören, angreift.

10. UnaccessibleDirectories = / home ist ein Systemd-Unit-Flag, das den Mount-Namespace verwendet, um / home (oder ein anderes Verzeichnis) aus der Services-Ansicht zu entfernen, was es für gehackte Services und Dienste schwieriger macht, den Inhalt anzugreifen.

11. ReadOnlyDirectories = / var ist ein anderes Systemd-Unit-Flag, das den Mount-Namespace verwendet, um den Inhalt des Verzeichnisses in den schreibgeschützten Modus zu versetzen. Sie sollten wahrscheinlich immer mit / usr in ReadOnlyMode laufen. Dies würde verhindern, dass eine gehackte Anwendung die Binärdatei neu schreibt, so dass Sie beim nächsten Start des Dienstes bereits gehackt würden.

12. Drop-Fähigkeiten von einem Dienst (CapabilityBoundingSet = CAP_CHOWN CAP_KILL). Im Kernel werden privilegierte Prozesse in eine Reihe unterschiedlicher Fähigkeiten zerlegt. Die meisten Dienste benötigen nicht viele (falls vorhanden), und systemd bietet einen einfachen Schalter, um sie von einem Dienst zu trennen.

13. Wenn Ihr Dienst das Netzwerk nicht verwendet, können Sie es für den Dienst mit PrivateNetwork = yes deaktivieren. Wenn Sie diese Option in einer Service-Unit-Datei aktivieren, wird der Netzwerk-Namespace genutzt und alle für den Service verfügbaren Netzwerke deaktiviert. Oft möchte ein Hacker nicht wirklich in Ihre Maschine einbrechen – er möchte sie nur als Angriffsserver verwenden, um andere Maschinen anzugreifen. Wenn der Dienst das Netzwerk nicht sehen kann, kann er es nicht angreifen.

Kontrollieren Sie die für Ihren Service verfügbaren Geräte.

14. Systemd stellt die DeviceAllow-Direktive bereit, die die für den Dienst verfügbaren Geräte steuert. DeviceAllow = / dev / null rw beschränkt den Zugriff auf / dev / null und nur diesen Geräteknoten, wodurch der Zugriff auf andere Geräteknoten verweigert wird. Die Funktion ist auf dem cgroup-Controller des Geräts implementiert.

15. Dem IT-Systemen steht ein Feature, das sich ProtectSystem Strict nennt,  zur Verfügung, mit dem alle diese Namespaces aktiviert werden können, um die Umgebung, in der ein Service ausgeführt wird, vollständig zu sperren.

„Frei von Sorgen sein – Exploits ignorieren“

16. Verwenden Sie kein Mobiltelefon ohne SELinux (SEAndroid) im Erzwingungsmodus. Glücklicherweise habe ich gehört, dass mehr als 90% aller Android-Telefone jetzt mit SEAndroid im Erzwingungsmodus laufen. Das macht mich glücklich. Wenn wir nur diesen Apple -Anwendern dazu bringen könnten, SELinux zu benutzen.

Installieren Sie nur Software von vertrauenswürdigen Quellen.

17. Installieren Sie nur Software von vertrauenswürdigen Quellen. Installieren Sie keine zwielichtigen Dinge, die Sie im Internet finden. Dies gilt für Ihr Mobiltelefon, Computersystem, virtuelle Maschinen, Container, Smarte Fernseher und weitere Digitale Geräte.

(Ihre neuen Gedanken – Security Awareness fürs leben)

18. Ich mache kein Online-Banking auf meinem Telefon – nur auf meinem Linux-Computer. Wenn ein Hacker meine Kreditkarte stiehlt, verliere ich 50 Dollar; Wenn er auf mein Bankkonto kommt, verliere ich viel mehr. Ich denke, ich bin alt.

19. Eine coole Sache, die ich mit meinem Telefon gemacht habe, ist, dass meine Kreditkartenunternehmen mir jedes Mal einen Text schicken, wenn meine Kreditkarte belastet wurde. Wenn die Nummer gestohlen wird, werde ich viel schneller über den Diebstahl informiert sein..

  • Ich mache kein Online-Banking auf meinem Telefon – nur auf meinem Linux-Computer.

20. Wenn Sie sicher kommunizieren müssen, verwenden Sie nur die Secure Messaging App von Signal.

21. Führen Sie Linux auf Ihren Systemen aus. Als ich meinen Vater zum ersten Mal mit einem Computersystem sah, dauerte es nicht eine Stunde bevor sein System von Viren befallen war. Ich installierte Linux auf seinem System und er nutze Linux seither absolut Virenfrei. Ich untersuche die Systeme mit IT-Forensik mitteln regelmäßig.

22. Führen Sie nur Distributionen mit einem Security Response Team aus, das die Sicherheit der Distribution überwacht. Enterprise Software ist wichtig.

23. Führen Sie einen Kernel auf Unternehmensebene aus. In Containern ist der einzige Fehlerpunkt der Kernel. Wenn Sie die Sicherheit des Systems erhalten möchten, verwenden Sie einen Kernel auf Unternehmensebene, was bedeutet, dass er über die neuesten Sicherheitsupdates verfügt, aber nicht gerade billig ist. Denken Sie daran, dass der neueste Kernel mit den neuesten Sicherheitsupdates ausgeliefert wird, aber auch mit einer Menge neuem Programmcode, der wiederum unbekannte Sicherheitslücken aufweisen kann.

„Sie müssen nicht viel diskutieren – Hacker und Angreifer haben leichtes Spiel“

24. Die meisten Hacks sind Social Engineering Angriffe – zum Beispiel E-Mail-Links, Webbrowser-Angriffe und Telefonanrufe. Die beste Möglichkeit hier ist es, gebildet und skeptisch zu sein. Niemand aus Nigeria gibt Ihnen Geld. Das IRS ruft Ihr Haus nicht an, das Geld verlangt. Wenn Sie einen Link zu einer Website in einer E-Mail von Ihrer Bank erhalten, verwenden Sie den Link nicht. Geben Sie die Adresse direkt im Webbrowser ein.

25. Halten Sie Ihre Systeme immer auf dem neuesten Stand mit den neuesten Sicherheitsupdates. Die Anzahl der Systeme, die veraltet sind und bekannte Sicherheitslücken aufweisen, ist beängstigend. Script Kiddies verlassen sich darauf, dass Sie Ihr System nicht aktualisieren.

  • Halten Sie Ihre Systeme immer auf dem neuesten Stand mit den neuesten Sicherheitsupdates.

26. Verwenden Sie immer HTTPS, wenn Sie sich mit Diensten im Netzwerk verbinden. Chrome und Firefox verfügen jetzt über Modi, um dies zu erzwingen. Wenn eine Website die sichere Kommunikation bis 2018  nicht unterstützt, lohnt es sich wahrscheinlich nicht, sie zu besuchen.

27. Verwenden Sie seccomp in Ihren Containern. Dies begrenzt die Angriffsfläche auf dem Kernel, was der einzige Fehlerpunkt ist. Begrenzen Sie, was die Prozesse diskutieren können.

„Geben Sie einfach den Schlüssel ab“

28. Verwenden Sie einen YubiKey zum Speichern privater Schlüssel.

29. Verschlüsseln Sie Ihre Daten auf Ihren Systemen. Zumindest für Laptops, halten Sie Ihr Homedir und Ihre anderen Datenverzeichnisse verschlüsselt. Ich war vor ein paar Jahren in der U-Bahn in Berlin und man hatte meinen Laptop „geklaut“ – die Tür des Waggons wurde geschlossen, und ich bemerkte, dass der Laptop weg war und der Zug aus dem Bahnhof fuhr. Zum Glück waren die Festplatten verschlüsselt.

30. Verwenden Sie Let’s Encrypt für alle Ihre Websites. Es gibt keinen Grund mehr, HTTPS nicht mehr auszuführen.

31. Verwenden Sie niemals dasselbe Passwort auf verschiedenen Webservern. Dieser ist schwer in die Falle zu fallen. Tools wie Let’s Encrypt helfen sehr. Es ist sogar noch besser, wenn Sie sich mit SSH-Schlüsseln in Systemen anmelden.

32. Verwenden Sie eine Zwei-Faktor-Authentifizierung (2FA). Passwörter sind im Jahr 2018 fast nutzlos geworden. Die Verwendung von YubiKeys und ähnlichem macht zwei Faktoren einfach.

33. Nichts verschärft mich mehr als Webseiten, die mich immer auffordern, einen Account einzurichten – können wir es nicht besser machen? Verwenden Sie immer ein Passwort-generierendes Tool für Ihre Website-Passwörter bereit. Ich bin Old School: Ich benutze Password Safe und Copy & Paste im Webbrowser. Ich habe gehört, dass andere Leute viel Glück mit LastPass und anderen Tools haben.

34. Richten Sie einen Dienst wie FreeIPA für Identitätsdienste ein. Die Verwendung von Tools wie Kerberos zur Authentifizierung und Autorisierung erleichtert die Verfolgung von Mitarbeitern und deren Zugriff auf Systeme (und es verfügt über Krypto-Dienste). Die Verwendung von Active Directory ist in Ordnung.

35. Wenn Sie ein Passwort verwenden müssen, das Sie häufig eingeben, verwenden Sie einen einfach zu merkenden Satz, anstatt eines Wortes. Meine bevorzugte Art, sich Passwörter zu merken, besteht darin, eine Phrase zu verwenden, die mehrere Wörter lang ist und einfach zu tippen ist.

„Sorgenfrei im Unternehmen – Spionage ein Problem?“

36. Verwenden Sie USBGuard, um Ihr System vor unerwünschten USB-Geräten zu schützen.

37. In den letzten Jahren habe ich an Containern gearbeitet, also werden wir jetzt in die Sicherheit von Containern eintauchen. Führen Sie zuerst Containern auf einem System aus, auf dem SELinux im Erzwingungsmodus aktiviert ist. Wenn Ihr System SELinux nicht unterstützt,  nutzen Sie dieses System nicht weiter. Es abzusichern, ist fast unmöglich. SELinux ist das beste Werkzeug zum Schutz vor Containerausbrüchen auf das Dateisystem.

38. Führen Sie Ihren Service wann immer möglich in einem Container aus. Ich glaube, das sind die zukünftigen Anwendungen, die OCI Image Format und Linux Container-Technologie verwenden. Starten Sie diese Container mit Docker, runC, OCID, RKT, Systemd-nspawn und so weiter.

39. Führen Sie Ihren Container in einer VM aus. Virtuelle Maschinen bieten eine bessere Isolierung als Container. Wenn Sie wie Container auf virtuellen Maschinen arbeiten, erhalten Sie Skalierbarkeit und Isolation voneinander.

40. Führen Sie Container-Apps mit unterschiedlichen Sicherheitsanforderungen auf verschiedenen virtuellen Maschinen aus. Führen Sie Ihre Web-Service-Container auf virtuellen Maschinen in der DMZ aus, führen Sie die Datenbank-Container jedoch auf virtuellen Maschinen außerhalb der DMZ aus.

Defense in Depth

41. Denken Sie auch daran, Ihre virtuellen Maschinen, die eine größte Sicherheit erfordern, auf verschiedenen physischen Maschinen auf verschiedenen virtuellen Maschinen innerhalb von Containern auszuführen.

42. Führen Sie Ihre Container im schreibgeschützten Modus aus. Container in der Entwicklung müssen in der Lage sein, nach / usr zu schreiben, aber ein Container in der Produktion sollte nur in tmpfs und Volumes schreiben können, die in den Container eingebunden sind.

43. Drop-Fähigkeiten auf Ihren Containern. Wir führen unsere Prozesse innerhalb und außerhalb von Containern, mit viel mehr „Fähigkeiten“aus,  als sie benötigen. Sie können Ihre Prozesse sicherer machen, indem Sie Funktionen ablegen.

44. Führen Sie Ihre Prozesse nicht in Containern als root aus. Die meisten Dienste benötigen keine Root-Rechte, oder sie müssen sie an einen Port <1024 binden und dann zu einem Nicht-Root-Benutzer wechseln. Ich würde empfehlen, Apps immer als nicht root auszuführen.

45. Halten Sie Ihre Container mit den neuesten CVE-Fixes auf dem neuesten Stand. Die Verwendung eines Systems wie OpenShift zum Erstellen und Pflegen Ihrer Container-Images ist eine gute Idee, da Container Images automatisch neu erstellt werden, wenn ein neuer Sicherheits-Fix erscheint.

46. ​​Ein Mitarbeiter von mir sagt: „Bei Docker geht es darum, zufälligen Code aus dem Internet als Root auf Ihrem Host auszuführen.“ Holen Sie sich Ihre Software von einer vertrauenswürdigen Quelle. Nimm nicht die erste Apache-Anwendung, die SIe bei docker.io finden. Das Betriebssystem ist wichtig.

47. Führen Sie Ihre Container in der Produktion auf einem begrenzten optimierten Container-Host aus, z. B. einem Atomic Host, der mit allen aktivierten Sicherheitsfunktionen ausgestattet ist, die für die Ausführung von Containern optimiert sind, mit einer begrenzten Angriffsfläche und atomaren Updates.

48. Verwenden Sie Tools wie OpenScap, um Ihre Systeme auf Schwachstellen zu prüfen. Leider tauchen immer neue Sicherheitslücken auf, daher müssen Sie Ihre Scanner auf dem neuesten Stand halten. (Werfen Sie auch einen Blick in den Atom-Scan, um Ihre Container zu scannen.) Nutzen Sie uns als Penetrationstest Partner>

49. OpenScap verfügt auch über Funktionen zum Suchen nach Sicherheitskonfigurationen, z. B. STIGs (Security Technical Implementation Guides).

50. Richten Sie ein spezielles Gastnetzwerk für all diese Weihnachts-IoT-Geräte ein, die Ihre Kinder erhalten. Ich liebe mein Amazon Echo und automatisierte Lichter und Stromschalter („Alexa, schalten Sie die Weihnachtsbeleuchtung“), aber jeder von diesen ist ein Linux-Betriebssystem, das fragwürdig für Ihre Sicherheit ist.[/vc_column_text][/vc_column_inner][vc_column_inner width=“1/12″][/vc_column_inner][/vc_row_inner][vc_column_text css=“.vc_custom_1516066835937{background-color: #000000 !important;}“]

[/vc_column_text][/vc_column][/vc_row]