Serveur apache et logs

6 réponses
Avatar
François Boisson
Bonjour,

Je viens d'hériter de la gestion d'un serveur. Coïncidence, un gus (un tiers
Roumain, un tiers de Chicago, un troisième tiers du Venezuela suivant la
machine qu'il utilise) à trouver une faille injection SQL (il travaillait à
l'aveugle mais à tout de même flinguer 3 tables). Le problèe est réglé mais
j'ai tout de même voulu prendre quelques précautions.

La première a été de mettre un système regardant une activité anormale. Un tel
client fait une nombre considérable de requête POST par exemple et vérifier
cela permet de détecter d'éventuels intrus. J'ai fait un script qui me donne
les IPs ayant fait au delà d'un certain seuil de requêtes POST, réglé avec
soin, ça ne montre que des clients vraiment louches. Le problème est que le
serveur étant très fréquenté, les logs font pas loin de 300M. Y-a-t-il un
outil de ce genre qui existe et qui soit optimisé, parce que même si mon
script ne parcourt le fichier qu'une fois, un script un peu élaboré en bash
est impossible et je ne voudrais pas réinventer la roue.


Sinon, j'ai également trouvé dans les logs ceci
[..]
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-pmadrhz: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-xpuptyf: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-maelbfa: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-dbcrccy: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-vmfxqnp: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-iqstuvt: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-orgbowb: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-nryykxb: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-prmyvdh: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-zqameyt: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:59 +0200] "X-mkqupxc: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:04:00:12 +0200] "X-zjrbqcq: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:04:00:16 +0200] "X-vyqhwmd: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0"
125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0"
125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1"
125.88.123.244 - - [15/Oct/2013:04:00:17 +0200] "X-jhfvhca: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"
125.88.123.244 - - [15/Oct/2013:04:00:18 +0200] "X-rwnblxu: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1"
125.88.123.244 - - [15/Oct/2013:04:00:18 +0200] "X-iqpzyld: 1" 400 306 "-" "-"
[...]

Je n'arrive pas à voir ce que sont les méthodes X-vmfxqnp? Visiblement c'est une vague tentative «force brutale» ça ne correspond à rien sur du HTML.
Quelqu'un peut il m'éclairer sur ce point, je n'ai rien vu de cela sur le Web (il faut dire que les mots clefs ne sont pas simples à trouver
ici).

Merci

François Boisson

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20131017221743.c7f3b12afc716de90d7ee030@maison.homelinux.net

6 réponses

Avatar
Philippe Gras
--Apple-Mail-1-7912551
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=WINDOWS-1252;
delsp=yes;
format=flowed

J'utilise ça dans iptables :
# http://www.thegeekstuff.com/2011/06/iptables-rules-examples/
iptables -t filter -A INPUT -p tcp --dport 80 -m limit --limit 25/
minute --limit-burst 100 -j ACCEPT
###################################
-m limit: This uses the limit iptables extension
–limit 25/minute: This limits only maximum of 25 connection per
minute. Change this value based on your specific requirement
–limit-burst 100: This value indicates that the limit/minute will be
enforced only after the total number of connection have reached the
limit-burst level.

Le 17 oct. 13 à 22:17, François Boisson a écrit :

Bonjour,

Je viens d'hériter de la gestion d'un serveur. Coïncidence, un gus
(un tiers
Roumain, un tiers de Chicago, un troisième tiers du Venezuela
suivant la
machine qu'il utilise) à trouver une faille injection SQL (il
travaillait à
l'aveugle mais à tout de même flinguer 3 tables). Le problèe est
réglé mais
j'ai tout de même voulu prendre quelques précautions.

La première a été de mettre un système regardant une activité
anormale. Un tel
client fait une nombre considérable de requête POST par exemple et
vérifier
cela permet de détecter d'éventuels intrus. J'ai fait un script qui
me donne
les IPs ayant fait au delà d'un certain seuil de requêtes POST,
réglé avec
soin, ça ne montre que des clients vraiment louches. Le problème
est que le
serveur étant très fréquenté, les logs font pas loin de 300M. Y-a-t-
il un
outil de ce genre qui existe et qui soit optimisé, parce que même
si mon
script ne parcourt le fichier qu'une fois, un script un peu élaboré
en bash
est impossible et je ne voudrais pas réinventer la roue.


Sinon, j'ai également trouvé dans les logs ceci
[..]
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-pmadrhz: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-xpuptyf: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-maelbfa: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-dbcrccy: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-vmfxqnp: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-iqstuvt: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-orgbowb: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-nryykxb: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-prmyvdh: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-zqameyt: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:59 +0200] "X-mkqupxc: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:04:00:12 +0200] "X-zjrbqcq: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:04:00:16 +0200] "X-vyqhwmd: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1"
408 474 "-" "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101
Firefox/12.0"
125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1"
408 474 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/
20100101 Firefox/12.0"
125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1"
408 474 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0)
Gecko/20100101 Firefox/13.0.1"
125.88.123.244 - - [15/Oct/2013:04:00:17 +0200] "X-jhfvhca: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "GET / HTTP/1.1"
408 474 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML,
like Gecko) Chrome/19.0.1084.56 Safari/536.5"
125.88.123.244 - - [15/Oct/2013:04:00:18 +0200] "X-rwnblxu: 1" 400
306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "GET / HTTP/1.1"
408 474 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0)
Gecko/20100101 Firefox/13.0.1"
125.88.123.244 - - [15/Oct/2013:04:00:18 +0200] "X-iqpzyld: 1" 400
306 "-" "-"
[...]

