ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Sicherheits-Einmaleins

Dieser Artikel beschäftigt sich mit den Grundlagen der Systemsicherheit. Auch wenn Linux im Allgemeinen und Ubuntu im Speziellen im direkten Vergleich zu anderen Betriebssystemen von Haus aus ziemlich sicher sind, gibt es kein System, das zu 100% sicher ist und dies auch ohne Wartung für immer bleibt. Erfahrene Sicherheitsspezialisten fassen dieses Problem auch gerne plakativ in folgendem Satz zusammen:

"Ein Computersystem ist nur so sicher wie die Person vor dem Bildschirm."

Deshalb sollten sich auch Ubuntu-Benutzer unbedingt an die folgenden einfachen Verhaltensregeln halten, um ihr Computererlebnis möglichst lange unbeschwert genießen zu können. Diese Sicherheitstipps sind möglichst universell gehalten und gelten entsprechend auch für andere Systeme, insbesondere andere Linux-Systeme.

Dieser Artikel mag in seiner Gesamtheit ein wenig paranoid klingen oder gar den Eindruck erwecken, Ubuntu hätte größere Sicherheitsprobleme als andere Betriebssysteme. Dieser Eindruck ist falsch. Die hier aufgeführten Tipps sind einerseits recht praktikabel, wenn man sich einmal daran gewöhnt hat, und gelten andererseits auch mindestens im selben Maße für alle anderen marktüblichen Betriebssysteme.

⚓︎

Desktop

Diese Sektion beschäftigt sich mit dem Einsatz von Ubuntu als Desktop-System mit Internetanschluss oder als Server im lokalen Netzwerk. Außerdem gelten diese Ratschläge natürlich ebenso für Internet-Server, für die aber noch einige Zusatzanforderungen gelten, die weiter unten im Abschnitt Server zu finden sind.

⚓︎

Der gesunde Menschenverstand

Viele Angriffe auf Computersysteme basieren nicht (nur) auf technischen Unzulänglichkeiten der Systeme, sondern nutzen Techniken des Social Engineering, also die Schwachstellen des Menschen. Eines der wichtigsten Werkzeuge gegen Computerkriminalität ist daher der Verstand. Wenn jemand an der Tür klingelt und etwas sagt wie "Guten Tag, ich komme von Ihrer Bank und muss Ihr Konto überprüfen. Geben Sie mir Ihre EC-Karte und Ihre Geheimnummer, dann erledige ich das kurz und bringe sie Ihnen sofort zurück. Ansonsten wird Ihr Konto gesperrt.". In dem Fall würde jeder normale Mensch erstmal verdutzt gucken, dann die Tür zuschlagen und die Polizei rufen.

Merkwürdigerweise funktioniert dieser Trick (sog. Phishing) per E-Mail ausgeführt aber immer wieder. Dazu für den Täter mit einem viel geringeren Risiko, erwischt zu werden.

Solche Angriffe lassen sich nur sehr schwer, wenn überhaupt, mit technischen Mitteln verhindern. Deshalb ist es unerlässlich, bei der Benutzung eines Computers immer im Hinterkopf zu haben, dass es viele unredliche Mitmenschen auf dieser Welt gibt, die über das Internet alle gleich um die Ecke wohnen und Böses im Schilde führen. Wenn man also über das Internet von irgendwem aufgefordert wird, unbekannte Befehle auszuführen, Dateien zweifelhafter Herkunft zu öffnen oder persönliche Daten in eine Eingabemaske einzugeben, dann sollte man immer daran denken, dass nichts so sein muss, wie es scheint, im Zweifelsfall noch nicht einmal der Absender einer E-Mail.

⚓︎

Immer aktuell sein

Wie jedes komplexe Computersystem ist auch Ubuntu mit seinen zahlreichen Anwendungen nicht fehlerfrei. Von Zeit zu Zeit werden deswegen auch in den mit Ubuntu gelieferten Programmen Fehler gefunden, die evtl. zu einer Verminderung der Systemsicherheit führen können. In einem solchen Fall bemüht sich das Ubuntu-Security-Team, schnellstmöglich ein korrigiertes Paket bereitzustellen.

Achtung!

Offiziell unterstützt das Security-Team nur Software, die in den Paketquellen main und restricted vorhanden ist. Diese Software sollte deswegen bei gleicher oder ähnlicher Funktionalität jenen aus den universe- und multiverse-Repositories vorgezogen werden.

Im Gegensatz zu einigen anderen Linux-Distributionen versucht Ubuntu, die Codebasis innerhalb einer Ubuntu-Version möglichst stabil zu halten, und aktualisiert wirklich nur solche Pakete, in denen Sicherheitsprobleme oder andere (schwerwiegende) Fehler aufgetreten sind. Eine Einteilung in "nützliche" und "unnütze" Aktualisierungen kann man sich also sparen.

Das Vorhandensein aktualisierter Pakete erkennt man am entsprechenden Symbol oder der minimiert startenden Aktualisierungsverwaltung. Im Detail beschrieben wird der Aktualisierungsprozess im Artikel Automatische Updates.

Achtung!

Die Abfrage, ob neue Aktualisierungen auf den Servern vorhanden sind, geschieht entweder morgens früh oder beim ersten Systemstart des Tages. Wer bspw. seinen Laptop nicht ordnungsgemäß herunterfährt, sondern nur in den Ruhezustand, der verpasst diesen Zeitpunkt und erfährt deswegen unter Umständen nichts von den anstehenden Aktualisierungen. In diesem Fall sollte man einfach gelegentlich selbst die Aktualisierungsverwaltung starten.

Eine andere Möglichkeit, sich über Sicherheits-Updates zu informieren, bietet die – allerdings englischsprachige – Mailingliste ubuntu-security-announce 🇬🇧 .

./password_strength.png
xkcd.com 🇬🇧 (CC BY-NC 2.5)

Passwörter

