Serveur apache et logs
Le
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
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
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 :
--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 : --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/
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/
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.
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%.
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/
Dominique Asselineau
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/
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.
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 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/
Dominique Asselineau
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.
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/