Certificat SSL signé par CACert, gratuit et multi-domaine

J'ai toujours cru à tord qu'un certificat SSL était limité à un seul domaine (et ses sous domaines en cas de wildcard: *.domaine.com). Il est en effet possible d'avoir plusieurs domaines dans le certificat.

J'ai choisi pour mes certificat CACert . Pourquoi CACert ?  Ils proposent de signer gratuitement votre certificat et seront bientôt une autorité de certification reconnue par Firefox de Mozilla. De plus leur protocole de validation des données personnelles est assez important. (Pour un certificat valable plus de 6 mois il faut rencontrer physiquement deux "notaires" qui valideront vos données à partir de votre passeport).

Comment ?
Il faut tout d'abord créer un compte sur www.cacert.org.

Ensuite téléchargez csr.sh.txt  et tapez:
mv cacert.sh.txt cacert.sh && chmod +x cacert.sh
$ sh csr.sh  
Private Key and Certificate Signing Request Generator
This script was designed to suit the request format needed
by the CAcert Certificate Authority www.CAcert.org
Short Hostname (ie. imap big_srv www2): hostname
FQDN/CommonName (ie. www.example.com) : www.domaine1.org
Type SubjectAltNames for the certificate, one per line.
Enter a blank line to finish
SubjectAltName: DNS:www.domaine1.org
SubjectAltName: DNS:sous.domaine1.org
SubjectAltName: DNS:*.domaine1.org
SubjectAltName: DNS:www.domaine2.com
SubjectAltName: DNS:*.domaine2.org
SubjectAltName: DNS:etc
SubjectAltName: DNS:
Ensuite votre certificat de demande de signature ( csr, certificate sign request) et clé privée seront générés. Copiez le contenu du fichier hostname_csr.pem et rendez-vous sur le site cacert.org dans votre compte et là suivez les indications pour créer votre certificat SSL qui vous sera proposé en téléchargement par la suite.

Pour plus d'information rendez-vous sur:
https://docs.indymedia.org/view/Sysadmin/CaCertSsl#HTTP_multiple_domain_names

N'oubliez pas pour ne pas avoir d'avertissement sous internet explorer ou firefox ( le temps que cacert soit reconnu par les différents navigateurs, ce qui est en cours) de l'insérer dans votre navigateur:  http://www.cacert.org/index.php?id=3  (class 1 ou 3 selon que vous ayez un certificat de 6mois ou de 24mois).

Synchronisation de comptes IMAP

Ayant eu récemment à passer les emails d'une entreprise d'un serveur vers un autre, je me suis mis à la recherche d'une solution rapide et automatisée.

Après plusieurs tests mon choix s'est porté sur imapsync:
emerge imapsync (gentoo)
apt-get install imap-sync (ubuntu/debian)
Puis j'ai mis dans un script pour chaque utilisateur :
imapsync --host1 imap.server.orig --user1 user@domaine1 --password1 password 
--exclude 'Spam' --host2 imap.server.dest --user2 user@somaine2 --password2
password --ssl2
La syntaxe est simple, facile à générer en puisant les utilisateurs en base de données et le script s'est montré efficace et rapide. La version sous gentoo à l'avantage de contenir tous les patchs proposés par le développeur officiel. En cas de problèmes avec l'encryption ssl par exemple, prenez les sources et installez les directement en les patchant (fourni dans les sources ).

Serveur DNS BIND9 et dnscontrol

Bonjour,

Sur mon serveur, j'ai toujours évité le problèmes du serveur dns par confort et manque de temps. Ayant eu quelques problèmes avec leurs dns j'ai décidé de me lancer dans un serveur dns.

Pour installer:
sudo apt-get install bind9

Et voilà c'est installé passons à la configuration. (Je ne prétend pas avoir "la configuration" mais une configuration qui marche.
Le fichier /etc/bind/named.conf :