Ein wichtiges Element nahezu jedes Sicherheitssystems sind Passwörter. Egal ob für die elektronische Post, für Ebay, für Webforen oder um sich überhaupt erstmal an einem Ubuntu-System anzumelden – ein Passwort sorgt dafür, dass man als derjenige authentisiert wird, der man zu sein vorgibt. Dumm ist nur, wenn jemand anderer sich des eigenen Passworts bemächtigt. Die Folgen reichen von grobem Unfug (diffamierende Forenbeiträge oder E-Mails im Namen von jemand anderem) über massive finanzielle Schäden (z.B. Ebay-Betrug) bis zu Ärger mit Ermittlungsbehörden, wenn jemand den eigenen Computer zur Verbreitung von Spam, Raubkopien oder anderem verbotenen Material (Kinder-Pornographie, radikale Propaganda) missbraucht.

Sowohl der Diebstahl als auch das Erraten der eigenen Passwörter muss deshalb um jeden Preis verhindert werden. Deswegen sollte man im Umgang mit Passwörtern folgende Regeln beachten:

Achtung!

Einige hier gemachte Vorschläge sind bereits veraltet. Man sollte sich sein Passwort auf jeden Fall z.B. per pwgen würfeln lassen, da jedes menschenerdachte Passwort ratbar ist. Siehe dazu den c't Artikel "Die Passwortknacker", der unten verlinkt ist.

  • "Ein Passwort darf auf keinen Fall einfach zu erraten sein."
    Namen von Verwandten oder Geburtsdaten scheiden deswegen schon mal definitiv aus. Aber auch andere Begriffe können durch eine Wörterbuchattacke innerhalb kürzester Zeit geknackt werden. Cracker benutzen dafür ellenlange Listen mit Wörtern aus allen Sprachen der Welt, inkl. Suaheli, Elfisch oder Klingonisch. Auch eine Buchstabenkombination wie "qwertz" oder "asdfg" oder das einfache Anhängen einer Zahl ist nicht originell. Ein sicheres Passwort besteht deswegen aus mindestens 12 Stellen und enthält sowohl Klein- als auch Großbuchstaben, Ziffern und nach Möglichkeit Interpunktions- oder ähnliche Zeichen. Es gilt: (Anzahl der möglichen Passwörter) = (Anzahl der möglichen Zeichen) Passwort-Länge. Die Länge des Passwortes ist also bei (pseudo-)zufällig erzeugten Passwörtern das Wichtigste. (Siehe auch Password strength, Random passwords.) Es gibt diverse Möglichkeiten, solche Passwörter zu generieren:

    • Man kann ähnlich aussehende Zeichen ersetzen, z.B. "1" statt "l" oder "i", oder neue Zeichen beispielsweise in die Mitte des Passworts einfügen. Außerdem kann man ein wenig mit der -Taste spielen: So kann man diese z.B. in einem eingängigen Takt drücken. Diese Methoden kann man besonders gut mit anderen (wie den folgenden) kombinieren.

    • Man denkt sich einen Passwort-Satz aus: Dies ist eine einfache Methode, um lange Passwörter zu erzeugen. Man nimmt sich z.B. einen Satz, den man sowieso schon auswendig kann oder in einem Buch gefunden hat, und modifiziert ihn mit den gerade genannten Methoden.

    • Alternativ kann man auch einen Merksatz wie "Meine Mutter hat vier Brüder, zwei Schwestern und ein Auto." nehmen und daraus den jeweils ersten Buchstaben verwenden: "MMh4B,2Su1A." Dies wäre ein gutes Passwort, wenn es hier nicht gerade als Beispiel öffentlich "verbrannt" worden wäre.

    • Man kann auch mathematische Formeln als Ausgangsbasis verwenden. So wird E=mc² z.B. zu "En3rgi3 = Mass3 * Lichtg3schwindigk3it^2".

    • Eine weitere Möglichkeit, ein solches Passwort zu generieren, ist das Kommandozeilenprogramm pwgen. Für Passwörter mit 12 Zeichen gibt man beispielsweise den folgenden Befehl in einem Terminal ein:

      pwgen 12 

      Das Kommando zeigt mehr oder weniger einfach aussprechbare (merkbare) Passwörter. Mit der Option --help werden zahlreiche weitere interessante Optionen angezeigt, mit denen man einfachere oder kompliziertere Passwörter erhält (siehe auch diesen Artikel aus dem Linux-Magazin 🇩🇪). Neben pwgen stehen auch noch andere Programme wie z.B. makepasswd aus dem universe-Repository zur Verfügung.

  • "Umlaute und exotische Sonderzeichen in Passwörtern vermeiden."
    Das klingt wie ein Widerspruch zu dem voranstehend Gesagten, hat aber folgenden Hintergrund: Zeichen werden auf einem Rechner in Form von Zahlenwerten gespeichert. Welcher Zahlenwert einem Zeichen zugeordnet ist, bestimmt die Zeichenkodierung, z.B. UTF-8 oder ISO-8859-15. Gerade bei Umlauten unterscheiden sich die Kodierungen. Setzt man von Rechner A aus ein Passwort, das Umlaute enthält, so kann ein Anmeldeversuch von Rechner B aus fehlschlagen, wenn dieser eine andere Zeichenkodierung verwendet. Zudem ist nicht sichergestellt, dass auf der Tastatur eines anderen Rechners die Zeichen überhaupt eingegeben werden können. Groß- und Kleinbuchstaben ohne Umlaute, Ziffern, die gängigen Satzzeichen und +-*/ sollten keine Problem bereiten, sprich, die druckbaren Zeichen des guten, alten ASCII-Codes. Für Passwörter, die immer am selben Rechner eingegeben werden, wie z.B. das Passwort für das Ubuntu-Benutzerkonto, gilt diese Einschränkung natürlich nicht.

  • "Passwörter sollten nicht für mehrere Zwecke verwendet werden."
    Die Verwendung desselben Passwortes für mehrere Zwecke sollte unbedingt vermieden werden, um den Schaden beim Diebstahl eines Passwortes gering zu halten. Insbesondere ist hierbei zu beachten, dass Passwörter bei Webanwendungen auf dem betreffenden Server gespeichert werden und dass dessen Sicherheit außerhalb des eigenen Kontrollbereiches liegt. Webforen werden bspw. tagtäglich geknackt, aber auch große Unternehmen sind nicht vollkommen sicher, wie man z.B. durch eine kurze Suche auf heise.de 🇩🇪 sehen kann. Aber nicht nur Cracker, sondern auch die Administratoren haben vollen Zugriff auf die Datenbank. Sollte man diesen Leuten das System-, E-Mail- oder Ebay-Passwort anvertrauen?

  • "Niemals sollte man ein Passwort an jemand anderen weitergeben."
    Und zwar aus Prinzip. Es ist kein "Mangel an Vertrauen", wenn man einen Bekannten bittet, während der Eingabe eines Passwortes kurz wegzuschauen. Ebenso sollte man niemandem ein Passwort geben, um irgendwelche Dinge erledigen zu können. Wenn man bspw. einem Mitbewohner die Benutzung des eigenen Rechners erlauben will, ist es ein leichtes, ihm ein eigenes Benutzerkonto mit einem eigenen Passwort einzurichten.

  • "Ein Passwort sollte nicht aufgeschrieben werden."
    Insbesondere sollte es nie auf einen Klebe-Zettel geschrieben und in der Nähe des Computers angeheftet werden. Das Notieren auf einem Zettel, den man dann in seine Brieftasche steckt, wäre wohl noch akzeptabel. Allerdings sollte man hier vermeiden, den Zweck des Passwortes mit zu notieren. Wenn man dann das Passwort nach wiederholter Verwendung auswendig kann, sollte man den Zettel vernichten.

  • "Ein Passwort sollte regelmäßig geändert werden."
    Man sollte sich angewöhnen, Passwörter regelmäßig zu ändern, um den Schaden durch unbemerkt bekannt gewordene Passwörter einzugrenzen.

