OVH Cloud OVH Cloud

apache sécurité

44 réponses
Avatar
Thomas
comment savoir si il y a des trous de sécurité dans ma version d'apache
svp ? (1.3.29)

--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
(seulement dans le 1/4 h où mon ordi est mis en veille,
donc je vous invite à réclamer à free : l'acces à arp -s,
ou la possibilité de rediriger le NAT sur l'adresse de broadcast :-) )

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"

10 réponses

1 2 3 4 5
Avatar
Benjamin Pineau
Le 15 Mar 2005 12:30:24 GMT,
Cedric Blancher écrivais:
Le Tue, 15 Mar 2005 12:28:34 +0000, Kevin Denis a écrit :
tu ne pourras plus le faire tourner sur le port 80,
A ce propos; que penser d'une redirection de port?

apache ecoute sur le 8080 (donc en user de base). Une regle iptables (dans
le cas linux) qui redirige le 80 sur le 8080. Et hop, plus de root a
peu de frais.


C'est une bonne solution amha. Cela impose juste de maintenir un
système de NAT en plus et de complexifier un peu l'architecture globale.


Pour les utilisateurs de systèmes *BSD (ou de debian avec un noyau
2.4.24 ou 2.6.1) il est peut-être plus éléguant d'utiliser systrace pour
donner provisoirement les droits roots sur les deux ou trois appels
système roots nécessaires (eg, bind()) à apache.

On bénéficie en prime d'un "firewall" complet des appels systèmes (et de
leurs arguments) autorisés pour le processus httpd.

Voir par exemple ce ruleset pour apache:
http://www.citi.umich.edu/u/provos/systrace/usr_sbin_httpd
Et sur systrace en général (pour ceux qui ne le connaîssent pas):
http://www.citi.umich.edu/u/provos/systrace/index.html

p.s.: je suis surpris que -en dépit d'un effort de portage vers Linux-
systrace n'ai pas rencontré plus de succès sur cette plateforme...
peut-être par a-t-il manqué de "publicité" ? une idée ?



Avatar
Benjamin Pineau
Le 16 Mar 2005 10:17:07 GMT,
VANHULLEBUS Yvan écrivais:
Kevin Denis writes:

Sur les systemes UNIX, il y a 2 facons de lacher ses privileges (en
schematisant un peu, hein): la temporaire et la definitive.


La temporaire permet a un programme qui n'a besoin d'un privilege que
pour certaines occasions bien precises de le lacher le reste du
temps. Si un attaquant prend la main, ca reste possible de recuperer
les privileges en question (le programme y arrive, apres tout), bien
que ca ne soit pas trivial du tout.

Dans le second cas, le privilege est definitivement droppe, donc c'est
impossible a recuperer (enfin, pas avec un set*uid*() ou un "truc
affilie", il reste toujours la possibilite de chercher une autre
faille a exploiter pour augmenter ses privileges, bien sur).

La question qui reste est donc "est-ce que Apache droppe
definitivement les droits root quand il passe en www-data", et ma
reponse est "que je soie pendu si j'en ai la moindre idee !!!"...

Mais la reponse doit bien se trouver, au pire dans le code source
d'Apache....


Un peu des deux: apache (dans la configuration courante) conserve un
processus père en root qui forke des processus fils ayant
(definitivement) une (e)uid non privilégiée, et assurant le traitement
de la requète.

Il n'est pas pour autant totalement exclus qu'un bug permette de tirer
parti des droits roots du processus père via le fils, car l'appel
système fork donne aux fils en héritage (pour ainsi dire) un certain
nombre de ressources "ouvertes" par le père (descripteurs de fichiers,
shm etc.).

Avatar
Cedric Blancher
Le Wed, 16 Mar 2005 12:20:14 +0000, Benjamin Pineau a écrit :
p.s.: je suis surpris que -en dépit d'un effort de portage vers Linux-
systrace n'ai pas rencontré plus de succès sur cette plateforme...
peut-être par a-t-il manqué de "publicité" ? une idée ?


