Plateforme de Messagerie Multidomaines Full Debian (Postfix,MySQL,...)

Plateforme de Messagerie Multidomaines Full Debian (Postfix,MySQL,...) - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 03-05-2006 à 09:01:50    

Bonjour,
 
Je suis actuellement en stage et j'ai besoin d'aide.
Mon but est de réaliser une plateforme de messagerie complète MultiDomaine.
 
Voici ma configuration actuelle :
-1 Serveur MX : avec Postfix 2.1.x , configuration basique pour être un serveur smtp entrant / installation de SpamAssassin, ClamAV, Amavis en prévision.
-1 Serveur SMTP : avec Postfix 2.1.x , configuration basique pour être un serveur smtp sortant.
-1 Serveur SQL : avec MySQL Serveur : gestion des comptes et des boites mail
-1 Serveur POP : avec Postfix 2.1.x , pas encore très bien configuré / installation de Courier-pop / Courier-mysql en prévision.
 
Voici ce que je cherche à faire :
- lorsque mon MX recoit un mail, il fait une vérification dans la base SQL si l'utilisateur existe bien, si c'est un alias ou pas.
- une fois cette vérification faite, si c'est OK, on vérifie si c'est pas un spam ou un virus.
- si tout est OK, il y a redirection du mail vers le serveur POP qui le met dans la bonne boite !
 
Voilà ... je crois que j'ai rien oublié !
J'ai des soucis de configuration de mon MX ! surtout en ce qui concerne la vérification dans la base SQL puis pour la redirection du mail !
 
Si quelqu'un peut m'aider...ça serait cool ... parce que là je patoge un peu beaucoup ! lol
Et si quelqu'un à une idée pour optimiser tout ça .... je suis preneur aussi !
Surtout pour la redirection du mail 'Serveur MX vers Serveur POP' !
 
Voilà ... merci d'avance pour votre aide.

Reply

Marsh Posté le 03-05-2006 à 09:01:50   

Reply

Marsh Posté le 03-05-2006 à 09:04:39    

Reply

Marsh Posté le 03-05-2006 à 09:17:50    

oui .... j'ai déjà regardé tous les tutos (presque tous ...) dispo sur le net !
Là ... je suis en train de détailler les différents fichiers de la configuration de littleboboy.net !
 
Mais si vous avez d'autres infos ou des conseils, des optimisations ... si vous avez déjà une plateforme de ce type ! je suis preneur de tous les commentaires !
 
merci.

Reply

Marsh Posté le 03-05-2006 à 11:03:55    

un bon lien en français pour la partie relais:
http://www.espace-groupware.com/anti-spam/
 
et un lien très complet en anglais pour un relais sur sarge:
http://www200.pair.com/mecham/spam [...] 50626.html
 
 
 :)


Message édité par elpoulpo le 03-05-2006 à 11:04:06
Reply

Marsh Posté le 03-05-2006 à 12:00:49    

merci pour ces liens ... je vais regarder tout ça !!
Je commence à en avoir plein la tête ... ça va exploser ! lol
 
A votre avis, en combien de temps je vais pouvoir réaliser ma plateforme de messagerie et que tout soit fonctionnel ?
 
Autres petites infos : ma plateforme doit pouvoir gérer un volume minimum de 10000 mails/jour , plus de 4000 @mail, et 1000 domaines !
 
Merci pour votre aide....

Reply

Marsh Posté le 03-05-2006 à 13:38:24    

2 ou 3 heures
 
EDIT : saisie des entrées en BDD exclues hein :o


Message édité par black_lord le 03-05-2006 à 13:39:12
Reply

Marsh Posté le 03-05-2006 à 13:59:44    

LOOOOOL !!!!
Alors si tu arrives à faire tout ça en 2-3H ... je suis preneur de ton petit HOW-TO !!  ;)
 
Parce que moi ... je galère !


Message édité par TitBen73 le 03-05-2006 à 14:01:42
Reply

Marsh Posté le 04-05-2006 à 09:05:58    

alors ? y a plus personne ?

Reply

Marsh Posté le 04-05-2006 à 09:16:31    

si, tu lis les docs qui t'ont été fournis, tu t'appliques et  comme c'est la première fois tu prends ton temps.

Reply

Marsh Posté le 04-05-2006 à 09:18:47    

j'ai compris les principaux documents que j'ai trouvé sur le net ! Mais ça correspond pas trop à ma situation d'architecture...
 
Enfin je vais continuer à bosser dessus ! lol

Reply