Diese Grundprinzipien der Passwortsicherheit klingen erst einmal hart und nur schwer einzuhalten, so dass man sich vielleicht gezwungen sieht, Kompromisse einzugehen. Bspw. ist es vertretbar, für mehrere unwichtige Dinge das gleiche Basis-Passwort zu verwenden. Dieses kann man dann je nach Verwendungszweck noch um ein kleines Anhängsel, wie z.B. den Namen der Website, ergänzen. Man sollte es mit der Nachlässigkeit allerdings nicht übertreiben und besonders bei Zugangs- und E-Mail-Passwörtern sowie allem, was mit Geld zu tun hat, die obigen Regeln beherzigen. Mit geeigneten Hilfsmitteln ist das aber eine reine Gewohnheitssache. Unterstützung erhält man dabei von "Passwort-Safes". Das sind Programme, die alle Passwörter eines Benutzers verwalten und mit einem Master-Passwort verschlüsselt auf der Festplatte speichern. Nun muss man sich nur noch ein Passwort merken, bei dessen Auswahl man allerdings besonders sorgfältig sein sollte. Näheres erfährt man im Wiki-Artikel Passwortmanager.

Wer sein Benutzerpasswort ändern will, kann dies unter GNOME mit Hilfe des Dialogs aus dem Menü "System → Einstellungen → Persönliche Angaben" tun, unter KDE über "Systemeinstellungen → Persönliche Informationen → Passwort ändern" oder über die Kommandozeile durch einfaches Aufrufen des Befehls passwd.

⚓︎

Browser

Hinweis:

Die in diesem Abschnitt beschriebenen Einstellungen finden sich eigentlich in allen unter Linux gängigen Browsern. Leider sind die entsprechenden Einstellungsdialoge aber in den verschiedenen Programmen unterschiedlich strukturiert. Um diese Abhandlung nicht unnötig durch seitenlange Screenshots zu verlängern, die dann für den Großteil der Benutzer doch nicht gelten, wurde beschlossen, das Auffinden der entsprechenden Knöpfe und Regler den Bemühungen des jeweiligen Lesers zu überlassen. Hilfreich sind in diesem Zusammenhang die unter Internetanwendungen zu findenden Einzelartikel zum jeweiligen Browser.

Dabei kann es sein, dass bei den meisten dieser Einstellungen sichere Werte gesetzt sind. Es schadet aber nicht, sich davon auch selbst zu überzeugen.

Als Hauptinteraktionsinstrument eines Desktop-Systems mit dem Internet ist der Webbrowser neben dem E-Mailprogramm natürlich besonders durch Schadprogramme gefährdet. Auch die freien Browser wie z.B. Mozilla Firefox und Konqueror waren in der Vergangenheit nicht vor Sicherheitslücken gefeit. Bis jetzt wurde zwar noch keine Schadsoftware in nennenswerter Menge in freier Wildbahn gesichtet, die auf Linux-Desktops zielt, aber entsprechende Machbarkeitsstudien existieren bereits. Deswegen kann man an dieser Stelle nur nochmal betonen, wie wichtig die Installation der Sicherheits-Updates ist.

Hinweis:

Um den Zugriff auf private Daten und den möglichen Schaden zu begrenzen, kann man Browser und E-Mailprogramm unter separaten Benutzerkonten laufen lassen. Siehe Programme abschotten.

Vertrauenswürdige Grundeinstellungen

Der Webbrowser sollte so eingestellt werden, dass er nicht den Benutzer ausspäht oder andere unerwünschte Aktionen durchführt.

Besonders ist hierauf bei Google Chrome und teilweise auch beim damit verwandtem basierenden Browser Chromium zu achten. Informationen dazu liefern die Abschnitte Kritik und Benutzer-Tracking im Wikipedia-Artikel zu Chrome sowie Datenschutz und Privatsphäre im Artikel zu Chromium. Vor allem sollte man wissen, dass Chrome / Chromium in den Standard-Einstellungen alle Eingaben in der Adressleiste, die zugleich die Suchleiste ist, an Google sendet.