options 
{
   directory "/var/cache/bind/"; //Dossier contenant les zones
   notify yes; //On notifie des changements aux autres serveurs dns
   //On définie la liste des serveurs qui doivent être notifiés après
   allow-transfer { ipdnssecondaire;};
};

//On crée une vue pour les ip locales
view "internal"
{
   match-clients {localnets;}; //On définie les ip locales localnets représente le pc, après
   si vous avez un sous réseau mettez e
   recursion yes; //En local on autorise la récursion
   //Zones locales
   zone "."
   {
      type hint;
      file "/etc/bind/db.root";
   };
   zone "127.in-addr.arpa"
   {
      type master;
      file "/etc/bind/db.127";
   };
   zone "0.in-addr.arpa"
   {
      type master;
      file "/etc/bind/db.0";
   };
   zone "255.in-addr.arpa"
   {
      type master;
      file "/etc/bind/db.255";
   };
   zone "localhost"
   {
      type master;
      file "/etc/bind/db.local";
   };
};


// Vue pour les pc de l'extèrieurs
view "external"
{
   match-clients { any; }; //Tout le monde
   recursion no; //Pas de récursion cela est définit comme favoriser des "pirates" pour l'afnic
   zone "sylvain-lebon.fr" //zone pour un domaine
   {
      type master; //On est le dns principal
      file "s/sylvain-lebon.fr"; //Le fichier se trouvera dans /var/cache/bind/s/sylvain-lebon.fr
      notify yes; //On notifie le dns secondaire
      allow-transfer { ipdnssecondaire;}; //Listes des dns secondaires
   };

   [...] //Autres domaines

   //On se sert de dns secondaires à un ami
   zone "garrigue.fr"
   {
      type slave;
      file "g/garrigue.fr"; //Fichiers dans /var/cache/bind/g/garrigue.fr :
//penser à faire un sudo chown bind:bind /var/cache/bind/g/ -R, car ici bind doit pouvoir écrire
      masters {ipdnsami;} //Ip du dns de l'ami;
   };

};
Voilà pour named.conf. Désormais il reste à définir les règles pour notre domaine (exemple sylvain-lebon.fr).
sudo vi /var/cache/bind/s/sylvain-lebon.fr
$TTL 2H //time to live 2H
@ IN SOA reversednsdelamachine. root.sylvain-lebon.fr.
; Le reverse et root se terminent par un point
(
2007011904 ; serial : yyyymmjj+numéro de modification Penser à changer à chaque changement
        8H ; refresh
     2H ; retry
        4W ; expire
        2H ; minimum TTL
)

NS reversednsmachine. ; name server Serveur DNS1
NS     urldns2. ; name server SERVEUR DNS2
       MX    10 mail.sylvain-lebon.fr.; mail exchange
       A  ip
www     A     ip
blog A    ip
[...]
; on peut même mettre:
*  A  ip
Voilà on a une configuration qui tourne. Maintenant:
 sudo /etc/init.d/bind9 restart
.
Si vous voulez avoir une interface d'administration pour vos membres : dnscontrol (http://r00tshell.com/dns-control/). ( Pensez à modifier les fichier template pour named.conf de manière à ce que cela correspond à votre configuration. Idem pour dns.inc.php pour l'écriture des différents éléments. ) Sinon toute l'installation est décrite dans INSTALL

 

Postfix + courrier imap

J'écris rapidement ces lignes dans le but de résumer mon installation postfix + imap.

apt-get install postfix courier-imap libsasl2 libauthen-sasl-cyrus-perl sasl2-bin postfix-tls libsasl2-modules postgrey

/etc/postfix/main.cf

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
# myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

# TLS parameters
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:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = nom machine.mondomaine.tld
#domaine 1

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost.fr, localhost
relayhost = home_mailbox = Maildir/
mynetworks = 127.0.0.0/8, ipdomicile, localhost
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_alias_domains = domaine 2
virtual_maps = hash:/etc/postfix/virtual
virtual_alias_maps = dbm:/etc/postfix/virtual
virtual_alias_maps = hash:/etc/postfix/virtual
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_rbl_client relays.ordb.org,
reject_rbl_client opm.blitzed.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_invalid_hostname,
check_policy_service inet:127.0.0.1:60000