Marsh Posté le 04-05-2006 à 09:18:47   

Reply

Marsh Posté le 04-05-2006 à 09:23:14    

que pensez-vous de Cyrus à la place de Courier-pop ? Est-il plus performant ou non ?

Reply

Marsh Posté le 04-05-2006 à 11:41:09    

J'ai trouvé cyrus moins documenté que courier et plus compiqué à mettre en oeuvre :)

Reply

Marsh Posté le 04-05-2006 à 13:18:54    

ouai ! merci ... je pense pareil !
beaucoup disent que la comparaison Cyrus/Courier et comme la comparaison Sendmail/Postfix : le difficultés de configuration change totalement ! lol

Reply

Marsh Posté le 04-05-2006 à 13:52:32    

sendmail c'est pas compliqué hein [:spamafote] et c'est aussi super puissant en passant.

Reply

Marsh Posté le 04-05-2006 à 14:20:50    

euh...vaut mieux que je suive quel tuto ?
celui là ou celui ci
 
parce que ça diffère au niveau des tables sql à créer !?!
Je pense que celles du tuto de littleboboy.net sont plus complètes ... ???????

Reply

Marsh Posté le 04-05-2006 à 14:30:37    

celui de workaround.org propose le training du filtre antispam en plus et ce genre de choses.
 
Après celui de mikala fonctionne bien, je l'ai testé moi même :whistle:

Reply

Marsh Posté le 04-05-2006 à 15:58:06    

Alors ... j'ai installé postfix, postfix-mysql, mysql-client sur mon Serveur MX
 
voici le fichier main.cf

Code :
  1. smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
  2. biff = no
  3. # appending .domain is the MUA's job.
  4. append_dot_mydomain = no
  5. # Uncomment the next line to generate "delayed mail" warnings
  6. #delay_warning_time = 4h
  7. myhostname = mx2srv.domain.tld
  8. alias_maps = hash:/etc/aliases
  9. alias_database = hash:/etc/aliases
  10. myorigin = /etc/mailname
  11. mydestination = mx2srv.domain.tld, localhost.domain.tld, localhost
  12. relayhost =
  13. mynetworks = 127.0.0.0/8 212.xxx.xxx.0/24
  14. mailbox_size_limit = 0
  15. recipient_delimiter = +
  16. inet_interfaces = all
  17. virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf
  18. virtual_gid_maps = static:5000
  19. virtual_mailbox_base = /var/mail
  20. virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf
  21. virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf
  22. virtual_mailbox_limit = 51200000
  23. virtual_minimum_uid = 5000
  24. virtual_transport = virtual
  25. virtual_uid_maps = static:5000
  26. smtpd_recipient_restrictions = permit_mynetworks,
  27.         reject_unauth_destination,
  28.         reject_unknown_recipient_domain,
  29.         permit_auth_destination,
  30.         reject


 
J'ai bien créée les différents fichier 'mysql_virtual*.cf' et je les ai postmapé.
J'ai bien créée le group vmail :

Code :
  1. mx2srv:/# groupadd -g 5000 vmail
  2. mx2srv:/# useradd -g vmail -u 5000 vmail -d /var/mail -m


 
Le /etc/init.d/postfix restart : OK
Le postfix check : OK
 
J'ai bien créée les tables dans la base SQL qui sont nécessaires.
 
