BSI    Intevation    DN-Systems    Nessus

BSI Nessus Live CD BOSS

(BSI OSS Security Suite) - Version 1.1

Diese Live-CD stellt das Ergebnis des Projektes BOSS (BSI Opensource Security Suite) dar, welches vom Bundesamt fⁿr Sicherheit in der Informationstechnik (BSI) beauftragt und von den Unternehmen Intevation GmbH (Projekt-Management, GUI-Entwicklungen), DN-Systems Enterprise Internet Solutions GmbH (Sicherheitsarchitektur, Server-Entwicklungen) sowie Nessus Consulting SARL (Unterstⁿtzung bei Integration in Nessus) realisiert wurde.

Darⁿber hinaus sind diverse weitere Sicherheits-Analyse-Werkzeuge auf der Live-CD installiert.

Inhalt dieser Info-Seiten

Einleitung
  ▄ber das BOSS-Projekt
  BOSS Einsatz-Szenarien
    Szenario A: Einzelner PC ⁿber DSL/Modem ans Internet angebunden
    Szenario B: Kleines (Unternehmens-)Netzwerk
    Szenario C: Komplexes Unternehmens-Netzwerk mit verschiedenen Subnetzen
  Technische ▄bersicht: Die Elemente von BOSS
Nessus ⁿber Live-CD verwenden
Weitere Sicherheitswerkzeuge ⁿber Live-CD verwenden
  nmapfe: Graphische OberflΣche fⁿr den Portscanner nmap
  Ethereal: Graphische OberflΣche fⁿr Analyse von Netzwerk-Verkehr
  netcat: Datenⁿbertragung im LAN
  ngrep: grep fⁿr das Netzwerk
  ntop: Netzwerk-Monitor
Installation der BOSS Komponenten (Nessus und SLAD)
  Debian GNU/Linux 3.0 (Woody)
  Fedora Core 3
  SUSE Linux 9.2
  Windows XP SP2
  Weitere Hinweise zur Nessus-Server-Installation
CVE und CAN Infos von Mitre
Infos zu Nessus Plugins
Dokumente
Quelltexte
Allgemeine Hinweise
  Verwendung von SSH-Tests (Nessus Local Security Checks)
  Kurzanleitung SLAD
  Der erste Scan auf Fedora/SUSE
  John-the-Ripper
  Nessus Plugins installieren/aktualisieren
  Erhalt der Quelltext CDs

Einleitung

▄ber das BOSS Projekt

Sicherheitslⁿcken in der Elektronischen Datenverarbeitung bedeuten fⁿr jede Beh÷rde und jedes Unternehmen sowie auch fⁿr jeden privaten Anwender die Gefahr viel Geld oder viel Arbeitszeit zu verlieren. Die absolute Sicherheit gibt es bekannterma▀en nicht, aber es gibt Freie Software Produkte die einem sehr viel Arbeit bei der Suche nach Sicherheitsproblemen und deren L÷sung abnehmen k÷nnen.

Das BSI hat im Jahr 2005 ein Entwicklungsvorhaben abgeschlossen, das sich zum Ziel gesetzt hatte unter einer leicht bedienbaren und deutschsprachiger grafischer OberflΣche die zentrale Verwaltung und Steuerung von Sicherheits-Scans fⁿr alles Systeme im Netz durchfⁿhren zu k÷nnen. Hilfestellungen und einfache Konfigurationsm÷glichkeiten sollten es einem Nutzer hierbei einfach machen die wichtigen Sicherheits-Scans zentral durchzufⁿhren und auszuwerten. Eine weitere wesentliche Anforderung war die Einbindung verschiedener lokaler Open Source Sicherheitssoftware, deren Prⁿfergebnisse das netzweite Sicherheits-Auditing ergΣnzen sollte. Weitere Sicherheitssoftware sollte in die BOSS-OberflΣche leicht integriert werden k÷nnen.

Die unter diesen Anforderungen entwickelte Freie Software L÷sung BOSS (BSI Opensource Security Suite) baut im Wesentlich auf dem bewΣhrten Sicherheits-Scanner Nessus auf. Hinzugekommen ist neben der deutschen grafischen OberflΣche der Security Local Auditing Daemon (SLAD), der die Steuerung der angebundenen lokalen Sicherheitssoftware ⁿbernimmt. Die Benutzerfreundlichkeit wurde mit der neue BOSS-OberflΣche wesentlich erweitert. Durch den entwickelten SLAD verfⁿgt Nessus jetzt ⁿber die M÷glichkeit Ziel-Systeme auch intensiv von innen her auf Schwachstellen oder gar bereits erfolgreiche Angriffe zu prⁿfen. Die zentrale, erleichterte Steuerung und Auswertung vereinfacht damit das zentrale organisationsweite Sicherheits-Auditing. Hiermit werden fⁿr das Aufspⁿren von Sicherheitsproblemen in der beh÷rden- bzw. unternehmensweiten Informationstechnik neue Ma▀stΣbe gesetzt.

Fⁿr Nessus existieren derzeit ⁿber 7000 Plugins fⁿr die Prⁿfung auf verschiedenste Sicherheitslⁿcken aller relevanten Betriebssysteme und Netzwerk-Produkte. TΣglich kommen neue hinzu. Der SLAD steuert jetzt schon die wichtigen Sicherheitsmodule TIGER, John-the-Ripper, Tripwire, LSOF, ClamAV Antivirus und Chkrootkit.

BOSS Einsatz-Szenarien

Die im folgenden beschriebenen Einsatz-Szenarien stellen typische Situationen vom Heim-Anwender bis zum Unternehmenskonzern dar. Es werden jeweils besondere Aspekte oder Tipps erwΣhnt. Natⁿrlich k÷nnen nicht alle m÷glichen Kombinationen und System-Zusammensetzungen berⁿcksichtigt werden. Es gibt also in der Regel immer noch weitere Varianten fⁿr die Durchfⁿhrung der Prⁿfungen.

Szenario A: Einzelner PC ⁿber DSL/Modem ans Internet angebunden

Sie wollen prⁿfen ob Ihr PC bei Angriffen aus dem Internet Gefahr lΣuft, durch eine Sicherheitslⁿcke manipuliert oder missbraucht zu werden.

Seien Sie sich zunΣchst bewusst, dass solche Angriffe nicht die Ausnahme sondern die Regel sind. Es laufen permanent automatisierte Scans und Angriffe, so dass jeder direkt an das Internet angeschlossene Rechner regelmΣ▀ig von ihnen heimgesucht wird.

Wird ein Dienst mit einer bekannten Sicherheitslⁿcke gefunden, so ist es fⁿr einen Angreifer leicht diese auszunutzen und einen Schaden auf Ihrem System zu verursachen. Heutzutage geschieht dies meist schon voll-automatisch durch die Software des Angreifers oder durch die Unmenge an Internet-Wⁿrmern. Oftmals werden die auf diese Weise kompromitierten Rechner als Trittbrett benutzt, um weitere Angriffe durchzufⁿhren. Dadurch wird Ihr Rechner zu einer akuten Gefahr fⁿr andere!

Es gibt zwei Grundregeln um die Wahrscheinlichkeit eines erfolgreichen Angriffs zu verringern:

Grundregel 1: Installieren Sie grundsΣtzlich alle vom Hersteller Ihres Systems bereitgestellten Sicherheits-Updates umgehend sobald sie zur Verfⁿgung gestellt werden.
Grundregel 2: Schalten Sie alle Internet-Dienste die Sie nicht ben÷tigen auf dem System ab.

Nessus kann indirekt prⁿfen (und bei entsprechender Installation sogar direkt, siehe Nessus Local Security Checks) ob Sie die beiden Grundregeln befolgt haben. Manchmal werden Sicherheits-Updates nicht zⁿgig genug bereitgestellt und manchmal ist es nicht ganz einfach das System so zu konfigurieren dass alles Unn÷tige abgeschaltet ist. Daher ist eine zusΣtzliche Prⁿfung mit Nessus in jedem Fall sinnvoll. Nessus geht auf dem gleichen Weg an Ihr System heran wie es ein Angreifer tun wⁿrde.

Ganz allgemein gilt: Auch wenn Nessus nichts findet bedeutet es nicht, dass nicht doch eine Sicherheitslⁿcke auf Ihrem System existiert. Das gilt umso mehr wenn die Plugins von Nessus nicht zeitnah aktualisiert wurden. Absolute Sicherheit gibt es grundsΣtzlich nicht.

Variante a: Windows-System mit einfachem (DSL-)Modem:

Bei dieser Situation k÷nnen Sie Ihr System nur von au▀en ⁿber das Internet prⁿfen, also den gleichen Weg gehen wie potentielle Angreifer. Dazu mⁿssen Sie einen mit dieser Live-CD gebooteten zweiten Rechner mit Internet-Zugang versehen oder Nessus entsprechend der Anleitung auf einem anderen (Linux!)-Rechner installieren welcher selbst Internet-Zugang hat.

Bereiten Sie zunΣchst den zweiten Rechner so vor, dass Sie mit Nessus einen Scan auf Rechner im Internet starten k÷nnen.

Starten Sie die Internet-Verbindung mit Ihrem Windows-System. Sie erhalten dann automatisch eine Internet-weite, eindeutige Kennung, die sogenannte IP-Adresse. In der Regel erhalten Sie bei jeder neuen Einwahl eine andere. Diese IP-Adresse wird als Zielangabe fⁿr Nessus ben÷tigt.