/etc/default/saslauthd

START=yes 
MECHANISMS="shadow"
PARAMS="-r -m /var/spool/postfix/var/run/saslauthd"
Puis tapez :
mkdir -p /var/spool/postfix/var/run/saslauthd 
chown postfix:sasl /var/spool/postfix/var/run/saslauthd
/etc/init.d/saslauthd start

/etc/postfix/virtual

pseudo@domain.tld  localuser
pseudo2@domain.tld mail@mail.com

Puis tapez postmap /etc/postfix/virtual afin d'actualiser les alias

/etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login
/etc/init.d/postfix reload

imap

Avec la commande maildirmake, créez votre dossier Maildir à la racine de votre compte.

Le but de ce sujet n'est pas de décrire complétement l'installation mais de résumer les étapes. A savoir qu'avec ça, on a un serveur imap et smtp permettant l'envoi de messages depuis une liste de domaines définis donc pas open relay et d'avoir vos mails dans vos comptes.

pure-ftpd-mysql + User manager for PureFTPd (php,sql) (requis : apachex, mysql-x)

pure-ftpd

Différents tutoriaux existent sur internet, toutefois je n'ai pas été en mesure d'installer correctement pure-ftpd avec ceux-ci. C'est pourquoi j'écris c'est quelques lignes.
La démarche est en faites simple.

sudo apt-get install pure-ftpd-mysql
Ceci va installer les différents paquets nécessaire au bon fonctionnement de tout et créé dans /etc/ un dossier appelé pure-ftpd.
Puis:
sudo touch /etc/pureftpd.passwd
sudo touch /etc/pure-ftpd/pureftpd.pdb
cd /etc/pure-ftpd/auth/
sudo ln -s ../conf/PureDB 75Puredb
Puis:
cd /etc/pure-ftpd/conf && vi PureDB 
Y mettre:
/etc/pure-ftpd/pureftpd.pdb
cd /etc/pure-ftpd/conf && vi MySQLConfigFile 
Y mettre:
/etc/pure-ftpd/db/mysql.conf
cd /etc/pure-ftpd/conf &&  vi ChrootEveryone 
Y mettre:
yes
Vous pouvez arrangez votre configuration plus en détail, pour cela merci de voir le site du fabricant.
Ensuite téléchargez :usermanager_pureftpd http://freshmeat.net/projects/usermanager_pureftpd/ et décompressez le dossier à la racine de votre dossier web ( par défaut /var/www) ou à tout autre endroit disponible sur le serveur internet.

Par défaut il se mettra dans le dossier ftp. Tapez dans firefox : http://localhost/ftp/install.php et suivez les directives. A la fin, mettez vos données pure-ftpd-mysql.conf dans /etc/pure-ftpd/db/mysql.conf.
Il est inutile de chercher pure-ftp.conf pour y mettre la référence à ce fichier car vous l'avez mis dans le dossier conf à travers le fichier MySQLConfigFile. Le logiciel pureftpd a sans doutes évolué.

Puis tapez:
/etc/init.d/pure-ftpd-mysql start (ou restart) 
Renomez install.php en install.done par exemple. Vous pouvez ajoutez et supprimer des utilisateurs facilement grâce à l'interface disponible sur: http://localhost/ftp/ .

Voilà, tout est opérationnel.

KaZu

 

915resolution... et après ?

Dans un précédent billet concernant le support du chipset i915 d'Intel, je précisais que pour obtenir certaines résolutions (dont le 1280x800) il était indispensable de patcher le VBIOS à l'aide de 915resolution.

