[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< ----------