Nachdem Sie sich in das Internet eingewΣhlt haben, finden Sie die Ihnen zugewiesene IP-Adresse wie folgt heraus: Starten Sie eine Eingabeaufforderung (Programme/Zubeh÷r) und geben sie das Kommando "ipconfig" ein. Dort wird Ihre IP-Adresse aufgelistet, z.B. "192.0.2.152".

Geben Sie die gefundene IP-Adresse als Ziel bei Nessus an und starten Sie den Scan. Sie k÷nnen z.B. den Scan-Assistenten dafⁿr verwenden.

Achtung: Beachten Sie hier zwei Punkte: Achten Sie peinlich genau darauf, dass Sie sich nicht bei der IP-Adresse vertippen und dass Ihr zu prⁿfendes System zu genau diesem Zeitpunkt auch wirklich diese IP-Adresse hat. Wenn die Internetverbindung unterbrochen wird, muss ein Nessus-Scan deshalb unbedingt abgebrochen werden! Au▀erdem kann Ihr Rechner, falls tatsΣchlich Sicherheitslⁿcken oder technische Fehler vorhanden sind, durch einen Scan mit Nessus beeintrΣchtigt oder zum Absturz gebracht werden.

Variante b: GNU/Linux-System mit einfachem (DSL-)Modem:

Diese Situation ist etwas einfacher als Variante (a), falls Sie Nessus auf Ihrem System installieren k÷nnen/wollen. Andernfalls gehen Sie wie bei Variante (a) vor, nur dass Sie das Kommando "ifconfig" (muss evtl. als /sbin/ifconfig oder als Administrator aufgerufen werden) verwenden mⁿssen. Ignorieren Sie den Eintrag "lo", dieser bezeichnet keine Internet-Verbindung. Wahrscheinlich wird Ihre IP-Adresse beim Interface "ppp0" als "inet addr" oder "inet Adresse" genannt.

Haben Sie sich entschlossen, Nessus auf Ihrem PC direkt zu installieren, so geben Sie beim Scan als Ziel "localhost" oder "127.0.0.1" ein. Das ist eine Abkⁿrzung - Sie brauchen also nicht einmal eine Internet-Verbindung starten.

Hierbei werden auch Dienste getestet, die m÷glicherweise nicht von au▀en erreichbar sind. Sicherheitsprobleme in solchen Diensten k÷nnten aber z.B. von anderen Benutzern auf Ihrem System ausgenutzt werden.

Achtung: Falls tatsΣchlich Sicherheitslⁿcken oder technische Fehler vorhanden sind, kann Ihr Rechner durch einen Scan mit Nessus beeintrΣchtigt oder zum Absturz gebracht werden.

Variante c: Irgendein PC mit DSL-Router anstatt Modem:

Ein sogenannter DSL-Router ist vergleichbar mit einem kleinen PC, der fⁿr die Verbindung mit dem Internet zustΣndig ist und mehreren EndgerΣten erlaubt, diese Internet-Verbindung zu nutzen. Au▀erdem sind die EndgerΣte dann auch untereinander vernetzt. Je nach Ausfⁿhrung sind es Kabel- und/oder WLAN-Verbindungen.

Ihr PC ist also gar nicht mehr direkt an das Internet angeschlossen, sondern der Router. Der Router beinhaltet normalerweise einen Filter, der je nach Konfiguration nicht alle Zugriffe nach au▀en und meist nur wenige Zugriffe aus dem Internet erlaubt.

Es gibt jetzt also bereits zwei Angriffswege: ▄ber das Internet und ⁿber die anderen EndgerΣte (z.B. ein fremder WLAN-PC). Der Angriff ⁿber das Internet ist weiterhin der wahrscheinlichste, die anderen Wege aber durchaus m÷glich und gerade bei WLAN zunehmend relevant. Sie k÷nnen daher drei Tests durchfⁿhren:

  1. Prⁿfung des Router ⁿber das Internet: Gehen Sie wie bei Variante (a) vor, nur dass Sie diesmal die externe IP-Adresse des Routers angeben mⁿssen, nicht die des PCs. Wie Sie diese herausfinden, entnehmen Sie bitte der Dokumentation Ihres Routers - oft gibt es ein Web-Interface in dem Sie alles finden. Beachten Sie, dass Sie hierfⁿr in jedem Fall vorher eine Internetverbindung aufbauen mⁿssen.

  2. Prⁿfung des Router vom EndgerΣt aus: Der Router bietet nach innen hin andere Dienste als nach au▀en, z.B. das Web-Interface zur Konfiguration. Weist der Router hier Sicherheitslⁿcken auf, so kann ein EndgerΣt den Router angreifen und missbrauchen, z.B. ⁿber WLAN. Prⁿfen Sie den Router indem Sie mit einem EndgerΣt via Nessus prⁿfen. Dafⁿr k÷nnen Sie entweder Ihren PC mit der Live-CD booten oder, falls Sie Linux verwenden, auch Nessus direkt dort installieren. Geben Sie als Ziel fⁿr den Scan die interne IP-Adresse des Routers an (siehe Router-Dokumentation).

    Achtung: Beachten Sie hier zwei Punkte: Erstens kann Ihr Router, falls tatsΣchlich Sicherheitslⁿcken oder technische Fehler vorhanden sind, durch einen Scan mit Nessus zum Absturz gebracht werden und dabei sogar dauerhaft beschΣdigt werden. Zweitens sind derzeit nur sehr wenige Nessus Plugins fⁿr einfache Router verfⁿgbar. Einige Router basieren allerdings auf GNU/Linux, so dass hier die gleichen Plugins wie fⁿr den Scan eines normalen PCs sinnvoll sind.

  3. Prⁿfung des PCs ⁿber ein weiteres EndgerΣt: ein weiteres EndgerΣt kann nicht nur den Router angreifen sondern auch die anderen EndgerΣte. Gehen Sie wie bei Variante (a) bzw. (b) vor um die interne IP-Adresse Ihres PCs zu ermitteln, sie wird normalerweise in einem der folgenden Bereiche liegen, wobei "*" eine Zahl zwischen 0 und 255 sein kann:
    • 192.168.*.*
    • 10.*.*.*
    • 172.16.*.* bis 172.31.*.*
    Starten Sie dann Nessus auf einem weiteren EndgerΣt und geben Sie die interne IP-Adresse als Ziel an.

Szenario B: Kleines (Unternehmens-)Netzwerk

Ein kleines Netzwerk zeichnet sich typischerweise durch eine gewissen Anzahl (oft zwischen 5 und 50) verschiedener Systeme (Arbeitsplatzrechner und Server) mit ggf. unterschiedlichen Betriebssystemen aus. Au▀erdem ist oft ein eigener E-Mail-Server und permanente Internet-Verbindung vorhanden. Die Internet-Verbindung lΣuft zentral durch genau eine Firewall.

Man kann auch hier drei Angriffs-Wege unterscheiden: Direkt ⁿber das Internet auf die Firewall, ⁿber einen als weiteres EndgerΣt in Ihrem Netzwerk angeschlossenen PC oder Laptop oder von einem Ihrer eigenen Rechner aus. Letzteres kann z.B. passieren wenn auf unvorsichtige Weise fremde E-Mails oder Programme ausgefⁿhrt werden, im schlimmsten Fall sogar als Administrator also mit dessen umfassenden Rechten das System zu verΣndern.

Die Grundregeln wie bei Szenario A haben natⁿrlich auch fⁿr ein Unternehmens-Netzwerk Gⁿltigkeit. Ihre Befolgung geh÷rt zur Standard-Aufgabe eines Systemadministrators. Wichtig ist immer, dass alle Benutzer informiert werden, bevor ein Nessus Scan durchgefⁿhrt wird, andernfalls k÷nnte Verwirrung und viele Rⁿckfragen aufgrund von Netzwerkverlangsamung oder SystemausfΣllen entstehen.

Die Prⁿfung auf Sicherheitslⁿcken sollte fⁿr Ihr Netzwerk ebenfalls zur Standard-Aufgabe werden. Mit dieser Live-CD k÷nnen Sie eine Probe-Prⁿfung fⁿr die Systeme des Netzwerkes durchfⁿhren. Sie sollten aber eine permanente Installation von Nessus auf einem GNU/Linux System in Betracht ziehen. Dort k÷nnen Sie dann aktuelle Plugins nachladen und jeweils auf aktuelle Sicherheitslⁿcken prⁿfen.

Bereich a: Prⁿfung aller Arbeitsplatzrechner:

Im Nessus GTK Klienten k÷nnen Sie mehrere Rechner gleichzeitig als Ziel angeben. Am besten erstellen Sie sich fⁿr die Aufgabe Ihr Netz zu prⁿfen einen Bereich fⁿr die Arbeitsplatzrechner. Sie k÷nnen bei der Angabe der Ziele auch die Namen und nicht die IP-Adressen verwenden, also z.B. "desktop1.example, desktop2.example", was besonders bei dynamischer IP-Vergabe zum empfehlen ist. Eventuell haben Sie auch alle Arbeitsplatzrechner in einem Subnetz zusammengefasst. Dieses k÷nnen Sie mit einer Subnetz-Maske als Ziel angeben, z.B.: "192.168.20.0/24".

