Script python pour exporter les enregistrements SPF d'un ou plusieurs domaines.
L’intérêt est de pouvoir mettre a jour des “whitelist” pour des domaines connus…
La méthode est imparfaite mais c'est un bon point de départ avant d'installer PostScreen (peut être bientôt:stay tune!)
PS: Je suis un total débutant en python
… donc le code n'est pas Pythonic !
~~READMORE~~
# aptitude install python-dnspython python-ipcalc
Voici le script “pyspfexport
” :
1 domaine…
$ pyspfexport gmail.com # --------------------- # cidr # --------------------- # --- gmail.com --- 216.239.32.0/19 permit # TXT/gmail.com/_spf.google.com/_netblocks.google.com (ip4) 64.233.160.0/19 permit # ... 66.249.80.0/20 permit # ... 72.14.192.0/18 permit # ... 209.85.128.0/17 permit # ... 66.102.0.0/20 permit # ... 74.125.0.0/16 permit # ... 64.18.0.0/20 permit # ... 207.126.144.0/20 permit # ... 173.194.0.0/16 permit # ... # --------------------- # EOF
Plusieurs domaines, dont l'export ira dans un fichier:
$ pyspfexport ovh.com hotmail.com microsoft.com > ma_white_list.cidr
A partir du fichier “whitelist_clients
” de PostGrey .
$ pyspfexport a-file:/etc/postgrey/whitelist_clients > my_white_list.cidr
“a-file: ” ⇒ charger le fichier retrouvant l'IP, et non pas les enregistrements SPF |
Pour exporter les IPs “SPF”, utiliser “file:
” ou “spf-file:
”
STDERR
whitelist
par l'IP est caduc)157.56.206.0/21
→157.56.200.0/21
)Aprés avoir créer ma liste:
$ pyspfexport a-file:/etc/postgrey/whitelist_clients gmail.com example.com whateveryouwant.fr >pyspfexport-whitelist.cidr
Dans le fichier /etc/postfix/main.cf
de Postfix
pour PostScreen
(mais ça peut être utilisé dans d'autres contextes!) :
postscreen_access_list = permit_mynetworks,cidr:/etc/postfix/pyspfexport-whitelist.cidr