D’un côté il y a les développeurs ou les tests automatisés qui envoient des mails à des clients à ne pas solliciter et de l’autre des développeurs et des tests automatisés qui ont besoin de tester et de s’assurer que la fonctionnalité d’envoi de mail fonctionne correctement. Et au sommet de tout ça, les administrateurs de la plateforme qui veulent toujours recevoir les mails provenant de la machine comme les cron ou les rapports de logwatch / apticron.

La configuration suivante permet de configurer postfix pour gérer toutes ces problématiques. Postfix va bloquer tout envoi de mails comme un trou noir (black hole). Mais au lieu de simplement supprimer les mails après les avoir accepté, ils sont capturés et réexpédiés avec la copie carbone invisible (blind carbon copy) vers une adresse mail spécifique, tout en préservant le champ « à » (« TO Address ») intact. Postfix va aussi distribuer les mails spécifiques aux administrateurs directement et ne pas perturber la réception de rapports de la machine quels qu’ils soient.

Ajouter les lignes suivantes à la fin du fichier master.cf pour créer un service chargé de supprimer les mails
vim /etc/postfix/master.cf
discard unix - n n - - pipe
user=nobody argv=/bin/cat /dev/null

Ajouter les lignes suivantes dans le fichier main.cf
vim /etc/postfix/main.cf
# Configuration des adresses BCC à utiliser pour les développeurs
recipient_bcc_maps = regexp:/etc/postfix/recipient_bcc
# Configuration du routage des mails en fonction de la destination
transport_maps = regexp:/etc/postfix/transport
# Tous les domaines sont des domaines virtuels pour ce serveur postfix
virtual_alias_domains =

Créer le fichier recipient_bcc
vim /etc/postfix/recipient_bcc
# Envoyer tous les mails vers cette adresse en BCC
/^(.*)/ les_developpeurs@domaine.tld

Créer le fichier transport
vim /etc/postfix/transport
#Routage de l'adresse des développeurs et des administrateurs directement vers le relay smtp de votre entreprise / service / FAI
/les_developpeurs@domaine.tld/ smtp:smtp.domaine.tld
/les_administrateurs@domaine.tld/ smtp:smtp.domaine.tld
#Routage des messages locaux en local
/.*localdomain$/ local:
#Routage de toutes les autres destinations vers notre trou noir
/.*/ discard:

Recharger la configuration postfix
service postfix reload

Tester la configuration en envoyant un mail en ligne de commande
echo test | mail -s "TEST" billybobbyjoe@mon-client.com

Vérifier que les développeurs l'ont reçu et qu'au niveau des logs vous obtenez un résultat similaire à celui-ci
less /var/log/mail.log
Dec 29 11:31:51 si-was01n-itg postfix/master[908]: reload -- version 2.11.3, configuration /etc/postfix
Dec 29 11:31:59 si-was01n-itg postfix/pickup[24236]: A47AA5F8C1: uid=0 from=
Dec 29 11:31:59 si-was01n-itg postfix/cleanup[24242]: A47AA5F8C1: message-id=<20151229103159.A47AA5F8C1@mon-portail.domaine.tld>
Dec 29 11:31:59 si-was01n-itg postfix/qmgr[24234]: A47AA5F8C1: from=, size=333, nrcpt=2 (queue active)
Dec 29 11:31:59 si-was01n-itg postfix/pipe[24245]: A47AA5F8C1: to=, relay=discard, delay=0.02, delays=0.01/0/0/0, dsn=2.0.0, status=sent (delivered via discard service)
Dec 29 11:31:59 si-was01n-itg postfix/smtp[24244]: A47AA5F8C1: to=, relay=smtp.domaine.tld[1.2.3.4]:25, delay=0.04, delays=0.01/0.01/0.01/0.01, dsn=2.0.0, status=sent (250 OK id=1aDrZP-0003wS-Mc)
Dec 29 11:31:59 si-was01n-itg postfix/qmgr[24234]: A47AA5F8C1: removed

Vous pouvez maintenant prendre un café !

Enjoy…

Annexes / Sources / Idées

A l’heure des tentatives de flicages, blocages et autres digressions portant plus ou moins atteinte à nos libertés de surf sur la vague Internet, je vous propose un article simple pour vous monter un serveur DNS sur votre Windows (Et oui c’est possible, c’est dégueulasse mais ça fonctionne très bien !)

Si vous êtes tombé sur cette page par hasard et que vous ne comprenez pas le pourquoi du DNS, vous voici un peu de lecture !

http://fr.wikipedia.org/wiki/Domain_Name_System

Restons simple, le service le plus populaire pour gérer des DNS est BIND développé par l’ISC, je vais donc l’utiliser pour vous montrer comment en faire votre ami sur Windows.

Commencer par télécharger l’archive qui correspond à votre architecture (x64 ou x86) :

Pour mon système ça sera cette version :

Décompresser l’archive dans un coin de disque puis lancer l’installation en mode administrateur avec BINDInstall.exe

