Maniatux's Blog

Welcome to the internet

Planet-Libre

Retour sur pfSense

Rédigé par Xavier - - Aucun commentaire

Cela va bientôt faire 3 mois que j'utilise pfSense, un système d'exploitation FreeBSD orienté routeur. En 2011 j'avais déjà rédigé un article dessus, mais depuis Juillet 2012 je l'ai mis en "production" avec fonctionnement 24h/24 et conditions réelles. Plusieurs points m'ont particulièrement plu dans pfSense, je vais les décrire ci-dessous.

Voici les fonctionnalités que j'exploite actuellement :

  • NAT et PAT
  • Firewall (DMZ)
  • Serveur DHCP
  • Client OpenVPN
  • Routes statiques
  • 3 VLAN taggés sur un unique port
  • Casé sur une carte CF
  • 4 postes utilisateurs sur le VLAN30, 4 serveurs sur le VLAN20 (dmz)

Notez qu'il y en a de nombreuses autres que je n'utilise pas : serveur NTP, DNS, relai DHCP, IPSec, la liste est longue...

Fiabilité

Pour l'instant, 79 jours d'uptime, ça peut paraître peu mais comme je l'ai dit précédemment cela ne fait que 3 mois. Les derniers redémarrages ont été volontaires pour des opérations de mise à jour ou des coupures en cas d'orage. Il faut aussi comparer cela à une merdebox domestique qui nécessite un reboot quasi journalier pour rétablir l'accès à internet. Bref, pfSense c'est fiable, ça tourne sans interruption.

Fonctionnalités

J'apprécie particulièrement que cette petite boite noire (Alix 1.d) soit capable de gérer à elle toute seule l'intégralité du réseau. J'ai ainsi pu y "greffer" mon VPN, mais aussi un serveur DHCP. Et les autres points appréciables concernent les outils de diagnostic. On peut faire des ping, visualiser les tables de routage, arp, traceroute, et il y a même un sniffeur de réseau réglable sur plusieurs niveaux de verbosité.

Simplicité

Tout est bien organisé, facile à trouver et à utiliser. Les changements sont pris en compte sans devoir redémarrer le routeur (là encore, comparaison aux box domestiques) ce qui est appréciable. Les tableaux récapitulatifs des règles de parefeu sont assez bien pensés. La configuration peut être exportée dans un fichier XML si vous désirez "formater" la machine (pour une mise à jour par exemple).

Conclusion

Je ne regrette pas le choix de pfSense comme solution pour gérer mon réseau :D toutes les qualités que l'on peut rechercher y sont, avec la souplesse, la simplicité et la fiabilité. C'est une appliance excellente qui n'est pas prête de me lâcher !

Serveur mail sous Ubuntu

Rédigé par Xavier - - Aucun commentaire

Ce tutoriel décrit la mise en place d'un serveur mail simple sous Ubuntu. Comme vous pourrez le constater, une poignée de minutes suffisent et tout s'administre très facilement. Nous mettrons en place un accès IMAP pour que les utilisateurs puissent consulter leur courrier.

Le tutoriel devrait fonctionner également sur Debian, par contre privilégiez la version Wheezy car Squeeze utilise une ancienne version de Dovecot dont la configuration diffère.

Pré requis

  • Un nom de domaine sur internet (gratuits chez noip ou dyndns) qui pointe chez vous.
  • Ports 25 et 993 TCP redirigés sur le serveur sur lequel vous allez travailler.
  • Ubuntu 12.04

Exemple

Création d'un serveur mail avec deux utilisateurs :

  • xavier@freeman.org / xavier.chotard@freeman.org
  • dragonborn@freeman.org

Installation des paquets

Installation du serveur SMTP :

$ sudo apt-get install postfix

Sélectionnez "Pas de configuration" pour le moment, nous y reviendrons après.

Installation du serveur IMAP :

$ sudo apt-get install dovecot-imapd

Et voilà c'est tout. Vous attendiez des paquets au noms bizarres peut-être ?

Configuration de Postfix

sudo dpkg-reconfigure postfix
  • Type de serveur de messagerie : Site Internet
  • Nom de courrier : freeman.org
  • Destinataire des courriels de root : xavier
  • Autres destinations : par défaut
  • Mises à jour synchronisés : non
  • Réseaux internes : par défaut
  • Taille maximale BAL : 0
  • Caractère d'extension : *
  • Protocoles : tous

Ensuite il y a un dernier point à modifier, il s'agit de demander à Postfix d'utiliser le format de stockage Maildir à la place de mailbox. Le premier va créer un ensemble de sous-répertoires correspondant à la boite mail de l'utilisateur et les placera dans son home. Le second stocke tout dans 1 seul fichier et le met dans /var/mail. Maildir est recommandé.

sudo nano /etc/postfix/main.cf

Et ajouter :

home_mailbox = Maildir/

Puis relancer Postfix :

sudo service postfix restart

Configuration IMAP

Dovecot est fonctionnel par défaut, en IMAP + SSL. Il faut juste lui spécifier que nous travaillons en Maildir :

sudo vi /etc/dovecot/conf.d/10-mail.conf

Décommenter ou ajouter :

mail_location = maildir:~/Maildir

Relancer Dovecot :

sudo service dovecot restart

Comptes utilisateur

Création des comptes + création de leurs mots de passe :

sudo useradd -m xavier
sudo useradd -m dragonborn
sudo passwd xavier
sudo passwd dragonborn

