Forum OVH  

Précédent   Forum OVH > Serveurs dédiés
S'inscrire FAQ Guides Recherche Messages du jour Marquer les forums comme lus

Réponse
 
Outils de la discussion
Vieux 26/06/2008, 23h24   #1
llebegue
Membre
 
Date d'inscription: mai 2008
Messages: 5
Accès HTTP abusifs

Bonjour,

En regardant mes log de fail2ban j'ai remarqué de nombreux accès douteux, exemple :
Code:
client denied by server configuration: /var/empty/thisdoesnotexistahaha.php
 client denied by server configuration: /var/empty/awstats.pl 
 client denied by server configuration: /var/empty/cgi-bin
 client denied by server configuration: /var/empty/phpmyadmin
 client denied by server configuration: /var/empty/PhpMyAdmin
 client denied by server configuration: /var/empty/PMA
le /var/empty est le répertoire dans lequel tous les accès http par utilisation directe de l'adresse IP de mon serveur sont dirigés.

Il va sans dire que ma configuration fail2ban bloque les machines qui tentent ces accès.

Toutefois, afin de tenir au courant notre hebergeur favori ... OVH pour ne pas le citer ... j'ai élaboré un petit script qui passe au crible tous les serveurs bannis, identifie ceux d'OVH (ou kimsufi) et me fourni un fichier que je peux faire parvenir à abuse@ovh.net et à abuse@kimsufi.com

Le script est le suivant :

Code:
if [ "$1" == "-ovh" ]
then
        serverlist=$(iptables -L | egrep 'ovh|kimsufi' | awk '{printf "%s\n", $4}')
else
         serverlist=$(iptables -L | egrep 'DROP' | awk '{printf "%s\n", $4}')
fi
echo $serverlist | tr -s ' ' '\n'
echo ""
for serveur in  $serverlist
do
host -tA $serveur 1>/dev/null
if [ $? -ne 0 ]
then
        ip=$( echo $serveur | egrep -o  '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}')
        if [ "$ip" == "" ]
        then
                echo "****** No IP for $serveur"
        fi
else
        ip=$(host -tA $serveur | head -1 | egrep -o '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}')
fi
if [ "$ip" != "" ]
then
        echo "****** Serveur : $serveur , adresse IP : $ip ******"
        echo ""
        grep $ip /var/log/fail2ban.log
        zgrep $ip /var/log/apache2/error.log /var/log/apache2/error.log.*
fi
echo ""
done
Lors de sa dernière exécution il m'a donc donné le résultat suivant :

Code:
****** Serveur : ns23494.ovh.net , adresse IP : 91.121.13.194 ******

2008-06-26 19:34:58,243 fail2ban.actions: WARNING [apache_nodnsuse] Ban 91.121.13.194
/var/log/apache2/error.log:[Thu Jun 26 19:34:56 2008] [error] [client 91.121.13.194] client denied by server configuration: /var/empty/thisdoesnotexistahaha.php
/var/log/apache2/error.log:[Thu Jun 26 19:34:56 2008] [error] [client 91.121.13.194] client denied by server configuration: /var/empty/awstat
/var/log/apache2/error.log:[Thu Jun 26 19:34:56 2008] [error] [client 91.121.13.194] client denied by server configuration: /var/empty/awstats.pl
/var/log/apache2/error.log:[Thu Jun 26 19:34:56 2008] [error] [client 91.121.13.194] client denied by server configuration: /var/empty/awstats.pl

****** Serveur : ns38677.ovh.net , adresse IP : 91.121.15.201 ******

2008-06-22 02:40:18,471 fail2ban.actions: WARNING [apache_nodnsuse] Ban 91.121.15.201
/var/log/apache2/error.log.1:[Sun Jun 22 02:40:17 2008] [error] [client 91.121.15.201] client denied by server configuration: /var/empty/phpmyadmin
/var/log/apache2/error.log.1:[Sun Jun 22 02:40:17 2008] [error] [client 91.121.15.201] client denied by server configuration: /var/empty/PhpMyAdmin
/var/log/apache2/error.log.1:[Sun Jun 22 02:40:17 2008] [error] [client 91.121.15.201] client denied by server configuration: /var/empty/PMA

