Gruik COME AT ME BRO

February 3rd, 2013 par iMil

Devant la recrudescence d’inscription de robots et parce qu’on y pense depuis un moment, le site que vous avez sous les yeux est désormais servi par le célèbre nginx, muni du plugin naxsi, un logiciel sous licence GPLv2 issu des labos de la société dans laquelle je travaille.

On ne présente plus le serveur HTTP/S/Reverse Proxy/Proxy mail nginx, cependant naxsi est un outil qui gagne à être connu. Il s’agit d’un Web Application Firewall dont la particularité est d’agir en mode “rejet par défaut”, il revient à l’administrateur d’autoriser des actions valides. Par exemple, alors que des chaînes |, ;, /* */, 0x, select, update, drop et j’en passe sont a priori anormales dans une URI, un champs GET ou POST, certains logiciels complexes comme WordPress en font usage. Dans ce cas de figure, une simple whitelist permet d’en autoriser l’utilisation. Par exemple, dans la variable POST siteurl, WordPress utilise la chaine “http://” dont on pourrait soupçonner qu’elle permet de réaliser un Cross-Site-Scripting. Le blocage de cette technique a l’id 1100 dans le fichier de règles naxsi (naxsi_core.rules). Aussi, nous ajoutons la Basicrule suivante :

BasicRule wl:1100 "mz:$BODY_VAR:siteurl";

qui permet de whitelister la règle 1100 pour la variable siteurl.

Nous avons utilisé, pour le WordPress qui fait tourner GCU-Squad, la configuration que j’utilise déjà pour mon site personnel depuis plusieurs semaines.

La chaîne complète :

  • NetBSD 5.1.2
  • nginx 1.2.6 + naxsi 0.49
  • PHP FPM 5.3.19
  • Varnish 2.1.3

Pour finir, l’auteur de naxsi se trouve à moins de 10 mètres de moi dans les locaux de mon entreprise et est interrogeable sur le canal IRC du jardin magique, aussi n’hésitez pas à remonter vos idées, remarques, scénarios et succès !

Posté dans Gruik | 4 Comments »

4 Reponses pour “COME AT ME BRO”

  1. larson Says:

    Bonjour,
    jolie configuration ! Pourquoi utiliser a la fois varnish et nginx ?
    Merci.

  2. iMil Says:

    Varnish est en amont, il sert de reverse-proxy cache pour plusieurs sites. Nginx est le serveur web qui sert le site GCU.

  3. larson Says:

    Merci pour cette réponse.

    Je pensais que Nginx pouvait faire du cache pour ses propres requêtes. C’est plus clair maintenant :)

  4. iMil Says:

    nginx *peut* faire du cache, je l’utilise par ailleurs dans d’autres plateformes. Ici il sert “seulement” de serveur HTTP.

Répondre

Vous devez être identifié pour poster un commentaire.

Identification

Enregistrez-vous

SQUAD!

GCU live

[21:36:11] rabbit toulouse ?
[21:36:22] moid non, toulon
[21:36:34] Popov rabbit: t'es trop has been là
[21:37:19] rabbit toulouse, toulon hein
[21:39:49] bsdsx pas vilain comme match, faut reconnaitre
[21:45:10] Popov oui beau match
[21:45:39] Popov les mecs avaient 4 poumons là
[21:52:27] sekh p/w 2
[21:52:30] sekh grmph.
<-- fclove left irc:
--> twisla joined #gcu.

Miiissioudaaam'

Archives:

Meta:

Hosted by:

NBS-System