Je n'arrive pas à voir ce que sont les méthodes X-vmfxqnp?
Visiblement c'est une vague tentative «force brutale» ça ne
correspond à rien sur du HTML.
Quelqu'un peut il m'éclairer sur ce point, je n'ai rien vu de cela
sur le Web (il faut dire que les mots clefs ne sont pas simples à
trouver
ici).

Merci

François Boisson

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet
"unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/






--Apple-Mail-1-7912551
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=WINDOWS-1252

<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
J'utilise ça dans iptables :<div><div>#&nbsp;<a href="http://www.thegeekstuff.com/2011/06/iptables-rules-examples/">http ://www.thegeekstuff.com/2011/06/iptables-rules-examples/</a></div><div>ipt ables -t filter -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT</div><div>###################################</div><div><div>-m limit: This uses the limit iptables extension</div><div>–limit 25/minute: This limits only maximum of 25 connection per minute. Change this value based on your specific requirement</div><div>–limit-burst 100: This value indicates that the limit/minute will be enforced only after the total number of connection have reached the limit-burst level.</div></div><div><br></div><div><div>Le 17 oct. 13 à 22:17, François Boisson a écrit :</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Bonjour,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Je viens d'hériter de la gestion d'un serveur. Coïncidence, un gus (un tiers</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Roumain, un tiers de Chicago, un troisième tiers du Venezuela suivant la</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">machine qu'il utilise) à trouver une faille injection SQL (il travaillait à</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">l'aveugle mais à tout de même flinguer 3 tables). Le problèe est réglé mais</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">j'ai tout de même voulu prendre quelques précautions.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">La première a été de mettre un système regardant une activité anormale. Un tel</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">client fait une nombre considérable de requête POST par exemple et vérifier</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">cela permet de détecter d'éventuels intrus. J'ai fait un script qui me donne</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">les IPs ayant fait au delà d'un certain seuil de requêtes POST, réglé avec</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">soin, ça ne montre que des clients vraiment louches. Le problème est que le</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">serveur étant très fréquenté, les logs font pas loin de 300M. Y-a-t-il un</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">outil de ce genre qui existe et qui soit optimisé, parce que même si mon</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">script ne parcourt le fichier qu'une fois, un script un peu élaboré en bash</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">est impossible et je ne voudrais pas réinventer la roue.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Sinon, j'ai également trouvé dans les logs ceci</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">[..]</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-pmadrhz: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-xpuptyf: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-maelbfa: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-dbcrccy: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-vmfxqnp: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-iqstuvt: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-orgbowb: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-nryykxb: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-prmyvdh: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-zqameyt: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:59 +0200] "X-mkqupxc: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:04:00:12 +0200] "X-zjrbqcq: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:04:00:16 +0200] "X-vyqhwmd: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:04:00:17 +0200] "X-jhfvhca: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:04:00:18 +0200] "X-rwnblxu: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">125.88.123.244 - - [15/Oct/2013:04:00:18 +0200] "X-iqpzyld: 1" 400 306 "-" "-"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">[...]</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Je n'arrive pas à voir ce que sont les méthodes X-vmfxqnp? Visiblement c'est une vague tentative «force brutale» ça ne correspond à rien sur du HTML.<span class="Apple-converted-space">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Quelqu'un peut il m'éclairer sur ce point, je n'ai rien vu de cela sur le Web (il faut dire que les mots clefs ne sont pas simples à trouver</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">ici).</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Merci</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">François Boisson</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">--<span class="Apple-converted-space">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Lisez la FAQ de la liste avant de poser une question :</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://wiki.debian.org/fr/FrenchLists">http://wiki.debian.org/fr/F renchLists</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">vers <a href="mailto:">debian-user-fr </a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">En cas de soucis, contactez EN ANGLAIS <a href="mailto:"></a ></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Archive: <a href="http://lists.debian.org/ ison.homelinux.net">http://lists.debian.org/20131017221743.c7f3b12afc716de </a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div> </blockquote></div><br></div></body></html>
--Apple-Mail-1-7912551--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Jacques Lav!gnotte.
Le 17/10/2013 22:17, François Boisson a écrit :

