La faille Heartbleed dans OpenSSL : mettez à jour vos serveurs photo

La faille Heartbleed dans OpenSSL : mettez à jour vos serveurs

Heartbleed

heartbleed

Dans la nuit du lundi 7 au mardi 8 avril 2014, une équipe de chercheurs du Codenomicon et le chercheur Neel Mehta de Google Security ont découvert une faille dans la librairie open-source OpenSSL.

OpenSSL est une librairie utilisée pour gérer la couche SSL/TLS de nombreux logiciels (serveurs webs, webmails, VPN, messagerie instantanée…).

La faille, baptisée Heartbleed, est une vulnérabilité sérieuse dans le protocole d’encryption OpenSSL, utilisé pour chiffrer et sécuriser les connexions.

Potentiellement, cette faille permet de dérober des données normalement chiffrées et des clés privées.

Concrètement, cela signifie que toutes les données que nous avons considérées comme sécurisées ne l’étaient pas.

Heartbleed affecte approximativement 66 % des serveurs du monde entier et existe depuis décembre 2011.

En exploitant cette faille, un hacker peut lire 64 KB de la mémoire du système protégé par OpenSSL et ainsi voler les mots de passe, les clés de chiffrement, toutes les données qui transitent entre votre ordinateur et le serveur, et ensuite pouvoir se faire passer de manière transparente pour un service web ou un internaute…

Cela ne laisse aucune trace : un PoC est disponible.

Déterminer la version d’OpenSSL

Toutes les versions d’OpenSSL 1.0.1 à 1.0.1f inclus sont vulnérables. Pour savoir quelle version d’OpenSSL est actuellement installées sur votre système, tapez :

dpkg -s openssl | grep Version

La faille a été introduit dans OpenSSL en décembre 2011 et s’est retrouvé dans la nature avec la sortie d’OpenSSL 1.0.1 le 14 mars 2012.

OpenSSL 1.0.1g, sortie le 7 avril 2014, corrige Heartbleed.

Lire la suite

windows-xp-logo

Windows XP arrive à expiration : sauvegarder l’activation pour une future (ré-)installation

Windows XP expire le 8 avril 2014

windows-xp-logo

Si vous êtes encore sous Windows XP, vous devez savoir que le support de ce système d’exploitation arrivera à son terme le 8 avril 2014.

Après cette date, il ne sera plus possible d’activer l’OS depuis les serveurs de Microsoft donc il va falloir sauvegarder votre activation du système en lieu sûr.

Sauvegarde de l’activation Windows XP

Il vous suffit de :

1. copier le fichier C:\Windows\System32\wpa.dbl en lieu sûr;

2. à la réinstallation suivante de Windows XP, redémarrer en Mode sans échec (F8 au démarrage);

3. renommer le fichier C:\Windows\System32\wpa.dbl créé par la nouvelle activation en wpa.dbl.bak

4. copier enfin le fichier d’activation que vous aviez sauvegardé dans C:\Windows\System32\

Et voilà, vous pourrez réinstaller XP sans passer par les serveurs d’activation de Microsoft.

Windows XP, sorti en 2001, aura eu une durée de vie de 13 ans, ce qui n’est vraiment pas négligeable pour un système d’exploitation.

Il aura été pour moi le Windows de référence avant que je ne passe sur du tout Linux.

vpn-icon

Linux : configurer un VPN avec VPNTunnel

vpn icon

Pour tout un tas de raison, il est temps pour nous de prendre un petit VPN, histoire de d’ajouter une couche de sécurité supplémentaire.

Stéphane nous avait déjà montré comment créer un réseau privé virtuel (VPN) sous Debian Lenny mais je voulais un service externe qui ne sollicitait pas le serveur du site.

J’ai essayé VPNTunnel pour 5 euros pendant un mois et comme le service m’a bien plu, je vous donne le petit tutoriel qui permet de configurer tout cela en moins de 10 minutes, sous Ubuntu.

Installation d’OpenVPN et des fichiers de configuration de VPNTunnel

On installe OpenVPN et ses dépendances :

sudo apt-get install openvpn network-manager-openvpn-gnome resolvconfCode language: JavaScript (javascript)

puis on crée le répertoire /etc/openvpn/keys:

sudo mkdir /etc/openvpn/keys

Sur le site de VPN Tunnel, deux fichiers sont à télécharger : Linux-confs.tar.gz et cert.zip. Dézippez les deux fichiers.

Après avoir tapé :

sudo nautilus

Il vous reste à :

  1. copier tous les fichiers *.conf dans /etc/openvpn/
  2. copier tous les certificats *.cert dans /etc/openvpn/keys

A ce stade, nous sommes presque prêts : il ne nous reste plus qu’à ajouter ces différentes configurations VPN au gestionnaire de connexion de Gnome.

Lire la suite

Serveur dédié : configurer la limite mémoire pour PHP et Suhosin photo

