[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
config ftp et spamd pour pf
Bonsoir,
J'ai fait un pf.conf que je vais mettre en place devant un serveur FTP
sous NT, cette machine fait aussi office de serveur POP/SMTP (James
pour ce dernier). Comme la machine est pour l'instant à une centaine
de kilomètres et que je n'aurai que peu de temps pour debugger ce qui
ne va pas, je vous le soumet avant pour que vous puissiez me dire si
j'ai pas fait trop d'erreurs.
Cette config me sert de test aussi car j'essaye de résoudre les
problèmes de ftp actif/passif (activation de ftp-proxy et ftpsesame,
est-ce un bon choix ?) et d'utiliser spamd, ce que je n'ai pour
l'instant jamais testé.
Ça se présente comme ça :
NET --- FW --- SERVEUR
| ___ LAN
Ne vous étonnez pas du port 4565, il concerne le serveur James.
Je vous remercie d'avance,
@+
Serge
---------- 8< ----------
#
# Macros
#
ext_if = "sis0"
int_if = "sis1"
dmz_if = "sis2"
int_net = "192.168.0.0/24"
dmz_net = "192.168.1.0/24"
priv_net = "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }"
serv = "192.168.1.2"
icmp_types = "echoreq"
#
# Tables
#
table <spamd> persist
#
# Options
#
set block-policy return
set loginterface $ext_if
set optimization aggressive
set state-policy if-bound
#
# Scrub
#
scrub in on $ext_if all fragment reassemble min-ttl 15 max-mss 1400
#
# Translations et Redirections
#
rdr on $ext_if inet proto tcp from <spamd> to $ext_if port 25 -> 127.0.0.1 port 8025
rdr on $ext_if inet proto tcp from any to $ext_if port 25 -> $serv port 25
rdr on $int_if inet proto tcp from any to any port 21 -> 127.0.0.1 port 8021
rdr on $ext_if inet proto tcp from any to any port 21 -> $serv port 21
#
# Règles
#
## Blocage
bock all
block drop in quick on $ext_if from $priv_net to any
block drop in quick on $ext_if from any to $priv_net
## Antispoof
antispoof on $ext_if inet
## ftpsesame pour arranger les modes
## actif et passif avec le serveur win.
## cmd de ftpsesame : ftpsesame -i $dmz_if -t FTP_DMZ
anchor "ftpsesame/*"
# mode passif
pass in quick log on $ext_if proto tcp from any to $serv port 1023 >< 5001 tagged FTP_DMZ keep state
pass out quick log on $dmz_if all tagged FTP_DMZ keep state
# mode actif
pass in quick log on $dmz_if proto tcp from $serv port 20 to any tagged FTP_DMZ keep state
pass out quick log on $ext_if proto tcp from any to $serv port 21 flags S/SA modulate state
## spamd et le serveur de courrier
pass in on lo0 inet proto tcp from <spamd> to 127.0.0.1 port 8025
pass in log on $ext_if proto tcp to $serv port { 25, 110, 4565 } tag SERV_DMZ keep state
pass out log on $dmz_if tagged SERV_DMZ keep state
#pass out on $dmz_if inet proto tcp from any to $serv port 25 flags S/SA synproxy state
## Trafic ICMP
pass in inet proto icmp all icmp-type $icmp_types keep state
## Accès du LAN libéré
pass in on $int_if from $int_if:network to any keep state
pass out on $int_if from any to int_if:network keep state
## Enfin, ce qu'il faut sort de l'interface du firewall
pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto { udp, icmp } all keep state
---------- 8< ----------