Chrooter apache
Ajout disque dur
Ajout carte
Audit des disques durs
Gestion des peripheriques
Disquette d'installation
Ajout d'un scanner
Graver en ligne de commande
Astuces
Astuces en Bash
Configuration reseau
Dns
Serveur cvs
Proxy squid 
Installation serveur ftp
Installation qmail 
Installation serveur courrier sous debian
Outil TCP/IP 
Le serveur samba
Connexion a distance securisee
Client/serveur vnc
Configurer apache
Dyndns
Chiffrer un fichier/dossier
Securiser son poste
Mur pare feu pas a pas
Authentification ht-access
Surveillance de serveur CACTI
Snort
Snort-inline
Securiser Apache avec mod_security
Filtrage squid/squidguard/dansguardian
Auditer son site web
Sécuriser son linux
Installer un Lamp avec ssl
Contrer les scans de ports
Traitement anti-spam
Installer/Utiliser tripwire
Utilisation de lilo
Les commandes Linux
Le multi-tache
Le crontab
Exploration de la configuration
Quotas
Messagerie
Installer une application
Debugger ses applications
Le format RPM
Mise a jour du noyau
Qemu
Tour d'horizon des principaux p2p
Récupération du système
Bips d'un pc
Astuces windows
Table Ascii
Lamerland
Conversion de fichiers musicaux
hakin9
Secureroot.com
Hackerthreads.org
Defcon
Hackerlounge
Les derniers exploits
Tous les codes sources
Securite sous Linux
Les logiciels libres quotidiens
Ezine divers
Madchat
Textes divers
Archives
 
Toutes les traductions
Toutes les traductions
Hackin9

Il y a actuellement 6 visiteurs connectés sur le site !

Google
Configuration de la messagerie
Configuration de la messagerie

 

Configuration de sendmail et fetchmail
Configurer sendmail et fetchmail avec install-sendmail (conseillé)
Configurer sendmail à la main
Cas de Sendmail 8.11.6
Configuration de fetchmail à la main
Utilisation
Fetchmail

 

Configuration de fetchmail et sendmail