Serveur dédié : configurer la limite mémoire pour PHP et Suhosin

suhosin_logo

Aujourd’hui, je vous livre la solution à un problème auquel vous avez peut-être été confronté lors de la configuration de votre serveur dédié – il s’agit d’une erreur que l’on peut trouver dans les fichiers logs d’Apache :

Dec 12 16:19:26 mail suhosin[22860]: ALERT - script tried to increase memory_limit to 268435456 bytes which is above the allowed value (attacker '82.83.84.85', file '/home/skyminds/public_html/wp-admin/admin.php', line 96)Code language: JavaScript (javascript)

Etape 1 : paramétrage de memory_limit dans php.ini

On édite notre fichier php.ini :

nano /etc/php5/apache2/php.ini

On recherche la variable memory_limit et on l’augmente à 256MB :

; Maximum amount of memory a script may consume (128MB)
; http://php.net/manual/en/ini.core.php#ini.memory-limit
memory_limit = 256MCode language: JavaScript (javascript)

Note : vérifiez que vous éditez bien le bon fichier php.ini ! Je me suis aperçu après quelques essais que celui qui correspondait à mon installation était en fait /etc/php5/apache2filter/php.ini.

Lancez un phpinfo();pour être sûr du fichier à éditer.

Lire la suite

Serveur dédié : sauvegarde automatique des fichiers avec Backup Manager sur le serveur de sauvegarde OVH photo 1

Serveur dédié : sauvegarde automatique des fichiers avec Backup Manager sur le serveur de sauvegarde OVH

Aujourd’hui, nous abordons la sauvegarde des fichiers essentiels du serveur.

Backup Manager permet d’effectuer des sauvegardes quotidiennes du système : il crée des archives dans plusieurs formats de compression (tar, gzip, bzip2, lzma, dar, zip) et peut les exporter vers un serveur FTP.

Dans notre cas, nous allons l’installer et le configurer pour envoyer tout ce qui est important sur notre serveur sur le serveur FTP externe de sauvegarde fourni gratuitement par OVH (100 Go).

Etape 1 : installation de Backup Manager

C’est classique :

apt-get install backup-managerCode language: JavaScript (javascript)

A la fin de l’installation, un assistant se lance et vous permet de configurer des options par défaut. Ou vous pouvez configurer à la main, comme indiqué dans l’étape suivante.

Lire la suite

Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes photo 1

Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes

ssh plugins logo

Sur mon serveur, j’ai fait le choix de ne pas installer de serveur FTP.

Pourquoi ? Et bien tout simplement parce que le protocole FTP n’est pas du tout sécurisé : les mots de passe sont envoyés en clair sur le réseau, il n’y a aucun chiffrement appliqué sur la connexion et il existe 1001 manières d’en forcer l’accès.

Du coup, je me dis que l’on peut très bien s’en passer. Comme il faut bien que je mette des fichiers sur le serveur ou mettre à jour le site, nous allons utiliser SSH qui est un protocole sécurisé.

Lire la suite

Serveur dédié : sécuriser Apache 2 avec ModSecurity photo

Serveur dédié : sécuriser Apache 2 avec ModSecurity

modsecurity

Aujourd’hui, on ajoute une couche de sécurité supplémentaire avec l’installation du module ModSecurity pour Apache.

ModSecurity est un firewall pour les applications web (WAF) pour Apache.

Il permet de se prémunir contre pas mal d’attaques (connues/inconnues, injections SQL, failles XSS…) et permet de surveiller le traffic HTTP en temps réel. Très utile pour un serveur dédié sous Apache!

L’installation est très rapide, cela ne prend que quelques minutes et 3 étapes.

Etape 1 : installation de mod_security

On commence par éditer nos sources de dépôts :

nano /etc/apt/sources.listCode language: PHP (php)

et on ajoute les backports :

deb  squeeze-backports main

On met à jour et on installe mod_security:

apt-get update
apt-get install libapache-mod-securityCode language: JavaScript (javascript)

On active le module :

a2enmod mod-security

Et on relance Apache pour prendre en compte nos changements :

/etc/init.d/apache2 restart

Lire la suite

Serveur dédié : création d'un serveur mail Postfix (sécurisé avec Saslauthd et certificat SSL) et Courier (accès POP et IMAP) utilisant une base MySQL d'utilisateurs/domaines virtuels photo 1

Serveur dédié : création d’un serveur mail Postfix (sécurisé avec Saslauthd et certificat SSL) et Courier (accès POP et IMAP) utilisant une base MySQL d’utilisateurs/domaines virtuels

Aujourd’hui, nous voyons comment créer un serveur mail sécurisé et qui tient bien la route. Comme je suis seul utilisateur du serveur, je ne voyais pas trop l’intérêt de créer des comptes utilisateurs sur le serveur juste pour pouvoir bénéficier d’un serveur mail.

