1. Sendmail minimum à connaitre.
1bis : sendmail.cf
2. Relais POP3
3. Lutte antispam
4. Lutte Antivirale
5. Webmail (En cours)
6. Sécurité du courrier(En cours)
7. Sendmail recompilation & création
de sendmail.cf
8. Serveur de courrier moderne et sécurisé
: IMAPS
Par défaut, la messagerie est
gérée par le vénérable démon Sendmail.
La version actuelle (OpenBSD 3.1 ) est la 8.12 qui n'est plus suid root.
Que voila une bonne nouvelle! Sendmail tourne désormais sous l'identité
non-privilégiée smmsp (Sendmail Message Submission
Program) tant pour l'utilisateur que le groupe.
La machine n'écoute, par défaut, sur le port SMTP
standard que sur les adresses locales :
Un netstat -na |grep 25 doit donner au moins une
de ces lignes :
tcp 0
0 127.0.0.1.25
*.* LISTEN
localhost en IPV4
tcp6 0
0 ::1.25
*.* LISTEN
localhost en IPV6
Le fichier /etc/rc.conf gère
le lancement de Sendmail.
sendmail_flags="-L sm-mta
-C/etc/mail/localhost.cf -bd -q30m"
- Enregistre les évènements Syslog depuis sm-mta.
- N'écoute que sur les adresses locales : /etc/mail/localhost.cf
Notez bien l'absence d'espace entre C et /etc/mail....
- Fonctionne en démon en arrière-plan. -bd.
- Vide la queue toutes les 30 minutes.
Si vous voulez transformer cette machine en serveur SMTP-sortant
pour d'autres machines, remplacez /etc/mail/localhost.cf par /etc/mail/sendmail.cf
pour écouter sur any.
Un netstat -na |grep 25
doit donner au moins une de ces lignes :
tcp 0
0 *.25
*.* LISTEN
toute adresse IPV4
tcp6 0
0 *.25
*.* LISTEN
toute adresse IPV6
Le dernier de ces fichiers :/etc/mail/submit.cf engendre
un comportement assez mystérieux : Il est utilisé comme
"partie cliente pour les MUA (Mail User Agents) qui veulent soumettre du
courrier localement pour une livraison par Sendmail". Tout en sachant qu'aucun
port SMTP n'est plus à l'écoute..... Bref, rien de très
clair pour moi!
/usr/libexec/sendmail/sendmail -L submit -C/etc/mail/submit.cf
-q3m (Interdit en tant
que démon)
6009 ??
Is 0:00.00
sendmail: Queue runner@00:03:00 for /var/spool/clientmqueue (sendmail)
Et là; si vous testez, rien ne fonctionne; c'est normal. La raison
en est le poison actuel de la messagerie : le SPAM ! L'anti-relaying est activé
par défaut ; Sendmail sous OpenBSD n'accepte de relayer que
les adresses (machines ou réseau) spécifiées explicitement
dans un fichier absent actuellement :
Les fichiers et répertoires importants :
/var/mail/mqueue
Le répertoire de spool des messages en attente d'expédition.
/etc/mail/relay-domains :
openbsd-edu.net
10.10.10.
Et pas 10.10.10.0 , ni 10.10.10.0/24; ça ne fonctionnera pas.
172.16.0.6
Autorisera le relaying du domaine openbsd-edu.net ,
du sous-réseau 10.10.10.0/24 et de la machine 172.16.0.6.
Et n'oubliez pas de laisser un passage dans le Firewall pour les requêtes SMTP entrantes.
Et là, tout fonctionne, enfin, normalement...
/etc/mail/aliases
Les identités des différents
utilisateurs (postmaster, manager, dumper....) sont toutes redirigées,
par défaut, vers celle de root. Par conséquent, les machines
OpenBSD étant volubiles en mails de remontées d'alertes,
la boite dudit root va se remplir. Il vous est donc fortement conseillé
de rediriger ce-même root vers une adresse email valide.
# Well-known aliases -- these should be filled in!
root: phil@openbsd-edu.net
phil: pschwarz@ac-creteil.fr
De meme, si vous voulez rediriger des adresses locales vers une autre machine, vous devez créer des alias de messagerie. Ici, les messages à destination de phil@openbsd-edu.net sont renvoyés vers pschwarz@ac-creteil.fr.
Attention, les lignes ne doivent pas contenir d'espace de début !! N'oubliez pas, non plus, les deux points entre les alias et les adresses.
Normalement, si vous désirez rerouter les messages vers plusieurs
adresses (ie créer des listes de diffusion), séparez
les différents destinataires par des virgules. Vous avez meme
le droit aux retours chariots :
maliste: toto@domaine,
tata_user_local,
titi@domaine
N'oubliez pas de forcer la prise en compte de vos modifications
par Sendmail en lançant la commande newaliases.
N'oubliez pas de tester
absolument votre serveur de messagerie sur l'anti relais, c'est obligatoire, si
vous ne voulez pas vous retrouvez blacklisté.
/etc/mail/local-host-names
Jetez un coup d'oeil préalable sur le DNS. Vous rentrez ici, à raison de un par
ligne, les domaines DNS pour lesquels vous voulez que votre machine face
office de serveur de messagerie. N'oubliez pas d'ajouter le nom DNS complet
(FQDN : Fully Qualified Domain Name) de la
machine.
opensd-edu.net
hendrix.openbsd-edu.net
Vous devrez
certainement jeter un oeil dans l'horrible et célèbre
: /etc/mail/sendmail.cf. En effet, pour
que le fichier local-host-names soit pris en compte, il
faut lui dire, au vénérable Sendmail. Ceci est surtout
vrai si vous faites du Virtual Hosting.
Un petit coup de kill
-HUP, et ca marche enfin !
Si vos messages ne passent toujours pas, envoyez un message sur
le serveur de mail, pendant que vous regardez passer les logs :
tail -f
/var/log/maillog
/etc/mail/virtual-domains
(Le nom est un exemple.)
Vous gérer plusieurs hotes
virtuels sur votre serveur web, et vous aimeriez bien, en faire autant
avec votre serveur de messagerie :
Gérer domaine1.net et domaine2.net, et avoir
la possibilité d'avoir des doublons, ce que ne permettent pas les
alias. Ex :
phil@domaine1.net
et
phil@domaine2.net qui sont
deux phil différents....Ceci n'est pas possible avec /etc/mail/aliases,
vous devez utiliser virtusertable.
Pour connaitre l'état de sendmail :
sendmail -d0,0 < /dev/null
Un excellent outil de vérification de votre configuration
DNS (et de la messagerie, donc): zonecheck.
Tenir compte des différents noms de votre serveur de messagerie
##################
# local info #
##################
Cwlocalhost
Fw/etc/mail/local-host-names
Modifier l'invite de sendmail
# SMTP initial login message (old $e macro)
SmtpGreetingMessage=$j Sendmail $v/$Z; $b
en
SmtpGreetingMessage="Serveur de messagerie du domaine"
$j
renvoie plusieurs infos :
Le code SMTP du message (220) Le FQDN
de la machine le
protocole (ESMTP)
$v et $Z renvoieent chacun une info :
la version de sendmail (le genre de truc à cacher, surtout quand vous
etes plutot lent du patche)
$b
renvoie les infos de temps sous la forme : Jour de la semaine
date Heure
Fuseau horaire
2. Relais POP3 (Fetchmail & &Popa3d)
Vous disposez d'un compte de messagerie sur un serveur POP3 (la suite devrait marcher en IMAP4 et POP2, mais je n'ai pas fait les tests.). Vous ne gérez pas vous-même ce serveur, mais votre gentil hebergeur a limité la taille de votre boite à quelquechose qui devient ridicule au fur et à mesure que vos nombreux serveurs OpenBSD vous font remonter alertes,logs etc...(Gestion des logs). Pour ne pas perdre de messages pour cause de quota atteint, vous devez les relever régulièrement et automatiquement.
Je vous conseille fortement de créer
un utilisateur non-privilégié pour faire fonctionner le
relais de courrier. Tout d'abord, Fetchmail n'a absolument pas besoin
de privilèges particuliers pour fonctionner. Ensuite, lors de la
relève du courrier sur la machine de relais, le mot de passe de
l'utilisateur va passer en clair. Il faut donc qu'il n'ait qu'un minimum
de privilèges systèmes. En plus l'utilisateur n'a absolument
pas besoin d'un shell. Vous allez donc créer un user courrier
non-privilégié. (useradd courrier en lui donnant
nologin comme shell). En revanche, vous allez lui attribuer un mot
de passe qui deviendra votre nouveau mot de passe POP sur le relais.
En résumé :
Name: romane
Password: ****
Ne doit pas être vide, vous devrez le taper pour relever votre
boite.
HOME: /home/romane
Inutile, les messages seront stockés dans /var/mail/nom_de_l'utilisateur
Shell: /sbin/nologin
Important, si vous voulez dormir sur vos deux oreilles. (et encore..)
NB : Le fichier contenant la totalité des mails recus,
mais non encore supprimés est /var/mail/votre_user. Mais
si vous regardez dans /var/mail, ce fichier n'existe pas encore.
Envoyez lui un mail et le fichier est créé.
Fetchmail est fait pour ça; vous lui fournissez
les infos qu'il désire et il relève votre courrier :
Installation : cd /usr/ports/mail/fetchmail
; make && make install && make clean.
C'est la crontab de cet utilisateur qui va relever le
courrier :
crontab -u courrier -e
30
*/2
* *
* /usr/local/bin/fetchmail
-v -a >> /var/log/fetchmail.log 2>&1
Afin de relever toutes les 2h30. Les logs seront mis dans /var/log/fetchmail.log.
touch /var/log/fetchmail.log ; chown courrier.courrier
/var/log/fetchmail.log ; chmod 700 /var/log/fetchmail.log
Fetchmail a besoin d'un minuscule fichier de configuration dans
le répertoire perso de l'utilisateur : ~/.fetchmailrc :
poll serveur_pop
protocol POP3 user
user_serveur_POP password
password_serveur_POP is
courrier
Notez que fetchmail sait bien gérer de multiples
boites (multiples serveur_pop/user_serveur_POP/password_serveur_POP
) pour un seul compte local (courrier).
N'oubliez d'attribuer des permissions strictes sur le
fichier .fetchmailrc, il contient vos mots de passe en clair :
chown courrier.courrier /home/courrier/.fetchmailrc ; chmod 700
/home/courrier/.fetchmailrc
Petit conseil : Lors de la phase de test; quand vous lancez fetchmail;
ajoutez l'option --keep à la commande servant à lancer
fetchmail; cela vous permettra de laisser les messages sur le serveur
POP. (option -v : verbose; option -a :
all)
Fetchmail, après avoir rapatrié les messages, les
passe à la machine locale par le protocole SMTP. Vous devez donc
avoir un démon SMTP (sendmail, au hasard ) qui tourne sur
la machine, écoute au moins en localhost et accepte de relayer
les messages à localhost.... Ca tombe bien, c'est exactement le
comportement par défaut de Sendmail sur une machine OpenBSD !
Attention : Le piège ici est
de faire des boucles avec vos messages ( bouncing messages ).
S'il existe un alias de messagerie de
courrier vers lequel sont redirigés les messages de l'utilisateur
courrier, vous risquez de jouer longtemps :
Exemple :
courrier : phil@openbsd-edu.net
dans /etc/mail/aliases
et dans la crontab de courrier , vous allez rapatrier
les messages de phil@openbsd-edu.net
Les messages vont boucler d'autant plus rapidement
que votre ligne a un débit élevé.
Solution pour arrêter la boucle infernale : tuer le démon
sendmail , modifier l'alias de messagerie, et se promettre de réfléchir
la prochaine fois; promis ça énerve !
Popa3d est un serveur POP3
concu dans une optique de sécurité (Refuse les mots de
passe vide. Refuse de délivrer du courrier à root. Efffectue
des tests pour diminuer l'impact des attaques DoS) . Bon, il est quand
même compatible avec la RFC 1939, et donc le nom
d'utilisateur et le mot de passe circulent en clair..... :-(
Si vous voulez sécuriser un peu le relevé
de boite, regardez-ici.
Popa3d fait partie de l'installation par défaut, il suit
donc le processus de suivi des bugs.
La seule chose à faire est de le lancer automatiquement
au démarrage :
Dans /etc/rc/local, ajoutez la ligne suivante :
/usr/sbin/popa3d
-D
Lance popa3d en tant que démon (J'ai éliminé inetd
de ma configuration, mais cette solution reste possible.)
Et c'est fini (N'oubliez pas d'ouvrir le FireWall) :
netstat -na |grep 110
tcp 0
0 *.110
*.*
LISTEN
Si vous voulez récupérer votre courrier dans votre
mailer préféré, ajoutez juste, dans la liste des
comptes, la triplette (Serveur/user/Password)
Les en-têtes des messages seront incrémentées de deux
ensembles :
Entête popa3d
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Received: from localhost (localhost.Mon_serveur_POP3 [IPv6:::1])
by hendrix.Mon_serveur_POP3(8.12.2/8.12.2) with ESMTP id gA1NY9sQ996021
for <courrier@localhost>; Sat, 2 Nov 2002 00:30:09 +0100
(CET)
Entête fetchmail
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Received: from Mon_serveur_POP_d'origine [Son_IP]
by localhost with POP3 (fetchmail-5.9.6)
for courrier@localhost (single-drop); Sat, 02 Nov 2002 00:30:09
+0100 (CET)
-------------------------------------------------------------------------------------------------------------------------------------------------------------
3 Lutte anti-spam
Pour peu que vous ayez une adresse
un tant soit peu connue (Sites Web, forums de news publiques,...) il est
assez probable que vous soyez inondés par des spam (pourriels
en québecois, message électronique non-sollicité
en bon français.)
Plusieurs solutions s'offrent à vous selon votre protocole
de relevé de courrier et votre mauvaise humeur:
- Eliminer ce spam depuis le serveur de courrier. Cette solution
impose le webmail ou le protocole Imap4.
- Installer sur ce même serveur de courrier un filtre antispam
(avec votre filtre antiviral, ça fera ça de fait). Spamassassin
marche apparemment très bien sous OpenBSD.
- Rapatrier ce courrier sur votre machine et l'y faire passer
plus ou moins automatiquement dans un filtre chargé de l'éliminer.
Citons en vrac mailwasher sous Windows, procmail avec
un filter adapté sous Unix.
Le problème de ces solutions sont que
l'émetteur du pourriel une fois son forfait accompli ne sera
pas gêné par votre nettoyage. L'équipe OpenBSD a
inventé un merveilleux outil pour faire attraper des cheveux blancs
aux spammeurs : spamd.
Spamd est apparu avec la 3.3, son but est d'épuiser
les ressources réseau des serveurs reconnus comme origine de
spam en maintenant avec eux une connection réseau ininterrompu.
Spamd utilise un minimum de vos ressources et un maximum des leurs.
Installation :
C'est facile, rien à faire. spamd fait partie de l'installation
par défaut, Cool!
4 Lutte antivirale
Une fois n'est pas
coutume, détaillons l'installation et l'utilisation d'un outil
qui n'est ni libre, ni gratuit! (Et meme plutot chérot..Mais
qui marche TB)
ATTENTION !! GeCAD, l'éditeur de rav vient d'etre
racheté par Microsoft, et le distributeur américain n'est
pas optimiste
ATTENTION !!
Rav Antivirus (Version 8.4 et +) Pour les versions < 8.4, voir ici.
Installation :
1. Télécharger la version rav avec libmilter, ici
2. Vérifier que votre sendmail a été compilé
avec l'option Milter (ce qui n'est pas le cas par défaut sur un
3.3)
sendmail -d0,0 < /dev/null
Doit renvoyé MILTER,
sinon il faut recompiler.
modifier le /usr/share/sendmail/cf/openbsd-proto.mc
:
Ajouter :
define(`_FFR_MILTER', `true')
INPUT_MAIL_FILTER(`RAVMilter',`S=local:/var/rav/run/RAVMilter.sock,F=R,T=S:10s;R:5m;E:5m')
????????????APPENDDEF('conf_sendmail_ENVDEF','-DMILTER')?????????
ou alors, vous téléchargez
ces instructions que vous ajoutez au fichier .mc.
Puis vous recompilez sendmail et/ou sendmail.cf
:ici
Puis, vous lancez le script install.sh et vous installez
tout :
ravmd : le démon qui scanne
Rav core : le noyau et les signatures
Rav filter : le filtre pour sendmail
Le script installe tout seul les commandes de démarrage
dans /etc/rc.local.
Modifier /etc/rc.conf pour remplacer localhost.cf
en sendmail.cf, au cas où.
Ne pas oublier d'ouvrir dans pf sur les ports
25 et 587 en TCP.
L'arborescence rav est donc :
/etc
|____rav
|__actions
Actions à prendre en cas de
pb viral.
|__antispam
Actions à prendre en cas de pb de spam.
|__domains
Domaines protégés par Rav. Un
domaine rav est ce qui suit le @, attention!!!!!
|__ravmd.conf
Fichier de config central.
|__rbl_settings
Liste de spammeurs ou de relais ouverts connus.
|__regexp
Liste des expressions régulières
|__rup.conf
Quelques paramètres globaux
(flags ON/OFF, chemins des fichiers, executables..)
|____groups
|__sample_group
Groupe d'essai à copier et paramètrer.
|__global
Gestion des groupes d'utilisateurs
permettant de leur d'autres règles de filtrage
|____language
|__english
Messages d'alerte en anglais
|__english.equiv
Equivalence de message d'alerte en anglais
|__french
Messages d'alerte en anglais
|__french.equiv
Equivalence de message d'alerte en anglais
/var
|____rav
|__ravmd.key
Clé à obtenir auprès de GeCAD (qui appartient désormais
à une PME de Redmond :-(((((
|__ravmd.key.new
|__bulk
|__quarantine Répertoire
stockant les fichiers infectés
|__rave
|__run
Répertoire stockant le pid
(identifiant du process ravmd)
|__tmp
Répertoire temporaire de rav
/usr
|____local
|__lib
|__rav
|__les librairies nécessaires.
Lors du lancement des binaires, vous risquez de rencontrerle problème
de librairies :
> /usr/local/bin/ravmd
/usr/libexec/ld.so:ravmd libz.so.1.3:No such file or directory
La solution est simple, il faut faire les liens symboliques qui vont
bien :
#cd /usr/local/lib
#ln -s /usr/lib/libz.so.2.0 libz.so.1.3
#ln -s /usr/lib/libutil.so.8.0 libutil.so.7.1
#ln -s /usr/lib/libc.so.29.0 libc.so.28.0
ravupdate génerera la mise à jour des signatures.
5. Messagerie en ligne : Webmail
Openwebmail est, comme son nom l'indique, une messagerie en ligne, et comme
son nom ne l'indique pas, un peu plus que ça :
- Filtre anti-spam
- Calendrier
- Gestionnaire de fichiers.
Pendant la phase d'installation classique,
le logiciel installant un module ispell (correcteur orthographique) vous
demandera de choisir entre la langue locale, americaine ou anglaise;
et comme locale pointe deja vers la langue de Georges Double-U, le choix
est assez restreint.
Le fichier de configuration est situé à /var/www/conf/openwebmail/openwebmail.conf.
Les fichiers executables sont dans /var/www/cgi-bin/openwebmail/
Vous devez autorisez dans la configuration de ce serveur (ou
de ce serveur virtuel, au cas où) un certain nombre de choses
:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/openwebmail/
Options ExecCGI
6. Un peu de sécurité dans ce monde en clair
I. Vous pouvez restreindre l'accès au
serveur POP3 :
Jusqu'à maintenant, j'avais limité
l'accès au port 110 du serveur à quelques adresses IP
publiques. Mais, lors de déplacements, je suis dans l'incapacité
de relever mon courrier, coincé dehors par mes propres soins. En
fait, il faudrait que le serveur POP soit capable de m'identifier d'où
que je vienne. En plus, cela permettrait de fermer le port POP3 à
tout l'internet. Comment faire ?
Nous allons utiliser le merveilleux outil fourni par l'équipe
OpenBSD : authpf.
Ajoutez simplement la ligne suivante au fichier /etc/authpf/authpf.rules
:
pass in log quick on $interface_ext proto tcp from $user_ip/32
to IP_Publique_du serveur_POP3/32 port = 110 flags S/SA keep state
Attention, la variable $user_ip est
d'usage obligatoire, elle récupère l'adresse IP du client
SSH..
Ensuite, vous fermez le port 110 et vous ouvrez le port 22 sur
tout l'internet :
pass in log quick on $interface_ext proto tcp from any to
IP_Publique_du serveur_POP3/32 port = 22 flags S/SA keep state
block in log on $interface_ext proto tcp from any to IP_Publique_du
serveur_POP3/32 port = 110
Attention, n'ajoutez pas le mot clef
quick à la fermeture du port 110, car authpf ajoute, par
défaut, les règles de filtrage à la fin du fichier
de règle, votre règle d'ouverture par authpf ne serait
jamais lue.
Il est probable qu'utiliser le compte root pour récupérer
son courrier soit une assez mauvaise idée ;-); De plus, être
obligé de taper son mot de passe SSH à chaque relevé
de courrier risque de devenir vite pénible. Pour cela, créez
un compte utilisateur non-privilégié sur le serveur,
CLE PUB, PAS DE PHRASE DE PASS.....
Maintenant, connectez vous en SSH sur le serveur, authentifiez-vous
et rapatriez-votre courrier.
Rappelez-vous que authpf garde les règles
supplémentaires le temps de la connexion SSH, il les élimine
après.
Kmail permet de lancer une commande
I. Vous pouvez chiffrer la transmission
Plus de documentation
7. Modifier le comportement
de Sendmail
1. Recompiler Sendmail (Exemple
: Ajout de libmilter)
Cela peut etre nécessaire, s'il vous manque des options .
Vous devez d'abord télécharger les sources avec cvsup, par exemple.
Vous vous retrouvez avec une arborescence /usr/src/gnu/usr.sbin/sendmail/.
Pour ajouter la fonctionnalité libmilter, modifiez le Makefile
en ajoutant à la ligne SUBDIR+, le mot libmilter.
Puis, vous créez un fichier /etc/mk.conf qui contient
:
WANT_LIBMILTER=1
Puis, vous recompilez sendmail.
(make depend && make && make install)Le nouveau
binaire sendmail est automatiquement mis en place dans /usr/libexec/sendmail/sendmail.
On le relance et c'est parti; il ne reste plus qu'à vérifier
qu'il tourne avec les bonnes options :
sendmail -d0,0 < /dev/null.
Version 8.12.12 (J'ai de l'avance;-) | C'est bon, il y a Milter, maintenant.
Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SCANF
STARTTLS TCPWRAPPERS USERDB XDEBUG
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = mon_srv
(canonical domain name) $j = mon_srv.mon_domaine
(subdomain name) $m = mon_domaine
(node name) $k = mon_srv.mon_domaine
========================================================
Recipient names must be specified
2. Modifier le fichier de configuration de Sendmail, le réputé
sendmail.cf..
Ne paniquez pas, je suis bien incapable de vous
faire pénétrer dans les méandres de ce machin. En
revanche, l'utilisation de m4, va nous aider à faire les
choses simplement.
Tous les fichiers sont dans
/usr/share/sendmail/
|____cf
Contient tous les fichiers .mc qui vous servirons de base.
|__openbsd-localhost.mc N'écoute
sur le port 25 qu'en localhost.
|__openbsd-proto.mc
Pour faire un serveur de messagerie parlant SMTP
|____m4
|__cf.m4
Fichier générique
|____feature
Contient toutes les fonctionnalités
que vous voulez ajouter à votre config.
|____ostype Contient
les directives dépendantes de l'OS, place des fichiers, en particulier.
|__openbsd.m4 Directives
OpenBSD-dépendantes.
Configurer son sendmail.cf
Vous devez intervenir sur le fichier .mc (/usr/share/sendmail/cf/)
afin d'y inclure les options que vous voulez.
Exemple : La gestion des hotes virtuels :
J'ajoute à openbsd-proto.mc la macro :
VIRTUSER_DOMAIN_FILE(`/etc/mail/virtual-domains')
Générer le sendmail.cf
cd /usr/share/sendmail/cf/
m4 ../m4/cf.m4 openbsd-proto.mc
> ../sendmail.cf
!!!!! Vous DEVEZ utilisez le chemin ../ au début
de la ligne (bug de m4) ou alors, utiliser la syntaxe :
m4 -D_CF_DIR_=chemin_de_m4/cf.m4 openbsd-proto.mc
> ../sendmail.cf
Le sendmail.cf ainsi créé est totalement identique
au /etc/mail/sendmail.cf livré d'origine.
Si vous voulez travailler en local, on a alors : m4 ../m4/cf.m4
openbsd-localhost.mc > ../sendmail.cf
Le sendmail.cf ainsi créé est totalement
identique au /etc/mail/localhost.cf livré d'origine.
Quelques notes interessantes sur sendmail.cf;ici.
6. Serveur de courrier moderne et sécurisé
: IMAPS (V 1.7.1)
Pourquoi quitter POP3 qui fonctionne bien pour passer en IMAP /TLS ?
-Vous relevez votre courier depuis plusieurs postes. Ca vous évitera
de jongler.
- Vous souffrez beaucoup du passage en clair des données.... IMAP
ne corrige pas cela, IMAPS, voui!
- Télécharger les messages est pénible, imap vous
permet de les traiter sur le serveur,c omme un webmail, mais sans les pubs
de l'hébergeur..
Attention ! Il existe un inconvénient de taille à
passer votre serveur sous imap, vous allez devoir bazarder sendmail!
On vous aura prévenu.
Imap utilise le format maildir (un fichier par message) pour les
boites, tandis que sendmail ne comprend que le format mbox (un seul
gros fichier pour tous vos messages). Le format mbox est le plus ancien
et pose beaucoup de problèmes, en cas de rupture de la communication
lors du transfert, en cas de tentaive d'accès simultanés à
un fichier de mail...
Pour comparer plus précisement, reportez vous à l'excellent
article que voilou.
cd /usr/ports/mail/courier-imap
env FLAVOR="no_pgsql" make
Je ne veux pas installer la base postgres, voir l'info sur les FLAVOR.
env FLAVOR="no_pgsql" make install
make clean
mkdir /etc/courier-imap
cp /usr/local/share/examples/courier-imap/*
/etc/courier-imap/
Editez le fichier /etc/imapd.cnf et adaptez-le
à vos besoins; en particulier, vous DEVEZ remplir l'intitulé
CNavec un nom DNS officiel de la machine. N'oubliez pas de remplir
le bon champ email : postmaster@mon-domaine, non plus.
Puis vous lancez le script /usr/local/sbin/mkimapdcert qui
va générer le trousseau de clés:(voir SSH)
Lors de la première connexion, vous obtiendrez le message suivant.
La clé privée (RSA 1024 bits par défaut) dans /etc/ssl/private/imapd.pem,
puis la primitive de 512 bits de la clé Diffie-Hellmann.
mkdir -p /var/run/courier-imap
Pour créer, une fois pour toutes, le répertoire
de lock
Vous pouvez désormais lancer le démon avec l'une des commandes
suivantes (à mettre dans /etc/rc/local):
/usr/local/libexec/imapd.rc start
Lance
le démon imapd
/usr/local/libexec/imapd-ssl.rc start
Le meme en version SSL(imapds)
Le démon d'authentification, sera, lui aussi, lancé dans
/etc/rc/local :
/usr/local/libexec/authlib/authdaemond start
Note pour l'ouverture du FireWall:
Imaps (imap4 Sur TLS) tourne sur 993/TCP et 993/UDP (la messagerie
en UDP, je suis un poil surpris, mais c'est ce que me dit /etc/services)
Création et structure des répertoires Maildir:
cd /home/mon_user
/usr/local/bin/maildirmake Maildir
N'oubliez d'attribuer la propriété du répertoire
à l'utilisateur mon_user..
La structure d'un répertoire est la suivante :
~/Maildir
|__cur
Messages lus
|__new
Nouveaux messages
|__tmp
Le demande de suppression d'un message le place, en réalité
dans ./tmp, avant de le supprimer 36 heures après.
© Philippe Schwarz - Philippe Chadefaux - $Id: Messagerie.html,v 1.2 2003/01/31 22:01:08 phil Exp $ -