On Tuesday 27 September 2005 00:03, pyfux a écrit: > Désolé, je ne suis pas entièrement satisfait de votre réponse. En effet, > la process 1665 lancé par root semble etre le seul process en écoute > sur le port 80 ! > > Cela signifie que le premier client se vera connecté avec le process > apache lancé par root ? Je vous signale cela mais je vais faire des > tests de connexions pour éclaircir ce mystère ! > Hum, je crois ne pas avoir été clair dans mon précédent mail...
Le problème _n'est pas_ d'écouter un port en tant que root ! le réél problème de sécurité serait de lancer un script (ou n'importe quel exécutable) en tant que root : dans ce cas si le script a une faille de sécurité, il serait possible d'être root sur la machine. Pour simplifier, le problème n'est pas la connexion mais l'excecution en tant que root. Un petit exemple : Voila ce que j'ai avec mon serveur web (thttpd, on n'est pas vendredi hein ;). Sache que cela revient au même avec Apache , excepté que tu as 5 PID à www-data: $ sudo netstat -lpe [...] tcp6 0 0 *:www *:* LISTEN root 8777 5836/thttpd [...] La socket a été ouverte par root mais comme tu le vois ci dessous, le processus appartient à www-data : www-data 5836 0.0 0.1 2116 992 ? Ss 08:21 0:00 /usr/local/sbin/thttpd -C /etc/thttpd/thttpd.conf -i /var/run/thttpd.pid Maintenant on imagine un client qui se connecte et qui lance un script CGI ( ici une boucle infinie pour que je puisse récupérer les info via ps aux) Sous quel utilisateur va t-il être lancé... : www-data 8413 88.7 0.3 4212 2668 ? RN 11:50 0:03 /usr/bin/perl test.cgi Par conséquent il n'y a pas là de probléme de sécurité majeur, dans la mesure ou www-data a des droits trés limités, contrairement à root ou ton utilisateur habituel. J'espère que cette fois ci j'ai réussi à me faire comprendre :p > Merci tout de même, > PyFux > > ps aux | grep apache > root 1665 0.0 1.1 10660 4328 ? S Sep26 0:00 > /usr/sbin/apache > pyfux 1666 0.0 1.1 10792 4520 ? S Sep26 0:00 > /usr/sbin/apache > pyfux 2028 0.0 1.1 10788 4516 ? S Sep26 0:00 > /usr/sbin/apache > pyfux 2029 0.0 1.1 10792 4532 ? S Sep26 0:00 > /usr/sbin/apache > pyfux 2030 0.0 1.1 10784 4508 ? S Sep26 0:00 > /usr/sbin/apache > root 2934 0.0 0.1 1964 752 pts/0 R+ 00:00 0:00 grep > apache > > netstat -lnp --inet > Connexions Internet actives (seulement serveurs) > Proto Recv-Q Send-Q Adresse locale Adresse distante Etat > PID/Program name > tcp 0 0 127.0.0.1:678 0.0.0.0:* > LISTEN 1350/famd > tcp 0 0 127.0.0.1:3306 0.0.0.0:* > LISTEN 1226/mysqld > tcp 0 0 0.0.0.0:111 0.0.0.0:* > LISTEN 1007/portmap > tcp 0 0 0.0.0.0:80 0.0.0.0:* > LISTEN 1665/apache > tcp 0 0 0.0.0.0:10000 0.0.0.0:* > LISTEN 1456/perl > tcp 0 0 255.255.255.255:25 0.0.0.0:* > LISTEN 1442/exim4 > udp 0 0 0.0.0.0:10000 0.0.0.0:* > 1456/perl > udp 0 0 0.0.0.0:111 0.0.0.0:* > 1007/portmap > > François Wendling wrote: > > On Monday 26 September 2005 15:49, pyfux wrote: > >>Bonjour la liste ! > >> > >>voilà, les process Apache sur ma Debian/Sarge sont lancé avec différents > >>utilisateurs! > >> > >>ps aux | grep apache > >> > >>root 1123 0.0 8.1 11004 4432 ? S 15:32 0:00 > >>/usr/sbin/apache > >>www-data 1136 0.0 8.1 11004 4440 ? S 15:32 0:00 > >>/usr/sbin/apache > >>www-data 1137 0.0 8.1 11004 4440 ? S 15:32 0:00 > >>/usr/sbin/apache > >>www-data 1138 0.0 8.1 11004 4440 ? S 15:32 0:00 > >>/usr/sbin/apache > >>www-data 1139 0.0 8.1 11004 4440 ? S 15:32 0:00 > >>/usr/sbin/apache > >>www-data 1140 0.0 8.1 11004 4440 ? S 15:32 0:00 > >>/usr/sbin/apache > >> > >>Le process 4432 est lancé par root! C'est pas un problème de sécurité? > > > > Je ne pense pas, dans la mesure ou ton processus lancé par root ne doit > > pas être utilisé par les clients (tu dois avoir ta directive StartServers > > réglée à 5 et MinSpareServers aussi) : seuls les 5 pids fils sont > > utilisés. > > > >>comment lancer Apache uniquement avec l'utilisateur www-data ? > > > > Ce n'est pas possible du moins pas facilement ;) : les 1024 premiers > > ports doivent être _ouverts_ par root mais par contre ils peuvent > > utilisés par d'autres utilisateurs (c'est le cas des serveurs IRC,FTP > > etc.). > > > >>Merci pour vos lumières! > >>PyFux -- Site : http://frwendling.free.fr GPG : gpg --keyserver www.keyserver.net --recv-keys 75A576E5
pgp6lzv4ZaSlx.pgp
Description: PGP signature