Auch sollte man sich bei Zusatzsoftware wie z.B. zusätzlichen Toolbars, Add-ons und Plugins überlegen, ob man sie wirklich installieren sollte / möchte. Dies gilt vor allem, wenn sie nicht aus geprüften, vertrauenswürdigen Quellen stammt. Für Add-ons bieten die Browser-Entwickler oft eigene Websites an. Beispielsweise gibt es addons.mozilla.org 🇩🇪 für Firefox und andere Mozilla-Software. Dort werden die hochgeladenen Add-ons noch überprüft 🇩🇪, bevor sie der Allgemeinheit zur Verfügung gestellt werden.

SSL.png

SSL-Verschlüsselung

Die meisten Daten, die bei der Interaktion mit Webservern ausgetauscht werden, werden für alle lesbar im Klartext über das Internet gesendet. Das ist auch kein Problem, weil Webseiten sowieso meist für die Öffentlichkeit geschrieben werden. Anders sieht es aus, wenn persönliche Daten wie Passwörter oder Bankdaten übertragen werden; hier sollte man unbedingt die SSL-Verschlüsselung (neuere Versionen sind auch unter dem Akronym TLS bekannt) benutzen. Eigentlich alle Banken oder E-Commerce-Anbieter setzen diese Verschlüsselungsmethode von Haus aus ein, die in der aktuellen Version 3 (bzw. TLS 1) bis zum heutigen Tage noch nicht geknackt wurde. Eine aktive Verschlüsselung wird in den gängigen Browsern durch ein geschlossenes Vorhängeschloss in der Adressleiste oder ganz rechts unten im Fensterrahmen angezeigt. Einige Browser verändern zusätzlich die Hintergrundfarbe der Adressleiste. Außerdem erkennt man die Verschlüsselung unter Umständen am Protokollnamen https:// anstatt http:// am Beginn der Internet-Adresse (URL).

SSL/TLS bietet aber noch mehr als nur eine starke Verschlüsselung, nämlich die ebenso starke Authentifizierung der Gegenstelle. Wenn das Server-Zertifikat, das der Server zu Beginn der Verbindung übermittelt, keine Warnung hervorruft, kann man relativ sicher sein, dass man tatsächlich mit dem Server verbunden ist, der dieser vorgibt zu sein. Allerdings gab es auch schon Fälle, in denen falsche Zertifikate ausgestellt wurden, wie zum Beispiel im Fall der Zertifizierungsstelle (CA) DigiNotar, durch die über 500 falsche Zertifikate ausgestellt wurden 🇩🇪.

Manchmal kommt es auch zu einer Warnung, weil der Betreiber es sich entweder finanziell nicht leisten kann oder will, das eigene Server-Zertifikat auch offiziell zertifizieren zu lassen, oder weil Administratoren die Verlängerung eines abgelaufenen Zertifikats versäumt haben. In diesem Fall wird die Verbindung zwar trotzdem verschlüsselt, es lässt sich aber nicht sicher ausschließen, dass sich nicht vielleicht doch eine kriminelle Person der Verbindung bemächtigt hat. In jedem Fall sollte man misstrauisch werden, wenn eine Seite auf einmal Warnungen hervorruft, die zu einem früheren Zeitpunkt tadellos funktioniert hat. Viele Browser warnen inzwischen selbständig, wenn ein sog. "self-signed"- oder ein abgelaufenes Zertifikat zum Einsatz kommt.

Warnungen

Neben den Warnungen vor ungültigen Zertifikaten gibt es noch einige andere Warnhinweise, die der Webbrowser bei bestimmten Vorkommnissen anzeigt, bspw. die Warnung vor Add-ons oder Plugins, die schadhaft sein könnten, oder davor, dass die Verbindung nur teilweise verschlüsselt ist. In keinem Fall sollte man diese Warnungen reflexartig wegklicken. Stattdessen sollte man sich ein paar Sekunden Zeit nehmen, die Warnung zu lesen, zu verstehen, und unter Einbeziehung des gesunden Menschenverstands entscheiden, wie man weiter vorgeht.

Cookies

Ein Cookie ist eine kleine Datei, die ein Webserver auf dem eigenen Rechner anlegen darf. Im Gegensatz zu einem weit verbreiteten Vorurteil enthält ein Cookie unter keinen Umständen ausführbare Daten und lässt sich deshalb nicht zur Installation von Viren oder ähnlicher Schadsoftware nutzen. Die "Bedrohung", die von Cookies ausgeht, betrifft das informationelle Selbstbestimmungsrecht. Wen es überhaupt nicht stört, dass global tätige Unternehmen persönliche Surfprofile über einen anlegen, der kann ruhig Cookies generell erlauben. Andernfalls sollte man die ungehemmte Installation von Cookies verhindern. Dazu gibt es verschiedene Möglichkeiten:

  • Man kann Cookies generell verbieten und nur für einzelne Websites Ausnahmen definieren (z.B. im Firefox über "Extras → Seiteninformationen → Berechtigungen").

  • Man kann die Einstellung für Cookies auf "Nachfragen" setzen. Dann geht bei jedem Cookie ein Warnfenster mit dem Inhalt desselben auf, und man kann selber entscheiden, ob man es akzeptieren möchte oder nicht. Der Browser merkt sich dann die Antwort für jeden einzelnen Server, so dass die störenden Dialoge mit der Zeit weniger werden.

  • Als Kompromiss können Cookies nur für die jeweilige Domain erlaubt werden, auf deren Seiten man sich gerade befindet, was Drittanbieter und somit auch die meisten Marketing-Firmen ausschließt.

Außerdem lassen sich Cookies (wie auch andere Dinge, z.B. die Chronik der besuchten Seiten) oft beim Schließen des Webbrowsers löschen.

Cookies ganz zu verbieten ist leider oft nicht praktikabel, da Cookies auch für legitime Zwecke verwendet werden, bspw. um Anmeldedaten nicht immer wieder abfragen zu müssen. Die Einstellungsmöglichkeiten der Webbrowser haben sich hier inzwischen deutlich verbessert. Falls sie dennoch nicht ausreichen sollten, gibt es auch viele Add-ons für die Cookie-Verwaltung, wie z.B. Cookie Culler.

SuperCookies (DOM storage, LSO)