Sur mon serveur WEB, j'ai installé postfixadmin-2.1.0 et j'ai configuré le fichier config.inc.php (avant j'ai fait un 'cp config.inc.php.sample config.inc.php') !
 
Et lorsque j'essaie d'aller sur l'admin de postfix : voici l'erreur :

Code :
  1. Warning: Unknown(/var/www/postfixadmin-2.1.0/admin/index.php): failed to open stream: Permission denied in Unknown on line 0
  2. Warning: (null)(): Failed opening '/var/www/postfixadmin-2.1.0/admin/index.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0


 
Est-ce que tu as une idée ?
 
En attendant ... je vais essayer de faire un envoie pour voir où le mail est délivré (s'il est délivré déjà ... lol)

Reply

Marsh Posté le 04-05-2006 à 16:07:12    

path d'include invalid, et vérifie tes permissions sur les droits web (ça sent le gruikage en temps que root)

Reply

Marsh Posté le 04-05-2006 à 16:38:05    

pour l'envoie des messages (depuis le MX) en faisant un telnet sur le smtp
 

Code :
  1. May  4 17:15:18 mx2srv postfix/cleanup[19148]: A6E001C1CB5: message-id=<20060504151440.A6E001C1CB5@mx2srv.domain.tld>
  2. May  4 17:15:18 mx2srv postfix/qmgr[18892]: A6E001C1CB5: from=<moi@free.fr>, size=340, nrcpt=1 (queue active)
  3. May  4 17:15:18 mx2srv postfix/virtual[19150]: A6E001C1CB5: to=<user@domain.tld>, relay=virtual, delay=38, status=deferred (maildir delivery failed: create /var/mail/user@domain.tld/tmp/1146755718.P19150.mx2srv.domain.tld: Permission denied)
  4. May  4 17:15:18 mx2srv postfix/virtual[19150]: warning: maildir access problem for UID/GID=5000/5000: create /var/mail/user@domain.tld/tmp/1146755718.P19150.mx2srv.domain.tld: Permission denied
  5. May  4 17:15:18 mx2srv postfix/virtual[19150]: warning: perhaps you need to create the maildirs in advance


 
Première question : pourquoi il essaie de créer le répertoire : /var/mail/user@domain.tld et non pas /var/mail/domain.tld/user ??
 
Deuxième question : le problème du Permission denied, je pense que c'est un souci de droit sur le dossier /var/mail ! non ?
 
 
Bon sinon ... le problème de Postfix Admin, c'est réglé !! MERCI ! ;)
 
Mais je suis loin d'avoir fini !
 
Je vois pas trop comment je peux dire à postfix de me déposer les mails (après toutes les vérifications faites ...) sur mon Serveur POP (donc sur une autre machine) !

Reply

Marsh Posté le 04-05-2006 à 16:38:46    

Première question : résolu ....
 
EDIT 1 : Mais déjà ... ces messages d'erreur prouvent que mon MX discute bien avec mon serveur SQL ! lol
 
EDIT 2 : Je vois pas où est le problème pour ma question 2 ! car j'ai regardé les droits au dossier /var/mail et les groupes ont bien le droit de lire, écrire et éxecuter ! ... ?????


Message édité par TitBen73 le 04-05-2006 à 17:05:42
Reply

Marsh Posté le 04-05-2006 à 17:17:12    

j'ai revu un peu mon truc, et voici un nouveau message d'erreur :
 

Code :
  1. May  4 18:15:14 mx2srv postfix/cleanup[19652]: D72E21C1CBB: message-id=<20060504161449.D72E21C1CBB@mx2srv.domain.tld>
  2. May  4 18:15:14 mx2srv postfix/qmgr[19579]: D72E21C1CBB: from=<moi@free.fr>, size=340, nrcpt=1 (queue active)
  3. May  4 18:15:14 mx2srv postfix/virtual[19583]: D72E21C1CBB: to=<user@domain.tld>, relay=virtual, delay=25, status=deferred (mailbox /var/mail/domain.tld/user: cannot create file exclusively: No such file or directory)


 
???

Reply

Marsh Posté le 05-05-2006 à 09:31:52    

bon alors ... ce matin ... le mail est bien délivré correctement sur le Serveur MX au bon endroit !
 
MAIS maintenant, je ne veux pas qu'il le délivre ici même ! j'aimerai qu'il le délivre au même chemin mais sur une machine différente, c'est à dire sur le Serveur POP !
Comment je peux faire ça ?

Reply

Marsh Posté le 05-05-2006 à 10:25:32    

une tite question : est-ce qu'on peut faire ça dans le fichier main.cf de postfix ??
 
virtual_transport = relay:[@IP.du.serveur.pop]
ou
virtual_transport = @IP.du.serveur.pop
 
Parce que j'ai vu un truc du genre :
 
virtual_transport = lmtp:unix: /var/imap/socket/imap
 
mais je pense que dans mon cas, ça ne va pas !
 
???????


Message édité par TitBen73 le 05-05-2006 à 10:25:54
Reply

Marsh Posté le 05-05-2006 à 10:53:59    

y a plus personne pour m'aider ? black_lord ???

Reply

Marsh Posté le 09-05-2006 à 07:44:08    

un pti up ! ;)

Reply

Marsh Posté le 09-05-2006 à 14:07:19    

Voilà où j'en suis :
- Serveur SMTP : Postfix en smtp sortant uniquement : OK - tout est nikel
- Serveur WEB : Tous les outils d'administration (PhpMyAdmin, PostfixAdmin, Apache, Php, ...) : OK - tout est nikel
- Serveur POP/SMTP : Postfix en smtp simple acceptant les mails venant du serveur MX et rien d'autre / Courier-pop avec authentification mysql : OK - tout est nikel
- Serveur SQL : Serveur Mysql avec cryptage des mots de passe : OK - tout est nikel
- Serveur MX : Postfix en smtp entrant uniquement, vérification de la validité du destinataire : Presque tout bon ... sauf le relay du mail vers le serveur POP/SMTP!
 
Une fois que le relay du mail sera OK, je ferais la vérification antispam/antivirus des mails sur le MX ainsi que la vérification des pièces jointes, des entetes ...
 
Quelqu'un peu m'aider pour le relay du mail vers le serveur POP/SMTP ?
 
 
POUR LE MX :
Voici mon fichier /etc/postfix/main.cf

Code :
  1. smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
  2. biff = no
  3. append_dot_mydomain = no
  4. myhostname = mx2srv.domaine.fr
  5. alias_maps = hash:/etc/aliases
  6. alias_database = hash:/etc/aliases
  7. mydestination =
  8. relayhost =
  9. mynetworks = 127.0.0.0/8 212.xx.xxx.0/24
  10. mailbox_size_limit = 0
  11. recipient_delimiter = +
  12. inet_interfaces = all
  13. home_mailbox = Maildir/
  14. relay_domains = mysql:/etc/postfix/mysql/mysql_relay_domains_maps.cf
  15. #transport_maps = hash:/etc/postfix/transport
  16. virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf
  17. #virtual_gid_maps = static:5000
  18. #virtual_mailbox_base = /var/mail
  19. virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf
  20. virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf
  21. #virtual_mailbox_limit = 51200000
  22. #virtual_minimum_uid = 5000
  23. virtual_transport = hash:/etc/postfix/transport
  24. #virtual_uid_maps = static:5000
  25. smtpd_recipient_restrictions = permit_mynetworks,
  26. reject_unauth_destination,
  27. reject_unknown_recipient_domain,
  28. permit_auth_destination,
  29. reject


 
Voici mon fichier /etc/postfix/transport

Code :
  1. * smtp:[@IP.du.serveur.pop]


 
Voici mon fichier /etc/postfix/master.cf

Code :
  1. # ================================================================
  2. # service type private unpriv chroot wakeup maxproc command + args
  3. # (yes) (yes) (yes) (never) (100)
  4. # ===================================================================
  5. smtp inet n - n - 20 smtpd
  6. #submission inet n - - - - smtpd
  7. # -o smtpd_etrn_restrictions=reject
  8. #628 inet n - - - - qmqpd
  9. pickup fifo n - - 60 1 pickup
  10. cleanup unix n - - - 0 cleanup
  11. qmgr fifo n - - 300 1 qmgr
  12. #qmgr fifo n - - 300 1 oqmgr
  13. rewrite unix - - - - - trivial-rewrite
  14. bounce unix - - - - 0 bounce
  15. defer unix - - - - 0 bounce
  16. trace unix - - - - 0 bounce
  17. verify unix - - - - 1 verify
  18. flush unix n - - 1000? 0 flush
  19. proxymap unix - - n - - proxymap
  20. smtp unix - - - - - smtp
  21. relay unix - - - - - smtp
  22. # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
  23. showq unix n - - - - showq
  24. error unix - - - - - error
  25. local unix - n n - - local
  26. virtual unix - n n - - virtual
  27. lmtp unix - - n - - lmtp
  28. anvil unix - - n - 1 anvil


 
 
Voilà ... si quelqu'un a une idée sur mon problème de relay du mail vers le serveur POP/SMTP ... je suis preneur !


Message édité par TitBen73 le 09-05-2006 à 14:08:42
Reply

Marsh Posté le 09-05-2006 à 17:07:52    

tu héberges combien de domaines?
essaie déjà avec le domaine principal peut-être?
 
transport_maps = hash:/etc/postfix/transport
 
et dans transport
 
tondomaine.com smtp:[IP_destination]
 :)  
 