Das Scannen der Systeme kann unter UmstΣnden einige Zeit in Anspruch nehmen. Lesen Sie im Benutzerhandbuch zu Nessus nach, welche Punkte Sie beachten sollten wenn Sie viele Rechner gleichzeitig prⁿfen.

Wenn Sie sich nicht sicher sind ob auf den Arbeitsplatzrechnern auch alle aktuellen Sicherheits-Updates eingespielt wurden und Sie dies in Zukunft regelmΣ▀ig ⁿber Nessus prⁿfen wollen, so sollten Sie sich die Dokumentation zu den "Nessus Local Security Checks" durchlesen. Im Prinzip erlaubt man Nessus sich in die Zielsysteme einzuloggen und abzufragen welche Pakete installiert sind.

Achtung: Haben Sie eigenstΣndig ─nderungen an den Systemen vorgenommen, k÷nnen die lokalen Sicherheitsprⁿfungen falsche Resultate liefern. Es werden in jedem Fall nur die Programmpakete ⁿberprⁿft, die Sie direkt von Ihrem Distributor erhalten haben.

Bereich b: Prⁿfung der internen Server:

Die Sicherheit Ihrer internen Server ist besonders wichtig. Aber auch, dass sie m÷glichst immer erreichbar sind. Seien Sie sich bewusst, dass ein Scan auf einen Server unerwⁿnschte Nebeneffekte haben kann, z.B. eine Verlangsamung falls Sie alle Ports des Server scannen oder dass Dienste blockiert werden. Im schlimmsten Fall kann der Server nicht mehr erreichbar sein oder sogar abstⁿrzen, falls entsprechende Sicherheitslⁿcken vorhanden sind. Es ist natⁿrlich wichtig solche Probleme aufzufinden, am besten aber nicht zur regulΣren Arbeitszeit bei einem ben÷tigten Server.

Bereich c: Prⁿfung von GNU/Linux-Systemen:

Bei GNU/Linux-Systemen steht Ihnen mit SLAD noch eine weitere M÷glichkeit zur Verfⁿgung, Prⁿfungen fⁿr die Sicherheit durchzufⁿhren.

Besonders empfehlenswert ist der Test auf schwache Passworte. Wenn Sie einen zentralen NIS Server haben, so k÷nnen Sie dort z.B. SLAD installieren und eine weitere Aufgabe in Nessus einrichten, die ⁿber SLAD John-the-Ripper aufruft. Je nach Mitarbeiterfluktuation sollten Sie das alle paar Wochen oder Monate einmal durchfⁿhren.

Ein weiterer Test, den Sie regelmΣ▀ig oder bei Verdacht durchfⁿhren sollten ist die Prⁿfung ob jemand auf Ihre Systeme eingedrungen ist und sich Hintertⁿren eingebaut hat (z.B. TIGER und Chkrootkit).

Bereich d: Test einer einfachen Firewall:

Ihr Firmennetz ist entweder ⁿber einen entsprechend als Firewall konfigurierten PC oder mit einer Hardware-Firewall an das Internet angebunden.

Haben Sie die Firewall bisher noch nie geprⁿft, so sollten Sie sie genau wie einen DSL-Router, wie in Szenario A, Variante c beschrieben, mindestens einmal mit Nessus scannen.

Sind die Regelwerke fⁿr die Berechtigungen auf der Firewall kompliziert geworden, so sollten Sie nach einer erneuten ─nderung einen vollstΣndigen Scan der Firewall durchfⁿhren.

Bei den Nessus Plugins gibt es ⁿbrigens eine eigene Gruppe fⁿr Hardware-Firewalls.

Bereich e: Betrieb einer DMZ mit Internet-Servern:

In einer DMZ (DeMilitarisierten Zone) werden ⁿblicherweise Server untergebracht die Dienste nach au▀en liefern, z.B. Webserver. Diese Zone ist getrennt vom eigentlichen internen Netzwerk.

In der Regel handelt es sich um geschΣftskritische Server. Seien Sie hier besonders umsichtig falls Sie einen Scan mit Nessus durchfⁿhren. Wenn m÷glich, sollten Sie fⁿr wichtige Server die Tests machen bevor Sie ihn in Betrieb gehen lassen (also in der sogenannten Staging-Phase). Das gilt im Idealfall auch fⁿr alle spΣteren Aktualisierungen des Servers.

Verfⁿgen Sie ⁿber eine Staging-Phase ist auch ein aggressiver Nessus Scan sehr sinnvoll, also mit deaktivierter Option "Sichere Prⁿfungen". Hat der Server eine Lⁿcke durch die das System beschΣdigt werden k÷nnte, dann ist es besser diese auf einem Test-System als im produktiv Betrieb herauszufinden.

Da die DMZ meistens auch vom internen Netzwerk abgeschottet ist, kann auch eine Prⁿfung innerhalb der DMZ, z.B. mit einem temporΣr in die DMZ gestellten Rechner oder einem aus dem LAN erreichbaren Nessus Server, sinnvoll sein.

Szenario C: Komplexes Unternehmens-Netzwerk mit verschiedenen Subnetzen

Fⁿr komplexe Netze gelten natⁿrlich wiederum auch die Regeln wie fⁿr kleinere Netze. Es kommen aber zumeist weitere Aspekte hinzu:

Identifikation

Im Unterschied zu kleineren Netzen kennen Sie oft nicht mehr alle angeschlossenen Systeme. Eine blinde Prⁿfung auf alle IP-Adressen eines solchen Subnetzes kann sehr leicht zu unerwⁿnschten AusfΣllen fⁿhren.

IP-GerΣte

In gro▀en Netzwerken sind in der Regel auch verschiedene GerΣte mit direktem Netzwerkanschluss vorhanden. Beispiele dafⁿr sind Drucker oder ▄berwachungskameras. Es hat sich gezeigt, dass sehr viele solcher GerΣte eine fehlerhafte Implementationen von Netzwerkprotokollen enthalten. Schon der Portscan am Anfang eines Nessus-Scans kann zum Ausfall fⁿhren, oder, im Fall von Druckern, sogar zu seitenlangen sinnlosen Ausdrucken. Schlie▀en Sie diese GerΣte zunΣchst von den Scans aus und prⁿfen Sie sie einzeln auf deren StabilitΣt, wenn sie gerade nicht ben÷tigt werden.

Getrennte Netze

Hat das Unternehmen mehrere voneinander weitgehend getrennte Netze (z.B. durch Masquerading oder durch verschiedene Standorte), so ist es wie bei einer DMZ notwendig in jedem dieser Netze einen eigenen Nessus Server zu installieren. Andernfalls kann nicht auf die Rechner zugegriffen werden - die Angaben der Ziele sind relativ gesehen von dem Nessus Server aus zu verwenden.

Beispiel: Der IP-Bereich 192.168.12.* wird in zwei getrennten Teilnetzen verwendet werden. Es ist Ihnen dann unm÷glich von einem dieser Netze aus das andere zu Scannen.

Solange aber der Port fⁿr den Nessus Scanner entsprechend erreichbar ist reicht eine einzige Installation des Nessus Klienten aus, alle Nessus Server der verschiedenen Teilbereich zu steuern.

Technische ▄bersicht: Die Elemente von BOSS

BOSS ist ein Werkzeug fⁿr Sicherheits-Auditing von einzelnen Systemen oder ganzen Gruppen von Rechnern (Subnetzen).

Fⁿr die Durchfⁿhrung des Auditing werden vier Elemente unterschieden:

Die Realisierung fⁿr BOSS baut auf dem Produkt Nessus auf. Dabei ⁿbernimmt der Nessus Klient die Aufgabe des Managers und der Nessus Server die Aufgabe des Agenten.

Das spezielle Modul fⁿr das Lokalauditing wurde neu entwickelt: SLAD = Security Local Auditing Daemon.

Das Zusammenwirken der Komponenten Nessus Klient, Nessus Server und SLAD ist im folgenden skizziert. Es gibt dabei eine Reihe von Einsatz-Szenarien, von denen hier beispielhaft vier KomplexitΣtsstufen beschrieben werden:

KomplexitΣtsstufen der Einsatz-Szenarien

Stufe 0: Privat-Anwender

Es ist also insbesondere m÷glich, Nessus Klient, Nessus Server und SLAD auf einem einzigen GNU/Linux-Rechner zu installieren und diesen dann mit Nessus, John-the-Ripper, etc. durchzutesten. Dieses Szenario ist typisch fⁿr normale Privat-Anwender.

Stufe 1: BSI Nessus Live CD BOSS

Die einfachste Anwendung der Auditing Werkzeuge mit Nessus kann mit der BSI Nessus Live CD BOSS durchgefⁿhrt werden. Sie wird fⁿr ein beliebiges (jedes auf dem die aktuelle zugrunde liegende Live CD bootet) x86-System gebootet und stellt sowohl Agent wie Manager zur Verfⁿgung.

Mit entsprechender Netzwerk-Anbindung kann dann von diesem System eine Prⁿfung anderer Rechner erfolgen. Ggf. k÷nnen im Netz stehende GNU/Linux Rechner noch mit SLAD ausgestattet werden, um John-the-Ripper etc. dort auszufⁿhren.

Stufe 2: Einfache Manager-Agent Installation

