walk-hoary

Archives pour la catégorie Internet

Tester un serveur smtp

Il m’arrive souvent de devoir tester si un serveur est capable de relayer un email (ou l’inverse pour empecher l’open relay).

$telnet monserveur.exemple 25
helo nimportequoi
mail from: uneadresse@valide.exemple
rcpt to: uneautreadresse@valide.exemple
data
Tapez votre message
et terminez par une ligne comportant juste un point
quit

A chaque commande, le serveur doit vous répondre un code de retour et parfois une description. Ce code est standard, 2xx = ok (continuez), 4xx = erreur temporaire (ressayez plus tard), 5xx = erreur permanente (votre mail ne passera jamais)

Tags: , ,

Certificats pour serveurs

Cet article vous montre comment créer un certificat willcard signé par un tiers

Pourquoi un certificat ?

Parfois il m’arrive de ne pas pouvoir consulter mes emails car le réseau que j’utilise n’est pas sécurisé. J’entends par là que je ne sais pas qui est derrière et pourrait écouter mon trafic et capturer aisément mes identifiants.

J’ai donc décidé d’installer un certificat sur qth.fr. Comme la plupart de mes services sont en *.qth.fr j’ai choisis de faire un certificat willcard que j’ai fait signé par cacert. Le faire signer par autre que soit a l’avantage de pouvoir vérifier auprès de cacert que le certificat est valide. Il faut savoir que cacert est une autorité non reconnue par les navigateurs par défaut car son modele de confiance se base sur ses utilisateurs. (C’est les utilisateurs vérifient entre eux leur identité, cherchez « Key signing party » sur un moteur de recherche).

Ce serveur utilise donc les certificats de cacert ; pour installez le certificat root de cacert, rendez vous sur la page http://www.cacert.org/index.php?id=3 et cliquez simplment sur http://www.cacert.org/certs/root.crt . Attention, cela veux dire que vous acceptez tout les certificats signés par cacert !

Comment ça marche ? (grossièrement)

Pour sécuriser un site en SSL, le serveur doit obligatoirement connaitre un clée privée et un certificat publique signé. Il arrive qu’un ou plusieurs certificats intermédiaires soient nécessaires, j’en parlerais plus loin. Notez que les extensions varient d’un système à l’autre, mais on retrouve globalement KEY, CRT, CSR et PEM (ce dernier désigne en fait jusque c’est un fichier pour le chiffrement, j’utiliserais donc cette extension pour tous mes fichiers).

  • Le certificat privé « KEY » est un fichier généré que vous devez conserver et ne jamais le divulguer ! Il sera utilisé par votre serveur pour chiffrer votre trafic. Il peut être protégé par un mot de passe, libre à vous, personnellement je n’en met pas.
  • La demande de signature certificat « CSR » est un fichier généré à partir de la clé privée. ici je la crée en même temps. Elle peut être divulgué à votre tier de confiance. Elle contient diverses informations comme quels domaines il concerne, la durée de validité…
  • Le certificat « CRT » est le fichier généré par votre autorité de certification tiers.

Lorsque votre navigateur demande une page à votre serveur en SSL, ce dernier vous renvoie la réponse chiffrée avec le certificat publique signé par votre tiers. Votre navigateur peut donc vérifier que le certificat est valide auprès de l’autorité et déchiffrer la réponse du serveur.

Le certificat intermédiaire est parfois nécessaire lorsque l’autorité de certificat est inconnue de votre navigateur mais qui a pourtant été approuvé par une autre autorité, qui elle est connue de votre navigateur. Ce fichier doit donc être envoyé par le serveur en même temps que votre certificat signé. (Il peut y avoir plusieurs certificats intermédiaires).

Notez qu’il existe les certificats normaux et les certificats EV (Extended validate). Ces derniers permettent juste une vérification plus poussée de votre identification et provoque l’apparition de la barre d’adresse verte. (Sinon elle reste de la couleur normal)

Gérer un KEY et un CSR

Créer le fichier /usr/share/ssl-cert/ssleay-MONDOMAINE.cnf (un exemple se nome ssleay.cnf) et insérez ce texte que vous adapterez.