J'ajoute que depuis, le gestionnaire du paquet chez Ubuntu a ajouté un mode automatique qui patche la résolution la plus élevée du VBIOS et la remplace par celle obtenue par VBE (celle annoncée par votre écran). Il n'y a donc plus de fichier à éditer après l'installation par sudo apt-get install 915resolution.

D'autre part, une chose que je n'ai pas dite, c'est que parfois les modelines par défaut suggèrent des fréquences d'horloges non supportées par le chipset. Par conséquent, même si le mode est supporté, Xorg va refuser d'utiliser cette résolution. La solution est d'ajouter votre propre modeline dans la section correspondant à votre moniteur de /etc/X11/xorg.conf. Pour mon Acer Travelmate 4101 WLMi, la modeline suivante fonctionne a merveille (je veux puisque j'ai dû la calculer "à la main") :

Modeline        "1280x800" 71.1 1280 1328 1360 1440 800 802 803 823

Conky ou comment remplacer les gdesklets

Les gdesklets ne m'ont jamais vraiment satisfait. Ils sont un peu trop lourds à mon goût et les modules qui sont installés par défaut sont un peu désordonnés. SuperKaramba aurait pu être une alternative intéressante, mais l'installation de dizaines de Mo de bibliothèques kde ne me tente pas.

J'ai récemment découvert conky. Léger, puissant et complètement personnalisable, il a déjà trouvé ça place sur mon bureau. Il suffit de jeter un coup d'oeil aux captures d'écran pour se rendre compte des possibilités offertes par conky.

Non seulement il dispose de nombreuses variables de configuration, mais en plus il peut exécuter des scripts et afficher la sortie formatée. Des scripts sont d'ailleurs disponibles sur le site officiel.

Comme il est totalement personnalisable (format, couleur, etc.), il s'intègre très bien au reste du bureau. Il faut tout de même avouer qu'il faut mettre la main à la pâte puisqu'il n'existe pas d'interface de configuration : tout se décrit dans le fichier ~/.conkyrc

Il faut également noter que si vous utilisez Nautilus (enfin, Gnome quoi), il est fortement suggéré de mettre les variables double_buffer et own_window à yes. Dans le cas contraire, l'affichage ne sera pas fluide et certaines fonctions de votre bureau comme les icônes et parfois le clic droit vont disparaître . Comme il n'est pas très sympathique d'avoir une fenêtre dans la liste des applications ou dans le pager pour un moniteur système, vous pouvez utiliser Devil's Pie pour intégrer la fenêtre dans le fond d'écran (ou presque).

Une fois devilspie installé, créez un fichier ~/.devilspie/conky.ds et placez y les lignes suivantes en remplaçant hermes par le nom de votre machine :

(if
  (is (application_name) "hermes - conky")
  (begin
     (pin)
     (skip_tasklist)
     (skip_pager)
     (below)
  )
)

Ensuite, lancez devilspie (alt+f2) suivi de conky.

Vous n'avez plus aucune excuse, sudo apt-get install conky devilspie

[UBUNTU] Mozplugger ou la fin des ennuies

Cela fait plusieurs mois ( peut être un an même) que je cherchais un moyen d'intégrer mes applications kde/gnome/personnelles à mozilla. Ce matin à tout hasard je suis tombé sur mozplugger !

Pour l'installer:

sudo apt-get install mozplugger
C'est fait !! Ensuite
sudo vi /etc/mozpluggerrc
et là c'est le rêve de tout utilisateur vous avez un fichier prérempli avec déjà pas mal d'applications, il ne reste plus qu'à l'adapter avec vos envies: exemple moi j'ai mis kpdf en prioritaire pour les pdf ( evince pour les gnomiens :p ) et là le pdf devient bien.
Il suffit d'ajouter la ligne : repeat noisy swallow(kpdf) fill: kpdf "$file" juste avant la ligne pointant sur acroread dans la partie pdf.

J'ai aussi mis un logiciel pour les .ps directement et les fichiers .doc, .xls, etc sont directement pointés sur openoffice. C'est vraiment quelque chose de super.

 

KaZu

Ubuntu - MAJ

MAJ

Sortie cette semaine de kde 3.5.2 ( kubuntu.org pour les dépots ) et de gaim 2 beta 3 suivre mon précédent billet pour la compilation.


KaZu

Firefox - Liens spéciaux

Liens spéciaux : ed2k magnet ....

Je me suis souvent demandé comment avoir les liens azureus sous la forme magnet:// par exemple. En fait c'est relativement simple:

Dans about:config , ajouter une nouvelle chaine de caratère du nom network.protocol-handler.app.magnet par exemple qui aura pour valeur le chemin vers azureus: /opt/azureus/azureus . Voilà rien de plus simple au final.

Ubuntu Dapper - Locales

Fichiers à modifier

Sous dapper les locales sont situées à 3 endroits. De manière à avoir un support utf8 + latin1:

 sudo vi /etc/environment
....PATH="/usr/local/sbin:/usr/local/bin:......."
....LANGUAGE="fr_FR@euro"
....LANG="fr_FR"

sudo vi /etc/locale.gen
....fr_FR.UTF-8 UTF-8
....fr_FR ISO-8859-1
....fr_FR@euro ISO-8859-15

sudo vi /var/lib/locales/supported.d/fr
....fr_LU.UTF-8 UTF-8
....fr_CA.UTF-8 UTF-8
....fr_CH.UTF-8 UTF-8
....fr_BE.UTF-8 UTF-8
....fr_FR.UTF-8 UTF-8
....fr_FR ISO-8859-1
....fr_FR@euro ISO-8859-15
Comme ça tout est réglé :)