Als nΣchste Stufe ist eine feste Installation von Nessus Klient OberflΣche und Nessus Server (also Manager und Agent) auf einem Rechner anzusehen. Bei diesem handelt es sich dann um einen GNU/Linux-Rechner, da der Agent fⁿr dieses System ausgelegt ist.

Entsprechend zu Stufe 1 k÷nnen nun die Systeme im Netz geprⁿft werden.

Stufe 3: Komplexe Manager-Agent Installation

Die h÷chste Stufe ist eine komplexere Variante von Stufe 2. Es ist m÷glich, mehrere Manager wie auch Agenten im Netz zu installieren und von beliebigen Managern beliebige Agenten fⁿr die Prⁿfung der Zielsysteme zu steuern.

Auch hier k÷nnen natⁿrlich GNU/Linux-Systeme sowohl Agent wie Manager beinhalten. Windows-Rechner sind reine Manager-Systeme. Sowohl Manager als auch Agenten-Systeme k÷nnen selbst wieder Zielsystem sein und bei Bedarf mit SLAD ausgestattet werden.

Nessus ⁿber Live-CD verwenden

Auf der Live-CD ist sowohl der Nessus GTK Klient installiert als auch der Nessus Server.

Starten Sie den Nessus GTK Klienten aus der Programmleiste in dem Sie auf das entsprechende Icon klicken.

Alles weitere ist voreingestellt fⁿr einen Standard-Test des Live-CD Systems. Sie k÷nnen also beispielsweise ⁿber den Scan-Assistenten durch einfaches durchklicken sofort den ersten Scan starten.

Nessus Server hat den Benutzer "knoppix" eingetragen mit dem Passwort: "knoppix".

Sie k÷nnen nun weitere Ziele in Ihrem Netzwerk auswΣhlen. Seien Sie dabei entsprechend vorsichtig und lesen Sie zuvor diese Dokumentation sowie die Nessus Dokumente auf die verwiesen wird.

Weitere Sicherheitswerkzeuge ⁿber Live-CD verwenden

Auf dieser Live-CD sind weitere Sicherheitswerkzeuge direkt installiert. Die CD enthΣlt keine Installationspakete fⁿr andere Systeme, sie sollten aber oft bereits bei den Betriebssystemen (au▀er bei Windows) enthalten oder leicht nachinstallierbar sein.

Neben den im folgenden beschriebenen Programmen (Sie finden entsprechende Start-Icons auf dem Desktop) wurden auch gpart, grub, hping, stunnel und wipe installiert. Diese werden hier nicht weiter erklΣrt - verwenden Sie sie nur wenn Sie diese Programme bereits kennen.

nmapfe: Graphische OberflΣche fⁿr den Portscanner nmap

NmapFE ist eine transparente graphische BenutzeroberflΣche fⁿr Nmap. Alle Einstellungen die Sie in den Dialogen machen werden umgesetzt auf den entsprechenden Kommandozeilen-Aufruf von Nmap der unten im Dialog zu sehen ist. Man kann NmapFE als normaler Benutzer verwenden, muss also nicht Administrator sein.

Sie k÷nnen nach dem Aufruf sofort den Knopf "Scan" betΣtigen und machen damit ▄berprⁿfung aller Ports an System der Live-CD. Das geht recht schnell und bringt eine farbkodierte Ergebnis-Tabelle:

Achten Sie auch hier darauf, keine Ziele (Targets) anzugeben die nicht Ihnen geh÷ren oder fⁿr die Sie keine explizite Genehmigung haben sie zu scannen. Haben Sie die Live-CD in Ihrem Netzwerk gestartet, so k÷nnen Sie jetzt einen Ihrer Rechner mit Namen oder IP angeben und ebenfalls scannen.

Mit den Voreinstellungen haben Sie bisher nur die ⁿblichen bekannten Ports mit NmapFE abgefragt. Schalten Sie bei "Scanned Ports" auf "All" und wiederholen Sie die Scans. Nun werden wirklich alle m÷glichen Ports geprⁿft. Das kann unter UmstΣnden ein wenig lΣnger dauern, in der Regel aber weniger als eine Minute.

▄brigens kann das zugrunde liegende Nmap auch von Nessus aus verwendet werden und dient als Grundlage dafⁿr, welche Ports nΣher untersucht werden sollen.

Ethereal: Graphische OberflΣche fⁿr Analyse von Netzwerk-Verkehr

Mit Ethereal kann man interaktiv die Inhalte von Netzwerkpaketen analysieren. Das kann entweder als direkter Mitschnitt des Netzwerk-Verkehr an Ihrem System erfolgen oder als Analyse eines in einer Datei gespeicherten Mitschnitts. Ethereal verwendet dabei das verbreitete libpcap Format und kann daher die Mitschnitte von einer ganzen Reihe von entsprechenden Werkzeugen analysieren.

Wollen Sie mit Ethereal direkt den Netzwerk-Verkehr Ihres Systems analysieren, so mⁿssen Sie Ethereal als Administrator starten. Die Analyse einer Datei kann auch als normaler Benutzer erfolgen.

Starten Sie Ethereal und wΣhlen Sie das Start-Icon ganz links (Start a new live capture). ▄bernehmen Sie die voreingestellten Parameter mit OK und Stoppen Sie den Mitschnitt nach wenigen Sekunden. Sie sehen nun eine Liste der mitgeschnittenen Pakete. Sie k÷nnen sie einzeln mit der Maus anwΣhlen und sehen dann im unteren Fensterbereich den rohen Inhalt des Paketes.

Der Umfang des Mitschnitts kann sehr schnell sehr umfangreich werden. Ethereal bietet zahlreiche M÷glichkeiten, die Analyse zu vereinfachen in dem man auf bestimmte Eigenschaften filtern kann. Insbesondere beim einem direkten Mitschnitt ist dies sehr hilfreich, denn es k÷nnen sehr schnell mehrere Megabyte an Daten entstehen die Ihr System nicht mehr wegsichern kann.

Die FunktionalitΣt von Ethereal ist recht umfangreich und kann an dieser Stelle nicht weiter ausgefⁿhrt werden. Fⁿr die ersten Analysen sollten Sie sich aber die Text unter dem Menⁿpunkt Help/Contents durchlesen.

netcat: Datenⁿbertragung im LAN

NetCat ist ein kleines Werkzeug um Daten im Netzwerk ⁿber das TCP- oder UDP-Protokoll zu lesen oder zu schreiben. Es wurde zur Verwendung in anderen Skripts oder Programmen konzipiert, bietet aber auch allein viele M÷glichkeiten zur Analyse oder Beobachtung von Datenⁿbertragungen.

Der Befehl netcat (oder kurz: nc) besitzt Optionen fⁿr verschiedene AnwendungsfΣlle. Eine kurze Auflistung erhalten Sie, wenn Sie den Befehl nc -h eingeben.

Die beiden einfachsten Funktionen k÷nnen Sie ⁿber das auf dieser CD enthaltene NetCat-Icon ausprobieren:

netcat als Server

Klicken Sie auf das NetCat-Icon, und ⁿbernehmen Sie alle Voreinstellungen mit der Eingabetaste. Auf dem Bildschirm sollte nun folgendes erscheinen:
BOSS Live CD: NetCat Simple GUI - (c) 2005 by DN-Systems GmbH
NetCat hoert auf Port 8000
Befehl: /bin/netcat -l -p 8000
Mit Strg-C koennen Sie NetCat beenden.
-------------------------------------------------------------------
Jetzt k÷nnen Sie z.B. beobachten, wie Ihr Webbrowser eine Anfrage an einen Webserver stellen wⁿrde, in dem Sie auf die URL http://localhost:8000/anfrage klicken.

Sie k÷nnen nun im NetCat-Fenster eine Antwort an den Webbrowser formulieren, z.B. "Hallo" gefolgt von der Eingabetaste. Ihre Eingabe wird angezeigt, sobald Sie netcat mit Strg-C beenden.

netcat als Klient

Starten Sie wie im vorigen Punkt beschrieben einen NetCat-Server auf TCP-Port 8000, aber klicken Sie bitte nicht auf den angegebenen Link.

Klicken Sie ein zweites Mal auf das NetCat-Icon, um ein zweites NetCat-Fenster zu erhalten. WΣhlen Sie diesmal nicht den listen-Modus aus, aber ⁿbernehmen Sie alle weiteren Voreinstellungen mit der Eingabetaste. Auf dem Bildschirm sollte nun folgendes erscheinen:

BOSS Live CD: NetCat Simple GUI - (c) 2005 by DN-Systems GmbH
Starte NetCat-Verbindung zu localhost auf Port 8000
Befehl: /bin/netcat localhost 8000
Mit Strg-C koennen Sie NetCat beenden.
-------------------------------------------------------------------
Jetzt k÷nnen Sie in beiden NetCat-Fenstern Texte eingeben, die nach Drⁿcken der Eingabetaste im jeweils anderen Fenster erscheinen. Sobald Sie in einem der beiden Fenster netcat mit Strg-C beenden, beendet sich automatisch auch das zweite netcat.