Y-a-t-il un
outil de ce genre qui existe et qui soit optimisé, parce que même si mon
script ne parcourt le fichier qu'une fois, un script un peu élaboré en bash
est impossible et je ne voudrais pas réinventer la roue.



fail2ban fait pas mal de choses, il surveille les logs et agit selon des
règles et si besoin bloque (iptables) l'attaquant.

J.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Dominique Asselineau
François Boisson wrote on Thu, Oct 17, 2013 at 10:17:43PM +0200
Bonjour,

Je viens d'hériter de la gestion d'un serveur. Coïncidence, un gus (un tiers
Roumain, un tiers de Chicago, un troisième tiers du Venezuela suivant la
machine qu'il utilise) à trouver une faille injection SQL (il travaillait à
l'aveugle mais à tout de même flinguer 3 tables).



Sauf si on ne peut pas faire autrement, l'accès à la base MySQL par un
CGI devrait s'en tenir à des privilèges des plus limités. Ne pas
autoriser de drop par ex.

Le problèe est réglé mais
j'ai tout de même voulu prendre quelques précautions.

La première a été de mettre un système regardant une activité anormale. Un tel
client fait une nombre considérable de requête POST par exemple et vérifier
cela permet de détecter d'éventuels intrus. J'ai fait un script qui me donne
les IPs ayant fait au delà d'un certain seuil de requêtes POST, réglé avec
soin, ça ne montre que des clients vraiment louches. Le problème est que le
serveur étant très fréquenté, les logs font pas loin de 300M. Y-a-t-il un
outil de ce genre qui existe et qui soit optimisé, parce que même si mon
script ne parcourt le fichier qu'une fois, un script un peu élaboré en bash
est impossible et je ne voudrais pas réinventer la roue.



Déjà il y a logrotate pour empêcher les gros logs ? assorti d'une
compression pour les fichiers logs passés. La compression des logs
est d'environ 90%.



Sinon, j'ai également trouvé dans les logs ceci
[..]
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-pmadrhz: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-xpuptyf: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-maelbfa: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "X-dbcrccy: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-vmfxqnp: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-iqstuvt: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-orgbowb: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-nryykxb: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-prmyvdh: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:58 +0200] "X-zqameyt: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:59 +0200] "X-mkqupxc: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:04:00:12 +0200] "X-zjrbqcq: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:04:00:16 +0200] "X-vyqhwmd: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0"
125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0"
125.88.123.244 - - [15/Oct/2013:03:59:55 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1"
125.88.123.244 - - [15/Oct/2013:04:00:17 +0200] "X-jhfvhca: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5"
125.88.123.244 - - [15/Oct/2013:04:00:18 +0200] "X-rwnblxu: 1" 400 306 "-" "-"
125.88.123.244 - - [15/Oct/2013:03:59:56 +0200] "GET / HTTP/1.1" 408 474 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1"
125.88.123.244 - - [15/Oct/2013:04:00:18 +0200] "X-iqpzyld: 1" 400 306 "-" "-"
[...]

Je n'arrive pas à voir ce que sont les méthodes X-vmfxqnp? Visiblement c'est une vague tentative «force brutale» ça ne correspond à rien sur du HTML.
Quelqu'un peut il m'éclairer sur ce point, je n'ai rien vu de cela sur le Web (il faut dire que les mots clefs ne sont pas simples à trouver
ici).



Probablement des méthodes implémentées par des modules d'origines
incertaines. Et on tente ça chance au cas où ces modules soient d'un
fonctionnement tout aussi incertain.

Pour plus de précaution, se limiter seulement aux méthodes nécessaires
pour le fonctionnement du service.

dom
--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
François Boisson
Le Fri, 18 Oct 2013 17:08:10 +0200
Dominique Asselineau a écrit:

Sauf si on ne peut pas faire autrement, l'accès à la base MySQL par un
CGI devrait s'en tenir à des privilèges des plus limités. Ne pas
autoriser de drop par ex.



Le script était un script de chgmt de mot de passe. Dur de ne pas lui donner
des droits d'écriture.