Aktuelle Browser erlauben sogar sehr viel mehr, als nur Cookies auf dem lokalen Rechner zu speichern. Für das DOM Storage werden von einigen Webbrowsern wie z.B. Firefox (Quelle 🇬🇧) und Chromium die gleichen Einstellungen wie für normale Cookies genutzt. Über das Flash-Plugin können außerdem noch Flash-Cookies (LSOs) gesetzt werden. Mehr Informationen dazu gibt es im Wikipedia-Artikel und hier im Wiki.

Werbung und Überwachung (Tracking)

Die meisten Werbeinhalte im Internet besitzen heutzutage gleichzeitig Überwachungsmechanismen. Jede geladene Werbung wird z.B. mit einer eindeutigen Adresse (bzw. ID) versehen. Dann kann und wird diese mit anderen Werbungen und ihren Seitenaufrufen, Aktionen sowie (Such-, Login, etc.) Eingaben verknüpft. Auch unsichtbare Grafiken oder versteckte 1x1 Pixel große Bilder (Webbugs) werden eingesetzt.

Da die Einstellungsmöglichkeiten der Browser meist nur ungenügend bleiben, hilft oft nur zusätzliche Software wie z.B. Add-ons:

  • Werbeblocker: Diese können mit Listen "gefüttert" werden, in denen steht, was Werbung ist, was dem Web-Tracking dient oder ähnliches. Das Add-on Adblock Plus lässt zusammen mit den richtigen Listen (siehe Wiki-Artikel) Websites gleich viel ruhiger aussehen. Speziell ab Version 2.0 gibt es hier die Möglichkeit, auch Ausnahmen zu definieren, um seriöse Werbung zuzulassen. Außerdem gibt es Proxys mit Filterung wie z.B. Privoxy.

  • Verbindungen zu anderen Websites verbieten: RequestPolicy 🇩🇪 verhindert generell, dass Dateien von anderen Websites als der gerade besuchten eingebunden werden, sofern keine Ausnahmeregel definiert ist.

  • Noch mehr Anonymität bietet z.B. Tor.

Passwörter

Webbrowser bieten meist an, das Merken von Passwörtern zu übernehmen. Immer wenn man auf einer Seite ein Passwort eingibt, fragt der Browser, ob er sich das Passwort für diese Seite merken soll. Besucht man diese Seite wieder, füllt der Browser das Passwort automatisch aus. Das kann sehr praktisch sein, sofern man diese Funktion

  • nie für wirklich wichtige Dinge, wie Bank-PINs usw. nutzt, und

  • nie auf öffentlich zugänglichen Rechnern, wie in Internet-Cafés, nutzt.

Leider vergisst man Passwörter viel schneller, wenn man sie nie eintippen muss. Das kann sehr ärgerlich werden, wenn man dann einmal nicht am eigenen Rechner sitzt.

Plugins

Viele Webbrowser bieten schon seit längerer Zeit Plugin-Schnittstellen, über die Funktionserweiterungen von Drittanbietern eingebunden werden können. Verbreitet sind z.B. diverse proprietäre Plugins:

  • Acrobat Reader-Plugin von Adobe für PDF-Dateien

  • Flash-Plugin von Macromedia (jetzt zu Adobe gehörend)

  • Java-Plugin von Sun (inzwischen zu Oracle gehörend)

Plugins haben viele Möglichkeiten und laufen mit den vollen Rechten des Benutzers, was Vorteil wie auch Nachteil sein kann. Im Zweifelsfall, insbesondere bei nicht-freien Plugins ohne einsehbaren Quellcode, sollte man sich überlegen, ob man nicht lieber Alternativen bevorzugt oder auf die versprochene Funktionalität verzichtet.

Add-ons wie NoScript können Websites verbieten, Plugins zu benutzen, wobei man gewünschte Ausnahmen konfigurieren kann.

Flash

Das unfreie Adobe Flash-Plugin bietet Websites die Möglichkeit, SWF-Dateien (Flash-Applets) im Webbrowser ausführen zu lassen. Diese können Flash-Cookies / LSOs anlegen, die Webseite manipulieren, Informationen über den Webbrowser sowie Tastatur- und Mauseingaben auslesen, über das Netzwerk mit Webservern kommunizieren und mit der entsprechenden Erlaubnis sogar angeschlossene Mikrofone und Kameras nutzen. Auch werden recht häufig Sicherheitslücken in diesem Plugin bekannt (Liste der Sicherheitsaktualisierungen für den Flash Player 🇬🇧). Alternativen bietet der Artikel Flash vermeiden.

JavaScript

JavaScript ist eine Skriptsprache, die Webbrowser interpretieren können. Webseiten können Programme in dieser Sprache innerhalb des Webbrowsers ausführen, wobei der Wirkungsbereich auf die Webseite beschränkt ist, solange keine Sicherheitslücke eine Aufhebung dieser Beschränkungen erlaubt. Skripte erlauben es, die Aktionen des Benutzers im Webbrowser auf allen Seiten zu überwachen und zu manipulieren, auf denen sie eingebunden sind. Skripte werden oft direkt zum Web-Tracking genutzt. Eher ein Zeichen schlechten Webdesigns oder Werbemüll sind JavaScript-Effekte, die z.B. zusätzliche Fenster ungefragt öffnen, welche sich außerdem nicht einfach wieder schliessen lassen. Oder wenn die rechte Maustaste sowie andere Funktionen plötzlich anders funktionieren, usw. Andererseits gibt es jedoch auch viele legitime Einsatzzwecke für JavaScript, weshalb es heutzutage vielerorts eingesetzt wird. Mehr Informationen zu den Verwendungsgebieten bieten die Website NoScript 🇬🇧 und der Wikipedia-Artikel zu JavaScript.

Man kann zwar JavaScript in allen gängigen Browser deaktivieren und nur für vertrauenswürdige Websites gezielt einzuschalten. Dabei kommt es selbst bei vertrauenswürdigen Website-Betreibern mitunter vor, dass durch Sicherheitslücken in der Server-Software auf deren Webseiten bösartige Skripte eingeschleust werden. Außerdem binden manche Website-Betreiber selbst z.B. Überwachungsskripte wie Google Analytics oder DoubleClick und andere ein. Ob eine globale Deaktivierung jedoch sinnvoll ist, muss man für sich selber testen, die viele Webseiten heutzutage ohne JavaScript nur eingeschränkt nutzbar sind.