NetCat kann auch dazu benutzt werden, den Unterschied zwischen dem verbindungsorientierten TCP (wie ein TelefongesprΣch) und dem verbindungslosen UDP, welches eher mit CB-Funk vergleichbar ist, zu zeigen. Wenn Sie obige Verbindung ⁿber UDP realisieren, in dem Sie die zweite Frage mit "Nein" beantworten, beendet sich das netcat auf der einen Seite nicht, sobald man es auf anderen Seite beendet. Vielleicht wird die andere Seite ja spΣter noch etwas "funken".

netcat als "Webbrowser"

Klicken Sie wieder auf das NetCat-Icon, um ein NetCat-Fenster zu erhalten. WΣhlen Sie auch diesmal nicht den listen-Modus aus, au▀erdem mⁿssen Sie jetzt die Adresse und den Port eines Ihnen bekannten Webservers eingeben. Auf der Live-CD lΣuft z.B. auf localhost Port 3000 der integrierte Webserver von ntop. Sobald NetCat gestartet ist, k÷nnen Sie die Anfrage formulieren:

GET / HTTP/1.0
Host: localhost
Wenn Sie mit einer weiteren Leerzeile die Eingabe beenden, schickt der Webserver die http-Header und getrennt durch eine Leerzeile den HTML-Code der aufgerufenen Seite.

ngrep: grep fⁿr das Netzwerk

Das Unix-Werkzeug grep dient zum Durchsuchen von Dateien nach bestimmten Inhalten. Analog dazu wurde ngrep entwickelt, um Netzwerkverkehr zu "durchsuchen".

Viele Programme verschicken ihre Informationen unverschlⁿsselt ⁿber das Netzwerk. Beispiele hierfⁿr sind Webbrowser (sofern kein https verwendet wird), E-Mail-Klienten (sofern diese nicht ⁿber eine SSL-Verbindung arbeiten) und auch Datei-Dienste wie Samba (Windows-Freigabe) oder NFS.

NGrep kann dazu benutzt werden, um aus einer Flut von unverschlⁿsselten Daten bestimmte "interessante" Informationen herauszufischen. Natⁿrlich besteht hier ein hohes Missbrauchspotential, aber es gibt auch legitime Einsatzgebiete:

Beispielanwendung: HTTP-Anfragen beobachten

Zuerst wird ein Pseudo-Webserver gestartet: Klicken Sie auf das NetCat-Icon, und ⁿbernehmen Sie alle Voreinstellungen mit der Eingabetaste.

Nun klicken Sie auf das NGrep-Icon, und ⁿbernehmen Sie alle Voreinstellungen (Suchen von HTTP-GET-Anfragen auf dem lokalen Rechner) mit der Eingabetaste. Auf dem Bildschirm sollte nun folgendes erscheinen:

BOSS Live CD: NGrep Simple GUI - (c) 2005 by DN-Systems GmbH
Befehl: /usr/bin/ngrep -q -d lo GET
Mit Strg-C koennen Sie NGrep beenden.
-------------------------------------------------------------------

Mit dem Webbrowser k÷nnen Sie nun eine Anfrage an den Pseudo-Webserver starten und im NGrep-Fenster beobachten, in dem Sie auf die URL http://localhost:8000/anfrage klicken. Wenn Sie das NGrep-Fenster fⁿr den folgenden Abschnitt ⁿber "ntop" aktiv lassen, k÷nnen Sie sich selbst belauschen, wie Sie Abfragen an den ntop-Webserver stellen.

ntop: Netzwerk-Monitor

ntop ist eine web-basierte Anwendung fⁿr das Monitoring des Netzwerks. Das Start-Icon auf der Live-CD ist nichts anderes als die URL http://localhost:3000/ die Sie auch hier direkt anwΣhlen k÷nnen.

Normalerweise lΣuft ntop als System-Dienst permanent im Hintergrund. Die Live-CD haben Sie vermutlich aber eben erst gestartet - daher sind die gesammelten Daten noch nicht sehr umfangreich. WΣhlen Sie z.B. "IP Summary" und dann "Traffic" an. Sie erhalten eine ▄bersicht zu den seit Start von ntop beobachteten Volumen des Netzwerkverkehrs. Sie sehen die Liste der Rechner die mit Ihrem System in Kontakt stehen.

WΣhlen Sie eines der System aus, so erhalten Sie eine detaillierte Aufschlⁿsselung fⁿr welche Dienste welche Datenmengen angefallen sind.

Unter "Summary" und dann "Network Load" sehen Sie die Auslastung Ihres Netzes als grafische Darstellung.

ntop bietet viele weitere M÷glichkeiten, die sie am besten selbst ausprobieren.

Installation der BOSS Komponenten (Nessus und SLAD)

Prinzipiell sind alle BOSS Komponenten voll in die jeweiligen Hauptentwicklungen der Produkte integriert.

Von dort sind die aktuellsten Version erhΣltlich bzw. werden die einzelnen GNU/Linux Distributionen entsprechend ihre Pakete aktualisieren, so dass man ggf. von dort neuere Installationspakete beziehen kann.

Die grundlegende Vorgehensweise der Installation entspricht den jeweils auf den Systemen ⁿblichen Methoden. Fⁿr Nessus ist dies zudem noch im Benutzerhandbuch erklΣrt.

Wird die Live CD nicht gebootet, so sind die BOSS Dateien unter

/boss
zu finden. Auf der Live CD liegen sie unter
/cdrom/boss
.

Ganz allgemein gilt die Regel, dass Sie fⁿr den Produktiv-Betrieb die ursprⁿngliche Dokumentation der Komponenten eingehend studieren mⁿssen, um Sicherheitsprobleme zu vermeiden!

Die hier beschriebenen Schritte sind nur zum Ausprobieren oder zum Einstieg in die Thematik geeignet.

Debian Woody

Achtung: Woody-Systeme bieten auch den Linux-Kern in Version 2.2 zur Installation an. SLAD ben÷tigt jedoch Version 2.4 oder neuer. Prⁿfen Sie vor Installation von SLAD nach ob die Kernel-Version ausreicht:
$ uname -a
Hinweis: Die Administrations-Skripte funktionieren bei Woody nicht auf Deutsch, da die entsprechende Version von gettext-base bei Woody dies noch nicht unterstⁿtzt. Ab Sarge oder mit entsprechenden Backports wird es unterstⁿtzt.

Tragen Sie folgende Zeile als Benutzer root in /etc/apt/sources.list ein:

deb file:/cdrom/boss/install/Debian woody boss
Fⁿhren Sie danach eine Aktualisierung der Datenbank bekannter Pakete aus:
# apt-get update

Nessus GTK Klient

Geben Sie als root ein:
# apt-get install nessus
Anschlie▀end k÷nnen Sie den Klienten entweder ⁿber die Kommandozeile starten:
$ nessus
oder ⁿber das Menⁿ im Ordner "Anwendungen->System".

Nessus Server

Geben Sie als root ein:
# apt-get install nessusd
Beachten Sie die Weiteren Hinweise zur Nessus-Server-Installation.

SLAD

Bitte beachten Sie bei der Eingabe der Passworte, dass sie lΣnger als 4 Zeichen sein mⁿssen!

Geben Sie als root ein:

# apt-get install slad
Lesen Sie sich die Hinweise sorgfΣltig durch.

Fedora Core 3

Falls fehlende Pakete erfragt werden, so installieren Sie diese von den Original-CDs. BOSS erfordert keine Pakete, die nicht dort enthalten sind.

Die Fedora Pakete liegen auf der CD unter boss/install/Fedora, wechseln Sie also vor der Installation das Verzeichnis:

# cd /media/cdrom/boss/install/Fedora

Nessus GTK Klient

Geben Sie als root ein:
# rpm --install libnessus-2.3.1-0.boss.i386.rpm
# rpm --install nessus-2.3.1-0.boss.i386.rpm
Fⁿr die Erstellung der PDF-Reports ben÷tigen Sie noch das Produkt "htmldoc" welches bei Fedora Core 3 nicht enthalten ist. Installieren Sie die folgenden Komponenten von der BOSS-CD direkt:
# rpm --install fltk-1.1.5-0.rc3.3.rhfc3.at.i386.rpm
# rpm --install htmldoc-1.8.23-2.rhfc3.at.i386.rpm
Anschlie▀end k÷nnen Sie den Klienten entweder ⁿber die Kommandozeile starten:
$ LANG=de_DE nessus
(LANG ist voreingestellt auf de_DE.UTF-8 was Umlautprobleme bei der Erstellung von PDF-Reports verursacht) oder ⁿber das Menⁿ im Ordner "Internet".

Nessus Server

Geben Sie als root ein:
# rpm --install libnessus-2.3.1-0.boss.i386.rpm
# rpm --install libnasl-2.3.1-0.boss.i386.rpm
# rpm --install nessus-server-2.3.1-0.boss.i386.rpm

Bei Fedora Core 3 muss zusΣtzlich zu den Hinweisen unten noch manuell ein Zertifikat fⁿr den Server erstellt werden, rufen Sie dazu folgendes Kommando als root auf:

# nessus-mkcert

Beachten Sie die Weiteren Hinweise zur Nessus-Server-Installation.

SLAD

Geben Sie als root ein:
# rpm --install slad-1.0rc6-0.boss.i386.rpm
Anders als bei Debian wird ein Standard-Passwort fⁿr den SSH-Schlⁿssel verwendet. Das Passwort fⁿr SLAD ist "sladpassphrase". Im Prinzip ist die Kenntnis des Passwortes nicht als kritisch zu betrachten (es wird teilweise im Klartext gespeichert). Wichtig ist, dass Sie den geheimen Schlⁿssel gut schⁿtzen. Lesen Sie dazu auch den Abschnitt zu Lokale Sicherheitstests im Benutzerhandbuch von Nessus.

