Géolocalisation d’adresses IP sous Apache2

août 15th, 2010 § 0 comments § permalink

L’une des forces du serveur web Apache est la panoplie de modules qu’on peut lui greffer, enrichissant ainsi ses fonctionnalités. Aujourd’hui, je vais vous présenter un module permettant d’effectuer de la géolocalisation d’adresses IP.

Tout d’abord commençons par installer ce fameux module :

Voilà, dès à présent, il vous est possible d’obtenir le pays ainsi que le code du pays des personnes qui visitent votre site. Pour ce faire,  il suffit d’intérroger les variables de serveur, en PHP cela donne :

Ce module peut être utile par exemple pour concevoir un algorithme qui modifie la langue de votre site selon la provenance des visiteurs.

Notes :
- Ce module est également disponible pour le serveur web Cherokee.
- La base de données inclut dans les paquets Debian/Ubuntu n’est pas très à jour, il est possible de la remplacer par celle de MaxMind :

Tuning de serveur MySQL

août 11th, 2010 § 0 comments § permalink

Le tuning d’un serveur de base de données n’est pas chose facile. Dans le cas de MySQL il existe un petit script fort utile permettant de tester et d’optimiser son serveur MySQL. Cet outil nommé tuning-primer est téléchargeable depuis le site day32.com.

Après avoir été lancé sur un serveur MySQL qui a été en production au moins 24H, le script affiche un résultat d’analyse ponctué de commentaires et de suggestions pour l’optimisation des paramètres suivants :

  • Slow Query Log
  • Max Connections
  • Worker Threads
  • Key Buffer
  • Query Cache
  • Sort Buffer
  • Joins
  • Temp Tables
  • Table (Open & Definition) Cache
  • Table Locking
  • Table Scans (read_buffer)
  • Innodb Status

Pour finir, je tiens à rappeler que le travail d’optimisation du serveur MySQL à lui seul ne suffit pas, il est très important d’optimiser les schémas des tables ainsi que les requêtes SQL.

SANDCAT : Scanner de vulnérabilités web

juillet 24th, 2009 § 3 comments § permalink

J’ai créé ce petit billet pour vous présenter un logiciel vraiment très utile dans le domaine de la sécurité informatique, il s’agit de Sandcat.

Sandcat est un scanner de failles sur 3 niveaux :

  1. Failles d’applications web (notamment le TOP 10 des failles OWASP et OWASP PHP).
  2. Failles du serveur (IIS, apache, configuration de PHP…etc).
  3. Analyses des fichiers “Log” (traçage des attaques et violations…Etc).

Ce logiciel est donc complet et couvre un large éventaille de failles (SQL Injection, CRLF Injection, DoS, XSS…), sa version gratuite est téléchargeable à cette adresse : http://www.syhunt.com/?section=sandcat.download

La version Pro qui est plus complète et plus puissance est payante, je regrète aussi le fait que cette application ne soit disponible que sous Windows.

{Sécurité} Faille des .htaccess

mai 12th, 2009 § 7 comments § permalink

[youtube=http://www.youtube.com/v/Ooqi_iZnAT0&hl]

Les fichiers .htaccess sont des fichiers de configuration pour les serveurs apache permettant, entre autres, de restreindre à l’accès à certaines parties d’un site ou à sa totalité. Certains webmaster utilisent donc ces fichiers pour protéger les zones sensibles de leur site à l’aide d’un identifiant et d’un mot de passe.

Le hic, c’est qu’une mauvaise configuration de ces fichiers couplée à une mauvaise configuration du serveur apache (une configuration par défaut par exemple) créé une brèche de sécurité permettant de contourner les restrictions mises en place,  c’est une de ces failles qui a été exploitée pour hacker le site d’Algérie Poste¹.

Généralement, les gens se contentent de faire un copier/coller des exemples de code qu’ils trouvent sur le net pour mettre en place leur protection via htaccess, malheureusement certaines versions des codes qu’on peut trouver sur le net sont erronés.

Voici par exemple un code que l’on peut aisément trouver sur la toile :

Alors expliquons un peu le contenu de ce fichier :

  • La première ligne indique l’emplacement du fichier contenant les identifiants et mots de passe pour l’accès à la zone protégée.
  • La seconde ligne est juste le titre de la fenêtre d’authentification qui s’affiche.
  • La troisième ligne indique le type d’authentification.
  • Les lignes 4 à 6 indiquent une balise LIMIT.

Le problème dans ce fichier vient, en partie, de cette fameuse balise LIMIT justement, celle-ci est sensée limiter les conditions d’accès aux requêtes POST et GET du protocole HTTP (C’est les types de requêtes utilisés lorsqu’on navigue sur un site internet). Hors, dans certaines configuration (notamment celle par défaut) les serveurs APACHE ont tendance a essayer d’interpréter les requêtes HTTP incorrectes comme  des requêtes GET.

Par exemple en temps normal pour obtenir maPage.php votre navigateur envoi une requête du style :

GET /maPage.php HTTP/1.1

Host : www.monsite.com

Ce n’est qu’un exemple, d’ailleurs je n’ai pas retenu la syntaxe exacte des requêtes HTTP pour imiter parfaitement votre navigateur lol. Bref ! Imaginez que maPage.php est protégée par un htaccess, il m’est donc impossible d’y accéder sans m’identifier car ma requête GET sera traitée… par contre si on s’amuse à envoyer une requête erronée du style :

envoi une requête du style :

jeveux /maPage.php HTTP/1.1

Host : www.monsite.com

et bien comme cette requête n’est ni un GEt ni un POST le htaccess ne va pas appliquer la restriction sur elle, et comme apache va l’interpréter comme une requête GET et bien vous allez recevoir le page en question (y accéder quoi) sans aucune authentification.

Voilà le principe utilisé pour contourner donc les fameux fichier htaccess. Pour vous protéger de cette failles veillez à :

  1. Retirer les balises <LIMIT> de vos fichiers .htaccess.
  2. Configurer votre serveur apache de façon à ce qu’il n’accepte et ne traite que les requêtes HTTP valides (vous pouvez utiliser mod_security  pour ça).

Voilà, j’espère vous avoir proposé un article intéressant, celui-ci inaugure la nouvelle catégorie “Sécurité” de mon blog, je compte vous proposer d’autres articles sur la sécurité informatique, si vous avez des compléments d’information ou des suggestions n’hésitez surtout pas.

¹ Information que j’ai pu lire à droite à gauche sur le net, je n’ai pas pris le temps de vérifier moi-même si ces affirmations étaient justes.

[Site] Géolocaliser un site ou une adresse IP

décembre 20th, 2007 § 1 comment § permalink

Je vous présente MyIP, un site fort sympathique et utile permettant de géolocaliser un site internet ou une adresse IP. Vous avez une limite de 15 utilisations quotidienne mais une inscription gratuite sur le site vous permettra d’augmenter le nombre d’utilisations possibles à 50 par jour.

URL du site : http://www.ip-adress.com

PS/ Le site permet aussi de connaitre votre propre adresse IP.