Parce qu'on avait déjà des choses comme LIDS et les ACLs de GrSec ?


--
Tu viens de tomber sur une secte qui punit sévèrement toute réponse
technique à une réponse technique (cf la charte du forum). vas voir
sur fcolc (fr.comp.os.linux.configuration).
-+- R in GFA : Techniquement, y'a du répondant -+-

Avatar
Nicob
On Tue, 15 Mar 2005 14:29:46 +0000, VANHULLEBUS Yvan wrote:

Apache n'a besoin des droits de root que pour prendre le bind
sur le port 80 (et n'en a pas besoin par la suite, pour accepter les
sessions).


Il s'en sert aussi ouvrir un accès en écriture sur ses fichiers de logs
(access.log et error.log) qui sont en rw pour 'root' seulement. Par
contre, PHP qui cherche "plus tard" à ouvrir ses logs (si 'log_errors On' dans php.ini) a besoin d'un fichier en rw pour 'www-data' (ou
équivalent sur la distrib employée).


Nicob

Avatar
Thomas
In article (Dans l'article) ,
Benjamin Pineau wrote (écrivait) :

Dans fr.comp.securite, vous ecriviez:

comment savoir si il y a des trous de sécurité dans ma version
d'apache
svp ? (1.3.29)


Il ne suffit pas de s'interesser aux bugs connus d'apache, mais aussi
aux bugs connus des modules d'apache utilisés dans votre installation.
Et des éventuelles blibliothèques utilisées par apache et/ou par ses
modules.
Si vous utilisez mod_perl ou mod_php par exemple, ça fait beaucoup de
choses.


ah, bonne idée

je risque pas trop gros en indiquant ma liste de modules pour que vous
puissiez me diriger ?
(j'ai deja fait l'operation de ne garder que les modules qui m'etaient
utiles, et j'ai retiré perl et php)

mais de toutes facons je suis deja attaqué alors ...

--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
(seulement dans le 1/4 h où mon ordi est mis en veille,
donc je vous invite à réclamer à free : l'acces à arp -s,
ou la possibilité de rediriger le NAT sur l'adresse de broadcast :-) )

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"


Avatar
patpro ~ Patrick Proniewski
In article
,
Thomas wrote:

Il ne suffit pas de s'interesser aux bugs connus d'apache, mais aussi
aux bugs connus des modules d'apache utilisés dans votre installation.
Et des éventuelles blibliothèques utilisées par apache et/ou par ses
modules.



je rajouterais que les grosses failles à la mode sont des problèmes
d'implémentation dans des pages web actives (php, jsp, asp, ...), il ne
faut pas se focaliser sur le serveur. Ce qu'on met dedans est très
important aussi et peut mener à de grave problèmes.


Si vous utilisez mod_perl ou mod_php par exemple, ça fait beaucoup de
choses.


ah, bonne idée

je risque pas trop gros en indiquant ma liste de modules pour que vous
puissiez me diriger ?


tu ne risques rien, ta config par défaut est déjà correcte normalement.

Je t'encourage à mettre en regard les listes de vulnérabilités (et de
correctifs) du site Apache dont on t'a fourni l'URL ici, avec les listes
de correctifs de sécurité du vendeur de ton système. Tu verras notamment
que les références CAN-xxxx-yyyy et CVE-zzzz-wwww devrait s'y trouver,
t'indiquant par là même que les vulnérabilités sont corrigées pour ta
version d'apache sur ton OS.


(j'ai deja fait l'operation de ne garder que les modules qui m'etaient
utiles, et j'ai retiré perl et php)

mais de toutes facons je suis deja attaqué alors ...


attaqué c'est sûrement un bien grand mot. D'autant plus que ta
plateforme de travail à de quoi déconcerter le script kiddy.

Comme indiqué ailleurs, tu peux te pencher sur chroot, si tu évacues les
modules php et perl ce devrait être assez facile à mettre en oeuvre.

patpro


Avatar
Thomas
In article (Dans l'article)
,
patpro ~ Patrick Proniewski wrote
(écrivait) :

In article
,
Thomas wrote:

Il ne suffit pas de s'interesser aux bugs connus d'apache, mais aussi
aux bugs connus des modules d'apache utilisés dans votre installation.
Et des éventuelles blibliothèques utilisées par apache et/ou par ses
modules.



je rajouterais que les grosses failles à la mode sont des problèmes
d'implémentation dans des pages web actives (php, jsp, asp, ...), il ne
faut pas se focaliser sur le serveur. Ce qu'on met dedans est très
important aussi et peut mener à de grave problèmes.


j'ai que des pages statiques



Si vous utilisez mod_perl ou mod_php par exemple, ça fait beaucoup de
choses.


ah, bonne idée

je risque pas trop gros en indiquant ma liste de modules pour que vous
puissiez me diriger ?


tu ne risques rien, ta config par défaut est déjà correcte normalement.


ok :-)

LoadModule config_log_module libexec/httpd/mod_log_config.so
LoadModule mime_module libexec/httpd/mod_mime.so
LoadModule status_module libexec/httpd/mod_status.so
LoadModule autoindex_module libexec/httpd/mod_autoindex.so
LoadModule dir_module libexec/httpd/mod_dir.so
LoadModule alias_module libexec/httpd/mod_alias.so
LoadModule access_module libexec/httpd/mod_access.so
LoadModule auth_module libexec/httpd/mod_auth.so
LoadModule hfs_apple_module libexec/httpd/mod_hfs_apple.so

ClearModuleList
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_status.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_alias.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_so.c
AddModule mod_hfs_apple.c


(j'ai effacé ici tout ce que j'ai commenté)

(au fait, si on commente un module, il est completement sorti d'apache ?
ca devient totalement impossible d'exploiter ses failles ?)



Je t'encourage à mettre en regard les listes de vulnérabilités (et de
correctifs) du site Apache dont on t'a fourni l'URL ici,


j'ai sous les yeux :-)

avec les listes
de correctifs de sécurité du vendeur de ton système.


c'est où ? (puisque tu connais mon systeme, c'est mac os x 10.2.8 :-)

Tu verras notamment
que les références CAN-xxxx-yyyy et CVE-zzzz-wwww devrait s'y trouver,
t'indiquant par là même que les vulnérabilités sont corrigées pour ta
version d'apache sur ton OS.


ah ? parce que moi j'ai tjr apache 1.3.29 !
au fait, sous mac os x 10.3, quelle est la derniere version d'apache ?


mais de toutes facons je suis deja attaqué alors ...


attaqué c'est sûrement un bien grand mot. D'autant plus que ta
plateforme de travail à de quoi déconcerter le script kiddy.


tant mieux vis à vis des script kiddies,

mais moi ce que j'ai vu, c'est que regulierement,
je pars et quand je reviens, mon ordi a planté (l'ecran reste noir, mais
en bougeant la souris elle deviens plus lumineuse),
et en meme temps, il y a des choses bizarres dans mes fichiers log !

alors si y a des choses dans les logs, c'est bien que c'est une attaque,
pas un plantage classique, non ?

en plus, le pirate peut choisir de ne pas faire de changements et faire
que de la lecture, auquel cas on ne voit meme pas qu'il y a eu une
attaque, non ?



Comme indiqué ailleurs, tu peux te pencher sur chroot, si tu évacues les
modules php et perl ce devrait être assez facile à mettre en oeuvre.


ok, je vais penser à ca :-)

--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
(seulement dans le 1/4 h où mon ordi est mis en veille,
donc je vous invite à réclamer à free : l'acces à arp -s,
ou la possibilité de rediriger le NAT sur l'adresse de broadcast :-) )

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"



Avatar
patpro ~ patrick proniewski
In article
,
Thomas wrote:

j'ai que des pages statiques


bon, ben t'es plutot tranquille de ce côté

je risque pas trop gros en indiquant ma liste de modules pour que vous
puissiez me diriger ?


tu ne risques rien, ta config par défaut est déjà correcte normalement.


(au fait, si on commente un module, il est completement sorti d'apache ?
ca devient totalement impossible d'exploiter ses failles ?)


complètement, il n'est pas chargé en mémoire, il peut même ne pas
exister sur le disque.

Je t'encourage à mettre en regard les listes de vulnérabilités (et de
correctifs) du site Apache dont on t'a fourni l'URL ici,


j'ai sous les yeux :-)

avec les listes
de correctifs de sécurité du vendeur de ton système.


c'est où ? (puisque tu connais mon systeme, c'est mac os x 10.2.8 :-)


point de départ : http://docs.info.apple.com/article.html?artnuma798

tu pourras t'inscrire à la ML de sécurité d'apple, qui envoie un mail
relativement détaillé (trop peu diront certains ici) a chaque mise à
jour de sécu.

10.2.8, hmmm tu dois être en retard de quelques patch de sécu je pense :/
C'est pas top.

Tu pourrais obtenir une version d'apache plus récente via Fink ou
Darwinports.

ah ? parce que moi j'ai tjr apache 1.3.29 !
au fait, sous mac os x 10.3, quelle est la derniere version d'apache ?


$ httpd -V
Server version: Apache/1.3.33 (Darwin)
Server built: Nov 29 2004 17:59:31

mais moi ce que j'ai vu, c'est que regulierement,
je pars et quand je reviens, mon ordi a planté (l'ecran reste noir, mais
en bougeant la souris elle deviens plus lumineuse),
et en meme temps, il y a des choses bizarres dans mes fichiers log !


c'est peut être un problème de mise en veille, un problème matériel, ...
et des choses bizarres dans les logs, c'est flou. As tu des exemples ?

Se passe t'il la meme chose si tu coupes apache ?

alors si y a des choses dans les logs, c'est bien que c'est une attaque,
pas un plantage classique, non ?


non, pas forcément.

en plus, le pirate peut choisir de ne pas faire de changements et faire
que de la lecture, auquel cas on ne voit meme pas qu'il y a eu une
attaque, non ?


pas forcément non plus :)
Balance des extraits de log ici, qu'on puisse te dire ce qu'il en
retourne.


