NMAP erklärung alternativen...

Hallo :)
Ich habe mich eben regisitriert und finde dieses Forum eigentlich jetzt schon toll.

Zu meiner Frage:
Ich habe einen neune HP Server (yaii :D) bekommen. Nach ein paar Tagen habe ich alles aufgesetzt (Debian) und eingerichtet.

Nunja da ich den Server für einen Teamspeak-Server, DayZ-Server und Webserver benutzen will, will ich eben den Best möglichen Schutz haben.

Ich bin auf das Tool NMap aufmerksam geworden zum Scannen der Ports und Sicherheitslücken.
Hat jemand Erfahrung mit diesem Tool?
Gibt es bessere Alternativen?
Kann mir jeman ein kurzes TuT darüber schicken?
Danke im Voraus
Mfg CyLeK
 
Zuletzt bearbeitet:
Wenn du deine Firewall anständig konfiguriert hast, solltest du eigentlich wissen welche Ports nach aussen erreichbar sind. Und sonst natürlich erstmal das Nmap-Handbuch nutzen. Da wird eigentlich alles Grundlegende drin erläutert: Nmap-Referenz-Handbuch (Man Page)
 
Grumpybit :p

Aber zum Thema:
nmap ist relativ trivial, wenn die Technik dahinter klar ist: Es schickt einfach nur Pakete an einen Port und wertet die Antworten aus. Da gibt es keine große Wissenschaft oder Magie dahinter. Unter Linux kann man z.B. die gesammte Port-Range mittels folgendem Befehl scannen:
Code:
~$ nmap -p1-65535 -P0 dein-host.tld

Unter Windows gibts darüber hinaus sogar eine angenehme Oberfläche, mit der man einfache Scans starten kann und afaik zumindest die Standardparameter zur Verfügung stehen hat.

Das Ergebnis sind alle als offen vermuteten Ports. Das bedeutet, dass nmap nicht mit 100%iger Sicherheit einen Port als offen oder geschlossen bestimmen kann. Um dieses Problem zumindest teilweise anzugehen stellt nma dir verschiedene Scan-Techniken zur Verfügung. Infos findest du hierzu - natürlich - im offiziellen Handbuch.

Man muss allerdings dazu sagen, dass das nichts mit Professionalität zu tun hat. Die nmap scripting engine wäre z.B. ein weiterführendes Thema, das man einfach nicht in "TuTs" packen kann, da hierfür Wissen über Netzwerke, Betriebssysteme und Applikationen zwingend vorhanden sein muss. Gleichzeitig ist nmap natürlich kein Schwachstellenscanner, wie z.B. nessus, openvas oder metasploit/nexpose. D.h. es führt keine Prüfung durch, ob das entdeckte Programm eine Schwachstelle enthalten könnte oder gar enthält. Das musst du immernoch manuell machen.

Das Wissen über Netzwerke, Betriebssystem und Schwachstellen bildet aber auch gleichzeitig die Grundlage deiner Absicherung, weswegen es zwingend notwendig ist, sich dieses Wissen anzueignen. Mit einigen wenigen Grundsätzen kommt man aber auch schon gegen 99% der Angreifer aus:

  1. Updates, Updates, Updates - Nichts ist schlimmer, als ein ungepatchtes System! In Bezug auf dein Vorhaben ist z.B. das ein sehr einleuchtendes Beispiel für diesen Grundsatz.
  2. Am Ball bleiben: Mailinglists, Hersteller-Sites, Newssites, ... Wenn ein schwerwiegender Bug bekannt wird, dann hast du innerhalb weniger Tage die ersten Fliegen auf deinem System. Und dann darfst du neu aufsetzen, wenn du nicht zweifelsfrei nachweisen kannst, dass keine Rootkits o.ä. Müll installiert wurde.
  3. Grundlegende Sicherheitssoftware: iptables als simpler Paketfilter, fail2ban gegen Bruteforce-Angriffe, rkhunter gegen rootkits, samhain/prelude zur Log- und Dateisystem-Überwachung, ... Für fast jedes Softwarepaket gibt es ausreichende Howtos und Artikel im Internet. Man muss kein Freak (mehr) sein, um solche Software einzurichten. Und im Notfall gibt es immernoch das Habo ;)
  4. Grundlegende Applikationssicherheit z.B
    • ssh: PubkeyAuthentication yes, PasswordAuthentication no, PermitRootLogit no, Port 2222, ...
    • Apache: z.B. https://httpd.apache.org/docs/current/misc/security_tips.html. Wichtig ist hier vor allem die Absicherung möglicher Skript-Umgebungen (PHP: Security - Manual) und das _Entfernen_ unnötiger Verwaltungssoftware (Plesk, phpmyadmin, ...).
    • Gamesever: Patches, Patches, Patches. Mehr kannst du oft nicht machen. Nichtsdestotrotz macht es auch hier Sinn, sich mit der Technik dahinter vertraut zu machen.
    • ....