SUSE 9.2

Verzichten Sie lieber auf die Verwendung von Yast, wenn Sie es noch nicht erfolgreich fⁿr Paket-Installationen verwendet haben und benutzen Sie die manuelle Installation mit rpm.

Falls fehlende Pakete erfragt werden, so installieren Sie diese von den Original-CDs. BOSS erfordert keine Pakete, die nicht dort enthalten sind.

Die SUSE Pakete liegen auf der CD unter boss/install/SUSE, wechseln Sie also vor der Installation das Verzeichnis: # cd /media/dvd/boss/install/SUSE/

Nessus GTK Klient

Geben Sie als root ein:
# rpm --install libnessus-2.3.1-0.boss.i586.rpm
# rpm --install nessus-2.3.1-0.boss.i586.rpm
Fⁿr die Erstellung der PDF-Reports ben÷tigen Sie noch das Produkt "htmldoc" welches bei der SUSE 9.2 Distribution dabei ist, aber nicht immer installiert wird. Installieren Sie die folgenden Komponenten entweder von der Original-CD oder direkt von der BOSS-CD:
# rpm --install fltk-1.1.4-82.i586.rpm
# rpm --install htmldoc-1.8.23-270.i586.rpm
Anschlie▀end k÷nnen Sie den Klienten entweder ⁿber die Kommandozeile starten:
$ LANG=de_DE nessus
(LANG ist voreingestellt auf de_DE.UTF-8 was Umlautprobleme bei der Erstellung von PDF-Reports verursacht) oder ⁿber das Menⁿ im Ordner "Internet->Weitere Programme".

Nessus Server

Geben Sie als root ein:
# rpm --install libnessus-2.3.1-0.boss.i586.rpm
# rpm --install libnasl-2.3.1-0.boss.i586.rpm
# rpm --install nmap-3.70-2.i586.rpm
# rpm --install nessus-server-2.3.1-0.boss.i586.rpm
(ggf. hatten Sie nmap noch nicht installiert. Dies befindet sich aber auf der SUSE 9.2 CD/DVD und auch als Kopie neben den nessus Paketen)

Bei SUSE 9.2 muss zusΣtzlich zu den Hinweisen unten noch manuell ein Zertifikat fⁿr den Server erstellt werden, rufen Sie dazu folgendes Kommando als root auf:

# nessus-mkcert

Beachten Sie die Weiteren Hinweise zur Nessus-Server-Installation.

SLAD

Geben Sie als root ein:
# rpm --install slad-1.0rc6-0.boss.i586.rpm
Anders als bei Debian wird ein Standard-Passwort fⁿr den SSH-Schlⁿssel verwendet. Das Passwort fⁿr SLAD ist "sladpassphrase". Im Prinzip ist die Kenntnis des Passwortes nicht als kritisch zu betrachten (es wird teilweise im Klartext gespeichert). Wichtig ist, dass Sie den geheimen Schlⁿssel gut schⁿtzen. Lesen Sie dazu auch den Abschnitt zu Lokale Sicherheitstests im Benutzerhandbuch von Nessus.

Windows XP SP2

Fⁿr Windows Systeme steht nur der Nessus GTK Klient zur Verfⁿgung. Getestet wurde ausschlie▀lich fⁿr XP SP2, aber es ist zu erwarten, dass Nessus GTK Klient auch auf anderen Versionen problemlos zu installieren und zu verwenden ist.

Das Installation Paket liegt auf der Live CD vor als

boss/install/Windows/NessusGTKClient2.3.1-0-setup-de.exe: Deutsch
boss/install/Windows/NessusGTKClient2.3.1-0-setup-en.exe: Englisch

Weitere Hinweise zur Nessus-Server-Installation