La seule chose à changer enfin à saisir, est le mot de passe pour le compte qui va lancer votre service named.

02

L’installation maintenant complétée, créer les répertoires « logs » et « zones » à l’emplacement suivant :

C:\Program Files\ISC BIND 9

Configurer le service named peut paraître un peu fastidieux mais les recueils de configurations et les bonnes pratiques sont nombreux sur le sujet du cache DNS pour BIND. Je vous propose donc une configuration type que je vous invite à optimiser selon vos besoins et vos éventuels déboires…

Le fichier named.conf doit être crée et placé dans C:\Program Files\ISC BIND 9\etc. Par défaut, vous ne pouvez pas écrire à cet emplacement, lancer votre éditeur de texte préféré en mode administrateur.


acl "trusted" {
127.0.0.0/8;
10.0.0.0/8;
172.16.0.0/12;
192.168.0.0/16;
};

options {
directory "C:\Program Files\ISC BIND 9\zones";
auth-nxdomain no;
listen-on-v6 { any; };
listen-on { any; };
allow-query-cache {
trusted;
};
allow-recursion {
trusted;
};
allow-query {
any;
};
};

logging {
channel security_file {
file "C:\Program Files\ISC BIND 9\logs\security.txt" versions 3 size 30m;
severity dynamic;
print-time yes;
};
category security {
security_file;
};

channel queries_log {
file "C:\Program Files\ISC BIND 9\logs\queries.txt" versions 3 size 30m;
print-severity yes;
print-time yes;
};
category queries {
queries_log ;
};
};

zone "." IN {
type hint;
file "db.root.hint.txt";
};

Dans les grandes lignes, cette configuration permet de :

  • Résoudre les noms DNS depuis les serveurs racines jusqu’au serveur DNS du propriétaire du nom de domaine sans intermédiaire
  • Autoriser les ordinateurs de votre réseau local à utiliser votre service DNS
  • Savoir quelles requêtes DNS sont envoyées pour voir à qui vous avez souhaité parler (surprenant en général)

Pour entrer dans les détails n’hésitez pas à lire la documentation pour chacun des mots clefs.

En l’état il reste encore une chose à faire, récupérer les enregistrements de la racine, oui le fameux point que personne ne voit mais qui est la base du système (si si vérifiez le schéma sur wikipedia !)

Pour récupérer ces enregistrements il faut payer, et non ! Pour générer le dernier fichier qui nous manque, nous allons utiliser la commande suivante depuis le répertoire C:\Program Files\ISC BIND 9 dans une invite de commande Windows lancée en administrateur :

bin\dig NS . @m.root-servers.net > zones\db.root.hint.txt

Le fichier C:\Program Files\ISC BIND 9\zones\db.root.hint.txt contient maintenant les adresses de tous les serveurs racines du système DNS d’internet en ipv4 et en ipv6.

Régler les permissions du répertoire C:\Program Files\ISC BIND 9 en ajoutant l’utilisateur crée pendant l’installation « named » avec les droits contrôle total.

05

Tout est maintenant prêt pour lancer votre service DNS !

Pour le lancer, ouvrez la console des services de votre ordinateur, dans l’invite de commande en tapant services.msc soit en passant par le panneau de configuration puis outils d’administration et services.

03

Vérifier que le service est bien configuré pour un Type de démarrage Automatique

04

Cliquer démarrer pour lancer le service named.

Si une erreur est rencontrée dans le démarrage, je vous invite à vérifier la configuration named.conf certains caractères peuvent avoir été altéré lors de votre copier/coller ou encore les droits sur le répertoire C:\Program Files\ISC BIND 9.

Pour aller plus loin dans la recherche des erreurs, lancez l’observateur d’événements windows, eventvwr.msc dans une invite de commande ou via outils d’administration dans le panneau de configuration. Dans les journaux Windows, ouvrez le journal application et vérifier les entrées depuis la source Named.

Il reste maintenant à tester que tout fonctionne en changeant votre paramétrage DNS sur votre/vos cartes réseaux !

06

Dans mon cas le protocole IPv6 est désactivé car non supporté par mon opérateur au couleur d’Halloween.

Dans les propriétés IPv4 de votre carte, renseignez votre adresse ip de bouclage 127.0.0.1 et le tour est joué !

07

Comment tester ?

Le test simple lancer votre navigateur et entrer l’adresse de mon blog www.mighty-studio.net.

Ca ne fonctionne pas ou ça s’est affiché après un temps vraiment long !

Et oui normal, à la première requête DNS effectuée par navigateur, il faut que le service DNS remonte toute la chaîne pour trouver les enregistrements correspondants à chaque partie du nom DNS. Plus vous surfez, plus le cache retient d’enregistrements, moins le temps d’affichage sera long !

Pour les férus d’invite de commande windows, vous pouvez utiliser un nslookup ou même dig (inclus dans les outils installés par BIND à lancer en mode invite de commande administrateur)

08

Dans cette capture, la réponse obtenue avec l’utilitaire dig montre que le cache fonctionne très bien puisque la réponse a été obtenue en 0msec ! Elle est en cache et ne nécessite donc plus d’interroger les DNS de la toile.

