[Debian squeeze] Serveur postfix + dovecot LDA avec OpenLdap

Un annuaire LDAP (avec le schéma misc) est déjà en place, nous souhaitons monter un serveur de mail SMTP/IMAPS en s’appuyant sur l’authentification de l’annuaire LDAP :

apt-get install postfix postfix-ldap dovecot-imapd

Postfix

Tout d’abord /etc/postfix/main.cf :

smtpd_banner = $myhostname
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = hostname.zici.fr
myorigin = /etc/mailname
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
luser_relay =
alias_maps = hash:/etc/aliases
virtual_mailbox_domains = zici.fr, mercereau.info, liencontrelien.zici.fr
virtual_alias_maps = hash:/www/zici/emailPoubelle/virtual
dovecot_destination_recipient_limit = 1
virtual_transport = dovecot
mailbox_transport = dovecot
dovecot_destination_recipient_limit = 1

Dans le fichier master.cf il suffit de rajouter la ligne suivante à la fin du fichier:

# Dovecot LDA
dovecot unix - n n - - pipe flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient} -d ${user}

Dovecot

Il n’y a que 2 fichiers de conf, d’abord, /etc/dovecot/dovecot.conf

protocols = imap imaps
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/var/mail/%n
mail_uid = 500
mail_gid = 8
mail_privileged_group = mail
protocol imap {
imap_client_workarounds = outlook-idle
}

protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
protocol managesieve {
}
protocol lda {
postmaster_address = postmaster@zici.fr
auth_socket_path = /var/run/dovecot/auth-master
}
auth default {
mechanisms = plain login
passdb pam {
}
passdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}
userdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}
user = root
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
group = mail
}
}
}
dict {
}
plugin {
}

et enfin /etc/dovecot/dovecot-ldap.conf

hosts = 127.0.0.1
auth_bind = yes
ldap_version = 3
base = ou=Utilisateur,dc=zici,dc=fr
user_attrs = uidNumber=500,gidNumber=8
user_filter = (&(objectClass=posixAccount)(cn=%n))
pass_filter = (&(objectClass=posixAccount)(cn=%n))
default_pass_scheme = SSHA

Astuce pour tester les filtres utiliser la commande

 ldapsearch -x -h localhost -b "ou=Utilisateur,dc=zici,dc=fr" '(&(objectClass=posixAccount)(cn=Utilisateur))'

Source :

  • http://www.404blog.net/?p=36
  • http://monblog.system-linux.net/blog/2011/05/12/ajouter-des-schemas-dans-votre-annuaire-openldap-avec-debian-squeeze/
  • http://www.rjsystems.nl/en/2100-d6-openldap-provider.php

[slapd.d] bdb_equality_candidates – not indexed

Logcheck me remonte ceci :

Apr  2 16:02:04 host slapd[30343]: <= bdb_equality_candidates: (memberUid) not indexed
Apr  2 16:02:04 host slapd[30343]: <= bdb_equality_candidates: (uid) not indexed
Apr  2 16:02:04 host slapd[30343]: <= bdb_equality_candidates: (cn) not indexed
Apr  2 16:02:46 host slapd[30343]: <= bdb_equality_candidates: (uid) not indexed
Apr  2 16:02:46 host slapd[30343]: <= bdb_equality_candidates: (memberUid) not indexed
Apr  2 16:09:16 host slapd[30343]: <= bdb_equality_candidates: (uid) not indexed
Apr  2 16:09:16 host slapd[30343]: <= bdb_equality_candidates: (memberUid) not indexed
Apr  2 16:12:19 host slapd[30343]: <= bdb_equality_candidates: (uid) not indexed
Apr  2 16:20:16 host slapd[30343]: <= bdb_equality_candidates: (uid) not indexed

La démarche est donc de faire indexer à slapd les champs uid, memberUid & cn

Si vous ne l’avez pas fait éditer le fichier /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{0\}config.ldif en ajoutant la ligne olcRootPW sous olcRootDN, le mot de passe est généré avec la commande slappasswd (n’oubliez pas de relancer le daemon slapd)

Pour revenir à notre problème, il faut donc éditer votre schéma via un bon éditeur (type ApacheDirectoryStudio en « cn=admin,cn=config » et le mot de passe, avec le base dn « cn=config ») Puis, dans le chemin : olcDatabase={1}hdb,cn=config ajouter la ligne :