Création d'un alias pour rediriger "xavier.chotard" vers "xavier" :

sudo vi /etc/aliases

Ajouter tout en bas :

xavier.chotard: xavier

Valider la création des alias et recharger Postfix :

sudo newaliases
sudo service postfix reload

Conclusion

Vous devriez maintenant être en mesure de recevoir des mails, et de vous connecter avec Thunderbird en IMAP sur votre serveur. Etait-ce si compliqué ? Non.

Notes

Par défaut votre serveur ne peut envoyer des messages que si deux conditions sont réunies :

  • Celui qui envoie le message est connecté sur le serveur (nous avons mis précédemment dans la configuration que nous n'acceptons que le 127.0.0.1, et ce afin d'éviter de servir de relais à spam). Pour autoriser les envois il faut ajouter le réseau local, ou utiliser une authentification SASL (utilisateur + mdp)
  • Le FAI ne bloque pas le port 25 sortant (il faut alors utiliser un relais SMTP sur internet sur un port 465 ou 587

Ces points ne seront pas détaillés car pas forcément utiles, si vous utilisez Thunderbird vous pouvez configurer le relais SMTP directement dedans (par exemple celui de gmail ou de votre FAI).

Nous avons vu ici la création d'un serveur mail très simple, si vous cherchez une solution taillée entreprise, avec des domaines et comptes virtuels, jetez un œil à iRedMail.

Liens

iRedMail pour un serveur mail opensource facilement

Rédigé par Xavier - - Aucun commentaire

Si la configuration de Postfix et Dovecot est très simple pour gérer un petit serveur utilisant les comptes du système, elle l'est beaucoup moins lorsque l'on commence à mettre en jeu un annuaire LDAP, des domaines virtuels, etc. iRedMail est une solution pour automatiser cette configuration, et la gérer à l'aide d'une console en web. On pourrait dire, pour reprendre les termes marketeux, qu'iRedMail est une solution taillée pour un serveur Small Business.

Les fonctionnalités proposées sont :

  • Domaines e-mail virtuels
  • Comptes avec quota par utilisateur
  • Mailing list
  • Transferts/alias
  • Whitelist/Blacklist
  • Antivirus et antispam
  • Accès IMAP & POP
  • Base utilisateurs LDAP, MySQL ou Postresql
  • Roundcube, phpldapadmin, phpmyadmin, awstats

L'installation est assez simple puisqu'il suffit, à partir d'un serveur Linux fraichement installé de récupérer un script avec wget, et de l'exécuter. L'installation des composants se fait automatiquement via aptitude, yum ou autre gestionnaire de paquets. iRedMail utilise donc les logiciels de la distribution, ce qui est un plus. Il ouvre ensuite un assistant semi-graphique (ncurses) permettant de configurer votre serveur. Puis pour finir il vous proposera d'ajouter des composants additionnels : roundcube, phpmyadmin, phpldapadmin, et awstats. Les procédures pour chaque système sont disponibles sur cette page.

Ce que j'apprécie particulièrement est qu'à la fin de l'installation, un fichier "tips" est généré. Il récapitule les logins, mots de passe, mais aussi l'emplacement des fichiers de configuration de Postfix.

On peut ensuite accéder à l'admin panel, qui est plutôt joli et intuitif à utiliser :

iRedMail est une solution facile à utiliser et bien pratique.

Je vois cependant quelques petits inconvénients :

  • Tous les logiciels sont sur le même serveur : Postfix, OpenLDAP, MySQL... ce qui peut être un peu dérangeant au niveau de la sécurité et l'exploitation.
  • Pas assez de choix dans les composants, j'aurais aimé avoir la possibilité de ne pas installer l'antispam et l'antivirus.

Dernier point important, cette solution est payante. La version gratuite est minimale : on ne gère que les domaines et utilisateurs. Pas de mailinglist, alias, listes noires, à moins d'y aller à la main dans le serveur LDAP. La version Pro est un peu onéreuse mais le tout est quand même un produit super intéressant.

openSUSE LXC dans Ubuntu possible ?

Rédigé par Xavier - - Aucun commentaire

J'ai regardé si il était possible d'installer un container LXC openSUSE sur un hôte Ubuntu. De manière propre et simple, non ce n'est pas faisable. Aucune documentation à ce sujet, et le template fourni ne fonctionne pas car il requiert zypper, non disponible sur ubuntu.

Par contre en bidouillant c'est possible, voici ce que j'ai fait :

  • S'installer un système openSUSE en physique ou en virtuel
  • Installer LXC dessus et faire un container à partir de cette documentation.
  • Archiver ce container (tar -cvf vps.tar /var/lib/lxc/vps) et le transférer sur le serveur ubuntu (en sftp par exemple).
  • Extraction de l'archive dans le bon dossier (tar -xvf vps.tar -C /var/lib/lxc/)
  • Renommage, ajout de la configuration réseau dans le "config" de ce container
  • Démarrage du container, ça fonctionne
  • Pour configurer le réseau à la main : ifconfig eth0 192.168.0.10 netmask 255.255.255.0
  • Pour la passerelle : route add default gw 192.168.0.254 eth0
  • Pour le DNS : echo "nameserver 8.8.8.8" > /etc/resolv.conf
  • Installation de yast2 et vim (zypper install autoyast2-installation vim)

Et voilà, un système openSUSE fonctionnel tournant dans un container LXC et un hôte Ubuntu !