Vous pouvez aussi regarder le fichier C:\Program Files\ISC BIND 9\logs\queries.txt et vous essayer à l’art des statistiques 😉

Voilà, vous avez gagné un peu d’autonomie, de respect de votre vie privée quand vous surfez et surtout vous ne craignez plus un blocage de certains sites par des réponses DNS volontairement trafiquées par votre fournisseur d’accès à internet !

N’hésitez pas à soumettre des idées d’améliorations de ce petit tutoriel!

Sécuriser les applications web de l’entreprise

Posté le : 21st décembre by Julien SIMON dans Sécurité
Tags: , ,

Après toute cette inactivité due entre autre à mes études assez prenantes, voici un nouvel article concernant la sécurité des applications web de l’entreprise.

Aujourd’hui les sites internet sont soumis a des attaques quotidiennes afin de déceler la moindre faille qui permettrait de ruiner l’image de l’entreprise.

A travers cet article je vous propose d’examiner les risques que nos applications web courrent, et vous propose la mise en place d’un WAF, Web Application Firewall, afin de bloquer les attaques les plus communes.

Ce WAF vous permettra surtout de repérer les failles et les vulnérabilités de vos applications vous permettant de résoudre les problèmes sans interruption de services.

L’article est au format PDF : Sécuriser les applications web de l’entreprise

Le prochain article sera plus un complément de celui-ci puisqu’il vous donnera la marche à suivre pour utiliser la console ModSecurity qui permet d’être alerté en temps réel des attaques que subissent vos sites.

Les plateformes de travail collaboratif sont nombreuses mais souvent coûteuse et plus ou moins égornomique…

Et bien pour la simple location d’un serveur dédié et quelques heures d’assiduités vous pourrez mettre en place Zimbra collaboration suite avec Samba et OpenVPN pour disposer d’un bureau virtuel complet et performant que vos collaborateurs ne tarderont pas à s’attribuer.

Proche de l’interface de Gmail pour les mél, l’agenda, et le carnet d’adresses, transparente grâce aux lecteurs réseaux sécurisés par OpenVPN et servis par SAMBA pour gérer vos fichiers, cette architecture ne manquera pas de vous étonner !

Voici le manuel de déploiement que j’ai écris pour vous aider dans la mise en place de cette architecture.

Zimbra Samba Openvpn – Manuel de déploiement

Développement Web : des ressources prêtes à l’emploi !

Posté le : 10th février by Julien SIMON dans Ressources

Voici un site qui va vous ravir ! Il propose des scripts en Javascript/PHP/… pour vos simplifier la vie dans vos développement pour le web.

Par exemple, vous trouverez :

  • un shoutbox en PHP (tribune pour laisser un message rapidement)
  • un loader en Javascript pour vos pages (Pour faire patienter vos visiteurs lors du chargement d’une page)
  • une classe compléte en PHP pour générer des barres graphiques (résultats de sondage, …)
  • … et bien d’autres

Bref que du bonheur !

Le lien : Gerry’s Script Library

Serveur de messagerie sous Debian/Ubuntu

Posté le : 9th février by Julien SIMON dans Tutoriels
Tags: , ,

Voici un dossier très complet proposant de monter pas à pas un serveur de messagerie sous debian/ubuntu avec :

  • Postfix (Mail Transfert Agent : MTA)
  • Courier IMAP (Protocole de consultation des méls)
  • MySQL (Base de données)
  • Amavisd-new (Contrôle de contenu)
  • SpamAssassin (Antispam)
  • ClamAV (Antivirus)
  • SASL (Authentification)
  • TLS (Cryptage)
  • SquirrelMail (Webmail)
  • Postgrey (Politique de sécurité)

Avec ce tutorial et un peu de courage, vous pourrez monter un serveur de méls performant et sécurisé.
Sans plus attendre voici le lien : Flurdy.com

Deux premiers articles

Posté le : 7th février by Julien SIMON dans Tutoriels
Tags: , ,

Voici deux articles pour commencer :

Le premier concerne le proxy Squid et un service de filtrage SquidGuard pour surveiller les accès à Internet.

Le second qui n’est pas de moi propose de monter un serveur VPN sous windows 2003 par l’exemple.

Il faut savoir pour ce dernier que les VPN avec Authentification des entêtes ne peuvent pas être soumis à NAT. Il faut donc disposer d’une adresse IP directement accessible entre les deux points du réseau.

Bons tests !

Ma base de connaissances personnelle

Posté le : 6th février by Julien SIMON dans Ressources

Dans le domaine de l’informatique, les ressources sont nombreuses, détaillées mais pas toujours facile à trouver !

Par l’intermédiaire de mon blog, au fil de mes projets, je partagerai ici mes sources et mes ressources pour les réaliser. J’essayerai dans la mesure du possible de commenter les documents pour vous faire part de mes difficultés, des astuces ou des modifications que j’ai testé …

Bref une archive vivante de mes plus belles trouvailles !