****** Serveur : ks36738.kimsufi.com , adresse IP : 91.121.0.66 ******

2008-06-21 04:37:48,419 fail2ban.actions: WARNING [apache_nodnsuse] Ban 91.121.0.66
/var/log/apache2/error.log.1:[Sat Jun 21 04:37:46 2008] [error] [client 91.121.0.66] client denied by server configuration: /var/empty/

****** Serveur : ns22977.ovh.net , adresse IP : 91.121.9.163 ******

2008-06-15 14:16:34,900 fail2ban.actions: WARNING [apache_nodnsuse] Ban 91.121.9.163
/var/log/apache2/error.log.1:[Sun Jun 15 14:16:34 2008] [error] [client 91.121.9.163] client denied by server configuration: /var/empty/phpmyadmin
/var/log/apache2/error.log.1:[Sun Jun 15 14:16:34 2008] [error] [client 91.121.9.163] client denied by server configuration: /var/empty/PhpMyAdmin
/var/log/apache2/error.log.1:[Sun Jun 15 14:16:34 2008] [error] [client 91.121.9.163] client denied by server configuration: /var/empty/PMA

****** Serveur : ks39426.kimsufi.com , adresse IP : 91.121.22.42 ******

2008-06-14 14:19:32,399 fail2ban.actions: WARNING [apache_nodnsuse] Ban 91.121.22.42
/var/log/apache2/error.log.2.gz:[Sat Jun 14 14:19:13 2008] [error] [client 91.121.22.42] client denied by server configuration: /var/empty/phpmyadmin
/var/log/apache2/error.log.2.gz:[Sat Jun 14 14:19:13 2008] [error] [client 91.121.22.42] client denied by server configuration: /var/empty/PhpMyAdmin
/var/log/apache2/error.log.2.gz:[Sat Jun 14 14:19:13 2008] [error] [client 91.121.22.42] client denied by server configuration: /var/empty/PMA

****** Serveur : ks355462.kimsufi.com , adresse IP : 91.121.123.165 ******

2008-06-14 12:40:14,072 fail2ban.actions: WARNING [apache_nodnsuse] Ban 91.121.123.165
/var/log/apache2/error.log.2.gz:[Sat Jun 14 12:40:12 2008] [error] [client 91.121.123.165] client denied by server configuration: /var/empty/phpmyadmin
/var/log/apache2/error.log.2.gz:[Sat Jun 14 12:40:12 2008] [error] [client 91.121.123.165] client denied by server configuration: /var/empty/PhpMyAdmin
/var/log/apache2/error.log.2.gz:[Sat Jun 14 12:40:12 2008] [error] [client 91.121.123.165] client denied by server configuration: /var/empty/PMA

****** Serveur : ns3942.ovh.net , adresse IP : 213.186.41.96 ******

2008-06-14 01:20:03,166 fail2ban.actions: WARNING [apache_nodnsuse] Ban 213.186.41.96
/var/log/apache2/error.log.2.gz:[Sat Jun 14 01:20:02 2008] [error] [client 213.186.41.96] client denied by server configuration: /var/empty/thisdoesnotexistahaha.php
/var/log/apache2/error.log.2.gz:[Sat Jun 14 01:20:02 2008] [error] [client 213.186.41.96] client denied by server configuration: /var/empty/awstat
/var/log/apache2/error.log.2.gz:[Sat Jun 14 01:20:02 2008] [error] [client 213.186.41.96] client denied by server configuration: /var/empty/awstats.pl

****** Serveur : ns26588.ovh.net , adresse IP : 91.121.79.154 ******

