Archiv verlassen und diese Seite im Standarddesign anzeigen : namp erkennt gefilterte pcs
Das Problem,ich hab den rechner mit der ip 192.168.0.1 mit einer statfully firewall geschütz wenn ich nun nmap azfruf
Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2005-05-14 14:48 Local time zone must be set--see zic manual page
All 1660 scanned ports on celeron (192.168.0.1) are: filtered
MAC Address: 00:40:F4:6B:EC:82 (Cameo COMMUNICATIONS)
Nmap run completed -- 1 IP address (1 host up) scanned in 69.576 seconds
nmap erkennt ja das die ports gefiltert sind,gibt es für iptables
eine einstellung das er nmap vorgaugelt das sie geschlossen werden
um das problem zu lösen dachte ich alle pakete auf die keine reglen zutriftt
mit REJECT zu bearbeiten,das brachte aber nicht den erflog
weis jemand von euch mit welcher iptables regel namp nicht mehr rausfindet
das es gefiltert wurde???????
Normalerweise gibt nmap bei 'reject' dann auch geschlossen aus.
Poste doch einfach mal dein Iptables-Script.
$LOCAL_HOST="lo";
$LOCAL_LAN1="eth0";
$WWW_INFACE="ppp0";
iptables -P INPUT DROP;
iptables -P FORWARD DROP;
iptables -P OUTPUT DROP;
#localhost
iptables -A INPUT -i $LOCAL_HOST -j ACCEPT;
iptables -A OUTPUT -o $LOCAL_HOST -j ACCEPT;
#locales LAN
#iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT;
#iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT;
#logging $WWW_INFACE
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j LOG --log-prefix "iptables_http" --log-level notice #http loggen
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j LOG --log-prefix "iptables_ssh" --log-level warn #ssh loggen
iptables -A INPUT -p tcp --dport 23 -m state --state NEW -j LOG --log-prefix "iptables_telnet" --log-level warn #telnet loggen
iptables -A INPUT -p tcp --dport 21 -m state --state NEW -j LOG --log-prefix "iptables_ftp" --log-level warn #ftp loggen
#speziell verboten fuer WWW
iptables -A INPUT -i $WWW_INFACE -p tcp --dport 22 -j REJECT #port_ssh
iptables -A INPUT -i $WWW_INFACE -p tcp --dport 23 -j REJECT #port_telnet
iptables -A INPUT -i $WWW_INFACE -p tcp --dport 137:139 -j REJECT #port_netbios
iptables -A INPUT -i $WWW_INFACE -p udp --dport 137:139 -j REJECT #port_netbios
iptables -A INPUT -i $WWW_INFACE -p udp --dport 445 -j REJECT #port_microsoft-ds
iptables -A INPUT -i $WWW_INFACE -p udp --dport 4000 -j REJECT #port_mldonkey-telnet_port
iptables -A INPUT -i $WWW_INFACE -p udp --dport 4080 -j REJECT #port_mldonkey-http_port
#speziell erlaubt
#iptables -A INPUT -i $WWW_INFACE -p tcp --dport 80 -j ACCEPT #webserver aber erst spaeter
#alles darf raus,syn flags darf nicht rein
iptables -A INPUT -i $WWW_INFACE -p tcp --state ESTABLISHED,RELATED -j ACCEPT;
iptables -A OUTPUT -o $WWW_INFACE -p tcp --state NEW,ESTABLISHED,RELATED -j ACCEPT;
iptables -A INPUT -i $WWW_INFACE -p udp --state ESTABLISHED,RELATED -j ACCEPT;
iptables -A OUTPUT -o $WWW_INFACE -p udp --state NEW,ESTABLISHED,RELATED -j ACCEPT;
#icmp
iptables -A OUTPUT -o $WWW_INFACE -p icmp --icmp-type echo-request -j ACCEPT; #again PING of DEATH
iptables -A INPUT -i $WWW_INFACE -p icmp --icmp-type echo-reply -m limit --limit 1/s -j ACCEPT;
iptables -A INPUT -i $WWW_INFACE -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT;
iptables -A OUTPUT -o $WWW_INFACE -p icmp --icmp-type echo-reply -j ACCEPT;
#routing
iptables -A FORWARD -i $LOCAL_LAN1 -o $WWW_INFACE -s 192.168.0.0/24 -j ACCEPT #nur adressen mit 192.168... duerfen ins web
iptables -A FORWARD -i $WWW_INFACE -o $LOCAL_LAN1 -d 192.168.0.0/24 -j ACCEPT #nur adressen 192.168... duerfen ins LAN
#nat
iptables -A POSTROUTING -t nat -o $WWW_INFACE -j MASQUERADE; #masquerading
#alles andere
#hier ist die zeile die namp eigentlich davon abhalten soll filtered anzuzeigen
iptables -A INPUT -i $WWW_INFACE -j REJECT
zu beachten wäre noch das ich aus testzwecken das local lan ausdokumentiert hab und
das $WWW_INFACE ist eth1,so dass ich es erstmal im localen lan testen kann,
Matzetronic
15.05.05, 02:43
hi,
poste mal bitte einen nmap-aufruf.
optional kannst du vielleicht noch einen kurzen tcpdump-mitschnitt posten...
gruß,
matze
Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2005-05-15 14:29 Local time zone must be set--see zic manual page
All 1660 scanned ports on celeron (192.168.0.1) are: filtered
MAC Address: 00:40:F4:6B:EC:82 (Cameo COMMUNICATIONS)
Nmap run completed -- 1 IP address (1 host up) scanned in 69.584 seconds
root@amd martin #
rejecte TCP mit tcp-reset (siehe RFC793), UDP dagegen mit icmp-port-unreachable:
-j REJECT --reject-with tcp-reset|icmp-port-unreachable
-j
Matzetronic
15.05.05, 22:58
hi,
ich meinte eigentlich nicht den output von nmap, sondern die befehlssyntax - also mit welchen optionen wird er aufgerufen ? z.B. nmap -sTV -O -P0 192.168.1.1
meine vermutung wäre, dass der durch nmap ausgelöste arp-request beantwortet wird und nmap dies erkennt =>host is up .
da er aber keine resets erhält, ist die logische schlußfolgerung, dass die pakete gefiltert werden.
gruß,
matze
rejecte TCP mit tcp-reset (siehe RFC793), UDP dagegen mit icmp-port-unreachable:
-j REJECT --reject-with tcp-reset|icmp-port-unreachable
-j
mit diesen optionenn zeigt nmap folgendes an
root@amd martin # nmap celeron
Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2005-05-16 13:08 Local time zone must be set--see zic manual page
All 1660 scanned ports on celeron (192.168.0.1) are: closed
MAC Address: 00:40:F4:6B:EC:82 (Cameo COMMUNICATIONS)
Nmap run completed -- 1 IP address (1 host up) scanned in 0.539 seconds
root@amd martin #
das war des rätsel lösung vielen dank für eure hilfe
Was hat es für einen Vorteil, wenn bei nmap die Ports als "closed" definiert sind ?
Vorallem sehe ich mit -j REJECT ein kleines Problem denn:
Ich kann ja gut und gerne z.B für -A INPUT -p ICMP -j REJECT verwenden.
Aber was mache ich mit dem Output ? Wenn ich den OUTPUT mit -j DROP deklariere, bekomm ich ja z.b wieder "filtered".
Noch eine kleine Frage: Wie versucht nmap denn auf die Ports zu connecten ? Per "tcp" Verbindung oder ? Muss ich jetzt für jeden INPUT Port -j REJECT festlegen o. geht das per "iptables -P REJECT --reject-with blah blah" ?
nmap supports a large number of scanning techniques such as: UDP, TCP connect(), TCP SYN (half open), ftp proxy (bounce attack), ICMP (ping sweep), FIN, ACK sweep, Xmas Tree, SYN sweep, IP Protocol, and Null scan.
Mehr dazu in den manpages.
Wenn ich den OUTPUT mit -j DROP deklariere, bekomm ich ja z.b wieder "filtered".
Du verbietest jedes ausgehende Paket, es kann also auch keine standardkonforme Antwort versendert werden. Die Aussage von nmap stimmt also ...
Muss ich jetzt für jeden INPUT Port -j REJECT festlegen o. geht das per "iptables -P REJECT --reject-with blah blah" ?
Es reicht wenn du die Default-Policies auf Reject stellst, sind bestimmte Ports und Verbindungen nicht extra behandelt wird somit diese Regel angewandt.
Am Besten besorgst du dir mal ein Script von Harry's Generator und schaust dir die Sache mal genauer an, ist eigentlich gut zu verstehen.
Default Policy auf REJECT stellen ?
root@slacktest:~# iptables -V
iptables v1.3.1
root@slacktest:~# iptables -P INPUT REJECT
iptables: Bad policy name
Benötige ich vielleicht einen Patch für Kernel / Iptables um REJECT bei der Default Policy zu verwenden ?
Dann habe ich noch ein Problem:
Rules:
$IPT -A OUTPUT -o $INT_IF -p icmp --icmp-type echo-request -m length \ --length 32 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -i $INT_IF -p icmp --icmp-type echo-reply \
-m limit --limit 1/s -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -i $INT_IF -p icmp --icmp-type echo-request -m length \ --length 32 -m limit --limit 1/s -m state \
--state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -o $INT_IF -p icmp --icmp-type echo-reply \
-m state --state ESTABLISHED,RELATED -j ACCEPT
C:\Programme\Nmap\nmap-3.75>ping -l 32 172.17.74.150
Ping wird ausgeführt für 172.17.74.150 mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
:confused:
PS: Die "\" wären zum formatieren drinnen, im Skript ist alles in einer wurscht !
Wird bei ICMP überhaupt mit "Stateful" gearbeitet? Bin da grade etwas überfragt.
Hier mal ein Auszug aus meinem Firewallscript, was wiederum auf dem von Harry aufbaut.
[...]
# Default-Policies setzen
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# MY_REJECT-Chain
iptables -N MY_REJECT
# MY_REJECT fuellen
iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
# MY_DROP-Chain
iptables -N MY_DROP
iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP "
iptables -A MY_DROP -j DROP
[...]
# INPUT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
# ICMP
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 11 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 12 -j ACCEPT
[...]
# Default-Policies mit REJECT
iptables -A INPUT -j MY_REJECT
iptables -A OUTPUT -j MY_REJECT
[...]
*edit*
hätte es doch besser anhängen sollen...
Ich denke schon, dass ich stateful bei icmp verwenden kannn, bin aber auch nicht sicher.
Ich habe mein Skript jetzt auch fertig angepasst bezügl REJECT / nmap (was es bringt weiss ich nicht genau, vielleicht kann mir da jemand was dazu sagen?). Icmp habe ich jetzt auch erlaubt / weniger restriktiv eingestellt.
Aber warum funktioniert -p icmp -m length --length 32 -j REJECT nicht ?
Wenn ich die Rule einzeln eintrage mit "IPTABLES -I" zeigt sie absolut null wirkung. :confused:
Was hat es für einen Vorteil, wenn bei nmap die Ports als "closed" definiert sind ?
man ist standardkonform? es gibt genug "profis", die meinen, mit drop ein mehr an sicherheit zu erreichen. dem ist nicht so, im gegenteil.
Vorallem sehe ich mit -j REJECT ein kleines Problem denn:
Ich kann ja gut und gerne z.B für -A INPUT -p ICMP -j REJECT verwenden.
Aber was mache ich mit dem Output ? Wenn ich den OUTPUT mit -j DROP deklariere, bekomm ich ja z.b wieder "filtered".
nein, ein reject auf INPUT hat nichts mit der OUTPUT chain zu tun.
Noch eine kleine Frage: Wie versucht nmap denn auf die Ports zu connecten ? Per "tcp" Verbindung oder ? Muss ich jetzt für jeden INPUT Port -j REJECT festlegen o. geht das per "iptables -P REJECT --reject-with blah blah" ?
einfach als letzte regeln einfügen:
iptables -p udp -j REJECT --reject-with icmp-port-unreach
iptables -p tcp -j REJECT --reject-with tcp-reset
-j
Also ganz so wie du das sagst kann das nicht stimmen: Beispiel ?
root@slacktest:~# iptables -p udp -j REJECT --reject-with icmp-port-unreachable
iptables v1.3.1: no command specified
Try `iptables -h' or 'iptables --help' for more information.
Ich muss vorher eine Chain definieren:
iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
und das ist dann schon anders als eine DEFAULT POLICY, da ich eben nicht
iptables -P INPUT REJECT setzen kann. Das heisst, dass ich zumindest, für tcp, udp , etc eine Regel definieren muss. Ansich kein Problem und ich habe es ja auch hinbekommen. In meinem Fall gibts eben nur ein anderes Problem.
Ich lasse mir per rrd_tool / Cacti meinen Traffic auslesen. Unter anderem auch den geblockten Traffic. Dafür muss ich mit iptables -N "<neueregel>" eine Chain definieren. In meinem Fall war das so:
iptables -N BLOCKED
iptables -A INPUT -s xxx.xxx.xxx.xxx -d $IP -p tcp -j BLOCKED
iptables -A BLOCKED -j DROP
Wenn ich jetzt aber mit -j REJECT die Pakete "blockiere" kann ich sie nicht in meine Statistik aufnehmen, ohne eine Chain zu erstellen, die ich dann extra auslesen lasse von Cacti.
Ich habe mal probehalber auf REJECT "umgestellt", funktioniert auch, nur was ist der Unterschied zu j DROP, bzw was sind die Vor- und Nachteile.
[QUOTE=steve-e]
[...]
# Default-Policies setzen
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# MY_REJECT-Chain
iptables -N MY_REJECT
# MY_REJECT fuellen
iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
# MY_DROP-Chain
iptables -N MY_DROP
iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP "
iptables -A MY_DROP -j DROP
[...]
# INPUT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
# ICMP
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 11 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 12 -j ACCEPT
[...]
# Default-Policies mit REJECT
iptables -A INPUT -j MY_REJECT
iptables -A OUTPUT -j MY_REJECT
[...]
[QUOTE]
mal ne frage,also so wie das script da steht dürfte doch
gar keine verbindung zwischen rechen zustnde kommen
da ich keine regel finde die irgendeinen
OUTPUT zulässt.
Hi,
mal ne frage,also so wie das script da steht dürfte doch
gar keine verbindung zwischen rechen zustnde kommen
da ich keine regel finde die irgendeinen
OUTPUT zulässt.
im Kontext mit Steve-e's übrigem Post lese ich, dass es sich bei den gequoteten Zeilen um Regeln handelt, die ICMP behandeln, da er sich im Text ja auch auf ICMP bezieht - insofern ist doch alles ok, oder?
Und worauf beziehst Du Dich jetzt? :D
*SCNR*
Harry
[...] stehen normalerweise ja immer dafür, dass etwas weggelassen wurde.
Harry hat die Sache schon richtig verstanden :ugly:
Wollte euch ersparen mit ansehen zu müssen, wie ich jeden einzelnen, von mir verwendeten Port expliziet freigegeben hab ...
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.