Schutz bieten nur Grundeinstellungen, die das Ausführen von externem Code auf dem lokalen Rechner verbieten, und, da die Einstellungsmöglichkeiten der Browser hier ungenügend bleiben, Add-ons wie NoScript, die anzeigen, von welchen Websites Skripte ausgeführt werden sollen, und nur vom Benutzer zugelassene Skripte erlauben. Außerdem bietet NoScript einen Schutz gegen manche (nicht alle) Angriffe, die versuchen, Sicherheitslücken des Webbrowsers auszunutzen, selbst bei deaktiviertem JavaScript.

⚓︎

E-Mail

Obwohl es viele Leute gibt, die sich über ihren Webbrowser bei ihrem E-Mail-Anbieter anmelden und ihre Post in einem Browser-Fenster verwalten, sind spezialisierte E-Mail-Programme wie Thunderbird, KMail, Evolution oder Mutt doch weitaus praktischer, vor allem wenn man viel Post bekommt. Die Benutzung eines dieser Programme kann aber nicht nur aus Sicht der Benutzerfreundlichkeit, sondern auch vom Standpunkt der Sicherheit sinnvoll sein.

Im Gegensatz zu Webseiten, zu deren Besuch man sich meist frei entscheidet, kann man sich nicht immer aussuchen, von wem man E-Mail empfangen möchte. Die Regel, dubiose Webseiten zu meiden, greift hier also nicht. Deswegen ist man über E-Mail potentiell größeren Gefahren ausgesetzt als beim normalen Surfen. Auch gezielte Attacken sind einfacher durchzuführen.

Hinweis:

Der entsprechende Hinweis aus dem vorherigen Abschnitt über die Unterschiede in den Einstellungsdialogen gilt auch hier.

JavaScript

Da JavaScript im Umgang mit E-Mail kaum benötigt wird, sollte es im Mail-Programm deaktiviert werden, um mögliche Gefahren in diesem Zusammenhang zu vermeiden.

HTML-Mail

E-Mails waren ursprünglich reine Text-Nachrichten ohne irgendwelche Formatierungen oder gar Bilder und andere Erweiterungen. Dann wurden HTML-Mails eingeführt. HTML ist eigentlich eine Sprache zum Erstellen von Webseiten und ermöglicht damit Textformatierungen, aber auch weitere Manipulationsmöglichkeiten. Daraus ergaben sich dann ganz schnell sicherheitstechnische Probleme. Das folgende Beispiel zeigt eine typische Phishing-Mail:

...

Bitte geben Sie ihre Kontodaten hier ein, damit wir den Zugriff auf Ihr Konto in Zukunft noch sicherer machen können: http://www.meine-bank.de

...

Dieser vermeintlich nett gemeinte Hinweis führt definitiv nicht zu www.meine-bank.de. Bei einer echten Phishing-Mail würde er stattdessen zu einer (gut gemachten) Nachahmung der Website der Bank führen.

Nach Möglichkeit sollte man daher die Darstellung von HTML ganz abschalten oder zumindest beschränken. Die meisten seriösen HTML-Mails beinhalten immer eine alternative Version mit normalem Text, oder das E-Mail-Programm wandelt (wenn gewünscht) die HTML-Mail automatisch in reinen Text um. Thunderbird bietet auch an, die Mails nur mit "Vereinfachtem HTML" anzeigen zu lassen ("Ansicht → Nachrichteninhalt"). Mehr dazu findet man unter bucksch.org 🇬🇧.

Im Gegenzug sollte man andere Leute möglichst nicht mit HTML-Mails beglücken, sondern das Erzeugen von HTML abschalten.

Achtung!

Banken und ähnliche Institutionen senden so gut wie nie E-Mails mit der Aufforderung, auf einen Link zu klicken. Man sollte deswegen beim Online-Banking immer direkt die Adresse der Bank in die Adressleiste des Webbrowsers eintippen oder ein Lesezeichen verwenden, anstatt einen "praktischen" Link anzuklicken.

Ein weiteres Ärgernis, das mit der HTML-Mail aufkam, sind referenzierte Bilder, die beim Lesen der Mail nachgeladen werden. Damit lässt sich dann sehr leicht nachvollziehen, ob und wann der Empfänger die Mail geöffnet hat. Spammer nutzen das, um gesammelte Adressen zu verifizieren, die dadurch im Wert steigen. Als Folge bekommt man danach noch viel mehr Spam. Also sollte man das Öffnen solcher Bilder verhindern. Die landläufigen Mail-Programme bieten meist die Möglichkeit, das Nachladen von Bildern ganz zu unterbinden oder nur zu erlauben, wenn der Absender im Adressbuch zu finden ist. Beides ist in Ordnung.

Gefälschte Absender

Der Absender einer E-Mail kann leicht gefälscht werden, es sei denn die E-Mail ist signiert, d.h. "unterschrieben" (siehe dazu auch den nächsten Abschnitt: Verschlüsselung). Wenn eine Mail also vorgibt, von kundenservice@meine-bank.de oder freund@provider.com zu kommen, dann muss das nicht zwangsläufig stimmen. Genauere Informationen bietet der Artikel Mailheader analysieren.

Verschlüsselung

Weiter gibt es natürlich bei E-Mail die Möglichkeit, die Datenübertragung per SSL zu verschlüsseln. Leider bieten noch nicht alle E-Mail-Anbieter SSL/TLS an, manche lassen sich diesen Service gar extra bezahlen. Ob man das als Grund sieht, mit seinem Postfach umzuziehen, muss jeder selbst wissen. Auf jeden Fall sollte man wenn möglich darauf achten, die Verschlüsselung in beiden Richtungen zu aktivieren. Die Protokolle für eingehende (POP3, IMAP) und ausgehende Mail (SMTP) werden nämlich getrennt konfiguriert.

