Suis-je être piraté?
Voici quelques lignes de mon Apache 2.0 error_log
:
[Sun Nov 25 08:22:04 2012] [error] [client 64.34.195.190] File does not exist: /var/www/vhosts/default/htdocs/admin
[Sun Nov 25 14:14:32 2012] [error] [client 96.254.171.2] File does not exist: /var/www/vhosts/default/htdocs/azenv.php
[Wed Nov 28 03:02:01 2012] [error] [client 91.205.189.15] File does not exist: /var/www/vhosts/default/htdocs/user
[Wed Nov 28 03:44:35 2012] [error] [client 66.193.171.223] File does not exist: /var/www/vhosts/default/htdocs/vtigercrm
[Mon Dec 03 00:09:16 2012] [error] [client 82.223.239.68] File does not exist: /var/www/vhosts/default/htdocs/jmx-console
[Mon Dec 03 20:48:44 2012] [error] [client 221.2.209.46] File does not exist: /var/www/vhosts/default/htdocs/manager
[Thu Dec 06 07:37:04 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/w00tw00t.at.blackhats.romanian.anti-sec:)
[Thu Dec 06 07:37:05 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/phpMyAdmin
[Thu Dec 06 07:37:05 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/phpmyadmin
[Thu Dec 06 07:37:06 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/pma
[Thu Dec 06 07:37:06 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/myadmin
[Thu Dec 06 07:37:07 2012] [error] [client 116.254.203.24] File does not exist: /var/www/vhosts/default/htdocs/MyAdmin
[Thu Dec 13 02:19:53 2012] [error] [client 96.254.171.2] File does not exist: /var/www/vhosts/default/htdocs/judge.php
Les erreurs les plus courantes sont les requêtes pour le fichier" phpMyAdmin", et " w00tw00t. at. blackhats. romanian. anti-sec:)".
Je peux voir l'adresse IP d'où proviennent les requêtes. Mais qui est "client"?
Merci, Shane.
4 réponses
Ceci est juste un script automatique déployé par de nombreux enfants de Script à la recherche d'une faille de sécurité dans votre version/configuration apache. La signature w00tw00t est généralement laissée par DFind
.
Il suffit D'utiliser un programme comme fail2ban
configuré comme l'explique cet exemple pour éviter d'être inondé par ces requêtes:
Cela ne cela signifie nécessairement que vous avez été piraté, mais que le serveur a été analysé pour détecter les vulnérabilités. Toutefois, si vous utilisez l'un des logiciels que vous avez vu dans ces journaux et qu'il s'agit d'une ancienne version ayant des vulnérabilités connues, vous devez vérifier votre serveur pour les Fichiers inhabituels et les activités de connexion.
Les requêtes pour cela sont généralement envoyées sans en-tête de serveur. Il suffit de créer un hôte virtuel par défaut pour les demandes qui n'ont pas d'en-tête de serveur que vous attendez et le blackhole. Aussi amusant de consigner le trafic brisé et de faire du DNS inverse pour voir s'il vient d'un autre serveur web (compromis?) et contacter le propriétaire basé sur la base de données whois. Vous ne savez jamais qui exécute des scripts stupides à partir d'un serveur publiquement identifiable pour rechercher des vulnérabilités et les exploiter plus tard sur le tunnel ToR. Utilisation du brûleur coordonnées si vous ne voulez pas attirer l'attention sur vous-même.
Pour suivre la réponse donnée par @user823629, voici une configuration d'hôte virtuel par défaut que j'utilise sur Apache 2.4:
<VirtualHost *:80 *:443>
# Default vhost for requests not matching IP or Host of other vhosts
ServerName blackhole
ErrorLog logs/error_log_blackhole
CustomLog logs/access_log_blackhole combined
Redirect 404 /
</VirtualHost>
Il redirige toutes les requêtes vers la page 404 par défaut.
Je mets ceci dans conf.d
et lui donne un nom de conf.d/0_default.conf
de sorte qu'il précède les autres définitions de vhosts et que c'est l'hôte virtuel par défaut. Cela peut être vérifié par:
apachectl -t -D DUMP_VHOSTS
Les autres hôtes virtuels correspondront avant ce vhost par défaut si 1) leur adresse IP et leur port correspondent au VirtualHost définition plus explicitement (hôte virtuel basé sur IP), ou 2) la requête contient un en-tête Host
qui correspond à la requête (hôte virtuel basé sur le nom). Sinon, la requête retombera sur l'hôte virtuel blackhole par défaut défini ci-dessus.
Voir http://httpd.apache.org/docs/current/vhosts/details.html pour plus de détails sur la correspondance d'hôte virtuel.
Sauf si vous utilisez réellement /var/www/vhosts/default/
pour héberger un site Web, cela signifie que vous avez des demandes allant à l'hôte par défaut qui ne sont pas interceptées par votre configuration virtualhosts.
Ignorez un instant que ce sont des requêtes malveillantes, car la raison sous-jacente de ces erreurs vhosts / default / est que vous avez probablement désactivé SSL pour un virtualhost , et ce sont des requêtes HTTPS capturées dans la configuration du serveur par défaut.
Vous pouvez ajouter %v %V %p
à votre journalisation D'accès Apache paramètres dans httpd.conf pour voir plus d'informations sur ce que sont ces requêtes et quel virtualhost/servername les gère (%v %V
) et sur quel port (%p
) les requêtes sont effectuées (généralement le port 443 S'il S'agit de HTTPS).
Pour corriger L'aspect HTTPS, j'activerais SSL & puis mettrais dans un RewriteRule pour envoyer des requêtes HTTPS à HTTP (si c'est le comportement prévu). Plus d'infos sur la façon de le faire ici.
Sinon, pour aider avec les kiddies de script, le blackhole mentionné ci-dessus est le chemin à parcourir. Assurez-vous simplement de ne pas envoyer par erreur des robots d'exploration/araignées Web légitimes demandant HTTPS à la même mort galactique-par exemple Googlebot teste des pages légitimes via HTTPS puisque C'est la direction que Google veut que le web se dirige.