ZunΣchst mⁿssen Sie noch einstellen, dass der Server die Signaturen auf den Plugins ignoriert (das ist normalerweise keine gute Idee, aber da die Plugins fⁿr IKE-Scan und SLAD noch nicht Teil des offiziellen Nessus sind, sind diese auch nicht signiert und k÷nnten ggf. dann nicht verwendet werden. Setzen Sie also als root in "/etc/nessus/nessusd.conf" folgende Zeile (schauen Sie nach ob diese schon existiert, ansonsten fⁿgen Sie sie neu hinzu):
nasl_no_signature_check = yes

Bevor Sie den Nessus Server verwenden k÷nnen, mⁿssen Sie zunΣchst einen Benutzer als root anlegen:

# nessus-adduser
oder, falls Sie eine deutsche Benutzerfⁿhrung erzwingen m÷chten (root ist oftmals auf englisch eingestellt):
LANG=de_DE nessus-adduser
Bitte beachten Sie, dass der Server nicht automatisch gestartet wird. Starten Sie ihn als root mit:
/etc/init.d/nessusd start
Dies mⁿssen Sie bei Debian nach jedem Neustart des Rechners wiederholen es sei den Sie tragen den automatischen Start fⁿr den jeweiligen Runlevel ein. nessusd wird normalerweise nicht automatisch gestartet, da das Laden der Plugins u.U. recht lange dauern kann. Bei Fedora und SUSE wird der Server allerdings automatisch gestartet.

Beachten Sie weiterhin, dass die Routine zum Stoppen nicht einwandfrei funktioniert. Daher beenden Sie nessusd am besten mit dem Kommando "kill" und starten dann erneut wie oben beschrieben.

CVE und CAN Infos von Mitre

CVE steht fⁿr Common Vulnerabilities and Exposures. Es handelt sich um Standard-Bezeichnungen fⁿr Verletzbarkeiten und anderen Gefahren fⁿr die Informations-Sicherheit. Das Ziel von CVE ist es, Bezeichner fⁿr alle ÷ffentlich bekannten FΣlle zu standardisieren.

Mit CAN werden die Kandidaten fⁿr eine CVE Nummer bezeichnet. Sie werden dann nach einer Begutachtung und Bewertung in eine CVE umgewandelt. Allerdings wird diese Unterscheidung aus Grⁿnden der PraktikabilitΣt im Oktober 2005 aufgegeben (die Umbenennung von CAN nach CVE dauert in der Regel einige Zeit in der bereits vielfach auf die CAN-Nummer verwiesen wird wie etwa bei den Nessus Plugins und dann zahlreiche Verweise ungⁿltig werden).

Auf diese Live-CD ist die CVE Datenbank mit Stand April 2005 enthalten:

CVE EintrΣge als HTML Dateien

Die Daten wurden von der CVE Heimatseite geholt:

Common Vulnerabilities and Exposures

Falls Sie selbst die Daten aktualisieren m÷chten, so laden Sie sich die aktuelle Version von der CVE Heimatseite herunter und verwenden Sie das Python Skript cve2html welches auf dieser CD enthalten ist:

/boss/src/scripts/cve2html/

Desweiteren liegt die HTML-Version auch als Archiv auf der Live CD:

/boss/install/cve/cve-20050406.tar.bz2

Infos zu Nessus Plugins

Alle Informationen zu einem Nessus Plugin sind im Plugin selbst enthalten. Sie k÷nnen entweder ⁿber den Nessus GTK Klienten angeschaut werden (das ist dann der aktuelle Stand wie auf dem Nessus Server mit dem der Klient gerade verbunden ist) oder ⁿber die Plugin-Beschreibungen auf der Nessus Heimatseite (dort befindet sich der aktuelle Stand).

Auf diese Live-CD sind HTML-Seiten zu allen unter der GNU GPL stehenden Plugins mit Stand 27. April 2005 enthalten:

Beschreibungen zu Nessus Plugin unter GPL als HTML Dateien

Falls Sie selbst die Daten aktualisieren m÷chten, so ben÷tigen Sie einen Nessus Server mit dem gewⁿnschten Plugin-Bestand. Verwenden Sie dann das Python Skript nessusplugins2html welches auf dieser CD enthalten ist:

/boss/src/scripts/nessusplugins2html/
Beachten Sie aber hier unbedingt die verschiedenen Lizenzen der Plugins die auch fⁿr die reinen Beschreibungen ohne Quelltext gⁿltig ist.

Desweiteren liegt die HTML-Version auch als Archiv der Live CD bei:

/boss/install/nessus/nessus-plugins-gpl-20050427.tar.bz2

Dokumente

Neben dieser ▄bersichtsbeschreibung sind einige weitere Dokumente verfⁿgbar:
boss/doc/users-manual-de-20050426.pdf (deutsches Benutzerhandbuch)
         users-manual-20050426.pdf (englisches Benutzerhandbuch)
         nessus-coverage-saint-1.4.pdf (Nessus deckt alle Saint-2 Tests ab)
         SLAD-devel-admin-guide-20041227.pdf (englische Dokumentation fⁿr SLAD)
         nasl_guide-20050103.pdf (englische Dokumentation zu NASL, der
                                  Sprache in der Nessus Plugins geschrieben
                                  werden)

Quelltexte

Die Quelltext zu den eigentlichen Komponenten des BOSS Projekt unterteilen sich in die Nessus Pakete und das SLAD Paket:
boss/src/nessus/nessus-libraries-2.3.0.tar.gz
                libnasl-2.3.0.tar.gz
                nessus-core-2.3.0.tar.gz
                nessus-plugins-2.2.0.tar.gz
                nessus-plugins-2.3.0.tar.gz
                ike_scan_wrapper-v1.2.tar
                slad_nasl_plugins.tar

boss/src/slad/slad-1.0rc5.tar.gz
ike_scan_wrapper-v1.2.tar und slad_nasl_plugins.tar sind im Rahmen von BOSS entstandene Plugins, die noch nicht in die nessus-plugins Hauptentwicklung integriert wurden. Desweiteren liegen auf der CD auch die Quellen fⁿr die Installationspakete:

Debian

Die Quellen fⁿr die Installationspakete liegen unter:
boss/src/Debian/dists/woody/boss/source
Wie unter Debian ⁿblich erfolgt die Installation ⁿber einen Eintrag in der Quellen-Liste /etc/apt/sources.list:
deb-src file:/cdrom/boss/install/Debian woody boss

Fedora, SUSE

Die Quellen fⁿr die Installationspakete liegen unter:
boss/src/Fedora
boss/src/SUSE

Windows

Um die Windows-Variante herzustellen sind einige Patches notwendig, sowie die Konfigurationsdateien fⁿr die Installationspakete:
boss/src/Windows/
  nessus-config-cygwin.diff
  nessus-libraries-2.3.1-cygwin.diff
  nessus-core-2.3.1-cygwin.diff
  nessus-cygwin-build.txt
  nessus+gtk-de.iss
  nessus+gtk-en.iss
  notes-htmldoc.txt

Allgemeine Hinweise

Verwendung von SSH-Tests (Nessus Local Security Checks)

Alle sogenannten Nessus Local Security Checks (also z.B. das Abprⁿfen auf eingespielte Patches auf einem Zielsystem) basieren auf SSH-Verbindungen. D.h. man braucht auf dem Zielsystem einen Benutzer, den man zum Einloggen verwendet, um dann einfache Kommandos abzusetzen und die Resultate zu holen.

Dafⁿr mⁿssen Sie einen entsprechenden Benutzer auf den Zielsystemen einrichten. Der sollte keine besonderen Rechte erhalten, am besten ist der normale Login gesperrt.

Nun braucht Nessus einen SSH Schlⁿssel, um sich als der Benutzer dort anzumelden. Es ist zweckmΣ▀ig, sich einen speziellen Schlⁿssel mit ssh (siehe 'man ssh' und 'man ssh-keygen') zu erzeugen

ssh-keygen -t dsa    # Achtung: das Passwort muss mehr als 4 Zeichen haben
und den ÷ffentlichen Teil dann auf den Zielsystemen bei den jeweiligen Benutzern abzulegen (der private Teil, ~/.ssh/id_dsa, verbleibt auf dem System von dem aus Sie Nessus GTK Klient starten und wird dann beim entsprechenden Dialog angegeben, siehe unten).

Das Ablegen bedeutet, die erzeugte Datei ~/.ssh/id_dsa.pub bei dem Benutzer auf dem Zielsystem als ~/.ssh/authorized_keys abzulegen. Die Datei muss fⁿr jeden lesbar sein, die Verzeichnisse darⁿber entsprechend auch. Die Routine dafⁿr k÷nnte z.B. so aussehen:

$ scp ~/.ssh/id_dsa.pub nessus@zielsystem.example:~
# auf dem Zielsystem einloggen und dann dort:
$ mkdir /home/nessus/.ssh  # falls das Verzeichnis noch nicht existiert
$ cat /home/nessus/id_dsa.pub >> /home/nessus/.ssh/authorized_keys
# am Ende sollte die Verzeichnisstruktur dort in etwa so aussehen:
ls -lRa /home/nessus
/home/nessus:
total 40
drwxr-xr-x   11 root     root         1024 Dec 21 17:11 .
drwxr-xr-x    8 root     root         1024 Dec 21 16:25 ..
drwx------    2 nessus   nessus       1024 Jan  3 12:37 .ssh

/opt/nessus/.ssh:
total 4
drwx------    2 nessus   nessus       1024 Jan  3 12:37 .
drwxr-xr-x   11 root     root         1024 Dec 21 17:11 ..
-rw-r--r--    1 root     root          601 Dec 21 16:26 authorized_keys

Nun k÷nnen Sie beim Nessus GTK Klient im Abschnitt "General" das Plugin "Use SSH to perform Local Security Checks" anwΣhlen. (Das Plugin wurde spΣter umbenannt in "Enable Local Security Checks"). Vergessen Sie nicht "AbhΣngigkeiten zur Laufzeit prⁿfen" anzuschalten, da das Plugin einige andere Plugins ben÷tigt.

Anschlie▀end mⁿssen Sie unter Plugin Voreinstellungen die 'SSH Settings' eingeben: Den Benutzernamen auf dem Zielrechner (zweckmΣ▀igerweise immer derselbe bei verschiedenen Zielen) bei 'SSH User Name' sowie den 'SSH private key', welches die vorher von Ihnen erzeugte Datei ~/.ssh/id_dsa (oder auch ein anderer Pfad) sein sollte. Schlie▀lich noch das Passwort als "Passphrase for SSH Key".

Fⁿr SSH-basierte Tests sollte darauf geachtet werden, dass sowohl der private (~/.ssh/id_dsa) als auch der ÷ffentliche Schlⁿssel (~/.ssh/id_dsa.pub) angegeben werden, obwohl eigentlich der private reicht. Dies wird in zukⁿnftigen Versionen von Nessus behoben werden.

Wenn Sie nun einen Scan starten, so sollte unter "Port" zum Eintrag "ssh/22" mindestens die Ausgabe von "uname -a" erscheinen. Tut es das nicht, so ist ein Fehler aufgetreten.

Sollten die SSH Tests nicht funktionieren, so probieren Sie zunΣchst einmal auf der Kommandozeile den Aufbau einer einfachen SSH-Verbindung aus:

$ ssh -i ~/.ssh/id_dsa nessus@zielrechner.example
(natⁿrlich mit den entsprechend korrektem Datei- und Benutzernamen.)

Werden Sie nach dem Passwort gefragt und k÷nnen Sie sich erfolgreich einloggen, so k÷nnten Probleme bei den SSH Tests lediglich noch an der Zielauswahl im Nessus Klienten liegen. Prⁿfen Sie, ob der Zielrechner tatsΣchlich angegeben ist und dass der Port 22 auch im gescannten Bereich liegt.

Kurzanleitung SLAD

Bevor Sie SLAD auf einem System installieren, stellen Sie zunΣchst sicher, dass ein Linux-Kernel der Version 2.4 oder h÷her installiert ist:

$ uname -a
Hinweis: Die originale (englische) SLAD Dokumentation der SLAD Heimatseite ist mit dem Stand vom 17. Februar 2005 auch als Kopie auf dieser CD enthalten.

SLAD verwendet die SSH-Tests als Basis, um sich auf den Zielrechnern einzuloggen. Lesen Sie sich die obigen Informationen zu SSH zuerst durch und probieren Sie einen SSH Test erfolgreich aus bevor Sie mit SLAD beginnen.

Die Installation von SLAD erzeugt einen vordefinierten Benutzer "slad" und platziert den geheimen Schlⁿssel als "/opt/slad/.ssh/id_dsa" sowie den ÷ffentlichen Schlⁿssel als "/opt/slad/.ssh/authorized_keys".

Entweder holen Sie sich diese beiden Dateien auf Ihren Rechner auf dem Nessus GTK Klient lΣuft oder Sie ⁿberschreiben die Datei authorized_keys mit Ihren bereits fⁿr SSH erzeugten ÷ffentlichen Schlⁿssel. Die Datei id_dsa kann gel÷scht werden, nachdem Sie sie entweder zu sich kopiert haben oder einen eigenen Schlⁿssel verwenden.

Nun tragen Sie Benutzernamen und Schlⁿssel wie fⁿr SSH bei den Plugin Voreinstellungen ein.

Der SLAD kennt zwei grundlegende Kommandos: "Submit Jobs", also das ▄bertragen von Analyse-Aufgaben und "Fetch Results", also das Abholen der Ergebnisse. Sie mⁿssen also mindestens einmal "Submit Jobs" fⁿr die jeweiligen Analyse-Werkzeuge gesendet haben, bevor Sie entsprechende Ergebnisse mit "Fetch Results" durch einen weiteren Scan bekommen k÷nnen.

Welche Programme konkret ausgefⁿhrt werden sollen, bzw. welche Ergebnisse abgeholt werden sollen, k÷nnen Sie bei den Plugin Voreinstellungen fⁿr jeweils "SLAD Submit Jobs" bzw. "SLAD Fetch Results" einstellen.

Wichtig: Die einzelnen Analyse-Programme k÷nnen sehr unterschiedliche Laufzeiten haben. SLAD prⁿft im Intervall von einer Minute, ob ein neuer Job eingetroffen ist. I.d.R. sollten Sie also am besten zwei Minuten warten, um die Ergebnisse abzuholen. Dies gilt aber nur beispielsweise fⁿr Chkrootkit, welches recht schnell durchgefⁿhrt wird. Tripwire dauert durchaus einige Minuten und John-the-Ripper kann viele Stunden oder Tage ben÷tigen.

Achtung: John-the-Ripper verbraucht sehr viel Rechenzeit auf dem Zielrechner. Achten Sie insbesondere darauf, dass Sie nicht wiederholt John-the-Ripper per "Submit Job" an den selben Rechner schicken!

Informationen dazu, dass ein SLAD Job beauftragt wurde bzw. die Ergebnisse einer Analyse stehen immer unter Port "ssh/22" im Report entweder als "Security Note" oder, falls bedenkliche Dinge gefunden wurden, als entsprechend h÷here Stufe, z.B. "Security Warning".

Der erste Scan auf Fedora/SUSE

Beachten Sie, dass beim ersten Scan mit allen Plugins auf SUSE 9.2 bzw. Fedora Core 3 eine Verz÷gerung auftritt, das Nessus bei cupsd (dem Druck-DΣmon) eine hohe CPU-Last provoziert. Nach dem festgelegten Zeitintervall (360 Sekunden voreingestellt) wird die Prⁿfung des cupsd abgebrochen).