Fazit: Mind. 1 Tag im Monat für Serveradministration reservieren, das System updaten, backuppen und Logfiles auswerten, um daraufhin die Filter der Sicherheitssoftware anzupassen oder neue Software nachzuinstallieren. Nimm das nicht auf die leichte Schulter, Day-Z scheint nicht gerade die sicherste Applikation zu sein. Ein Server bedeutet Arbeit - und Verantwortung. Wenn über deinen Server Spam versendet, Kinderpornographie verbreitet oder weitere Systeme angegriffen werden, dann bist DU alleine dafür haftbar. Dem musst du dir bewusst sein.
 
Zuletzt bearbeitet:
Gleichzeitig ist nmap natürlich kein Schwachstellenscanner, wie z.B. nessus, openvas oder metasploit/nexpose. D.h. es führt keine Prüfung durch, ob das entdeckte Programm eine Schwachstelle enthalten könnte oder gar enthält. Das musst du immernoch manuell machen.

Das ist so nicht ganz richtig. Heutzutage kann nmap sehr wohl nach Schwachstellen Scannen. Du hast die NSE-Engine doch selbst erwähnt...

Code:
kira:/tmp # /opt/nmap/bin/nmap --script=ssl-heartbleed 192.168.2.20 -p 25 

Starting Nmap 6.46 ( http://nmap.org ) at 2014-05-09 09:40 CEST
Nmap scan report for qa.intra.komma-nix.de (192.168.2.20)
Host is up (0.00015s latency).
PORT   STATE SERVICE
25/tcp open  smtp
| ssl-heartbleed: 
|   VULNERABLE:
|   The Heartbleed Bug is a serious vulnerability in the popular ...
|     State: VULNERABLE
|     Risk factor: High
Natürlich hat nmap da nicht so viele Tests wie z.B. OpenVAS, aber eben doch einige...
 
Im Prinzip ist OpenSSL eine PKI und emacs ein Vulnerability-Scanner ;).
Soll heissen: Ja, Unrecht hast du nicht und in Bezug auf einen einzelnen Host, bei dem du spezifische, in der Regel bekannte Schwachstellen mittels eines einfachen Proof-of-Concept-Codes testen willst, mag das auch völlig ausreichend sein.

Das würdest du jedoch in einem Unternehmensnetzwerk mit Custom Applications, bei dem du unter Einhaltung bestimmter Policies (Netzwerk-Latenzen, Regelmäßige Scanns, Performance, ...) unbekannte oder möglichst viele bekannte Schwachstellen testen und diese Schwachstellen auch noch managen (Risikobewertung, Mitigationstrategien, Berichtwesen, ...) willst, nicht mittels NSE machen, denn dafür wäre der Aufwand schlicht zu groß - oder vieles auch mittels NSE nicht besonders gut realisierbar (Performance, Risikobewertung, ...). Das ist auch der Grund, warum im Gegensatz zu Portscannern nahezu alle Schwachstellenscanner Geld kosten.
 
Zuletzt bearbeitet:
Im Prinzip ist OpenSSL eine PKI und emacs ein Vulnerability-Scanner ;).

;)

Soll heissen: Ja, Unrecht hast du nicht und in Bezug auf einen einzelnen Host
Ich hatte mich nur an der sehr allgemein gehaltenen Formulierung "D.h. es führt keine Prüfung durch, ob das entdeckte Programm eine Schwachstelle enthalten könnte oder gar enthält" "gestört".

