Original in en Georges Tarbouriech
en to de Hubert Kai�er
Georges benutzt Unix schon seit langem. Seiner Meinung nach ist
Computersicherheit eine der gro�en Herausforderungen dieses
Jahrhunderts.
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-Server
Um 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?