Es kann jedoch sein (je nach Plugin-Auswahl), dass mehrfach geprⁿft wird (vier mal bei den Voreinstellungen von BOSS). Sie k÷nnen als Administrator auf dem entsprechenden System folgendes eingeben um den Scan weiterlaufen zu lassen, falls die hohe CPU-Last bereits besteht:

# /etc/init.d/cups restart

John-the-Ripper

Das Passwort-Crack-Programm John-the-Ripper verbraucht extrem viel CPU-Zeit wenn es ⁿber SLAD gestartet wird auf einem bestimmten Rechner schwache Passworte herauszufinden. Solle aus versehen John-the-Ripper auf einem System gestartet sein oder das System recht schwach und damit John-the-Ripper sehr lange ben÷tigen, so k÷nnen Sie das Programm mit dem Kommando "kill PID" beenden. Die bis dahin ermittelten Ergebnisse k÷nnen dann ⁿber den Nessus Klienten mit SLAD geholt werden. Die Prozess-ID PID ermitteln Sie mit dem Kommando "ps ax | grep john" oder ⁿber "top".

Nessus Plugins installieren/aktualisieren

Ein Scanner wie Nessus lebt davon, dass auch fⁿr neu entdeckte Sicherheitslⁿcken zⁿgig entsprechende Tests zur Verfⁿgung stehen. Nessus bietet ⁿber die Nessus Plugins-Seite Informationen darⁿber wie Sie neue Plugins in Ihre Nessus Server Installation nachladen k÷nnen.

Die verschiedenen Abrufm÷glichkeiten fⁿr die Plugins sowie ein gro▀er Teil der Plugins werden von der Firma Tenable Network Security entwickelt und bereitgestellt.

Es gibt verschiedenen technische M÷glichkeiten dafⁿr, sowie verschiedene Lizenzierungen und AktualitΣt bei den Plugins. Entscheiden Sie entsprechend Ihrem Sicherheitsbedarf welche Methode fⁿr Sie in Frage kommt.

Nessus Plugin Feeds

Als Feeds werden bei Nessus die Aktualisierungsmethoden fⁿr Plugins einer Nessus Server Installation bezeichnet.
GPL Feed:
Nach der Installation sind die unter der GNU GPL verfⁿgbaren Plugins installiert. Ein Teil dieser Plugins wurde von der Nessus- und NeWT-Community entwickelt. Sie werden von Tenable ohne eine Registrierung direkt zur Verfⁿgung gestellt und dⁿrfen unter den Bedingungen der GNU GPL weitergegeben werden.
Direct Feed:
ZusΣtzlich zu den GNU-GPL-Plugins sind in diesem Feed eine gro▀e Zahl weiterer Nessus-Plugins gegen Bezahlung unter bestimmten Lizenzbedingungen direkt von Tenable Network Security erhΣltlich. Die Abrechnung erfolgt pro installiertem Agenten (Server), und diese Plugins dⁿrfen nicht weitergegeben werden.
Registered Feed:
Nach dem Akzeptieren der Lizenzbedingungen fⁿr den Registered Feed und kostenloser Anmeldung erhΣlt man alle GNU-GPL-Plugins und auch die Nessus-Plugins von Tenable, allerdings gegenⁿber dem Direct Feed um sieben Tage verz÷gert.

Bei der Registrierung geben Sie lediglich eine E-Mail Adresse in einem Web-Formular an. Anschlie▀end wird an diese E-Mail Adresse der Aktivierungs-Code gesendet.

Die Registrierung erfolgt direkt ⁿber folgende Web-Seite:
http://www.nessus.org/plugins/index.php?view=register

Automatische Aktualisierung der Nessus Plugins

Die auf einem Nessus-Server installierten Plugins k÷nnen Sie als root durch den folgenden Befehl aktualisieren:
# nessus-update-plugins
Ohne Registrierung werden nur die unter der GNU GPL verfⁿgbaren Plugins aktualisiert. Bei der Registrierung erhalten Sie einen Aktivierungs-Code, mit dem Sie den Nessus Server fⁿr den Registered Feed mit folgendem Befehl als root freischalten k÷nnen:
# nessus-fetch --register XXXX-XXXX-XXXX-XXXX-XXXX
Mit dem Befehl nessus-fetch --check k÷nnen Sie ⁿberprⁿfen, ob ein installierter Server bereits freigeschaltet ist.

Bei weiteren Aufrufen von nessus-update-plugins werden nun auch die Plugins des Registered Feed aktualisiert.

Die Befehle nessus-update-plugins und nessus-fetch erfordern, dass der Nessus Server Zugang zum Internet hat. Falls Sie fⁿr https-Verbindungen einen Proxy verwenden, kann dieser in der Datei /etc/nessus/nessus-fetch.rc eingetragen werden:

proxy=Proxy-Adresse, z.B.
proxy_port=Port-Nummer
proxy_username=Proxy-Benutzername, falls ben÷tigt
proxy_password=Proxy-Passwort
Einmal konfiguriert kann nessus-update-plugins auch automatisch zu bestimmten Zeiten aufgerufen werden. Fⁿr ein Update an jedem Montag (Tag 1 der Woche) um 6:15 Uhr morgens tragen Sie folgendes in die Datei /etc/crontab ein:
 15 6 * * 1 /usr/local/sbin/nessus-update-plugins
Fⁿr ein tΣgliches Update k÷nnen Sie die "1" durch "*" ersetzen.

Manuelles Update der Nessus Plugins

Falls der Rechner auf dem Ihr Nessus Server installiert ist keinen Zugang zum Internet hat, k÷nnen Sie von einem anderen Rechner aus aktualisierte GNU-GPL-Plugins unter der URL http://www.nessus.org/nasl/all-2.0.tar.gz herunterladen und dann auf andere Weise zum Nessus Server ⁿbertragen.

Fⁿr den Registered Feed k÷nnen Sie den Freischaltcode auf einer Webseite eingeben und die Plugins ⁿber die Ihnen dort mitgeteilte URL (hier funktioniert sowohl http als auch https) herunterladen.

Beim manuellen Herunterladen muss die erhaltene Datei all-2.0.tar.gz z.B. per "scp" auf den Server kopiert und als root im richtigen Verzeichnis entpackt werden. Au▀erdem muss dem Nessus Server ⁿber ein HUP-Signal mitgeteilt werden, dass neue Plugins verfⁿgbar sind, z.B. mit:

$ scp all-2.0.tar.gz user@server:/tmp/
$ ssh user@server
$ su -

Debian:
# cd /var/lib/nessus/plugins
# tar xzf /tmp/all-2.0.tar.gz
# kill -HUP `cat /var/run/nessusd.pid`

SUSE/Fedora:
# cd /usr/lib/nessus/plugins
# tar xzf /tmp/all-2.0.tar.gz
# /etc/init.d/nessusd restart
Anstelle von "scp" und "ssh" k÷nnen Sie unter Windows auch WinSCP und Putty benutzen.

Die Anleitungen fⁿr den Registered Feed gelten prinzipiell auch fⁿr den Direct Feed. Bei weiteren Fragen zum Direct Feed, wenden Sie sich bitte direkt an Tenable Network Security.

Erhalt der Quelltext CDs

Auf der BSI Nessus Live CD BOSS sind eine ganze Reihe von Programmen enthalten die unter der GNU General Public License lizenziert sind, deren Quelltext jedoch nicht auf der CD enthalten ist.

Unter anderem fordert diese Lizenz fⁿr die Weitergabe von ausfⁿhrbaren Versionen ohne Quelltext:

...
Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
...

Die vollstΣndigen Quellen zu der Live-CD umfassen ⁿber 1,2 Gigabyte und sind auf 2 CDs verteilt. Diese k÷nnen bis 3 Jahre nach Erhalt (die BSI Nessus Live CD BOSS wird ausschlie▀lich im Jahr 2005 verteilt) gegen AufwandsentschΣdigung (Stand 2005: 10 Euro) bei der Intevation GmbH (www.intevation.de), Georgstra▀e 4, 49074 Osnabrⁿck oder per E-Mail: info@intevation.de bestellt werden. Als Stichwort ist anzugeben: Quelltext CDs zu BSI Nessus Live CD BOSS (BSI OSS Security Suite) - Version 1.1