Das würdest du jedoch in einem Unternehmensnetzwerk mit Custom Applications, bei dem du unter Einhaltung bestimmter Policies (Netzwerk-Latenzen, Regelmäßige Scanns, Performance, ...) unbekannte oder möglichst viele bekannte Schwachstellen testen und diese Schwachstellen auch noch managen (Risikobewertung, Mitigationstrategien, Berichtwesen, ...) willst, nicht mittels NSE machen, denn dafür wäre der Aufwand schlicht zu groß
ACK

- oder vieles auch mittels NSE nicht besonders gut realisierbar (Performance, Risikobewertung, ...).
Hey...ist das schon LUA-Bashing? ;)

Das ist auch der Grund, warum im Gegensatz zu Portscannern nahezu alle Schwachstellenscanner Geld kosten.
Welche setzt du so ein?
 
Ich hatte mich nur an der sehr allgemein gehaltenen Formulierung "D.h. es führt keine Prüfung durch, ob das entdeckte Programm eine Schwachstelle enthalten könnte oder gar enthält" "gestört".
In der Default-Einstellung macht nmap das nicht, d.h. man muss sich erst damit auseinandersetzen, die LUA-Skripte schreiben oder die vorhandenen runterladen und explizit beim Aufruf angeben.

Hey...ist das schon LUA-Bashing? ;)
Nein, das ist eher dem Punkt geschuldet, dass es sich eben "nur" um zusätzliche Skripte handelt und nicht um feste Programmbestandteile, die in einer Performance-Betrachtung nunmal ganz anders behandelt werden. Nehmen wir an, du scannst ein Netzwerk mit 100 Webservices. Nun wird für jeden Webservice das Skript ausgeführt, obwohl das vielleicht garnicht notwendig ist und nur unnötigen Lärm erzeugt.

Welche setzt du so ein?
Ich habe mal beruflich mit nexpose/metasploit spielen dürfen, in der Uni und bei verschiedenen Kunden hatten wir nessus. Beides inzwischen recht mächtige Applikationen, die aber erst nach einigen Wochen customizing wirklich einsetzbar sind.
 
In der Default-Einstellung macht nmap das nicht, d.h. man muss sich erst damit auseinandersetzen, die LUA-Skripte schreiben oder die vorhandenen runterladen und explizit beim Aufruf angeben.

Wenn du die aktuelle nmap version (6.46) aus den Sourcen baust, kommen die Scripte mit (solange du nicht explizit '--without-liblua' angibst).

Meine Distribution bringt die ebenfalls mit. Aber ja, du musst explizit angeben das die ausgeführt werden sollen. Per default macht nmap das (natürlich) nicht.

Nehmen wir an, du scannst ein Netzwerk mit 100 Webservices. Nun wird für jeden Webservice das Skript ausgeführt, obwohl das vielleicht garnicht notwendig ist und nur unnötigen Lärm erzeugt.
Nun ja...streng genommen gehen Nessus/OpenVAS/Nexpose/... da nicht anders vor. "Laut" sind die alle :)
 
Nun ja...streng genommen gehen Nessus/OpenVAS/Nexpose/... da nicht anders vor. "Laut" sind die alle :)

Wenn man sie falsch konfiguriert - klar ;)

Der Punkt, auf den ich hinaus möchte, ist allerdings, dass ein Schwachstellenscanner auch eine ganzheitliche Sicht auf alle Schachstellen bieten kann und daraus seine Schlüsse (Risiken, Mitigationstratgien, ..) ziehen kann, was mit nmap afaik nicht möglich ist. Dadurch musst du ein Skript nicht für jeden Host ausführen, sondern nur für eine Hand voll, weil aus dem Configuration Management kommt, dass die restlichen Server die gleiche Konfiguration haben. Das ganze wird dann ans SIEM weitergegeben und dort verarbeitet.

Darüber hinaus gehen Schwachstellenscanner ja auch weiter, siehe z.B. w3af. Das kann nmap auch nur mit sehr aufwändigen Skripten leisten, wenn überhaupt.

Also: Ja, das ist auch mit nmap machbar. Aber das willst du nicht wirklich machen ;)
 
Wenn man sie falsch konfiguriert - klar ;)

Nein, prinzipiell. Es liegt einfach an der Art wie Nessus/OpenVAS/Nexpose/... vorgehen.

