Le 28 juil. 2014 à 10:47, Alexandre Legrix a écrit :

> 
> Le fait de maintenir des scripts php opensource a jour que tu ne
> déploies pas toi même a toujours été le gros soucis de notre métier.
> 
> L'adminsys doit s'assurer que le serveur ne peut pas se faire trouer.
> 
> (je prends wordpress en exemple, mais vous pouvez remplacer ca par
> n'importe quel projet opensource, ca peut être phpmyadmin, qui a la
> palme d'or du trouage)
> 
> Les développeurs déploient un wordpress d'il y a 4 ans, (modifié par
> leurs petites mains) et donc ce wordpress n'est plus "mainline".
> On ne peut plus mettre ce wordpress a jour en suivant la méthode
> proposée par les développeurs du logiciel.
> 
> Et la il va en résulter une bataille des responsabilités entre dev et
> sysadmin.

J'ai eu le cas d'un wordpress troué également. Pour la bonne raison qu'il 
n'était pas à jour.
L'attaquant a commencé à uploader de quoi exécuter de manière arbitraire ses 
scripts, puis il a uploadé un shell codé en php capable de récupérer tout ce 
qui peut être intéressant sur le système (passwd, conf, logiciels installés, 
etc), puis il a mis en place ses petites pages de pub pour produits 
pharmaceutiques revigorants. L'une des choses qui avait aidé à l'époque était 
le fait que les droits des fichiers et dossiers étaient très permissifs.
J'enfonce des portes ouvertes mais la première vérification à faire est de 
s'assurer que les droits sont en r--r----- ou r--r--r-- par défaut (hormis sur 
des dossiers particuliers comme l'upload). Cela peut ralentir considérablement 
une attaque.

> 
> Pour se prémunir de soucis plus grand et gros qu'un script php
> opensource hack via une requête POST a la con, nous avons en tant
> qu'adminsys une potion magique.
> Ca s'appelle chroot() + php-fpm + nginx. Le script php ne sera executé
> qu'avec les droits de l'utilisateur spécifique de ce vhost, et ne pourra
> pas sortir de sa prison.

Je ne peux que plussoyer php-fpm. Très pratique pour isoler les applications, 
et performant. Éventuellement lxc pour parfaire l'isolation (en s'assurant de 
dropper toutes les capabilities inutiles).
Si tu as le temps, tu peux aussi jouer avec suhosin ou disabled_functions.

Cordialement
Emmanuel Thierry

_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à