|
|
Dieses Dokument ist verfübar auf: 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-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?
|
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