patpro



Avatar
Thomas
In article (Dans l'article) ,
Benjamin Pineau wrote (écrivait) :

apache (dans la configuration courante) conserve un
processus père en root qui forke des processus fils ayant
(definitivement) une (e)uid non privilégiée, et assurant le traitement
de la requète.

Il n'est pas pour autant totalement exclus qu'un bug permette de tirer
parti des droits roots du processus père via le fils, car l'appel
système fork donne aux fils en héritage (pour ainsi dire) un certain
nombre de ressources "ouvertes" par le père (descripteurs de fichiers,
shm etc.).



amha j'ai des attaques en ce moment

symptomes :
- je retrouve mon ordi qui veut pas se reveiller
(quand je bouge la souris, elle s'illumine, mais l'ecran reste noir)
(y a meme une fois où il s'est bloqué pendant que je l'utilisais)
- j'ai des choses bizarres dans mes logs


donc, je suppose que le pirate a
- effacé ses logs en les recouvrant,
pour ca le droit www suffit, d'apres ce que t'as dit plus haut, c'est ca
?
- fait un kill sur tous les processus (?) pour m'empecher de continuer à
travailler,
mais pour ca il doit etre root, non ?

donc il y a une faille
- soit dans apache qui permet de passer directement en root,
- soit dans le systeme, qui permet de passer de www à root

j'ai bon ? :-)

--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
(seulement dans le 1/4 h où mon ordi est mis en veille,
donc je vous invite à réclamer à free : l'acces à arp -s,
ou la possibilité de rediriger le NAT sur l'adresse de broadcast :-) )

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"

Avatar
Thomas
In article (Dans l'article)
,
patpro ~ patrick proniewski wrote
(écrivait) :

In article
,
Thomas wrote:

j'ai que des pages statiques


bon, ben t'es plutot tranquille de ce côté

(au fait, si on commente un module, il est completement sorti d'apache ?
ca devient totalement impossible d'exploiter ses failles ?)


complètement, il n'est pas chargé en mémoire, il peut même ne pas
exister sur le disque.


:-)


Je t'encourage à mettre en regard les listes de vulnérabilités (et de
correctifs) du site Apache dont on t'a fourni l'URL ici,


j'ai sous les yeux :-)

avec les listes
de correctifs de sécurité du vendeur de ton système.


c'est où ? (puisque tu connais mon systeme, c'est mac os x 10.2.8 :-)


point de départ : http://docs.info.apple.com/article.html?artnuma798


ok merci, je connaissais pas cette page :-)