2008-06-11 16:45:55,976 fail2ban.actions: WARNING [apache_nodnsuse] Ban 91.121.79.154
/var/log/apache2/error.log.2.gz:[Wed Jun 11 16:45:55 2008] [error] [client 91.121.79.154] client denied by server configuration: /var/empty/phpmyadmin
/var/log/apache2/error.log.2.gz:[Wed Jun 11 16:45:55 2008] [error] [client 91.121.79.154] client denied by server configuration: /var/empty/PhpMyAdmin
/var/log/apache2/error.log.2.gz:[Wed Jun 11 16:45:55 2008] [error] [client 91.121.79.154] client denied by server configuration: /var/empty/PMA

****** Serveur : ks359535.kimsufi.com , adresse IP : 91.121.158.38 ******

2008-06-09 07:43:58,208 fail2ban.actions: WARNING [apache_nodnsuse] Ban 91.121.158.38
/var/log/apache2/error.log.2.gz:[Mon Jun 09 07:43:56 2008] [error] [client 91.121.158.38] client denied by server configuration: /var/empty/phpmyadmin
/var/log/apache2/error.log.2.gz:[Mon Jun 09 07:43:56 2008] [error] [client 91.121.158.38] client denied by server configuration: /var/empty/PhpMyAdmin
/var/log/apache2/error.log.2.gz:[Mon Jun 09 07:43:56 2008] [error] [client 91.121.158.38] client denied by server configuration: /var/empty/PMA

****** Serveur : ks32764.kimsufi.com , adresse IP : 213.251.163.51 ******

2008-06-08 22:33:54,201 fail2ban.actions: WARNING [apache_nodnsuse] Ban 213.251.163.51
/var/log/apache2/error.log.10.gz:[Mon Apr 14 08:58:14 2008] [error] [client 213.251.163.51] client denied by server configuration: /var/empty/phpmyadmin
/var/log/apache2/error.log.10.gz:[Mon Apr 14 08:58:14 2008] [error] [client 213.251.163.51] client denied by server configuration: /var/empty/PhpMyAdmin
/var/log/apache2/error.log.10.gz:[Mon Apr 14 08:58:14 2008] [error] [client 213.251.163.51] client denied by server configuration: /var/empty/PMA
/var/log/apache2/error.log.10.gz:[Mon Apr 14 19:54:58 2008] [error] [client 213.251.163.51] client denied by server configuration: /var/empty/phpmyadmin
Tout cela dans l'espoir que les heureux propriétaires desdits serveurs soient tenus au courant de ce genre de comportement (à toutes fins utiles).

Peut-être cela sert-il à quelquechose ... qui sait ?


