|
|
Dieser Artikel ist verfübar in: English Castellano Deutsch Francais Portugues Russian Turkce |
von Georges Tarbouriech <georges.t(at)linuxfocus.org> Über den Autor: Georges benutzt Unix schon seit langem. Seiner Meinung nach ist Computersicherheit eine der großen Herausforderungen dieses Jahrhunderts. Übersetzt ins Deutsche von: Hubert Kaißer <hubert.kaisser(at)botb.de> Inhalt: |
Zusammenfassung:
Nessus ist ein freier Security Scanner, den man von http://www.nessus.org/ herunterladen kann. Renaud Deraison hat das Projekt initiiert und er pflegt es. Zur Zeit der Erstellung dieses Artikels ist die stabile Version 1.09 und die experimentelle 1.14. Die Software ist unter der GPL lizenziert und viele Leute tragen zu dem Projekt, speziell zu den Plugins, bei... während einige andere Leute von Nessus profitieren ohne den Namen überhaupt zu erwähnen (mehr davon am Ende dieses Artikels). Nessus arbeitet auf vielen Unixvarianten als Client und als Server und auf Win32 als Client. Lassen Sie uns dieses großartige Werkzeug betrachten.
Unter http://www.nessus.org/ ist diese großartige Software erhältlich. Da Nessus als Client für win32 erhältlich ist, ist die Betrachtung der Posixversion in diesem Artikel naheliegend.
Um Nessus zu benutzen, braucht man mindestens nmap und Gtk (Gimp Toolkit). Von der Nessus Webseite führen Links dort hin. Aber da man Nessus auf der Kommandozeile benutzen kann, ist Gtk nicht unbedingt notwendig.
Man kann Nessus auf drei verschiedene Arten bekommen: die gute, die schlechte und die häßliche.
Die gute ist der normale Weg, das heißt, man lädt die Archive von der nächstgelegenen FTP-Site. Es gibt vier Archive: die Nessus-Bibliotheken, die NASL-Bibliotheken, den Nessus-Kern und die Nessus-Plugins. Einmal ausgepackt, erstellt und installiert man sie wie gewohnt: ./configure, make, make install, in der Reihenfolge der obigen Archive. Wenn eine frühere Version auf dem Rechner installiert ist, muß diese zuerst entfernt werden. Um dies zu erreichen, hält nessus ein Deinstallationsscript bereit, welches nach dem ersten "./configure" ausgeführt werden muß, es ist das Script welches im Nessus-Bibliotheken Verzeichnis steht. Das Script ist vor dem ersten "make" auszuführen. Das gleiche ist bei allen vorhandenen Paketen zu tun (außer das Ausführen des uninstall-Scripts) und man ist fertig.
Der schlechte Weg besteht darin, ein runterladbares Script namens nessus-installer.sh auszuführen. Dann wird "sh nessus-installer.sh" das Paket automatisch installieren. Die vier Pakete müssen nicht getrennt installiert weden. Es ist jetzt nur ein eigenes Paket.
Der häßliche Weg: sobald man lynx auf dem Rechner installiert hat und man mit dem Internet verbunden ist, muß man nur "lynx -source http://install.nessus.org | sh" tippen und das wars. Man darf NICHT root sein, um dies zu tun.
Offenbar ist der empfohlene Weg der "gute" Weg,... wenn man nessus herunterlädt ist Sicherheit von Wichtigkeit! Wenn wir schon von Wichtigem reden: man sollte nicht vergessen die MD5 Checksums runterzuladen.
Nessus beinhaltet verschiedene Utilities (nasl, eine Scriptsprache, nessus-adduser, nessus-build...). Alle Utilities haben ihre eigene Manpage für den Client und für den Server. Mehr Dokumentation gibt es in der Distribution (README, INSTALL,...) oder auf der Nessus-Webseite.
Um das Vorgehen zu illustrieren, hier einige Beispiele mit der Nessus X11-Version, jene mit Gtk.
Der nessusd-ServerUm Nessus zu starten, muß man offensichtlich den Serverdaemon nessusd starten. Wenn man den Daemon zum ersten Mal startet, muß man den Benutzernamen und das Paßwort angeben, indem man den nessus-adduser-Befehl benutzt. Wenn das Nessus-Bibliothekenpaket mit der Option "--enable-cipher" kompiliert wurde (empfohlen, um nicht zu sagen zwingend!), wird ein Private Key generiert. Dieser Key kann mit einem Passwort geschützt werden. Viele Optionen sind verfügbar, wenn man den Server startet und man findet alle in der Manpage von Nessus.
Davon ausgehend, kann man die Benutzerdatenbank und die entsprechenden Regeln erzeugen. Das heißt, wer den Serverdaemon ausführen darf, was er scannen darf (einen Rechner, ein Netzwerk...). Die Regeln folgen der Form "accept" oder "deny", gefolgt von einer Netzwerk-IP-Adresse mit ihrer Netmask.
Zum Beispiel erlaubt accept 192.168.1.0/24 dem Benutzer, das ganze 192.168.1er-Netzwerk auszutesten.
Es ist ebenso möglich, einen einzigen Benutzer zu definieren, der überhaupt keine Regeln hat. Wenn man mehreren Benutzern erlauben will nessusd auszuführen, muß man sehr vorsichtig sein, was man ihnen erlauben will. Man kann schließlich nicht jeden alles im Netzwerk machen lassen.
Nicht zuletzt ist nessusd auf eine Konfigurationsdatei angewiesen, die man (gewöhnlich) in /usr/local/etc/nessus/nessusd.conf findet. Diese Datei kann man von Hand ändern, sobald man weiß, was man tut.
Man kann den nessus-Client starten, um sich mit einem nessusd-Server zu verbinden. Um den Client auszuführen, reicht es, "nessus &" in einer Shell einzugeben. Das öffnet das Nessus-Setup-Fenster, nachdem es das oben erwähnte Passwort abfragt. Dieses Fenster stellt sieben Tabs zur Verfügung.
Das erste Tab heißt "nessusd host". Von da kann man zum nessusd-Rechner verbinden, indem man auf den "Log in"-Knopf klickt. Natürlich unter der Voraussetzung, daß man sich als dieser Benutzer einloggen darf, in anderen Worten, daß der Benutzername in der Benutzerdatenbank vorhanden ist.
Wenn man den Scan startet, öffnet nessus ein Fenster, um den Scanstatus anzuzeigen. Zum Beispiel, man testet ein ganzes Netzwerk 192.168.1.0/24. Acht Rechner werden gleichzeitig angezeigt, die zeigen welches Plugin für welchen Rechner benutzt wird, neben einer Fortschrittsanzeige. Hier sieht man wie es aussieht:
Plugins sind das "Herz" von nessus. Sie sind die Sicherheitstests, sie sind die Testprogramme, um einen gegebenen Angriffspunkt zu entdecken. NASL (Nessus Attack Scripting Language) ist die empfohlene Sprache, um Sicherheitstests zu schreiben. Man findet einiges über NASL unter der URL: http://www.nessus.org/doc/nasl.html.
Ebenso ist dies der Ort, an dem man die richtigen Informationen findet, wenn man zum nessus-Projekt beitragen will. Zum Zeitpunkt der Erstellung des Artikels gibt es 756 Plugins in der nessus-Datenbank!
Es gibt fast 20 Pluginkategorien: Backdoors, Denial of Service, Erlangen von root von einem anderen Rechner... Wie bereits erwähnt, informiert jedes Plugin über Berichte. Es sagt aus, was falsch ist und was man tun sollte, um das Problem zu berichtigen.
Man kann nicht über die Plugins schreiben, ohne CVE (Common Vulnerabilities and Exposures) zu erwähnen. Es gibt eine riesige Informationsdatenbank auf http://cve.mitre.org. Dort findet man alles über bekannte Sicherheitslücken. Dies ist ein anderer großartiger Ort, um Wissen zu teilen. Solch eine Webseite ist die unbedingte Referenz, die man sich anschauen muß.
Natürlich gibt es viel mehr über die nessus-Plugins zu sagen, aber ein Buch wäre nicht genug. Ein guter Ansatz, um zu verstehen, wie sie funktionieren, wie sie geschrieben werden, ist, sie im Verzeichnis /usr/local/lib/nessus/plugins zu lesen. Nochmals ein Danke an Renaud Deraison und die Mitwirkenden für diese großartige Arbeit.
Auch wenn dieser Titel ein bißchen wie Monty Python klingt, ist da leider kein Humor enthalten. Die drei oder vier Leute, die meine Artikel lesen, kennen meine gewohnten Off-Topic Sätze: dieses Mal ist es ein ganzer Abschnitt! Es ist wirklich Off-Topic, es ist eine andere Geschichte. Packen wir es an.
Da ich recht interessiert an Computersicherheit bin, besuche ich oft die dem Thema gewidmeten Webseiten. Sei es, um über neue Schwachstellen zu lernen oder um neue Sicherheitswerkzeuge zu entdecken. Zufällig fand ich ein paar Produkte, die auf Online-Scandiensten basieren. Tatsächlich nennen sie sich selbst (zumindest zur Zeit) ASP (Application Service Provider). Wenn man ein bißchen weiter klickt, entdeckt man schnell, daß das Werkzeug hinter dem Dienst Nessus ist. So weit, so gut. Aber, wenn man versucht, ausführliche Informationen zu finden, findet man nirgends das Wort "nessus". Das verletzt mich dann zutiefst!
Viele Leute, die für die Free Software Community arbeiten, tun dies ohne Bezahlung und nicht für ihren Lebensunterhalt. Die einzige Bezahlung, die sie bekommen, nennt man: Wertschätzung. Nessus wird unter der GPL veröffentlicht. Das heißt, jeder kann das Produkt benutzen, es ändern, es anpassen... solange der ursprüngliche Autor erwähnt wird bzw. die ursprünglichen Autoren erwähnt werden. Natürlich sagt die Lizenz noch mehr aus. Wenn Sie die GPL nicht kennen, können sie sie hier nachschauen.
Für mich sieht es wie Diebstahl aus. Ich meine, daß ich nicht einmal eine Lizenz brauche, um die Arbeit anderer Leute wertzuschätzen. Ich habe sehr viel Respekt für diese Leute, die (fast immer) umsonst arbeiten und es mit einer Gemeinschaft teilen. Sie verdienen Anerkennung von dieser Gemeinschaft. Dies stimmt besonders, wenn jemand versucht, Geld mit der Arbeit von jemand anderem zu verdienen. Man kann das Respekt, Anerkennung nennen, es ist nicht wirklich wichtig. Fakt ist, diese Worte scheinen ihre Bedeutung verloren zu haben. Sicher könnte man sagen, daß die GPL die Ursache eines solchen Verhaltens ist. Bei ASP wird es nicht als Verkaufen der Software erachtet. Je nach Land mag die GPL keine rechtliche Wirkung haben.
Eine Lösung könnte sein, daß die Benutzer eines solchen ASP den Namen des Scanprogramms anfordern, das die Arbeit macht. Die gegebene Antwort wird wenigstens zeigen, ob die Leute, die den Dienst anbieten "ehrlich" sind. Wenn sie nicht antworten oder wenn sie sagen, daß sie das Programm "erfunden" hätten (welches als Nessus erkannt wurde) benutzen Sie es einfach nicht! Installieren Sie stattdessen (das echte) Nessus. Es wird sowieso sicherer sein.
Aber nochmals: brauchen wir eine Lizenz, um "Danke" zu sagen zu Leuten, die eine wirklich große und großartige Arbeit geleistet haben? Und, nebenbei, Renaud Deraison hat nicht vor, die nessus-Lizenz zu ändern: nessus will weiter unter der GPL bleiben.
Entschuldigung für diese lange Abschweifung, aber ich glaube, dies mußte gesagt werden.
Trotz des letzten Abschnitts sollte man sich von diesem Artikel vor allem an die hohe Qualität von Nessus erinnern. Es ist eine recht eindrucksvolle Software. Wenn man es in Verbindung mit nmap benutzt, wird es ein Muss, wenn Sicherheit ein Anliegen ist. Es ist ein sehr verläßliches Werkzeug, daß jeden Tag verbessert wird. Danke an Renaud und seine Freunde für ihre dauernden Aktualisierungen der Plugins.
Heutzutage kann ein Systemadministrator nicht ohne nessus und nmap arbeiten. Diese Werkzeuge sind in der Lage, Schwachstellen zu finden, die man schon behoben glaubte. Dies stimmt für die meisten Betriebssysteme in Ihrem Netzwerk. Und wenn sie wissen, daß einige Betriebssysteme löchrig wie Siebe sind, dann erlaubt nessus Ihnen, sich ein bischen zu entspannen.
Nessus kann auch verstehen helfen wie ein Netzwerk (oder ein Rechner) kompromittiert werden kann.
Wenn Sie die zur Verfügung gestellten Berichte aufmerksam durchlesen und sie mit einbeziehen und die richtigen Korrekturen machen, werden Sie die Sicherheit Ihres Netzwerks (oder Rechners) um einiges verbessern. Und wieder sagte ich "verbessern": Ihr Netzwerk wird nicht 100% sicher sein, nur weil sie nessus laufen lassen. Der Weg zur Sicherheit ist sehr lang und wir sind sehr weit vom Ende entfernt.
Nochmals ein Danke an die Free Software Community für die großartige Arbeit, die sie für die Sicherheit leistet.
Was die netten Leute betrifft, die versuchen, Geld mit der Arbeit dieser Mitglieder der Free Software Community zu machen, möchte ich etwas hinzufügen. "Danke" zu sagen ist keine Schande. Ehrlich zu sein ist nicht so schrecklich, oder? Wenn sich dieses Verhalten ausweitet, besteht das Risiko darin, daß es das Ende der Community oder einen großen Wechsel der Lizenzierung (und wahrscheinlich immer mehr Patente!) bedeutet. In beiden Fällen werden Sie auf sich alleine gestellt sein und die Situation wird für sie härter werden. Und leider werden wir nicht mehr freie Software nutzen können. Das bedeutet nicht, daß sie in der Lage sein werden Ihre zu verkaufen. Denken Sie darüber nach!
Leben wir nicht in einer großartigen Zeit?
|
Der LinuxFocus Redaktion schreiben © Georges Tarbouriech, FDL LinuxFocus.org Einen Fehler melden oder einen Kommentar an LinuxFocus schicken |
Autoren und Übersetzer:
|
2001-10-17, generated by lfparser version 2.19