olcDbIndex: uid,memberUid,cn eq

Des adresses emails jetables gratuites et sans limite de temps

Zici.fr vous propose des adresses emails jetables gratuites, sans aucune limite de temps.

Créer maintenant votre propre adresse email temporaire sur poubelle.zici.fr

Le script d’emali poubelle est publiée sous licence libre, vous pouvez donc le télécharger et l’utiliser sur votre plateforme. Rendez vous sur poubelle.zici.fr pour plus d’informations

Ménage dans Debian

Après installation d’une debian sur un linutop2 il s’avère que la carte flash de 1Go est un peu petite.. Un peut de ménage s’impose donc parmi les docs, man, langue et autres choses non vitale du système

    aptitude purge man man-db doc-debian doc-debian-fr doc-linux-fr-text doc-linux-text xorg-docs debian-faq info manpages manpages-fr manpages-fr-extra

rm -r /usr/share/man/*
rm -r /usr/share/doc/*
rm -rf /var/lib/apt/lists/security*
rm -rf /var/lib/apt/lists/debian*
rm -f /var/cache/apt/pkgcache.bin /var/cache/apt/srcpkgcache.bin
rm -f /var/lib/dpkg/available-old /var/lib/dpkg/status-old
rm -f /var/cache/debconf/config.dat-old /var/cache/debconf/templates.dat-old
apt-get clean > /dev/null
find /var/lib/apt/lists -type f \( -name "*Packages*" -o -name "*Sources*" -o -name "*Release*" \) -exec rm -f '{}' ';' 2>/dev/null
dpkg --clear-avail > /dev/null
rm -f /var/cache/apt/*.bin > /dev/null
apt-cache gencaches > /dev/null

find /usr/share/locale -name "*.mo" -exec rm '{}' ';' 2>/dev/null
find /usr/share/ -name "*.info.gz" -exec rm '{}' ';' 2>/dev/null
# find /usr/share/locale -path '*/en' -mindepth 1 -maxdepth 2 -prune -o -print -exec rm -rf '{}' ';' 2>/dev/null >/dev/null

aptitude install localpurge

localpurge