J’ai donc opté pour la solution suivante : un serveur mail Postfix (sécurisé avec Saslauthd et certificat SSL) et un serveur Courier (accès POP et IMAP) qui utilisent MySQL (utilisateurs et domaines virtuels) pour la redirection des messages des utilsateurs/domaines.

icon mail server1

Le tutoriel est certainement le plus long de la série, j’estime que cela prend à peu près 50 minutes à compléter (en 15 étapes!). Attention au niveau des copier/coller, une simple erreur peut vous faire perdre pas mal de temps !

Etape 1 : configurer le hostname

Le hostname est le nom du serveur en général. Mon domaine est skyminds.net donc mon serveur s’appelle mail.skyminds.net

Il est également important que ce nom soit présent dans la configuration bind du serveur.

Pour connaitre le nom de votre machine, tapez :

hostname -f

Pour le modifiez, il faut éditer /etc/hostname :

nano /etc/hostname

Remplacez ce qui s’y trouve avec le nom de votre serveur. J’y mets ‘mail.skyminds.net’.

Ensuite, éditez /etc/hosts:

nano /etc/hosts

On ne touche pas à la première ligne mais on ajoute l’adresse IP du serveur suivie de notre nom de machine :

127.0.0.1       localhost.localdomain localhost
xxx.xxx.xxx.xxx  mail.skyminds.netCode language: CSS (css)

Il ne vous reste plus qu’à rebooter le serveur pour que les modifications soient prises en compte :

/sbin/reboot

Vérifiez bien que le nouveau nom a bien changé :

hostname -f

J’obtiens bien :

mail.skyminds.netCode language: CSS (css)

Si vous obtenez une erreur du style “name or service not found”, vérifiez que les enregistrements DNS du serveur sont bien corrects.

Lire la suite

Serveur dédié : sécurisation de la couche TCP/IP photo

Serveur dédié : sécurisation de la couche TCP/IP

icon security firewall

Il est facile de sécuriser la couche TCP/IP du serveur juste en activant quelques directives.

Normalement, le réseau de l’hébergeur est suffisant stable pour que nous puissions désactiver certains fonctions de routage IPv4 et IPv6.

Nous allons donc désactiver les redirections ICMP, nous protéger des attaques SYN FLOOD, du spoofing, du smurfing, désactiver le routage à l’intérieur des paquets et finalement désactiver l’autoconf IPV6.

Ce tutoriel prend à peine 10 minutes.

Configuration du fichier /etc/sysctl.conf

Il existe pas mal d’options dans le fichier sysctl.conf liées à la sécurité. Commençons par éditer le fichier :

nano /etc/sysctl.conf

Lire la suite

Serveur dédié : sécurisation des services avec iptables et fail2ban photo

Serveur dédié : sécurisation des services avec iptables et fail2ban

icon security firewall

Notre serveur est maintenant opérationnel et sert les pages du site. Il faut toutefois penser à le sécuriser un peu contre les attaques les plus communes.

Nous utilisons donc iptables – un firewall qui filtre activement nos ports utilisés et qui bloque les autres – et fail2ban qui scanne vos fichiers logs à la recherche de requêtes étranges pour bloquer les intrus à la porte lorsqu’ils deviennent trop insistants.

Installation et configuration d’iptables

Si ce n’est déjà fait, on installe iptables :

apt-get install iptablesCode language: JavaScript (javascript)

Les règles peuvent porter sur 3 chaînes :

  • INPUT en entrée,
  • FORWARD dans le cas d’un routage réseau,
  • OUPUT en sortie.

et les actions à entreprendre sont ACCEPT (accepter le paquet), DROP (le jeter), QUEUE et RETURN. Les arguments utilisés sont :

  • i : interface d’entrée (input)
  • o : interface de sortie (output)
  • t : table (par défaut filter contenant les chaînes INPUT, FORWARD, OUTPUT)
  • j : règle à appliquer (Jump)
  • A : ajoute la règle à la fin de la chaîne (Append)
  • I : insère la règle au début de la chaîne (Insert)
  • R : remplace une règle dans la chaîne (Replace)
  • D : efface une règle (Delete)
  • F : efface toutes les règles (Flush)
  • X : efface la chaîne
  • P : règle par défaut (Policy)
  • lo : localhost (ou 127.0.0.1, machine locale)

Lire la suite

honeypot-it-security

Projet Honey Pot : 1 milliard de spams traités

no-spam

Il y a quelques années, j’ai pris part au projet Honey Pot qui vise à identifier les responsables d’envois massifs de courriers indésirables (autrement dit : du spam) grâce à des pages créées à cet effet.

Dans la même optique, j’avais utilisé wpoison pour créer des adresses email bidons pour corrompre la base email des robots aspirateurs.

Et bien ce projet ambitieux vient de traiter plus d’un milliard de spams depuis son lancement. Cela a donné lieu à une petite étude et voici ce que l’on peut en retirer.

Lire la suite