# -------------- BEGIN custom openssl.cnf -----
HOME                    = /etc/ssl/qth/
RANDFILE                = /dev/urandom
oid_section             = new_oids
[ new_oids ]
[ req ]
default_days            = 730            # how long to certify for (2yr)
default_keyfile         = /etc/ssl/qth/wildcard.qth.fr_key.pem
distinguished_name      = req_distinguished_name
encrypt_key             = no
string_mask = nombstr
req_extensions          = v3_req # Extensions to add to certificate request
[ req_distinguished_name ]
commonName              = Common Name (eg, YOUR name)
commonName_default      = qth.fr
commonName_max          = 64
countryName             = Country Name (2 letter code)
countryName_default             = FR
countryName_min                = 2
countryName_max                = 2
organizationName        = Organization Name (company)
organizationName_default        = QTH

localityName            = Locality Name (city, district)
localityName_default    = Paris

stateOrProvinceName     = State or Province Name (full name)
stateOrProvinceName_default = IDF
emailAddress            = ca-admin@localhost.com
emailAddress_max        = 40
[ v3_req ]
subjectAltName=DNS:qth.fr,DNS:*.qth.fr
# -------------- END custom openssl.cnf -----

Lancez la génération :

openssl req -batch -config /usr/share/ssl-cert/ssleay-wildcard.qth.fr.cnf -newkey rsa:2048 -out /etc/ssl/qth/wildcard.qth.fr_csr.pem

Faites signez votre CSR chez une autorité de confiance

Pour ma part j’utilise startssl qui permet de signer des certificat entre 1 et 3 ans en wildcard. Pour cela il est nécessaire d’être identifié en class 2, cela coute 59$ ce qui vous permet de signer des certificats pendant 1 an.

Donc si vous  vous démerdez bien, vous n’avez qu’a vous aqcuiter des 59$ une fois tous les 3 ans. Moi je suis partit pour 2 ans car je me suis trompé dans la génération du CSR car c’est là qu’est précisé la durée de validité. La révocation coûte 24$.

Configurez apache/nginx

Créez un virtualhost qui écoutera sur le port 443 et insérez la configuration suivante :

SSLEngine on
SSLCertificateFile /etc/ssl/qth/wildcard.qth.fr_crt.pem
SSLCertificateKeyFile /etc/ssl/wildcard.qth.fr_key.pem

Et si besoin les certificats intermédiaires (Ajoutez les si votre autorité en a car d’autres navigateurs peuvent se comporter différemment que le votre au moment de vos tests) :
SSLCertificateChainFile /etc/ssl/qth/wildcard.qth.fr_intermediate1.pem

Afficher

Depuis la version de 7 de firefox, le mot http:// n’aparait plus dans la barre d’adresse. Cela est embettant si comme moi, vous utilisez beaucoup le copier coller…

Pour le réafficher, tapez about:config dans la barre d’adresse puis passez à false la clé suivante : browser.urlbar.trimURLs

Tags: , ,

Ne donnez pas vos avis chez les revendeurs

Donner un avis chez un revendeur n’est pas objectif. Celui ci pourra le filtrer à sa guise en fonction de ses besoins.

Le comble est materiel.net où je cite :

J'autorise la société Domisys, éditrice du site www.materiel.net, à modifier, utiliser et reproduire librement mon commentaire sur toute publication et tout support électronique ou non.

Cela peut se traduire par : en gros, vous pouvez poster un commentaire, mais on peut le transformer complètement pour en changer le sens. Je trouve cela irrespectueux pour leurs clients.

Inondation de vidéos sur google

Je ne sais plus faire de recherche google !

Quel est cette nouvelle mode de donner des résultats vidéos dans une recherche google ??? Si j’ai envie de vidéo, je clique sur vidéo et si j’en veux pas je dois faire quoi ? Danser ?

Je veux bien que les contenu multimédia soient une nouvelle façon de diffuser du contenu, mais qu’elle ne me soit pas imposée en tête de recherche !

Mais bordel ! Utilisez la vidéo pour illustrer !!

Je ne parle pas des blogueurs qui parlent de leur vie, qui montre un chat qui joue, ou de votre exploit de dominos, quel est cette manie de lancer des vidéos qui dure 20 minutes pour expliquer ce qu’un texte le fait en 5 secondes ? Peut être car on ne sais plus écrire correctement ? A qui aura le plus de vidéos ? Voir sa tête partout sur le net ?

Les vidéos sont, je trouve une énorme perte de temps lorsqu’ils montre ce qu’un article le fait. Outre la quantité qu’il faille pour la stocker (et je ne parle pas de la bande passante quand une 20ène de personne lisent des vidéos en entreprise), ce qu’il y a a voir d’intéressant dure généralement quelques seconde ; soit une infime partie de la vidéo, le reste étant de la narration.