rm -f /var/lib/dpkg/info/*.md5sums

mkdir /usr/share/man/man5
mkdir /usr/share/man/man8
mkdir /usr/share/man/man1

Arnaud Fleurent Didier – Franc Culure

Paroles et Musique: Arnaud Fleurent-Didier 2009 « La reproduction »

Il ne m’a pas appris l’Anglais
Il ne m’a pas appris l’Allemand
Ni même le Français correctement

Elle ne m’a pas parlé des livres
De l’histoire des idées
Pas de politique à suivre
Pas de mouvements de pensées

Elle ne m’a rien montré de pratique
Ni cuisine ni couture
Faire monter une mayonnaise
Monter une SARL, tenir un intérieur

Il ne connaissait pas grand chose en mathématiques
Ni l’équation de Schrödinger
Mais pour être honnête
On a veillé à c’ que je perfectionne mon revers à deux mains
Que je fléchisse bien sur les jambes, mais ce n’est pas resté
Ce n’est pas rentré

On m’a donné un modèle libéral, démocratique
On m’a donné un certain dégoût
Disons désintérêt de la religion

Mais il ne m’a pas dit à quoi servait le piano
Ni le cinéma français qui, pourtant, le faisait vivre
Elle ne m’a pas dit comment ils s’étaient mariés, trompés, séparés
Ni donné d’autre modèle à suivre
On m’a pas parlé de Marx, rival de Tocqueville
Ni Weber, l’ennemi de Lukacs
Mais on m’a dit qu’il fallait voter

Elle n’a pas caché l’existence mais a tu celle de
Rousseau, de Proust, de Mort à Crédit

Ils n’ont fait aucun commentaire sur mai 68
Aucun commentaire sur la société du spectacle
Mais ils savaient que Balzac était payé à la ligne
Et qu’on pouvait en tirer un certain mépris

Ils ne connaissaient pas d’histoires de résistance ou de Gestapo
Mais quelques arnaques pour payer moins d’impôts

Ils se souvenaient en souriant de la carte du PC de leurs pères
Mais peu de de Gaulle, une blague sur Pétain, rien sur Hitler

Ils avaient connu le monde sans télévision mais n’en disaient rien
Ils n’avaient pas voulu que je regarde « Apocalypse Now »
Mais je pouvais lire « Au cœur des Ténèbres »
Je ne l’ai pas lu. On ne m’a pas dit que c’était bien

On ne m’a pas dit comment faire avec les filles
Comment faire avec l’argent, comment faire avec les morts
Il fallait trouver comment vivre avec demi-frère, demi-sœur,
Demi-mort, demi-compagne, maîtresse et remarié
Alcoolique, pas français, fils de gauche tu milites, milite
Fils de droite : hérite, profite

On ne m’a pas donné de coups
On m’a sans doute aimé beaucoup
Il n’y avait pas de choses à faire
À part, peut-être, polytechnicien
Il n’y avait pas de choses à ne pas faire
À part, peut-être, musicien

Elle m’a fait sentir que la drogue était trop dangereuse
Il m’a dit que la cigarette était trop chère
Elle m’a dit qu’une fois elle avait été amoureuse
Elle ne m’a pas dit si ça avait été d’ mon père

Elle ne m’a pas dit comment faire quand on se sent seul
Il ne m’a pas dit qu’entre vieux amis, souvent, on s’engueule
On s’embrouille, que tout se brouille, se complique, qu’il faudrait faire sans

Elle ne m’a rien dit sur Freud et j’ignore Lacan
Pas de conseils ni de raison pratique
Pas de sagesse de famille, pas d’histoires pour faire dormir les enfants
Pas d’histoires pour faire rêver les grands

Il ne soufflait mot de la Nouvelle Vague
Et de tout ce qu’on voyait avant
Mais parlait du Louvre comme d’un truc intéressant

On ne disait rien sur Michel Sardou
Mais on devait aimer Julien Clerc
On m’a parlé d’un concert

Sinon, je ne sais rien des pauvres
Je ne sais rien des restes d’aristocrates
Je ne sais rien des gauchistes
Je ne sais rien des nouveaux riches
On ne parlait pas de catho, ni de juifs
Ni d’Arabes
Il n’y avait pas de Chinois
Elle trouvait que les Noirs sentaient
Elle n’aimait pas les odeurs
Lui, lui s’en foutait

Connexion SSH avec clé RSA + passphrase

Pour ce connecter de façon vraiment sécurisé à vos serveur, la clé RSA et la passphrase sont un très bon début…

D’abord générer des clés

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/thouveni/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): ***********************************************
Enter same passphrase again: ***********************************************
Your identification has been saved in /home/thouveni/.ssh/id_rsa.
Your public key has been saved in /home/thouveni/.ssh/id_rsa.pub.
The key fingerprint is:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ensuite diffuser sa clé publique

$ scp ~/.ssh/id_rsa.pub [user@]host:~/.ssh/authorized_keys2
id_rsa.pub 100% 401 0.4KB/s 00:00

OU

cat $HOME/.ssh/id_rsa.pub | ssh [user@]host "mkdir -p .ssh; chmod 700 .ssh; cat >> .ssh/authorized_keys"

OU

ssh-copy-id [user@]host

Enfin tester la connexion :

$ ssh [user@]host
Enter passphrase for key '/home/user/.ssh/identity':

Valider temporairement sa passphrase :

eval 'ssh-agent'
ssh-add ~/.ssh/id_rsa

Modification de votre passphrase :

ssh-keygen -p

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
5c:9b:16:56:a6:cd:11:10:3a:cd:1b:a2:91:cd:e5:1c.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending key in /home/user/.ssh/known_hosts:1
RSA host key for ras.mydomain.com has changed and you have requested strict checking.
Host key verification failed.

Solution :

ssh-keygen -R IP

En continuant à utiliser le site, vous acceptez l’utilisation des cookies (au chocolat) Plus d’informations

Les cookies sont utilisés à des fin de statistique de visite du blog sur une plateforme indépendante que j'héberge moi même. Les statistiques sot faites avec un logiciel libre. Aucune information n'est redistribué à google ou autre. Je suis seul autorisé à lire ces informations

Fermer