|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Développeur multimédia Inscription : décembre 2003 Messages : 9 ![]() |
Bonjour,
Je compte prendre un serveur dédié prochainement mais je m'interroge un peu sur la meilleure manière de sécuriser ce serveur sur l'aspect Php. En effet, si je crée un compte Unix par utilisateur (qui représente dans mon cas une application), par défaut un script php peut aller se promener dans l'arborescence supérieure (sans rien pouvoir modifier mais bon, il pourrait télécharger des fichiers)... chose que je veux éviter. Je me suis documenté et apparement, l'utilisation de la commande chroot pourrait être adaptée. Suis-je sur la bonne piste ou y-a-t-il d'autres moyens à envisager ? Merci d'avance ! |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : juin 2006 Messages : 889 ![]() |
tu es effectivement sur la bonne mais cela ne suffit pas si tes scripts PHP ou ton php.ini ( et les autres aussi ) est mal configurer , ainsi que si le kernel de ton serveur a des particularites ( faut aussi pensait a ca ) cela reduira ton chroot a neant .
quelques tips en vrac vu lors d'audit de serveur : -avoir plusieurs utilisateur sur le systeme pour une tache precise -avoir un groupe wheel ( seul eux sont authoriser a se connecter en root ) -interdire les connections root distante -apres avoir tout configurer avec l'utilisateur sous lequel tourne apache lui affecter un shell /bin/false ( je vous jure j'ai deja vue ). -bien verifier les droits sur les fichiers et repertoire aussi ex au lieu de mettre tout le monde peut lire et executer sauf moi je peut ecrire en plus et bien non non non tu met lire et executer pour tout le monde comme ca pas de deface -enlever tout ce qui est suid guid -utiliser un kernel statique ( ca m'etonnerais que tu fasse des mise a jour tous les jours ). bonus faire du port knocking pour te connecter http://www.portknocking.org/ |
|
|
00
|
|
|
#3 | ||
|
Membre émérite
![]() Inscription : août 2003 Messages : 878 ![]() |
Citation:
Citation:
__________________
Un problème bien exposé est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles. |
||
|
|
00
|
|
|
#4 | |
|
Membre confirmé
![]() |
Citation:
Suppose qu'un programmeur php, introduise involontairement une faille de type include dans l'un de ses scripts. Il suffira de profiter de cette faille pour inclure dans le script un autre script comme C99Shell, qui est une vrai merde. Ce script te permettera de parcourir l'arobresence du serveur, de lire tout les fichiers sur lesquels tu as des droits de lecture et d'écrire dans tout fichier www-data. L'emploie de ce script est beaucoup plus intéressant niveau mot de passe et login mysql, ils sont forcement dans des fichiers de config php, il suffit de les lire avec C99Shell pour avoir les logins et pass MySQL et tout foutre par terre comme on veut (en plus les logins et pass mysql sont souvent les mêmes que pour le ftp) Ce que tu doit faire : mettre php en mode safe (safe mode on) Ne permettre l'inclusion de fichier que si l'owner (www-data c'est le groupe) des deux fichiers est le même (fichier à inclure, fichier dans lequel on inclu le premier). Ainsi tu préviens l'exploitation d'éventuelle faille crée par les programmeurs que tu héberge.
__________________
The box said : "Requires windows 95, NT or better" so I installed Linux. |
|
|
|
00
|
|
|
#5 | |
|
Candidat au titre de Membre du Club
![]() Développeur multimédia Inscription : décembre 2003 Messages : 9 ![]() |
Merci à tous pour vos avis éclairés !
L'option de restriction open-basedir me plaît beaucoup car elle ne nécessite pas trop de manipulations. Je vais m'y intéresser de près. Par contre, le safe-mode, je ne suis pas vraiment fan... d'autant plus que cette fonction va être retirée en php6. Citation:
|
|
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2006 Messages : 11 ![]() |
Openbasedir et safe_mode ce sont quand même deux bons paramètres de sécurité
Ajoutez une couche de mod_suphp Gérez bien les directives dans php.ini créez un répertoire spécifique pour apache je pense que c'est déja bien ! |
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() |
Ben justement, le safe mode fait une comparaison par UID (user id), donc si tu veut ça, active le safe mode. Tu verra bien quand php6 sortira, mais faut pas réver, même si le safe mode disparait, il y aura surement une alternative permettant la même chose.
__________________
The box said : "Requires windows 95, NT or better" so I installed Linux. |
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Développeur multimédia Inscription : décembre 2003 Messages : 9 ![]() |
Ok, encore merci pour tous vos avis.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com