Salut à tous,
Je fais actuellement quelques essais avec nmap, et je me suis aperçu
que dès lors que j'essayais de scanner un hôte au-delà de mon firewall
OpenBSD 3.5, les seules méthodes fonctionnelles sont les scans par
connections TCP normale (-sT) et le scan SYN (-sS). Tous les scans
plus évolués : -sX (FIN|URG|PUSH) , -sF (FIN), -sN (pas de flag actif)
ne donnent rien, et un tcpdump sur l'interface externe du firewall
m'apprend que les paquets en question sont arrêtés par le firewall.
Par ailleurs, le ping que nmap fait automatiquement a un comportement
bizarre :
- Lancé en tant que root, il ne fonctionne pas
- Lancé en tant qu'utilisateur normal, il fonctionne.
Pour finir, un scan Fin, Xmas, Null sur le firewall m'informe que tous
les ports testés sont ouverts, alors qu'il n'y a qu'un serveur SSH en
réalité.
Quelqu'un pourrait-il m'aider à comprendre le pourquoi de tout ça ? Je
soupçonnais la règle "scrub" ; la désactiver change le résultat du
scan du firewall (on passe de "tous les ports ouverts" à "tous
fermés"), mais ne change pas les résultats du ping en root.
j'ai essayé de changer aussi le "modulate state" appliqué à mes
paquets TCP en sortie en "keep state", sans résultat.
Merci de votre aide, je m'y perds vraiment là :-)
Je joins mes règles de firewall.
#######################
# PF Ruleset
# 17/08/2004
#######################
# NAT for LAN and WLAN.
nat on $extif from $intif:network to any -> $extif
nat on $extif from $wirelessif:network to any -> $extif
######### Filtering rules ##########################
# Default deny policy.
block all
#####
# Traffic to/from loopback is allowed without restriction.
pass quick on lo0 all
#####
# Drop spoofing attemps.
block drop in quick on $extif from <nonroutable> to any
block drop out quick on $extif from any to <nonroutable>
#####
# Allow access to the upper-definied TCP and UDP services.
pass in quick on $extif inet proto tcp from any to ($extif) \
port $tcpserv flags S/SA synproxy state
pass in quick on $extif inet proto udp from any to ($extif) \
port $udpserv keep state
#####
# Allow external ping
pass in quick on $extif inet proto icmp from any to ($extif) \
icmp-type echoreq keep state
##### LAN
# Allow all incoming/responding traffic from the LAN (trusted).
pass in quick on $intif from $intif:network to any keep state
# Allow all outgoing traffic to the LAN.
pass out quick on $intif from any to $intif:network keep state
##### WLAN
pass in quick on $wirelessif from $wirelessif:network to any keep
state
pass out quick on $wirelessif from any to $wirelessif:network keep
state
#####
# Block access from the WLAN to the LAN.
block in quick on $wirelessif from $wirelessif:network \
to $intif:network
#####
# Allow external connections from our networks to the Internet.
pass out quick on $extif proto tcp all modulate state flags S/SA
pass out on $extif proto { udp, icmp } all keep state
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
aanriot
Quelqu'un pourrait-il m'aider à comprendre le pourquoi de tout ça ? Je soupçonnais la règle "scrub" ; la désactiver change le résultat du scan du firewall (on passe de "tous les ports ouverts" à "tous fermés"), mais ne change pas les résultats du ping en root.
La directive "Scrub" normalise les packets. Elle n'est donc pas responsable des résultats que tu obtiens. Si seuls les TCP scans et SYN scans sont tolérés, c'est du aux "flags S/SA".
En effet, dans le cas d'une nouvelle connexion, c'est à dire avant de créer une entrée dans la table d'états de PF, une règle doit être validée, avec dans ton cas un flag SYN. Ainsi, envoyer un ACK, un FIN, ou une combinaison de flags comme dans le cas d'un X-mas scan est prohibé et refusé par PF. La condition S/SFRA est d'ailleurs encore plus intéressante dans certains cas.
j'ai essayé de changer aussi le "modulate state" appliqué à mes paquets TCP en sortie en "keep state", sans résultat. Merci de votre aide, je m'y perds vraiment là :-) Je joins mes règles de firewall.
Le "Modulate State", c'est un "Keep State" avec, en plus, le remplacement de l'ISN par un nouveau, plus aléatoire que celui créé par certains OS... Il n'a donc rien à voir avec les paquets bloqués :-)
Quelqu'un pourrait-il m'aider à comprendre le pourquoi de tout ça ? Je
soupçonnais la règle "scrub" ; la désactiver change le résultat du
scan du firewall (on passe de "tous les ports ouverts" à "tous
fermés"), mais ne change pas les résultats du ping en root.
La directive "Scrub" normalise les packets. Elle n'est donc pas
responsable des résultats que tu obtiens. Si seuls les TCP scans et
SYN scans sont tolérés, c'est du aux "flags S/SA".
En effet, dans le cas d'une nouvelle connexion, c'est à dire avant de
créer une entrée dans la table d'états de PF, une règle doit être
validée, avec dans ton cas un flag SYN. Ainsi, envoyer un ACK, un FIN,
ou une combinaison de flags comme dans le cas d'un X-mas scan est
prohibé et refusé par PF. La condition S/SFRA est d'ailleurs encore
plus intéressante dans certains cas.
j'ai essayé de changer aussi le "modulate state" appliqué à mes
paquets TCP en sortie en "keep state", sans résultat.
Merci de votre aide, je m'y perds vraiment là :-)
Je joins mes règles de firewall.
Le "Modulate State", c'est un "Keep State" avec, en plus, le
remplacement de l'ISN par un nouveau, plus aléatoire que celui créé
par certains OS... Il n'a donc rien à voir avec les paquets bloqués
:-)
Quelqu'un pourrait-il m'aider à comprendre le pourquoi de tout ça ? Je soupçonnais la règle "scrub" ; la désactiver change le résultat du scan du firewall (on passe de "tous les ports ouverts" à "tous fermés"), mais ne change pas les résultats du ping en root.
La directive "Scrub" normalise les packets. Elle n'est donc pas responsable des résultats que tu obtiens. Si seuls les TCP scans et SYN scans sont tolérés, c'est du aux "flags S/SA".
En effet, dans le cas d'une nouvelle connexion, c'est à dire avant de créer une entrée dans la table d'états de PF, une règle doit être validée, avec dans ton cas un flag SYN. Ainsi, envoyer un ACK, un FIN, ou une combinaison de flags comme dans le cas d'un X-mas scan est prohibé et refusé par PF. La condition S/SFRA est d'ailleurs encore plus intéressante dans certains cas.
j'ai essayé de changer aussi le "modulate state" appliqué à mes paquets TCP en sortie en "keep state", sans résultat. Merci de votre aide, je m'y perds vraiment là :-) Je joins mes règles de firewall.
Le "Modulate State", c'est un "Keep State" avec, en plus, le remplacement de l'ISN par un nouveau, plus aléatoire que celui créé par certains OS... Il n'a donc rien à voir avec les paquets bloqués :-)