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 ❷ #
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. |