tu pourras t'inscrire à la ML de sécurité d'apple, qui envoie un mail
relativement détaillé (trop peu diront certains ici) a chaque mise à
jour de sécu.

10.2.8, hmmm tu dois être en retard de quelques patch de sécu je pense :/
C'est pas top.


nope, c'est moi qui n'avait pas verifié, je suis bien en 1.3.33 :-)

en fait j'ai l'habitude de lire le petit texte fourni avec chaque patch,
et j'avais rien vu sur apache cette fois ci


ah ? parce que moi j'ai tjr apache 1.3.29 !
au fait, sous mac os x 10.3, quelle est la derniere version d'apache ?


$ httpd -V
Server version: Apache/1.3.33 (Darwin)
Server built: Nov 29 2004 17:59:31


[tdecontes:~] thomas% httpd -V
Server version: Apache/1.3.33 (Darwin)
Server built: 11/29/04 16:13:32
Server's Module Magic Number: 19990320:16
Server compiled with....
-D EAPI
-D HAVE_MMAP
-D USE_MMAP_SCOREBOARD
-D USE_MMAP_FILES
-D HAVE_FCNTL_SERIALIZED_ACCEPT
-D HAVE_FLOCK_SERIALIZED_ACCEPT
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D DYNAMIC_MODULE_LIMITd
-D HARD_SERVER_LIMIT 48
-D HTTPD_ROOT="/usr"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="/var/run/httpd.scoreboard"
-D DEFAULT_LOCKFILE="/var/run/httpd.lock"
-D DEFAULT_ERRORLOG="/var/log/httpd/error_log"
-D TYPES_CONFIG_FILE="/etc/httpd/mime.types"
-D SERVER_CONFIG_FILE="/etc/httpd/httpd.conf"
-D ACCESS_CONFIG_FILE="/etc/httpd/access.conf"
-D RESOURCE_CONFIG_FILE="/etc/httpd/srm.conf"
[tdecontes:~] thomas%

