8.4. Filtrage

Ce serveur ayant pour vocation relayer les messages, il devra pouvoir recevoir des messages sur le port 25, et pouvoir en envoyer à destination du même port. On devra donc explicitement ouvrir le port 25 sur la chaîne d'entrée (TCP_IN) ainsi que comme port destination sur la chaîne de sortie (TCP_OUT).

Exemple 8.1. Postfix : 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 25 -j ACCEPT ❶
# on peut aussi débloquer le port 25 pour tout le monde
-A TCP_IN -p tcp -m tcp --dport 25 -j ACCEPT ❷
#

Régle autorisant l'accès au port 25/tcp (smtp) 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 25/tcp (smtp) pour tout le monde.


Exemple 8.2. Postfix : 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 --dport 25 -j ACCEPT ❶
#

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