Wichtig ist noch zu verstehen, dass SSL nur die Verbindung zum Mailserver des Anbieters (inkl. der Übertragung des Passwortes) schützt. Der weitere Weg bis zum Postfach des Empfängers erfolgt unverschlüsselt und ist in etwa so geheim wie der Inhalt einer Postkarte. Wem das nicht gefällt, der sollte seine Post mit GnuPG verschlüsseln. Außerdem lassen sich E-Mails damit auch noch signieren ("unterschreiben").

⚓︎

Office-Pakete

Gängige Office-Pakete unterstützen heutzutage die Einbindung mächtiger Interpretersprachen wie Basic oder sogar Python in ihre Dokumente. Das birgt die Gefahr, dass sich auf diesem Wege schädliche Skripte (Makroviren) verbreiten, wenn man Dokumente an andere Leute verschickt. Auch gezielte Angriffe durch das Zusenden manipulierter Dokumente sind so möglich. Standardmäßig fragen Office-Pakete wie LibreOffice deswegen heutzutage beim Benutzer nach, wie sie damit umgehen sollen, wenn sie beim Laden eines Dokuments auf solchen Programmcode stoßen. In der Regel sollte man dann die Ausführung desselben ablehnen. Wegen dieser Sicherheitsmaßnahme haben Makroviren heute keine nennenswerte Verbreitung mehr, und es gab sie für freie Bürosoftware auch noch nie in signifikanter Zahl.

⚓︎

Sonstige Desktop-Software

Von Instant-Messengern über Internet Relay Chat, Videokonferenzen und Filesharing bis hin zu Online-Spielen gibt es noch viele Programme, die mit anderen Rechnern im Internet kommunizieren. Auch hier gilt: Sicherheitsaktualisierungen möglichst schnell einspielen und den gesunden Menschenverstand nicht ausschalten. Keine dubiosen Tipps von Unbekannten anwenden und keine Software unbekannter oder zweifelhafter Herkunft auf dem eigenen Rechner ausführen (Vorsicht bei Fremdquellen).

⚓︎

Server

Dieser Abschnitt beschäftigt sich mit den besonderen Erfordernissen für die Sicherheit von Internet-Servern, also Servern, die nicht nur aus dem lokalen Netz zu erreichen sind. So etwas kann man zu Hause einrichten, wenn man eine Breitbandverbindung hat, oder man mietet sich einen "Dedicated- bzw. Root-Server" bei einem Hosting-Provider. Die Heimlösung ist billiger, dafür ist die Anbindung schlechter, insbesondere die Senderate ("upload rate"). Es gibt meist eine Zwangstrennung alle 24 Stunden, und man muss die Namensauflösung über einen DynDNS-Service schalten. Was die Sicherheit betrifft, läuft aber beides erstmal aufs Gleiche hinaus.

Nichts für Anfänger

Um es vorweg zu nehmen: Die Administration eines Servers, der Internetdienste bereitstellen soll, ist wirklich nichts für Anfänger! Ohne Ahnung von der Materie, nur über die vom Hoster bereitgestellte Weboberfläche ist ein Root-Server nicht angemessen zu betreiben. Frei im Netz herumstehend mit einer Anbindung, von der ein Normalsterblicher nur träumen kann, stellt er falsch konfiguriert eine erhebliche Gefahr sowohl für den Eigentümer als auch für die restlichen Benutzer im Internet dar. Genauso wenig kann man sich darauf verlassen, dass der eigene Heimserver an der DSL-Leitung "einfach nicht gefunden wird". Viel zu viele Leute verlassen sich darauf, dass Linux "einfach sicher" ist. Früher oder später wird ihr Server "gecrackt" und für illegale Zwecke verwendet.

Das kann leicht sehr teuer werden. Ein "Serverpaket", d.h. die vertraglich festgelegte Dienstleistung des Server-Betreibers für den Mieter, bietet üblicherweise ein begrenztes Datentransfer-Volumen ("Traffic"-Kontingent). Wenn mehr beansprucht wird, kann es empfindlich teuer werden. Beispiel: Ein "Cracker" lädt ein DVD-Image auf einen Server, den er kompromittieren konnte, und verteilt den Link an 100 Leute. Das erzeugt ca. ein halbes Terabyte an Datenverkehr!

Zusätzlich kann man sich leicht noch Ärger mit der Polizei oder der Staatsanwaltschaft einhandeln, wenn es sich bei den verteilten Daten um illegale Ware wie Raubkopien, radikale Propaganda oder Kinderpornografie handelt oder wenn vom gecrackten Server Angriffe auf weitere Maschinen im Netz gestartet werden (DDoS), was fast immer der Fall ist. In diesem Falle kann man sich auch nicht auf den Vermieter oder Anbieter berufen, da man für die Sicherheit auf einem Rootserver selbst verantwortlich ist und dies so im Vertrag hinterlegt ist.

Wer sich also noch nicht mehr oder weniger ausführlich mit Unix bzw. Linux beschäftigt hat, insbesondere mit der Kommandozeile und Konfigurationsdateien, der sollte sich ernsthaft überlegen, bei einem "gemanageten" Hosting-Angebot zu bleiben. Der Begriff Managed Server bedeutet, dass man nur die Leistung und "Befehlsgewalt" über einen Server hat. Um die Systemkonfiguration, Sicherheit und dergleichen kümmert sich der Anbieter. Selbstverständlich sind solche Angebote teurer als einfache Rootserver. Dafür erhält man aber auch eine adäquate Gegenleistung – man braucht sich quasi um nichts zu kümmern – und das Schadensrisiko liegt beim Anbieter.

Noch aktueller sein

Als erstes gilt: Noch schneller und gewissenhafter mit Systemaktualisierungen umgehen als bei einem Desktop-System. Spätestens jetzt sollte man die betreffende Sicherheits-Mailingliste der auf dem Server verwendeten Distribution abonnieren, ebenso wie die betreffenden Mailinglisten aller Softwarepakete, die man zusätzlich installiert. Gerade Gameserver und Content-Management-Systeme, also Dinge, die man sehr häufig auf eigenen Servern installieren möchte, werden häufig nicht gerade mit dem Hauptaugenmerk auf Sicherheit entwickelt, und es werden regelmäßig schwerwiegende Lücken gefunden, die dann oft innerhalb kürzester Zeit auch im größeren Umfang ausgenutzt werden. Das einzige, was einen davor schützen kann, ist immer "up to date" zu sein.