EDIT : la config
1 - créé un /var/empty (vide comme son nom l'indique)
Code:
sudo mkdir /var/empty
2 - Apache => on configure un virutalhost qui attrape toutes les requêtes faites sur IP en direct :
dans /etc/apache2/sites-available/default
Code:
<VirtualHost *>
        DocumentRoot /var/empty/
        <Directory /var/empty>
                Order Deny,Allow
                Deny from All
        </Directory>
</VirtualHost>
3 - On configure une règle dans /etc/fail2ban/jail.local
Code:
[apache_nodnsuse]

enabled = true
port    = http,https
filter  = apache-nodnsuse
logpath = /var/log/apache*/*error.log
maxretry = 1
4 - on décrit la règle apache_nodnsuse dans un nouveau fichier /etc/fail2ban/filter.d/apache_nodnsuse.conf que l'on renseigne de cette façon
Code:
[Definition]
failregex = [[]client <HOST>[]] client denied by server configuration: /var/empty/.*
ignoreregex=
5 - on redémarre Apache et fail2ban

Dernière modification par llebegue 02/07/2008 à 08h01 Motif: Modification du script
llebegue est déconnecté   Réponse avec citation
Vieux 26/06/2008, 23h31   #2
cassiopee
Membre
 
Date d'inscription: décembre 2007
Messages: 5 217
Re : Accès HTTP abusifs

Peut-être que si un nombre suffisant d'administrateurs se plaignent auprès
de abuse@ovh.net ça fini par avoir un effet ?

Ce qui pourrait aussi intéresser du monde ici je pense c'est la ou les règles
fail2ban que tu as mis en oeuvre pour arriver à ces bannissements web.
cassiopee est déconnecté   Réponse avec citation
Vieux 02/07/2008, 08h01   #3
llebegue
Membre
 
Date d'inscription: mai 2008
Messages: 5
Re : Accès HTTP abusifs

Edit du 02/07/2008 : Version modifiée ci-dessus permettant de filtrer avec le paramètre "-ovh" pour n'avoir que les ovh et tout les resultats lorsqu'il n'y a pas de paramètres. Utilisation de la commande "host" plutôt qu'un ping pour déterminer l'adresse IP
llebegue est déconnecté   Réponse avec citation
Vieux 02/07/2008, 10h58   #4
TBC_Ly0n
Membre
 
Date d'inscription: juillet 2007
Messages: 5 793
Envoyer un message via MSN à TBC_Ly0n
Re : Accès HTTP abusifs

Joli boulot... si si... vraiment !
TBC_Ly0n est déconnecté   Réponse avec citation
Vieux 02/07/2008, 18h30   #5
papykun
Membre
 
Date d'inscription: avril 2007
Messages: 610
Envoyer un message via MSN à papykun
Re : Accès HTTP abusifs

Citation:
Envoyé par cassiopee Voir le message
Ce qui pourrait aussi intéresser du monde ici je pense c'est la ou les règles
fail2ban que tu as mis en oeuvre pour arriver à ces bannissements web.
Exactement, un fichier "type" intéresserais surement pas mal de monde, moi le premier ^^

Mon fail2ban pour ssh fonctionne graçe à l'aide que j'avais eu, pour apache j'ai pas encore testé.

Après je sais que y a plusieurs distributions mais y a surement des points commun
papykun est déconnecté   Réponse avec citation
Vieux 02/07/2008, 18h34   #6
cassiopee
Membre
 
Date d'inscription: décembre 2007
Messages: 5 217
Re : Accès HTTP abusifs

Citation:
Envoyé par papykun Voir le message
Exactement, un fichier "type" intéresserais surement pas mal de monde, moi le premier ^^
héhé oui et depuis llebegue a gentiment complété son message dans ce sens
cassiopee est déconnecté   Réponse avec citation
Vieux 02/07/2008, 18h46   #7
papykun
Membre
 
Date d'inscription: avril 2007
Messages: 610
Envoyer un message via MSN à papykun
Re : Accès HTTP abusifs

Je pensais plus a un jail.conf, avec un contenu et ses explications, qui fonctionne. Un genre de tuto

Après... J'ai pas les connaissances pour tout gérer... les VHost..., htacces c'est du chinois...

Dernière modification par papykun 02/07/2008 à 18h48
papykun est déconnecté   Réponse avec citation
Vieux 02/07/2008, 21h36   #8
llebegue
Membre
 
Date d'inscription: mai 2008
Messages: 5
Re : Accès HTTP abusifs

Citation:
Envoyé par papykun Voir le message
Je pensais plus a un jail.conf, avec un contenu et ses explications, qui fonctionne. Un genre de tuto
Le point 3 de ma config est le jail.local (c'est la version locale d'un jail.conf à mettre à jour pour éviter les conflits de merge lors des montées de version de fail2ban)

Cela permet simplement de déclarer un nouveau filtre (filter = apache-nodnsuse) qui observe les fichiers d'erreur de apache (logpath = /var/log/apache*/*error.log) et bannit l'IP suspecte sur les ports configurés (port = http,https) au premier essai (maxretry = 1) validant le filtre (filter = apache-nodnsuse).

Le point 4 de ma config montre que le filtre en question traque les adresses IP qui génèrent une trace du type " [[]client <HOST>[]] client denied by server configuration: /var/empty/.* "
llebegue est déconnecté   Réponse avec citation
Réponse

Outils de la discussion

Règles de messages
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is oui
Les smileys sont activés : oui
La balise [IMG] est activée : non
Le code HTML peut être employé : non



Fuseau horaire GMT +2. Il est actuellement 17h35.


© OVH 1999-2010