regardes dans les logs sinon?

Reply

Marsh Posté le 10-05-2006 à 08:54:11    

je dois héberger entre 200 et 500 domaines !
 
J'ai essayé ce que tu m'as dit ... mais ça marche pas !
Est-ce que l'ordre d'écriture des éléments dans le fichier main.cf est important ? peut-être que je l'écris pas au bon endroit ... ??

Reply

Marsh Posté le 10-05-2006 à 11:30:44    

non l'ordre n'a pas d'importance:
 
tu fais bien un  
 postmap /etc/postfix/transport
après modification?
 
postfix check
 
pour voir si tu as des problèmes dans ton fichier de config
 
et dans les logs ça donne quoi?

Reply

Marsh Posté le 10-05-2006 à 11:44:34    

oui oui ... je fais bien postmap /etc/postfix/transport
et postfix check : OK
 
Je pige pas trop ...
 
dans les logs : ca fait toujours cette erreur là :
relay=none, delay=0, status=bounced (mail for @ip.du.serveur.pop loops back to myself)

Reply

Marsh Posté le 10-05-2006 à 11:46:17    

le message te dis que tu fais une boucle [:spamafote]

Reply

Marsh Posté le 10-05-2006 à 11:53:23    

bah pourquoi ça ferait une boucle ? je pige pas ...