Pour les protections, fail2ban n'est pas assez fin vu le trafic. mod-evasive
remplit très ce rôle en renvoyant une erreur 403 si on s'acharne sur la page.
On peut mettre une liste blanche permettant par exemple le recensement google
qui sinon serait perturbé.

Pas d'idées à propos de ces lignes

125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-iqstuvt: 1" 400 306 "-" "-"

que je n'arrive pas à comprendre? Ni pour un logiciel d'analyse de fichiers
access.log pour activités curieuses?

En tout cas, merci de la (et même des) réponse(s) reçue(s)

François Boisson


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Dominique Asselineau
François Boisson wrote on Sat, Oct 19, 2013 at 12:03:55AM +0200
Le Fri, 18 Oct 2013 17:08:10 +0200
Dominique Asselineau a écrit:

> Sauf si on ne peut pas faire autrement, l'accès à la base MySQL par un
> CGI devrait s'en tenir à des privilèges des plus limités. Ne pas
> autoriser de drop par ex.

Le script était un script de chgmt de mot de passe. Dur de ne pas lui donner
des droits d'écriture.



Les bases de données permettent de préciser quels types d'opérations
on peut faire. S'il s'agit d'une procédure de changement de mot de
passe, a priori seul le update est nécessaire ? En tout cas, si
l'accès réservé à un service ouvert sur l'extérieur n'a pas besoin des
drop, create et insert, autant les lui interdire. Sinon un bourrage
de base de données resterait potentiellement possible.


Pour les protections, fail2ban n'est pas assez fin vu le trafic. mod-evasive
remplit très ce rôle en renvoyant une erreur 403 si on s'acharne sur la page.



Oui mais face à des requêtes douteuses, il vaut toujours mieux s'en
apercevoir le plus tôt possible et de ne pas y répondre. Je crois
qu'on a donné des règles iptables pour ce genre de cas ?

On peut mettre une liste blanche permettant par exemple le recensement google
qui sinon serait perturbé.

Pas d'idées à propos de ces lignes

125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-iqstuvt: 1" 400 306 "-" "-"

que je n'arrive pas à comprendre? Ni pour un logiciel d'analyse de fichiers
access.log pour activités curieuses?



On trouve ça décidément nulle part. D'ailleurs en repensant à la
liste que tu as donnée précédemment, ça semblait bien aléatoire...
Peut-être un truc pour essayer de mettre en échec un service ?

dom
--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
François Boisson
Le Sat, 19 Oct 2013 17:32:09 +0200
Dominique Asselineau a écrit:

François Boisson wrote on Sat, Oct 19, 2013 at 12:03:55AM +0200
> Le Fri, 18 Oct 2013 17:08:10 +0200

> Le script était un script de chgmt de mot de passe. Dur de ne pas lui
> donner des droits d'écriture.

Les bases de données permettent de préciser quels types d'opérations
on peut faire. S'il s'agit d'une procédure de changement de mot de
passe, a priori seul le update est nécessaire ? En tout cas, si
l'accès réservé à un service ouvert sur l'extérieur n'a pas besoin des
drop, create et insert, autant les lui interdire. Sinon un bourrage
de base de données resterait potentiellement possible.




Il travaillait à l'aveugle avec des tests pour deviner le résultat.
Visiblement un update mal pensé a lancé la procédure de chamgement de mot de
passe sur tous les comptes. Il faudrait que je regarde ce script mais il va de
toute façon être mis à la retraite avec la portion de site correspondant.

>
> Pour les protections, fail2ban n'est pas assez fin vu le trafic.
> mod-evasive remplit très ce rôle en renvoyant une erreur 403 si on
> s'acharne sur la page.

Oui mais face à des requêtes douteuses, il vaut toujours mieux s'en
apercevoir le plus tôt possible et de ne pas y répondre. Je crois
qu'on a donné des règles iptables pour ce genre de cas ?

> On peut mettre une liste blanche permettant par exemple le recensement
> google qui sinon serait perturbé.
>
> Pas d'idées à propos de ces lignes
>
> 125.88.123.244 - - [15/Oct/2013:03:59:57 +0200] "X-iqstuvt: 1" 400 306 "-"
> "-"
>
> que je n'arrive pas à comprendre? Ni pour un logiciel d'analyse de fichiers
> access.log pour activités curieuses?

On trouve ça décidément nulle part. D'ailleurs en repensant à la
liste que tu as donnée précédemment, ça semblait bien aléatoire...
Peut-être un truc pour essayer de mettre en échec un service ?



Je ne sais pas, 1217 tentatives pour être précis.

Je donnerais des nouvelles si un jour j'ai une explication

François

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/