9.3. Filtrage

NetBIOS utilise les ports 137 et 138 sur udp pour le service de noms windows et le « voisinnage réseau ». On devra ouvrir ces ports afin de participer la discussion.

Exemple 9.1. Samba : configuration du filtrage UDP en entrée et en sortie

#
# ######################################
# UDP entrant 
# L'appel à STATEFUL suffit pour accepter les réponses DNS
# Il faudra cependant ouvrir des ports au fil de l'eau lors de la mise en place
# de services UDP (DNS, NTP par exemple).
# ######################################
#
-A UDP_IN -j STATEFUL
#
# Ajouter les rêgles ici lors de l'installation de services UDP si ces services
# doivent être ouverts
#
-A UDP_IN -p udp -m udp -s adresse_ip_autorisée --dport 137:138 -j ACCEPT  ❶
# on peut aussi débloquer les ports 137 à 138 pour tout le monde
-A UDP_IN -p udp -m udp --dport 137:138 -j ACCEPT ❷
#
# ######################################
# UDP sortant
#  -remplacer SERVEUR_DNS par le serveur DNS et répéter la ligne pour chacun des
#   serveurs (primaire, secondaire, etc...)
#  -remplacer SERVEUR_NTP par l'adresse IP du serveur NTP si ce protocol est 
#   utilisé
# ######################################
#
-A UDP_OUT -p udp -m udp -j STATEFUL
...
## -A UDP_OUT -p udp -m udp --sport 68 --dport 67 -j ACCEPT 
#
-A UDP_OUT -p udp -m udp --dport 137:138 -j ACCEPT ❸
COMMIT
#

Régle autorisant l'accès aux ports udp 137 (netbios-ns) à 138 (netbios-dgm) pour l'adresse adresse_ip_autorisée (qui peut aussi être un subnet). Cette règle peut être répétée autant de fois que nécessaire.

Régle autorisant l'accès aux ports udp 137 (netbios-ns) à 138 (netbios-dgm) pour tout le monde.

Régle autorisant l'envoi de paquets vers les ports udp 137 et 138.


Le port 139/tcp doit aussi être ouvert dans les deux sens afin de faire fonctionner le transfert de données (fichiers, spooling, ...).

Exemple 9.2. Samba : configuration du filtrage TCP en entrée

#
# ######################################
# TCP entrant
# Il faudra ouvrir des ports au fil de l'eau
# lors de la mise en place de 
# services TCP (ssh, apache, ...).
# ######################################
#
-A TCP_IN -j TCP_INLIMITS
-A TCP_IN -j STATEFUL
-A TCP_IN -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m limit --limit 10/min -j LOG --log-prefix "TCP_IN:" --log-level 6 
-A TCP_IN -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -j DROP
#
# Ajouter les rêgles ici lors de l'installation de services TCP si ces services
# doivent être ouverts
#
-A TCP_IN -s adresse_ip_autorisée -p tcp -m tcp --dport 139 -j ACCEPT ❶
# on peut aussi débloquer le port 139 pour tout le monde
-A TCP_IN -p tcp -m tcp --dport 139 -j ACCEPT ❷
#

Régle autorisant l'accès au port 139/tcp (netbios-ss) pour l'adresse adresse_ip_autorisée (qui peut aussi être un subnet). Cette règle peut être répétée autant de fois que nécessaire.

Régle autorisant l'accès au port 139/tcp (netbios-ss) pour tout le monde.


Exemple 9.3. Samba : configuration du filtrage TCP en sortie

#
#
# ######################################
# TCP sortant
# Cette machine initie des connexions HTTP vers fr.archive.ubuntu.com
# et security.ubuntu.com pour les mises à jour
# ######################################
#
-A TCP_OUT -j STATEFUL
...
-A TCP_OUT -p tcp -d 91.189.88.31 --dport 80 -j ACCEPT
-A TCP_OUT -p tcp -d adresse_ip_autorisée --dport 139 -j ACCEPT ❶
#

Régle autorisant l'envoi de paquets vers le port 139/tcp.