KAZu

 

Ubuntu- Clamav Antivirus ... finalement avast

J'installe un antivirus car je gère un serveur de mail et qu'il est bon de supprimer les virus pour éviter les problèmes sous windows plus tard.

 

 sudo apt-get install clamav  clamtk
Maintenant tapez freshclam pour mettre à jour, et le logiciel graphique et clamtk.

 

Finalement j'ai appris que mon antivirus favoris avast est sous linux pour les desktop je préfère donc essayer de l'utiliser.http://www.avast.com
Decompresser le tar.gz dans /opt/ puis faire un chown user:user -R sur le dossier. Aller dans le dossier lib/avast4workstation et supprimer les dossiers lib-gtk2 et lib-X11 de la sorte que le logiciel utilise vos paramètres à vous et évite des bugs. Puis cd /opt/avast/bin/ et ./avastgui . Rappel: un antivirus n'est utile que si vous partagez des données avec un pc windows.

Installer Ubuntu sur un Acer TravelMate 4101WLMi

Le TravelMate 4101 WLMi

C'est un ordinateur portable très bien équipé tout en restant abordable (moins de 1000€). Il est basé sur l'architecture Centrino. Cela nous fait sacrifier un petit peu au niveau des performances mais augmente considérablement l'autonomie (4 à 5 heures).

http://global.acer.com/products/notebook/tm4100.htm

Le bus PCI Express et le chipset i915 ne sont pas correctement supportés par la Breezy. J'ai donc décidé d'installer une Dapper (flight 4).

L'installation

Tout d'abord, il faut bien penser à passer l'option noapic au noyau lors du lancement de l'installation. Pour cela, pressez F5 et ajoutez noapic à la fin de la ligne (avant le --). Sans cela, vous resterez bloqués au chargement du noyau.

Ensuite, l'installation se déroule sans accros. Il est même possible d'indiquer que vous désirez utiliser un serveur proxy lors de la configuration du réseau ; c'est assez pratique.

Lors du reboot, l'option noapic n'avait pas été ajoutée dans le fichier de configuration de grub. J'ai donc dû l'ajouter à la main. Pour cela, appuyez sur e au lancement de grub et modifiez les paramètres passés au noyau. Il faudra ensuite éditer /boot/grub/menu.lst et ajouter cette option. Il est possible de forcer l'ajout à chaque fois que apt installe un nouveau noyau en utilisant # kopt=... noapic. Attention, il ne faut pas décommenter cette ligne.

