Sicherheits 1x1

Dieser Artikel beschäftigt sich mit den Grundlagen der Systemsicherheit. Auch wenn Ubuntu und Linux im Allgemeinen - im 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. 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.

Hinweis:

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 mit einem viel geringeren Risiko für den Täter 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 Computerprogramm ist auch Ubuntu Linux 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.

Automatische Updates/gnome-update-notifier.png 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 aufgetreten sind. Eine Einteilung in "nützliche" und "unnütze" Updates kann man sich also sparen.

Das Vorhandensein aktualisierter Pakete erkennt man auf dem GNOME-Desktop an dem roten Symbol am oberen Rand des Desktops. 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 Updates. In diesem Fall sollte man einfach gelegentlich von selber die Aktualisierungsverwaltung starten.

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

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 in ein Ubuntu-System einzuloggen – ein Passwort sorgt dafür, dass man als der identifiziert wird der man zu sein vorgibt. Dumm nur, wenn jemand anders 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, Schwarzkopien oder anderem verbotenem Material (Kinder-Pornographie, rechtsradikale 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:

  • 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 das einfache Anhängen einer Zahl oder eine Buchstabenkombination wie "qwertz" oder "asdfg" ist nicht wirklich originell. Ein sicheres Passwort besteht deswegen aus mindestens acht Stellen und enthält sowohl Klein- als auch Großbuchstaben, Ziffern und nach Möglichkeit Sonderzeichen. Eine Möglichkeit, ein solches Passwort zu generieren ist das Kommandozeilenprogramm pwgen:

    pwgen -s -B -1
    kRhi3xMe 


    Mit der Option --help werden zahlreiche weitere interessante Optionen angezeigt.
    Ein anderes Kommandozeilenprogramm ist makepasswd aus dem universe-Repository:

    makepasswd
    usufQr6 


    Natürlich kann auch das gebräuchlichere Programm pwgen ohne Parameter gestartet werden, hier bekommt man dann eine große Liste generierter Passwörter.
    Eine weitere, einfachere Möglichkeit ist die Verwendung eines Merksatzes, bspw. "Meine Mutter hat vier Brüder und zwei Schwestern." Übernimmt man jetzt alle Anfangsbuchstaben, Zahlen und Satzzeichen, so erhält man MMh4Bu2S. Diese Kombination wäre auf jeden Fall ein sehr sicheres Passwort, wenn es nicht jetzt hier öffentlich als Beispiel sozusagen verbrannt worden wäre.

  • 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, daß auf der Tastatur eines anderen Rechners die Zeichen überhaupt eingegeben werden können. Groß- und Kleinbuchstaben ohne Umlaute, Ziffern, die gängigen Satzzeichen, +-*/ sollten keine Problem bereiten, sprich, die druckbaren Zeichen des guten, alten ASCII-Codes.

  • 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 nicht nur Cracker, sondern auch die Administratoren haben vollen Zugriff auf die Datenbank. Sollte man diesen Leuten also sein System-, E-Mail- oder Ebay-Passwort anvertrauen?

  • Niemals sollte man ein Passwort an jemand anders 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 auch 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 erstmal hart und nur schwer einzuhalten, so dass man sich vielleicht gezwungen sieht Kompromisse einzugehen. Bspw. ist es vertretbar, ein Universalpasswort für alle unwichtigen Dinge wie Webforen, o.ä. zu verwenden. 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 Masterpasswort 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, habe ich mich entschlossen, das Auffinden der entsprechenden Knöpfe und Regler den Bemühungen des jeweiligen Lesers zu überlassen.

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

Als Hauptinteraktionsinstrument eines Desktop-Systems mit dem Internet ist der Webbrowser neben dem Mailprogramm natürlich besonders durch Schadprogramme gefährdet. Auch die freien Browser wie 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 den Zugriff auf private Daten und den möglichen Schaden zu begrenzen, kann man Browser und Emailprogramm unter einem separatem Benutzerkonto laufen lassen. Siehe Programme abschotten.

Vertrauenswürdige Grundeinstellungen

Wenn der Browser so (vor)konfiguriert wird, dass er sich bei jedem Start mit bestimmten Adressen verbindet und diese womöglich noch Skripte, Cookies, oder Plug-ins starten, können Sie daduch immer wieder eindeutig identifizierbar gemacht und überwacht werden. (In den Logs eines externen Routers kann man gut sehen womit sich eine Standardinstallation vor dem öffnen auch nur einer selbst bestimmten Webseite alles verbinden möchte.)

Es empfiehlt sich mindestens:

  • Eine eigene vertrauenswürdige Startseite oder eine leere Startseite zu wählen, statt z.B. google.

  • Eingerichtete "Suchmaschinenunterstützungen" zu entfernen und keine angebotenen "Toolbars" etc. zu nutzen.

  • Eingerichtete "intelligente" Lesezeichen bzw. Newsfeeds zu entfernen.

  • In die Adresszeile eingetippten Text nicht an externe zu Server melden:

    • Autovervollständigen bzw. "Suchvorschläge anzeigen"

    • "Webseite blockieren, wenn sie als attakierend gemeldet wurde."

    • "Webseite blockieren, wenn sie als Betrugsversuch gemeldet wurde."

SSL-Verschlüsselung

Die meisten Daten, die bei der Interaktion mit Webservern ausgetauscht werden, werden im Klartext, für alle lesbar, über das Internet gesendet. Das ist auch kein Problem, weil Webseiten sowieso im Allgemeinen 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 von Haus aus diese Verschlüsselung ein, die in der aktuellen Version 3 (bzw. TLS 1) bis zum heutigen Tage noch nicht gebrochen 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 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 eine ebenso starke Authentifizierung der Gegenstelle. Wenn das Server-Zertifikat, das der Server zu Beginn der Verbindung übermittelt keine Warnung hervorruft, kann man sicher sein, dass man tatsächlich mit dem Server verbunden ist, der dieser vorgibt zu sein.

Manchmal kommt es trotzdem zu einer Warnung, weil der Betreiber es sich entweder finanziell nicht leisten kann oder will, sein Server-Zertifikat offiziell zertifizieren zu lassen oder weil die Administratoren geschlampt 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 ein Krimineller 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.

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 Cookies oder davor, dass man gerade Formulardaten über eine ungesicherte (= nicht SSL-verschlüsselte) Verbindung senden will. In keinem Fall sollte man diese Warnungen reflexartig weg klicken. Statt dessen sollte man sich ein paar Sekunden Zeit nehmen die Warnung zu lesen, zu verstehen und unter Einbeziehung des gesunden Menschenverstandes entscheiden wie man weiter vorgeht.

Cookies

Ein Cookie ist eine kleine Datei, die ein Webbrowser 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 nur das informationelle Selbstbestimmungsrecht. Wen es überhaupt nicht stört, dass Datenkraken weltweit persönliche Surfprofile über einen anlegen, der kann ruhig Cookies generell erlauben. Andernfalls sollte man die ungehemmte Installation von Cookies verhindern. Dies kann man tun, indem man die Einstellung für Cookies auf "Nachfragen" setzt. 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 nervigen Fragedialoge mit der Zeit nachlassen. Wem das zu aufwendig ist, der kann als Kompromiss Cookies nur für die jeweilige Domain erlauben, auf deren Seiten man sich gerade befindet. Das schließt auch die meisten Marketing-Firmen aus.

Cookies ganz zu verbieten ist leider oft nicht praktikabel, da Cookies auch durchaus für legitime Zwecke verwendet werden, bspw. um Logindaten nicht immer wieder abfragen zu müssen. Da die Einstellungsmöglichkeiten der Browser eher ungenügend bleiben, bieten nur Add-Ons wie "Cookie Safe" eine Möglichkeit, Cookies generell abzuschalten, um sie anschließend nur für einzelne Seiten wieder zu erlauben.

SuperCookies (DOM storage, LSO)

Aktuelle Browser erlauben sogar sehr viel mehr, als nur die kleinen Cookies auf dem lokalen Rechner zu speichern. Da die Einstellungsmöglichkeiten der Browser hier völlig ungenügend bleiben, helfen höchstens Add-Ons wie Better Privacy.

Glücklicherweise ist diese Problematik inzwischen auch zu den Browser-Herstellern durchgedrungen. Browser, die Supercookies wie normale Cookies behandelt, sind Firefox ab 4.0 und Chromium ab Version 11.

Werbebelästigung und Überwachung (Tracking)

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

Da die Einstellungsmöglichkeiten der Browser ungenügend bleiben, helfen nur Add-ons wie Adblock Plus und Proxy-Filter wie Privoxy oder BFilter.

Passwörter

Heutige Webbrowser bieten einem 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 von selbst 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.

Außerdem vergisst man Passwörter leichter, wenn man sie nie eintippen muss. Das kann sehr ärgerlich werden, wenn man dann mal nicht am eigenen Rechner sitzt.

Plugins

Gängige Webbrowser verfügen schon seit längerer Zeit über Plugin-Schnittstellen, über die Funktionserweiterungen von Drittanbietern eingebunden werden können. Verbreitet sind z.B. proprietär-obskure Plugins: das Acrobat-Reader-(PDF-)Plugin von Adobe, das Flash-Plugin von Macromedia, (jetzt auch zu Adobe gehörend,) und das Java-Plugin von Sun. (Alle drei in den Ubuntu Repositories erhältlich.) Plugins laufen mit den vollen Rechten des Benutzers, es gilt daher: Im Zweifelsfall, insbesondere bei nicht-freien Plugins ohne einsehbaren Quellcode, lieber alternativen bevorzugen oder auf die versprochene Funktionalität verzichten.

Flash

Flash sei hier als ein Beispiel genannt, bei dem das Plugin weitgehende Überwachungs- und Fernsteuerungsmöglichkeiten bietet. Es hat Zugriff auf lokale Daten, Bildschirm, Tastatur, Maus, Mikrofone und Kameras. Darüber hinaus werden u.U. Skripte ausgeführt, die in Flashangeboten versteckt sind und die es erlauben, über das Netzwerk mit beliebigen Servern zu kommunizieren und permanent Daten auf dem lokalen Rechner abzulegen.

Siehe auch SuperCookies.

Java/Javascript

Java ist eine plattformunabhängige Sprache, die in der Firma Sun entwickelt wurde und über ein Plugin auch im Browser ausgeführt werden kann. Javascript ist eine Skriptsprache, die die Browser interpretieren können und hat mit Java außer dem Namen erstmal nicht viel gemein. Webseiten können daher Programme in diesen Sprachen auf dem lokalen Rechner ausführen, die es erlauben Ihre Aktionen auf vielfältige weise zu überwachen und zu manipulieren. Einige Informationen zu den Möglichkeiten findet man z.B. auf der http://noscript.net Homepage. Skripte werden oft direkt zum überwachen Ihrer Aktionen im Browser verwendet, aber auch um andere Plugins wie z.B. "Flash" zu installieren bzw. zu aktivieren, die wiederum vollständigen Zugriff auf Ihren lokalen Benutzeraccount haben. Eher ein Zeichen schlechten Webdesigns oder Werbemüll sind Javascript Effekte, die z.B. tausend Fenster öffnen, die sich nicht einfach wieder schließen lassen, oder wenn der rechte Mausknopf oder andere Funktionen auf einmal anders funktionieren, usw.

Es empfiehlt es sich, beides standardmäßig abzuschalten und nur für vertrauenswürdige Seiten gezielt einzuschalten. Dabei kommt es aber auch vor, dass selbst bei vertrauenswürdigen Webseitenbetreibern durch Sicherheitslücken in der Server-Software auf deren Webseiten bösartige Skripte eingeschleust werden. Oder Webseitenbetreiber selbst z.B. "google" Überwachungsskripte einbinden, die alle ihrer Aktivitäten auf den Webseiten erfasst. (Dies ist z.B. im Besonderen bei canonical.com, ubuntu.com launchpad.net der Fall.)

Schutz bieten nur Grundeinstellungen in 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 was für Scripte eine Seite ausführen möchte und die erlauben nur bestimmte Skripte auszuführen.

E-Mail

Obwohl es viele Leute gibt, die sich über ihren Webbrowser bei ihrem E-Mail-Anbieter einloggen und ihre Post in einem Browserfenster lesen, 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 Sinn machen.

Im Gegensatz zu Webseiten zu deren Besuch man sich im Allgemeinen frei entscheidet, kann man sich nicht immer aussuchen von wem man E-Mail bekommt. Die Browserregel, dubiose Seiten zu meiden, greift hier also nicht. Deswegen ist man über E-Mail potentiell größeren Gefahren ausgesetzt als über das normale Surfen. Auch gezielte Attacken sind so einfacher durchzuführen.

Javascript

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

Hinweis:

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

HTML-Mail

Damit wären wir auch schon bei der zweit-unsinnigsten Erfindung seit es elektronische Post gibt: HTML-Mail. Früher, in den guten alten Zeiten, waren die Leute glücklich, überhaupt Texte per E-Mail verschicken zu können, sowie Bilder und sonstige Dateien als Anhang.

Irgendwann beschlossen dann aber böse Marketingleute, dass man unbedingt bunte und blinkende E-Mail bräuchte, und fortan kamen immer mehr Mailprogramme auf den Markt, die HTML erzeugen und, zumindest halbwegs, darstellen konnten. Daraus ergaben sich dann aber ganz schnell sicherheitstechnische Probleme. Das folgende Beispiel ist Basis jeder sog. Phishing-Mail:

...

Bitte besuchen Sie uns auch im Internet: http://www.meine-bank.de

...

Dieser nett gemeinte Hinweis führt definitiv nicht zu www.meine-bank.de. Nach Möglichkeit sollte man daher die Darstellung von HTML komplett abschalten. Die meisten seriösen HTML-Mails beinhalten immer eine alternative Version mit normalem Text.

Im Gegenzug sollte man auch nicht andere Leute mit HTML-Mail beglücken, sondern das Erzeugen von HTML abschalten.

Achtung!

Banken und ähnliche Institutionen senden nur ganz selten E-Mails mit der Aufforderung, auf einen Link zu klicken. Man sollte deswegen beim Online-Banking immer direkt die Adresse der Bank in einem leeren Browserfenster aufrufen, 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 da 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 o.k.

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-Provider SSL/TLS an, manche lassen sich den 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.

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 OpenOffice.org deswegen heutzutage beim Benutzer nach, wie sie damit umgehen sollen, wenn sie beim Laden eines Dokuments auf 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-Messaging ü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: Möglichst schnell die Aktualisierungen 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.

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 (besonders der Upload), es gibt meist eine Zwangstrennung alle 24 Stunden und man muss die Namensauflösung über einen DynDNS-Service machen. Was die Sicherheit betrifft, läuft aber beides erstmal aufs Gleiche hinaus. Bei Root-Servern gibt es noch sehr wenige bis gar keine Ubuntu-Angebote. Wer stattdessen Debian nimmt, hat aber eigentlich keine Umgewöhnungsprobleme.

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 paar User 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 verfügt im Allgemeinen nur über ein bestimmtes Traffic-Kontingent. Wenn mehr beansprucht wird, kann's empfindlich teuer werden.

Hinweis:

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 Traffic!

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

Wer sich also noch nicht mehr oder weniger ausführlich mit Unix/Linux beschäftigt hat, insbesondere nicht 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 Provider. Selbstverständlich sind solche Angebote teurer, als einfache Rootserver. Dafür erhält man aber auch eine adäquate Gegenleistung – man muss sich quasi um nichts kümmern – und das Schadensrisiko liegt beim Anbieter.

Noch aktueller sein

Als erstes gilt: Noch schneller und gewissenhafter mit den Updates sein als bei einem Desktop. Spätestens jetzt sollte man die betreffende Sicherheits-Mailingliste der 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 nicht in einem Rechenzentrum steht), 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 Rate-Attacken 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 sollte man zur Administration 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 realisieren, 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.

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 standardmäßig allerdings schon 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, so dass man nicht bei jedem Login 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/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 zeitnah erkennen zu können. Hierbei hilft auch die Installation von Intrusion Detection Systemen (IDS).

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 29. Oktober 2011 um 18:43 Uhr von Canomat erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Sicherheit, passwörter, root-server, Netzwerk, Einsteiger, Internet, firewall

Passwort vergessen?