Der Punkt, auf den ich hinaus möchte, ist allerdings, dass ein Schwachstellenscanner auch eine ganzheitliche Sicht auf alle Schachstellen bieten kann und daraus seine Schlüsse (Risiken, Mitigationstratgien, ..) ziehen kann, was mit nmap afaik nicht möglich ist.
Absolut. Ich wollte nicht behaupten das nmap ein Schwachstellenscanner ist.

Dadurch musst du ein Skript nicht für jeden Host ausführen, sondern nur für eine Hand voll, weil aus dem Configuration Management kommt, dass die restlichen Server die gleiche Konfiguration haben. Das ganze wird dann ans SIEM weitergegeben und dort verarbeitet.
Welcher Scanner kann das? Ich sehe zudem einige Probleme mit so einem Vorgehen. Nur weil Rechner X für sicher befunden wurde, ist Rechner Y, auch wenn er von der Konfiguration identisch ist, noch lange nicht auch sicher. Auf Rechner Y kann sich $sonstwas installiert haben. Das wirst du mit dieser Vorgehensweise dann nicht mitbekommen.

Darüber hinaus gehen Schwachstellenscanner ja auch weiter, siehe z.B. w3af. Das kann nmap auch nur mit sehr aufwändigen Skripten leisten, wenn überhaupt.
Die NSE-Engine ist schon mächtig. LUA interessant. Aber klar...w3af mit NSE Scripten nachbauen macht wahrscheinlich recht wenig Spaß ;)
 
mime hat gesagt.:
Zitat:
Zitat von SchwarzeBeere
Wenn man sie falsch konfiguriert - klar ;)

Nein, prinzipiell. Es liegt einfach an der Art wie Nessus/OpenVAS/Nexpose/... vorgehen.

Und genau aus dem Grund ist die Aussage falsch mime.
Ich kann Nessus sagen, er darf nur Angriffe ausführen, wenn es sich um den korrekten Dienst handelt. Kann dann noch Einschränken das keine DoS Angriffe ausgeführt werden dürfen, kann Ihm sagen er darf nur 1 TCP Verbindung gleichzeitig haben uvm...

"Laut" müssen die nicht unbedingt sein, alles eine Frage des aggressivitäts Levels.


Ich habe mal beruflich mit nexpose/metasploit spielen dürfen, in der Uni und bei verschiedenen Kunden hatten wir nessus. Beides inzwischen recht mächtige Applikationen, die aber erst nach einigen Wochen customizing wirklich einsetzbar sind.

Was willst du denn "einige Wochen" bei Tenable Nessus und bei Metasploit konfigurieren? :D:D:D
 
Was willst du denn "einige Wochen" bei Tenable Nessus und bei Metasploit konfigurieren? :D:D:D

Wenn du viele Systeme in unterschiedlichen Netzwerksegmenten und Ländern testen willst, dann wirst du dich nicht mit deinem Laptop an eine Netzwerkdose hängen und fleissig drauf los prüfen. Darüber hinaus willst du ja auch möglichst hochwertige Ergebnisse (die du mit Defauleinstellungen oder Plugins nicht erreichst..) oder beispielsweise noch zusätzlich eine Anbindungs ans Schwachstellenmanagement, ins SIEM oder ins Configuration Management. Das funktioniert alles nicht sooo einfach, wie man sich das immer wünscht, gerade dann, wenn die Plugins einfach noch nicht vorhanden sind.
 
Du willst mir sagen du konfigurierst "wochen" Nessus damit du nen Applikationsserver prüfen willst? :thumb_down::wall:
 
Nein, ich sage nur, dass 5min Analyse und darauf aufbauende Konfiguration auch zu entsprechenden Ergebnissen führen. Das ist nicht auf Vulnerability Scanner beschränkt, das kannst du bei fast jedem Programm beobachten - gerade in Enterprise-Netzwerken.
 
Zuletzt bearbeitet:
Das funktioniert alles nicht sooo einfach, wie man sich das immer wünscht, gerade dann, wenn die Plugins einfach noch nicht vorhanden sind.

Und nebenbei: Jedes Audit, welches sich schlicht auf technische Sicherheitstests konzentriert, taugt nicht um die Sicherheit eines Netzwerks zu bestimmen.

Für User gibt es keine Plugins und für Unternehmensrichtlinien auch nicht.
 
Zurück
Oben