tout est bon ?



mais moi ce que j'ai vu, c'est que regulierement,
je pars et quand je reviens, mon ordi a planté (l'ecran reste noir, mais
en bougeant la souris elle deviens plus lumineuse),
et en meme temps, il y a des choses bizarres dans mes fichiers log !



j'ai fait les maj la semaine derniere par
http://www.apple.com/support/downloads/

ne voyant rien venir, je me suis dit que ca avait réparé ce qui devait
l'etre,
et hier ... paf !


c'est peut être un problème de mise en veille,


quel genre de pb de mise en veille, puisque y a que l'ecran et le dd qui
se mettent en veille, pas l'ordi entier ?
(au fait c'est quoi le "deep sleep" ?)

un problème matériel, ...


y a à peu pres un mois, quand on m'a dirigé sur fr.comp.sys.mac.materiel,
j'ai verifié que je n'avait pas de maj du firmware à faire (c'etait que
pour des ibooks bien plus vieux)

et des choses bizarres dans les logs, c'est flou. As tu des exemples ?


"
[02/Mar/2005:04:19:33 +0100] 64.246.165.200 HTTP/1.1 GET
palestine-hn.org / - 206 3072 0 - SurveyBot/2.3 (Whois
Source) http://www.whois.sc/palestine-hn.org
/Lr7fPq6/Pl6/Hq8fTs8PTr8PTp
7vPh5/Lj6fLq6vLi6vLn7/Pq7PPq7/Pl6vLq6/Po7fPo6/Pp6/Pr6/Pj7PLu7/To8fPr7fLs7
/Pr
7/Pl6PHq8fTn6fPEy8xbdWFtd2pvdGmLkYnh7fXm8PaXlKI8VkVDVkXR19yOnJNTZVdod[02/
Mar/2005:17:42:16 +0100] 83.115.119.75 HTTP/1.1 GET
www.palestine-hn.org / - 302 339 0 + Mozilla/5.0
(Windows; U; Windows NT 5.1; fr-FR; rv:1.7.5) Gecko/20041217 -
"

(je t'epargne le début ;-) et j'ai aussi changé les adresses email pour
pas que le gars soit spamé :-) )
"
x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90x
90 - 414 394 0 - - -
uverture de documents sxwB8¼ ¸ÄB8½ë1111013521.26065.mrelay4-1ÊGq*
Gwen Re: [users-fr] Pb d'ouverture de documents
sxwB8æö¸ÄB8æÝ1111015072.18046.mrelay5-1ÒO
q* tajem Re: [users-fr] Problˆ®me d'Ouverture d'un doc ooo
dans IEB88¸ÄB88[22/Mar/2005:23:10:42 +0100] 207.46.98.84 HTTP/1.0
GET tDeContes.hd.free.fr /robots.txt - 301 378 1 -
msnbot/1.0 (+http://search.msn.com/msnbot.htm) -
"

j'ai remarqué que c'etait tres tres souvent le contenu d'un autre
fichier qui etait recopié (tjr à la fin du log) (historique navigateur,
courrier, ...)


Se passe t'il la meme chose si tu coupes apache ?


1- ca m'emmerde de couper apache parce que j'ai des serveurs web :-P

2- je ne sais pas quand est ce que je pourrais le remettre en route,
parce que autant ca peut arriver 2 fois par jour (vers 10 h et vers 18
h),
autant ca peut ne pas arriver pendant longtemps


alors si y a des choses dans les logs, c'est bien que c'est une attaque,
pas un plantage classique, non ?


non, pas forcément.


oui,
je me souviens, personne ne m'avais répondu :
est ce qu'en cas de plantage classique, ca peut etre fsck qui ne repares
pas le disque correctement, du fait qu'il etait ouvert au moment du
plantage ?

.... ah non, j'ai écarté cette hypothese, parce que :

- par exemple, je pars à 18 h, je reviens à 20 h,
le dernier log indique 18h30, le fichier indique 19h30 comme date de
modif
ca me fait penser que le pirate est intervenu à 19h30

- j'ai 2 fichiers log, 1 par site web
une fois, j'ai meme vu un des 2 fichiers avec un log gribouillé à 18h30,
l'autre fichier gribouillé à 19h30, mais avec des logs à 19h !!
donc l'ordi n'avait pas encore planté quand le 1er log à été gribouillé !

c'est pas trop confus ? :-)


y a d'autres cas possibles, où le log peut etre gribouillé ??


en plus, le pirate peut choisir de ne pas faire de changements et faire
que de la lecture, auquel cas on ne voit meme pas qu'il y a eu une
attaque, non ?


pas forcément non plus :)


??
(ca c'etait une supposition d'eventualité :-) )

Balance des extraits de log ici, qu'on puisse te dire ce qu'il en
retourne.


fait :-)
(c'est pas les derniers)

--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
(seulement dans le 1/4 h où mon ordi est mis en veille,
donc je vous invite à réclamer à free : l'acces à arp -s,
ou la possibilité de rediriger le NAT sur l'adresse de broadcast :-) )

"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"



1 2 3 4 5