L'affichage

La plupart des périphériques ont été reconnus automatiquement. Cela inclut le touchpad, la carte son et la carte wifi. En revanche, l'écran est en 1024*768 alors qu'il supporte le 1280*800. L'accélération 3D est aussi désactivée. La solution: le driver i810 (le support du i915 est inclus dans celui-ci) et 915resolution.

sudo apt-get install 915resolution
sudo vim /etc/default/915resolution

Modifier le fichier de sorte que :

MODE=5c
XRESO=1280
YRESO=800
sudo vim /etc/X11/xorg.conf

Modifier la section de la carte graphique comme ceci :

Section "Device"
       Identifier      "Generic Video Card"
       Driver          "i810"
       BusID           "PCI:0:2:0"
       Option          "ForceBIOS" "1024x768=1280x800"
EndSection

Il faut maintenant redémarrer. En théorie, recharger les modules suffit mais je n'ai pas essayé.

La gestion de l'énergie

Après une mise à jour du noyau et de quelques autres paquets (apt-get dist-upgrade), l'état de ma batterie a été correctement détecté. Ensuite, il est possible de controler l'usage du processeur (cpu frequency scaling).

sudo chmod +s /usr/bin/cpufreq-selector

Vous pouvez maintenant utiliser l'applet "CPU Frequency Monitor Applet".

Monitorer les réseaux WiFi

Si vous voulez gérer votre connection réseau en utilisant une applet Gnome, je recommande NetworkMonitor.

sudo apt-get install nm-applet

Ubuntu Dapper - Pilotes Ati fglrx

A partir des pilotes officiels

Merci de prendre les pilotes sur le site ati.com.

Première étape : sudo vi /etc/default/linux-restricted-modules-common
puis DISABLED_MODULES="fglrx". De cette manière on n'utilise plus les drivers ubuntu de fglrx qui ne marchent pas. (s'ils marchent ce n'est pas là peine de suivre cette explication)


sudo apt-get install module-assistant build-essential

sudo apt-get install fakeroot dh-make debconf libstdc++5 gcc-3.3-base

chmod +x ati-driver-installer-8.23.7-i386.run

LANG=C LC_ALL=C ./ati-driver-installer-8.23.7-i386.run --buildpkg Ubuntu/dapper

sudo dpkg -i xorg-driver-fglrx_8.23.7-1_i386.deb

sudo dpkg -i fglrx-control_8.23.7-1_i386.deb

sudo dpkg -i fglrx-kernel-source_8.23.7-1_i386.deb

sudo rm /usr/src/fglrx-kernel*.deb

La méthode classique ci-dessous ne devrait pas marcher :

sudo module-assistant prepare

sudo module-assistant update

sudo module-assistant a-i fglrx

Dans ce cas :

sudo dpkg -i fglrx-kernel-source_8.23.7-1_i386.deb

sudo module-assistant build,install fglrx



Il ne reste plus qu'à configurer /etc/X11/xorg.conf puis à redemarrer la machine. J'ai du killer X et faire un modprobe -r radeon puis modprobe fglrx. (Voir ce poste )

Fait à partir de wiki.cchtml.com

Ubuntu Dapper - Compiler Gaim beta 2

Compiler Gaim 2 beta *

Ayant un problème avec la beta2 du dépot freetux, j'a décidé de compiler ça.
sudo apt-get build-dep gaim
wget .....tar.bz2 (gaim.sf.net)
tar xjvf .....tar.bz2
cd dossiergaim2
./configure
make
sudo checkinstall -D
sudo dpkg -i checkinstall
En sanchant que dans la dapper checkinstall est cassé pour le moment donc installer cette version : Checkinstall ce bug sera surement corrigé un jour :)