⚓︎

Einen Plan erstellen

Bevor man einen Server aufsetzt, sollte man einen Plan erstellen, was man mit diesem Server eigentlich erreichen will und welche Software man dafür benötigt. Für die meisten Zwecke gibt es unter Linux durchaus mehrere Alternativen, von denen man sich unter folgenden Kriterien eine aussuchen sollte:

  • Was für Ausstattungsmerkmale benötigt man? Welche Software bietet diese, und am besten nur diese, Merkmale?

  • Was für eine Sicherheitsgeschichte bzw. Ruf hat eine Software? Gehört Sicherheit zu den erklärten Designzielen?

  • Reichen die eigenen Fähigkeiten aus, um die Konfiguration der Software zu verstehen bzw. die Software zu beherrschen?

  • Wird die Software von der Distribution unterstützt? (Das trifft im Falle von Ubuntu nur auf die Pakete des main-Repositories uneingeschränkt zu!)

Am besten setzt man zu Hause einen Testserver auf, an dem man erstmal gefahrlos rumprobieren kann. Insbesondere sollte man den Server auch auf seine Sicherheit überprüfen, u.a. mit einem Portscan. Wenn der Server beweglich ist (soll heißen, er steht nicht in einem Rechenzentrum), kann man ihn auch im lokalen Netz installieren und dann erst im fertigen Zustand mit dem Internet verbinden.

⚓︎

Sichere Authentifizierung

Noch viel wichtiger als bei einem relativ unangreifbaren Desktop-System ist bei einem Server die sichere Authentifizierung. Alle Grundsätze der Passwort-Sicherheit, die oben im Abschnitt "Desktop" angesprochen wurden, gelten natürlich auch hier und müssen besonders ernst genommen werden. Wer einmal einen Server administriert hat (und die Logs ab und zu gelesen hat), der weiß, wie häufig Fremde aus Übersee mit Attacken durch einfaches Raten schwache Passwörter zu finden versuchen.

Ferner sollte man beachten, wenn der Server außer Haus steht, dass möglichst keine Passwörter im Klartext übermittelt werden. Insbesondere zur Administration sollte man das ssh2-Protokoll (openssh) verwenden, das von Haus aus eine starke Verschlüsselung bietet. Mit den Befehlen scp und sftp kann man über dieses Protokoll auch Dateitransfers durchführen, so dass man auf den unsicheren FTP-Dienst ebenfalls verzichten kann. Einige grafische FTP-Programme wie z.B. gFTP unterstützen ebenfalls das ssh-Protokoll (siehe auch FTP).

Achtung!

Wichtig ist, dass man die Version 2 des ssh-Protokolls benutzt, da in der Version 1 schwerwiegende Mängel entdeckt wurden. Dies erreicht man durch die Option "Protocol 2" in der Datei sshd_config, die sich entweder im Verzeichnis /etc/ oder /etc/ssh/ befindet. Diese Option ist bei Ubuntu standardmäßig gesetzt.

Andere Dienste wie die verschiedenen Mail-Protokolle können mit wenig Aufwand zur Benutzung von SSL-Verschlüsselung überredet werden, was man auch tunlichst machen sollte.

Wenn die Möglichkeit einer noch stärkeren Authentifizierungsmethode besteht, sollte ganz auf die Verwendung von normalen Passwörtern verzichtet werden. SSH kann bspw. auch mit kryptographischen Schlüsseln authentifizieren, was der Passwortmethode in jedem Fall vorzuziehen ist. Zusätzlich zur erhöhten Sicherheit ermöglicht die Verwendung eines SSH-Agenten, die Schlüssel im Arbeitsspeicher vorzuhalten, damit man nicht bei jedem Anmelden das Passwort eintippen muss. Wir haben hier also einen der seltenen Fälle, wo gesteigerte Sicherheit auch gesteigerten Komfort bedeutet. Genaueres kann man im Wiki-Artikel SSH und in den Handbuchseiten der OpenSSH-Suite ("apropos ssh") nachlesen, insbesondere mit:

man ssh-keygen 

⚓︎

Firewall

Wer Serverdienste im Internet zur Verfügung stellt, der sollte die zugehörigen Rechner auf keinen Fall im internen, vertrauenswürdigen Netzwerk platzieren, wo er auch lokale Dienste wie CUPS, Samba, NFS, etc. laufen hat. Die Gefahr ist zu groß, dass doch mal in den Server eingebrochen wird, und dann verfügt der Angreifer über einen perfekten Brückenkopf ins private Netz. Wenn man seine Serverdienste also nicht von einem dedizierten Server aus einem Rechenzentrum anbietet, sondern von zu Hause bzw. vom Büro aus, dann sollte man den oder die Server mit Hilfe einer Firewall in eine Demilitarisierte Zone (DMZ) einsperren.

Diese sollte sowohl vom Internet als auch vom privaten Netz so weit wie möglich abgeschottet werden, d.h. nur solche Verbindungen, die dem Zweck des Servers dienen oder für die Administration essentiell sind, sollten erlaubt werden.

Außerdem sollten auf der Firewall alle ungewöhnlichen Verbindungen, besonders wenn sie von der DMZ ausgehen, ausführlich protokolliert werden (und die Protokolle auch regelmäßig gelesen werden), um Einbrüche kurzfristig erkennen zu können. Hierbei hilft auch die Installation von Intrusion Detection Systemen (IDS) bzw. Intrusion Prevention Systemen (IPS)

In den Ubuntu-Paketquellen findet man dazu bspw. tripwire und Aide als prüfsummenbasierte Host-IDSe sowie snort als signaturbasiertes Netzwerk-IDS.

Diese Revision wurde am 5. Dezember 2016 15:49 von march erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Sicherheit, Passwort, Netzwerk, Einsteiger, Internet