Étapes et configurations


  1. On cré un nouveau vserver 10.2 frais (vWeb).
  2. On install nos trucs (SPIP, etc) et vérifiant dans les répertoire /home/toto pour voir si pas de pièges (comment?).
  3. On configure (voir plus bas) postfix pour que seul SPIP puisse envoyer du mail à vMail.
  4. On transforme (pour la transition, on créera un vserver frais plus tard) le vserver actuel en vMail (on ferme tous les services sauf Sympa, postfix).
  5. Configuration des ports sur smoothwall (80 vers vWeb, 8080 vers vMail-sympa, etc...)

Smoothwall
  • On bloque tout entrées-sorties sauf 22,80 sur vWeb
  • On bloque tout entrées-sorties sur vMail sauf 22,25, 110, 8080

À ajuster selon notre config

IP_VWEB=5.6.7.8         #replacer par le bon ip
IP_VMAIL=1.2.3.4         #replacer par le bon ip
I_IFACE=eth1            #replacer par l'interface par laquelle SW reçoit les paquets de $VWEB

iptables -A INPUT -s $IP_VWEB -p udp --sport 1:65535 -j DROP
iptables -A INPUT -s $IP_VWEB -p tcp --sport 1:21 -j DROP
iptables -A INPUT -s $IP_VWEB -p tcp --sport 23:79 -j DROP
iptables -A INPUT -s $IP_VWEB -p tcp --sport 81:65535 -j DROP

iptables -A INPUT -s $IP_VMAIL -p udp --sport 1:65535 -j DROP
iptables -A INPUT -s $IP_VMAIL -p tcp --sport 1:21 -j DROP
iptables -A INPUT -s $IP_VMAIL -p tcp --sport 23:24 -j DROP
iptables -A INPUT -s $IP_VMAIL -p tcp --sport 26:109 -j DROP
iptables -A INPUT -s $IP_VMAIL -p tcp --sport 111:8079 -j DROP
iptables -A INPUT -s $IP_VMAIL -p tcp --sport 8081:65535 -j DROP


Note: From: pierrel@recitmst.qc.ca (le mail envoyé par SPIP utilise l'adresse placé dans la zone admin-interactivité sinon celle de celui qui demande une inscription).

dans main.cf (du vWeb):
header_checks regexp:/etc/postfix/access

dans /etc/postfix/access


/(from):?<?.pierre@recitmst.qc.ca/ ACCEPT
/(from):?<?.pierrel@recitmst.qc.ca/ ACCEPT
/(from):?<?.*/ REJECT

puis postmap /etc/postfix/access


Postfix
http://linux.crdp.ac-caen.fr/Docs/Postfix/x423.html

Restrictions sur l'adresse de l'expéditeur

Le paramètre smtpd_sender_restrictions permet de restreindre les messages acceptés pour livraison en fonction de la valeur donnée par la commande MAIL FROM. Par défaut, Postfix accepte les courriers quelle que soit cette valeur.

Il existe trois restrictions spécifiques prédéfinies et listées ci-dessous, mais les douzes restrictions applicables aux clients et à la valeur fournie par la commande HELO peuvent aussi être utilisées.

reject_unknown_sender_domain

La requête est rejetée si l'adresse fournie n'a pas de correspondance mx ou dns. Le paramètre unknown_address_reject_code permet de préciser le code d'erreur fourni au client (450 par défaut). Le code sera 450 si l'erreur est dûe à une erreur dns temporaire.
check_sender_access type:nom

ce paramètre recherche dans la table d'accés indiquée le nom d'hôte, de domaine, l'adresse ip, ou de réseau à la recherche d'une directive REJECT, OK ou RELAY. Le paramètre access_map_reject_code spécifie le code réponse que le serveur fournira au client (554 par défaut).
reject_non_fqdn_sender

la requête est rejetée si l'adresse fournie n'est pas complète et conforme. Le paramètre non_fqdn_reject_code permet de préciser le code d'erreur fourni au client (504 par défaut).


http://netmirror.org/mirror/postfix.org/securityportal.200011/closet20001122.html

Check_recipient_access

This is probably the best way of restricting incoming email to valid email accounts only. Let's assume you have a decent-sized corporate LAN based on Windows and are using Exchange server for email. Exchange can only validate incoming email based on the domain, not the user, and since it will attempt to deliver the email for 48 hours, your system can get quickly clogged up - with no easy way to clean it out. Place your Exchange server behind a firewall so no one on the Internet can connect to it directly, and then place a Postfix server on the public side. Add this to your main.cf:

smtpd_sender_restrictions = check_recipient_access
hash:/etc/postfix/access-inbound

Then in your /etc/postfix/access-inbound file, simply put,

validuser@example.org OK
example.org REJECT

You will also need to create the hash file. The following command will do so:

postmap /etc/postfix/access

You could also use the generic access file, but splitting it up allows for extremely selective access controls. You can then have the mail delivered locally or forwarded to another (internal) system. If an email is sent to an email address not listed specifically, and the domain is covered by a reject rule, the sender will receive an email with an error like,

The Postfix program
<useraccount@stench.seifried.org>:
host stench.seifried.org[10.3.0.10] said: 554
<useraccount@stench.seifried.org>:
Recipient address rejected: Access denied

You can also specify a custom error such as "useraccount does not exist." However, a spammer could theoretically use this to build an address list by simply testing all the email addresses - those that generate an error message do not exist, and those that do not generate one do exist.
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]
 
IMP :: RSS :: HTML :: TXT :: Clone :: Historique :: Propriétaire : PierreLachance