Pour que nous puissions recevoir et envoyer des mails en local, il faut configurer sendmail (ou qmail ou autre... mais je ne les connais pas... Si vous utilisez un autre programme que sendmail, adaptez l'article à votre cas).
Pour que notre machine puisse récupérer des mails sur des comptes pop (ceux de votre provider par exemple) il faut configurer fetchmail.

Configurer sendmail et fetchmail avec install-sendmail (conseillé)

Récupérer install-sendmail, décompresser l'archive où vous le souhaitez.
On se place dans le répertoire dans lequel on a décompressé install-sendmail et on lance le programme (attention il ne faut pas être root pour lancer ce programme, par compte il faut connaître le mot de passe du root car le script le demande) :
$ cd install-sendmail-xxxxx
$ ./install-sendmail -c La première chose que l'on vous demande c'est la langue que vous souhaitez utiliser (parmi 8), choisissez le danois si c'est votre langue maternelle ;).
La plupart des questions sont simples (on vous demande le nom de domaine de votre ISP, i.e. internet service provider, etc... toutes choses que vous a fourni votre provider s'il est poli, sinon demandez-les lui !).

* La première question qu'il nous pose : le nom de domaine dont nous souhaitons que tous email en provenance de notre machine aient ? Il faut répondre le nom de domaine que nous préférons, par exemple, moi je préfère free.fr donc je mets : free.fr.
* Ensuite, est-ce que tous les emails sont stockés sur cette machine ? Bien sûr que non, puisqu'ils proviennent de nos deux providers ainsi que de netcourrier qui nous fournit quelques autres adresses. Donc il faut répondre non !
* Voulez vous que votre mail sortant soit expédié par un serveur de mail extérieur ? Et bien oui, nous utiliserons le serveur smtp de notre provider.
* Quel est votre serveur de mail sortant ? Il nous faut mettre ici le nom du serveur smtp de notre provider, pour moi c'est : smtp.free.fr. (pour ceux qui ont lu la suite : c'est ici qu'il faut préciser {MAILHOST})
* Voulez vous mettre les mails dans la file d'attente ? Comme nous ne sommes pas connecté en permanent à internet, nous répondons oui à cette question.
* Êtes vous le serveur de mail d'un serveur local ? Ce pourrait être le cas, mais dans le cadre de cet article, nous supposerons que non.
* Support pour les domaines virtuels, Avez vous besoins de ça ? A vous de voir, mais je ne détaillerai pas cela, donc : non.
* Voulez vous remapper des adresses locales en d'autres ? Comme notre réseau ne fait pas partie d'internet, il faut répondre oui.
* Pour la section 5 de install sendmail, créer les alias que vous souhaiter, la procédure est suffisamment explicite.
* Voulez vous utiliser le support de Fetchmail ? oui nous utiliserons fetchmail pour récupérer les mails venant de l'extérieur (de tous nos comptes pop3).
* La configuration des différents compte pop3 est suffisamment simple pour ne pas être explicitée. Attention toutefois, dans la partie login entrez bien l'adresse email (sans le @isp.fr) correspondant au serveur pop !
* Ensuite install-sendmail génère les fichiers nécessaires à sendmail et fetchmail : .fetchmailrc, access, access.db, sendmail.mc, sendmail.cf et sendmail.cw. Puis il vous demande le mot de passe du root pour les copier où il faut (dans /etc et /root) ainsi que le login du collecteur de mail : vous devez préciser : root car nous allons récupérer les mails de tous les utilisateurs en même temps, et seul le root peut faire ça.


Voilà. Normalement à partir de maintenant, sendmail fonctionne en local. Vous pouvez même (après l'avoir démarré par /etc/rc.d/init.d/sendmail start) essayer d'envoyer un mail à l'un des utilisateur. Vous devez préciser : localhost comme serveur smtp pour votre gestionnaire de courrier.

Configurer sendmail à la main

Pour ceux qui aiment tout faire à la main (les fous ;)), on peut créer soit même tous les fichiers..., voilà le fichier sendmail.mc généré par install-sendmail (c'est une bonne base de départ) commenté (les commentaires sont en italique, et commencent par "dnl") :
divert(-1)
dnl il faut que le générateur de macro sache où trouver les fichiers de configuration :
include(`/usr/lib/sendmail-cf/m4/cf.m4')
dnl comme identifiant (8:12) vous pouvez sans doute mettre ce que vous voulez :
define(`confDEF_USER_ID',``8:12'')
dnl mon pc s'appelle gros.tux, mettez le nom de votre machine
VERSIONID(`gros.tux nodns')
Cwgros.tux localhost
dnl vous utilisez linux oui ou non ?
OSTYPE(`linux')
dnl on n'utilise pas UUCP (c'est antédiluvien)
undefine(`UUCP_RELAY')
dnl quelqu'un connaît bitnet ?
undefine(`BITNET_RELAY')
dnl autant ajouter automatiquement le nom de domaine qui va bien (celui d'un de nos providers)
FEATURE(always_add_domain)
dnl on utilise un fichier d'alias
FEATURE(use_cw_file)
dnl ????
FEATURE(nocanonify)
dnl ????
define(`confAUTO_REBUILD')
dnl ????
define(`confTO_QUEUEWARN', `')
dnl on ne relaie que les hôtes ????
FEATURE(relay_hosts_only)
dnl on utilise un fichier d'alias
define(`confCW_FILE', `-o /etc/mail/sendmail.cw')
dnl ????
define(`confCON_EXPENSIVE', `True')
dnl ????
define(SMTP_MAILER_FLAGS, e)
dnl les accès smtp sont restreint par ce fichier
FEATURE(access_db, `hash -o /etc/mail/access.db')
dnl les domaines génériques sont dans :
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')
dnl on va changer les adresses venant de chez nous par celle de notre provider
FEATURE(redirect)
dnl si y'a pas de nom de domaine c'est :
MASQUERADE_AS(`free.fr')
dnl tous les mails en provenance de gros.tux sont changés
MASQUERADE_DOMAIN(`gros.tux')
dnl tous les mails on a dit !
FEATURE(masquerade_entire_domain)
dnl donc il faut changer l'enveloppe :
FEATURE(masquerade_envelope)
dnl on va utiliser procmail pour trier les mails des utilisateurs :
FEATURE(`local_procmail',`/usr/bin/procmail')
dnl on mail en local
MAILER(local)
dnl en smtp (??)
MAILER(smtp)
dnl et via procmail
MAILER(procmail)
dnl notre serveur de mail relais est : smtp.free.fr
define(RELAY_HOST, smtp:smtp.free.fr)
define(SMART_HOST, smtp:smtp.free.fr)
dnl il utilise TCP/IP ;)
define(RELAY_MAILER, TCP)
dnl cela n'est utile que pour les portables qui ont des adresses parfois insolubles
FEATURE(`accept_unresolvable_domains')

Ce fichier n'est pas utilisable par sendmail. Mais la lecture (et la rédaction) d'un fichier de configuration de sendmail ayant, paraît-il, causé la folie de plusieurs spécialistes de sendmail, je ne vais pas vous l'imposer. Ce fichier sert justement à créer le véritable fichier de configuration de sendmail : sendmail.cf, qui est créé par :
$ m4 sendmail.mc > /etc/sendmail.cf (enfantin), évidemment install-sendmail fait tous les choix convenables pour nous, mais au cas ou certains choix serait inappropriés, vous savez quoi faire : éditez sendmail.mc (après avoir lu la doc de sendmail) et régénérez sendmail.cf.
Il n'est absolument pas envisageable de créer de toute pièce un fichier /etc/sendmail.cf complet, par compte, on peut envisager de modifier légèrement celui-ci.

Cas de Sendmail 8.11.6

Cette version de sendmail (et peut-être les précédantes mais ça je n'en suis pas sur) permet de ne pas préciser le relai SMTP en mettant dans sendmail.mc la règle :
FEATURE(`relay_based_on_MX')dnl et d'enlever les règles :
define(RELAY_HOST,...)
define(SMART_HOST,...) puis en régénérant sendmail.cf par
m4 /usr/share/sendmail-cf/m4/cf.m4 sendmail.mc > sendmail.cf de cette façon, sendmail se basera sur le champ MX de votre DNS (ie: celui de votre FAI:fournisseur d'accès internet) pour le relai des mails : c'est très utile dans le cas ou vous avez plusieurs fournisseurs d'accès ça évite d'utiliser un script perl pour rechercher/modifier la ligne fautive dans sendmail.mc.

 

Configuration de fetchmail à la main

La configuration de fetchmail est beaucoup plus compréhensible. Voilà mon fichier /root/.fetchmailrc (commenté, mots de passe remplacés par xxxx) :

# Configuration created Sat Mar 11 11:52:47 2000 by fetchmailconf
# le postmaster c'est postmaster ;),
# en fait dans /etc/aliases, il y a un alias : postmaster -> root
set postmaster "postmaster"
# pour que les erreurs de distributions aillent à l'envoyeur : set bouncemail
set properties ""
# pour récupérer les mails sur pop.free.fr en pop3 :
poll pop.free.fr with proto POP3
# le nom du compte sur pop.free.fr est "sympa",
# son mot de passe est xxxxx il s'appelle fred sur ce pc :
user "sympa" there with password "xxxxx" is fred here warnings 3600
# on n'accepte pas les mails repérés comme des spams :
antispam 471 571 550 501 554
# un autre compte sur le même serveur pop :
user "machin" there with password "xxxxx" is bibi here warnings 3600
antispam 471 571 550 501 554
# d'autres comptes sur un autre serveur pop
poll mail.netcourrier.com with proto POP3
user "topsympa" there with password "xxxxx" is fred here warnings 3600
antispam 471 571 550 501 554
user "machin" there with password "xxxxx" is bibi here warnings 3600
antispam 471 571 550 501 554
# d'autres comptes sur un autre serveur pop
poll pop.wanadoo.fr with proto POP3
user "sympa1" there with password "xxxxx" is fred here warnings 3600
antispam 471 571 550 501 554

Pour pouvoir utiliser un tel fichier de configuration, il faut impérativement avoir le droit d'écrire dans le compte mail (/var/spool/mail) de tous les utilisateurs indiques (ici bibi et fred) : le mieux est d'être root, et donc que le fichier ci-dessus soit en fait : /root/.fetchmailrc !
Il est bien entendu possible à chaque utilisateur de se créer un fichier /home/user/.fetchmailrc (même syntaxe) pour récupérer son courrier sur des comptes non connus du root.
Mais il devra récupérer lui-même son mail. On pourrait imaginer, à chaque connexion de créer le fichier /root/.fetchmailrc (pour le compte de root) avec les fichiers .fetchmailrc des différents utilisateurs du système, mais cela permettrait à n'importe qui de mettre des mails sur le compte de n'importe qui d'autre...
Une autre solution serait d'utiliser "su user -c fetchmail" pour chaque utilisateur, à chaque connexion (sans doute une bonne solution si l'on a beaucoup d'utilisateurs).
La solution proposée ici, est pratique si seulement quelques personnes on accès à un serveur (genre : moins de 10).
Pour ceux que install-sendmail rebute, qui veulent configurer fetchmail séparément, ou qui veulent ajouter des comptes pop, il existe un programme de configuration graphique relativement compréhensible : fetchmailconf (pensez à installer le paquetage correspondant).

Utilisation


Sendmail

C'est très simple. Tant que vous n'êtes pas connecté à Internet, tous vos mails sont mis en attente sans que vous ayez rien de particulier à faire.
A la connexion, par contre, vous devez envoyez tous les mails en attente en utilisant la commande : /usr/sbin/sendmail -q
Avant d'utiliser cette commande, vous pouvez vérifier qu'effectivement vous avez des mails en attente par : mailq

Fetchmail

Pour recevoir les mails des différents comptes pop que vous avez configuré, depuis le compte de root, faites:
fetchmail -v (l'option -v n'est pas obligatoire, mais elle permet de voir que tout va bien). Et c'est tout.

Sources de l'article


 

Forum d'entraide
Les news du site
Formulaire en php
Administrer un serveur Mysql
Session en php
Gerer ses bases mysql
Les bases php
Securiser ses scripts PHP
Controler ses programmes avec RATS
Convertir une base sql en utf8
Astuces php
Python rapide
Tutorial Python
Tutorial Perl
Tutorial Perl complet
Tutoriel ruby
Tutoriel C
Introduction à gawk
Filtres et utilitaires
Find
Programmation Shell
Ecriture de scripts bash
Expressions regulieres
Vi
Introduction a Javascript
Compiler avec gcc
Tutoriel Assembleur
Guide du cracking pour débutant
Assembleur
Manual Unpacking
Différentes failles Web
Arp spoofing dans un réseau switché
Les intrusions
Les attaques externes
Defacage
Defacage complet
Buffer overflow
Netcat
Injection sql
Injection sql(suite)
John the Ripper
Spoofer un email
Utiliser google
La faille system
Usurper une identité
Le rooting
Shellcode sous Unix
La faille race condition
La faille xss
La faille xss (2)
Attaques sur un routeur
Azureus pas-a-pas
Lire les news de Linux-pour-lesnuls.com au format RSS
Gestion des paquets debian
101 commandes debian
Effet neon dans GIMP
Effet vapeur dans GIMP
Cours fonctionnalités de GIMP
Ensemble
Divers