Reply

Marsh Posté le 10-05-2006 à 13:04:13    

essaie de mettre le même domaine dans relay_domains déjà (sans passser par mysql)
 
parce que le  
relay=none
dans tes logs, c'est pas bon signe pour un relais
 
 :)

Reply

Marsh Posté le 10-05-2006 à 16:02:14    

déjà essayé ... marche pas !  
c'est clair que le relay=none, c'est pas très normal ! mais je vois pas trop ce que je fais mal !
 
alors black_lord ... toi qui disais que ça se faisait en 2-3h !?

Reply

Marsh Posté le 10-05-2006 à 16:11:40    

a ta place je partirais du plus simple:
 
tu fais fonctionner le tout uniquement avec les fichiers de base (et avec un premier domaine)
quand ça fonctionnera tu rajoutes les connexions LDAP /mysql qui vont bien
et enfin  tu ajoutes tous tes domaines.
 
ça te permettra de mieux cibler ....

Reply

Marsh Posté le 10-05-2006 à 17:00:40    

alors voilà ... je suis repartis avec les fichiers de base, la configuration de base avec 1 seul et unique domaine !
Ca me fait exactement la même erreur :
relay=none, delay=22, status=bounced (mail for 212.xx.xxx.115 loops back to myself)

Reply

Marsh Posté le 10-05-2006 à 17:16:21    

Le main.cf est comment desormais?


---------------
"I intend to live the first half of my life.I don't care about the rest."Errol Flynn."The difference between genius and stupidity is that genius has its limits."Albert Einstein
Reply

Marsh Posté le 10-05-2006 à 17:41:05    

Pour la configuration de base, voici le fichier /etc/postfix/main.cf

Code :
  1. smtpd_banner = mx.benoit.domain.fr ESMTP $mail_name (Debian/GNU)
  2. biff = no
  3. append_dot_mydomain = no
  4. myhostname = mx2srv.domain.fr
  5. alias_maps = hash:/etc/aliases,
  6. alias_database = hash:/etc/aliases
  7. mydestination = $myhostname localhost.$mydomain localhost $mydomain
  8. relayhost =
  9. mydomain = benoit.domain.fr
  10. mynetworks = 127.0.0.0/8 212.xx.xxx.0/24
  11. mailbox_size_limit = 0
  12. recipient_delimiter = +
  13. inet_interfaces = all
  14. home_mailbox = Maildir/
  15. relay_domains = $mydomain
  16. transport_maps = hash:/etc/postfix/transport


 
voilà, pour le fichier /etc/postfix/transport :

Code :
  1. benoit.domain.fr  smtp:[212.xx.xxx.115]


 
Et j'ai modifié le fichier aliases pour qu'il accepte les mails à destination de benoit@benoit.domain.fr
Sans oublier de lui faire un 'postalias /etc/aliases'
 
Ce que je comprends pas, c'est pourquoi il fait une boucle ? alors que sur les logs du serveur pop/smtp (212.xx.xxx.115) y a aucune trace d'activité du smtp !

Reply

Marsh Posté le 12-05-2006 à 11:02:25    

un petit up

Reply

Marsh Posté le 15-05-2006 à 12:02:53    

Bon ... le problème du relay est résolu !
Comme je suis actuellement sur des vservers il fallait que je précise l'adresse ip du serveur en question dans "inet_interfaces" ! car sinon il écoute sur toutes les interfaces et c'était pas bon !
 
Donc maintenant, le seul et unique problème qu'il me reste, c'est que mon MX n'écoute apparement pas !
Il ne prend pas en compte les mails qu'il devrait !! en gros il ne fait rien quoi ! c'est bizar !!
 
Vous savez de quoi ça peut venir ??

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed