Hébergement : ça va mieux !

Je viens d’achever la migration de mon vieux serveur sur une nouvelle Dedibox dotée de 8 cœurs, de 8 Go de RAM et d’un disque SSD. Comparée à l’ancienne disposant de 1 cœur et de 2 Go, vous n’aurez aucun mal à constater une plus grande fluidité de ce site. Toutefois, les ennuis n’ont pas tardé à commencer. Et il a fallu agir !

Blocage d’adresses Ip

Comme vous le savez peut-être, j’utilise Awstats. Il me remonte les noms de machine, les Ip non résolues, les user agents et les referers. Il permet très vite d’isoler les anomalies.

Adresses Ip indésirables

J’ai analysé le nombre de hits consigné dans les fichiers de logs du serveur Apache :

cat /var/log/httpd/dsfc-access_log|grep -a "^12\.36\.121"|wc -l

Après avoir contrôlé ces adresses via le site db-ip.com, j’ai décidé ensuite de bloquer au pare-feu via Iptables les adresses Ip indésirables dans le fichier /etc/sysconfig/iptables sur Linux Fedora / CentOS/ Red Hat :

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#LeaseWeb DE
-A INPUT -s 91.109.19.24 -j DROP
#McMillan
-A INPUT -s 12.36.121.83 -j DROP
-A INPUT -s 12.36.121.84 -j DROP
#Machine OVH
-A INPUT -s 91.121.79.180 -j DROP
#seodedic
-A INPUT -s 46.161.9.0/24 -j DROP
#BrandWatch
-A INPUT -s 185.25.32.0/24 -j DROP
-A INPUT -s 5.102.174.132 -j DROP
COMMIT

Sous Fedora / CentOS / Red Hat, vous devez redémarrer le service Iptables pour la prise en compte des modifications :

systemctl restart iptables

Les referers

Pour l’essentiel, je m’appuie sur Awstats :

Analyse des referers via Awstats

Au besoin, la confirmation vient ensuite des logs du serveur Apache :

cat /var/log/httpd/dsfc-access_log|grep -a -E "\.imgur\."|wc -l

User agents

Pour les user agents, je procède un peu différemment. J’analyse en live, à différentes périodes de la journée, le fichier de logs du serveur Apache afin d’identifier les requêtes abusives :

tail -f  /var/log/httpd/dsfc-access_log|cut -d '"' -f 6

Je comptabilise ensuite le nombre de requêtes effectuées :

cat /var/log/httpd/dsfc-access_log|grep -a "brandwatch"|wc -l

Verrouillage via Apache

Ensuite, j’ajoute les referers, les user agents et quelques hosts parasites dans la configuration de mon serveur Apache afin de les bloquer :

#Trafic parasite vers index.html
#
#Metrics|Scraping|SEO|Web Analytics
#
RewriteCond %{HTTP_USER_AGENT} (\.|/|^|\ |_)(adnorm|ahrefs(bot)?|Backlink(Crawler|test)|brandwatch|cocon|COMODO\ SSL\ Checker|cognitiveseo|crazywebcrawler|dareboost|drakma|easy-thumb|everyonesocial|gmetrix|ismyblogbroken|jetsli|kraken|linkdex|linkfluence|ltx71|majestic12|MJ12Bot|MonTools|moz|netlyzer|nettrack|OnlineWebCheck|okhttp|openlinkprofiler|opensiteexplorer|proximic|scrapy|semantic|semrush|sysomos|ubermetrics|validator|webassay|WebCrawler|xenu\ link\ sleuth|zeef)(\.|\ |/|;|$) [NC,OR]
RewriteCond %{HTTP_REFERER} (\.|/)(ismyblogworking|webfaction)\.com($|/) [NC,OR]
RewriteCond %{REMOTE_HOST} \.heilink\. [NC,OR]
#
#Langages
#
RewriteCond %{HTTP_USER_AGENT} (\.|/|^|\ |_|-)([cC]url|Java|perl|PHP|python|Ruby|wget|Zend)(-|\.|\ |/|$|\\) [OR]
#
#UserAgent inconnu
#
RewriteCond "%{HTTP_USER_AGENT}" "^(\ |null|-||\\)$" [OR]
#
#Cul
#
RewriteCond %{HTTP_REFERER} \.(imgur|iobloggo)\.com($|/) [NC,OR]
RewriteCond %{HTTP_REFERER} \.(xrus)\.org($|/) [NC,OR]
#
#Les Huns modernes
#
RewriteCond %{REMOTE_HOST} \.ru(/|$) [NC,OR]
RewriteCond %{HTTP_REFERER} \.(bg|cc|corp|ga|lv|ninja|ru|tl|top|ua|wtf)($|/) [NC]
RewriteRule ".*" "%{HTTP_HOST}/index.html" [QSA,R=302,L]

Pour que ces lignes soient prises, vous devez les inscrire, via une directive Include au besoin, dans la configuration de votre VirtualHost !

Web Analytics  / Apache Centos Dedibox Fedora Formateur Apache Formateur Awstats Formateur Centos Formateur Fedora Formateur Iptables Formateur LAMP Formateur Linux Formateur Red Hat Formateur Web Analytics Iptables Lamp Linux Red Hat Web Analytics 

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)