Je crois que nous avons trouvé la boite à image abrutissante de demain d’aujourd’hui.

 

Migration ADSL

Voilà, c’est décidé. Je migre ma connexion ADSL vers une offre plus transparente : OVH. J’étais chez free, je n’utilise ni TV, ni téléphone, et mon débit était anormalement déséquilibré entre services de streaming, et le « reste d’internet », à tel point de passer par un VPN pour que ça fonctionne bien.

Ma commande a été lancée mercredi soir ; ce vendredi, la demande de construction de ligne a été notifiée à France Télécom.

EDIT : 21 jours plus tard, je suis raccordé OVH. Aucune interruption constatée hormis l’échange de la box sur la prise 😉


Tags: ,

Etherpad – bloc note multi-utilisateur en ligne

Etherpad est un traitement de texte en ligne très léger à la manière de google doc.

Il vous permet de travailler en temps réel avec d’autres utilisateur sur un même document à la manière de google doc.Ceci tout en donnant juste un lien aux personnes qui doivent rédiger ou visualiser le document en question.

L’interface est minimaliste, l’acces se fait par un simple lien commun pour tous, une couleur par personne représente les modifications, un chat y est intégré, des exports pdf, doc txt sont possible et un historique des modifications est conservé.

Pour y acceder : http://pad.qth.fr

Tags: , , ,

Une netinstall sans internet, pourquoi des mises à jour non plus ?

Il est temps que je vous présente un script que j’utilise dans le GUL auquel je participe : un script pour squid.

Le but final ? C’est de réaliser des installs, de boots par le réseau et faire les dernières mises à jours lorsque la connexion internet est médiocre voir même innexistante.

Pour ça, on utilise déjà squid qui permet de « cacher » les fichiers téléchargés, mais nous utilisons aussi des dépots locaux sur un poste que nous gardons le plus à jour possible lors de l’install-party. Le script ne fait que traduire à squid les emplacement équivalents locaux pour des url normalement sur internet.

Ainsi, http://archive.ubuntu.com/dists/ devient http://10.9.0.72/ubuntu/dists/ pour squid. C’est donc transparent pour les utilisateurs.

Vous êtes intéressés, rendez vous sur la page du projet :

http://projects.qth.fr/projects/squidrepository

Tags: , , ,

Partage de connexion sous GNU/Linux

Voici un memo pour partager votre connexion internet sur votre PC.

Ici eth0 est l’interface accedant à internet, eth1 est l’interface du réseau local qui doit acceder à internet via eth0. On va utiliser l’ip forwarding, très simple…

Prérequis : Vous avez un serveur DHCP sur eth1 ou êtes déjà en ip statiques.

Activer l’ip forwarding

Prise en compte instantannée :

echo 1 > /proc/sys/net/ipv4/ip_forward

Pour que cela soit actif à chaque boot :

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

Activez le partage

Prise en compte instantannée:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Pour que cela soit permanant :

echo "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE" >> /etc/network/if-up.d/ip-forward
chmod 755 /etc/network/if-up.d/ip-forward

Voilà 😉

Tags: , ,

Avoir un serveur mail de secours

Ayant un serveur mail postfix sur un dédié, j’ai mis en place un serveur de secours qui relaye les emails lorsque le serveur d’email n’est plus joignable.

Installez postfix en optant pour la configuration « Site internet ».

Modifier le fichier /etc/main.cf en ajoutant les directives suivantes :

relay_domains = $mydestination domaine.com
transport_maps = hash:/etc/postfix/transport

Modifier le fichier /etc/postfix/transport de façon a rediriger les emails pour les domaines souhaités vers la bonne machine :

domaine.com  smtp:monserveurmailprincipale.domaine.com

Regénérer le .db de ce fichier par :

postmap /etc/postfix/transport

Et relancez postfix :

/etc/init.d/postfix restart

Voilà ! Vous avez un serveur mail qui accèpte les emails pour votre domaine et qui les retransmet au serveur final.

N’oubliez pas d’ajouter votre nouveau serveur dans votre zone DNS en lui attribuant une priorité plus élevée que le serveur finale.

domain.com.			38400	IN	MX	5 mail.domain.com.
domain.com.			38400	IN	MX	20 mail-backup.domain.com.

Vous pouvez aussi ajouter sur ce serveur de secours votre panoplie d’anti-spam habituelle.

Tags: , , , ,

Je n'aime pas les boîtes noires.