Bloquer accès par pays ?

#1
Alors, j'ai un site Joomla! (sur hébergement hybride illimité) dont l'administration est attaquée par brute force. Je la protège notamment par un plugin que m'avertit après deux tentatives consécutives par une IP donnée et les bloque pour deux heures avec coefficient multiplicateur de l'exclusion. Comme mes attaquants ré-essayent systématiquement, ils sont bloqués pour 10 heures. Et ne reviennent plus. Mais ils sont quotidiennement suivis par d'autres.

Et donc, j'ai ainsi une liste d'IP agressives qui appartiennent toutes à des pays dont je n'ai rien à faire, y compris de leurs robots indexeurs (souvent déjà bloqués). Et j'aimerais bloquer ces pays globalement pour cesser d'avoir plusieurs mails/jour à propos de ces attaques.

Il y a bien ceci qui bloque des pays : CFBlockCountry - Joomla! Extensions Directory
… seulement ça ne protège pas l'administration et c'est celle-ci qui est attaquée.

Et les informations de PHP n'indiquent pas que le module GeoIP est installé sur Apache, bien j'aie vu que dans cPanel/PEAR PHP, Net Geo et Net Geoip sont installables. Quelle est la différence ?

Quelqu'un aurait une idée de ce que je peux faire ? Est-ce qu'il y a moyen de faire un blocage global sur tout l'hébergement (protéger tous les domaines compagnons) ?

Car « curieusement », depuis certains problèmes internationaux les IPs en question proviennent à 80% d'Ukraine et de Russie. Et à 100% de ces pays et pays limitrophes.
 
Dernière édition:

roger

Member
#2
Perso, je trouve ça un peu risqué de bannir des IP de pays complet ...

Il y a peut-être d'autres solutions ?

As-tu un htaccess dans ton dossier admin ? (2 sécurités valent mieux qu'une)

Sinon, une autre solution serait de changer le dossier de ton admin, après je ne sais pas comment cela se passe sur Joomla! que je ne connais pas beaucoup, mais je pense qu'il doit bien y avoir une solution pour changer le nom du dossier admin et mettre un nom très compliqué ! ;)

Je pense que ce serait une meilleure solution que de bannir pleins de plages d'adresse IP ... ;)
 
#3
Si c'est uniquement la panneau d'administration qui est visé, tu pourrais éventuellement jouer sur les ALLOW,DENY du fichier .htaccess du répertoire de cette partie de ton site.
Tu n'autorises que les adresses IP qui te conviennent.
Cette solution est uniquement valable si toi même tu es sous adresse IP fixe.

Sinon, protèges éventuellement l'accès au répertoire d'admin par un mot de passe: Tes visiteurs se lasseront vite.

Enfin, troisième possibilité, évoquée plus haut, tu peux également changer le répertoire d'administration de ton site (il existe des plugins joomla pour ca, ou pour associer une clé au répertoire d'administration)
 
#4
Perso, je trouve ça un peu risqué de bannir des IP de pays complet ...
Je ne vois pas en quoi : le site ne s'adresse en rien au public slave et le fameux robot russe Yandex est une saloperie qui amène surtout des hackers car il liste toute les installations, y compris les dossiers qui sont interdits aux robots.
As-tu un htaccess dans ton dossier admin ? (2 sécurités valent mieux qu'une)
J'en ai même un peu partout.
Cette solution est uniquement valable si toi même tu es sous adresse IP fixe
Non, ce n'est pas le cas. Et Joomla! est tout de même une solution communautaire, il n'y a pas que mon IP qui ne doit pas être bloquée.
Sinon, protèges éventuellement l'accès au répertoire d'admin par un mot de passe: Tes visiteurs se lasseront vite.
J'ai mieux que ça : j'ai ce plugin qui me signale même les tentatives d'intrusions. Le couple .htaccess/.htpassword est un peu « cheap » à côté.
tu peux également changer le répertoire d'administration de ton site
Non je ne peux pas et il n'y a rien à ma connaissance qui permette ça. C'est une question récurrente dans les forums de Joomla.org et la réponse est toujours la même : on ne peut pas faire ça.

Résumé de la situation : je suis très bien protégé, ce n'est pas le problème… Le problème est que la protection provoque plein de mails dont je me passerais bien tout simplement en bloquant des plages entières d’IPs de pays de hackers.
Je pourrais désactiver ces mails. Mais je préfèrerais que les hackers n'aient tout simplement pas accès à mon hébergement car je les aurais éradiqués d'un coup.
Il y a de ces pays ainsi qui n'amènent que des problèmes, absolument rien d'autre et je ne veux plus les voir dans mes logs. Les visiteurs « normaux » de ces pays n'ont aucune raison de venir : rien ne leur est destiné, seuls les parasites ont intérêt à polluer toujours plus de sites et de serveurs.
 
#5
Je crois que j'ai trouvé.

Par défaut, le module GeoIP est installé, mais pas activé. Ça se fait dans un .htaccess par :
Code:
GeoIPEnable On
Là, le plus simple est de le mettre dans public_html, ainsi c'est valable pour tous les domaines compagnons.

Ensuite, il faut interdire l'accès à dossier donné pour un ou des pays. Moi ce qu'il m'intéresse, c'est de bloquer le dossier /administrator/ mais ça peu être adapté pour Wordpress ou n'importe quel CMS, blog ou forum. Ici dans l'ordre pour la Russie, Ukraine, la Roumanie, la Turquie, la Chine, les Philippines, la Corée, le Kazakhstan, les États-unis, la Grande-Bretagne, l'Azerbaijan, le Pakistan, l'Ouzbekistan, l'Afghanistan, le Tadjikistan, le Kyrgyzstan, en gros les pays qui m'ont déjà attaqué et dont je n'ai rien à faire dans mon administration (forcément) et dont j'ai récupéré les codes là : http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip.

Donc dans le dossier en question, si je mettais :

Code:
RewriteEngine on # Cette ligne est normalement déjà existante #
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^RU|UA|RO|TK|CN|PH|KR|KZ|US|GB|AZ|PK|UZ|AF|TJ|KG$
Rewriterule ^(.*) http://www.mondomaine.tld/$1 [G]
De cette manière, la moindre intrusion à la racine de mon dossier réservé, par quelqu'un de ces pays, même un robot de moteur de recherches, devrait se retrouver redirigé vers ma page d'accueil avec l'indication que ce dossier a définitivement disparu [G] et je respecterais la neutralité du web.

Mais je ne devrais même pas avoir une alerte pour ces pays car ils ne devraient même pas pouvoir essayer d'entrer dans ce dossier.
 
Dernière édition:

roger

Member
#6
Je pense que si tu te prends des attaques de certains pays, ces derniers peuvent très facilement utiliser un VPN pour avoir une IP différente, donc ils continueront leurs attaques ... ;)

Perso, je pense que tu vas perdre en référencement en bannissant tous ces pays ... Enfin, ce n'est que mon avis ... :p
 
#7
En cette période de crise internationale et de nouvelle guerre froide, je me fiche comme d'une guigne d'être référencé par Yandex et visité par des bots russes et ukrainiens. Surtout comme pour ma dernière idée : uniquement dans mon administration.
 
#8
En cette période de crise internationale et de nouvelle guerre froide, je me fiche comme d'une guigne d'être référencé par Yandex et visité par des bots russes et ukrainiens. Surtout comme pour ma dernière idée : uniquement dans mon administration.
Je vous conseille AdminExile - Joomla! Extensions Directory [AdminExile]
et EasyCalcCheck PLUS - Joomla! Extensions Directory [EasyCalcCheck PLUS]

Tous les deux sont gratuit
[AdminExile]: Créer un mot de passe dans backend et redirection automatique vers le frontend, anti brute force.
[EasyCalcCheck PLUS]: créer un mot de passe dans le backend, anti-spam, captcha, etc...
 
#9
Hum, c'est Admin Exile que j'utilise (avec looongue clef + loooongue valeur), mais c'est lui qui m'envoie, à ma demande il est vrai, plusieurs mails/jour pour des tentatives de brute force provenant très souvent des mêmes pays.
Donc, je voudrais bloquer ces pays dans mon administration pour ne plus avoir tous ces mails, mais uniquement ceux d'autres pays !
 
Dernière édition:
#10
Hum, c'est Admin Exile que j'utilise (avec looongue clef + loooongue valeur), mais c'est lui qui m'envoie, à ma demande il est vrai, plusieurs mails/jour pour des tentatives de brute force provenant très souvent des mêmes pays.
Donc, je voudrais bloquer ces pays dans mon administration pour ne plus avoir tous ces mails, mais uniquement ceux d'autres pays !
Fait du "deny ou Alllow IP.IP.IP.IP" en htaccess
 
#11
Oui, mais c'est long à faire. Les pays que je veux bloquer sont nombreux et utilisent beaucoup de plages d'IPs.
L'idéal serait de bloquer grâce aux codes de pays, mais ça ne fonctionne pas tel quel.
Depuis hier après-midi jusqu'à ce matin à 6h37 j'avais une adresse de Amazon, théoriquement bloquée, qui faisait jusqu'à deux tentatives par seconde (bloquées en 406, mais ça ce n'est pas moi puisque ça devrait être une erreur 403).
Heureusement c'était Amazon, mais on dirait que leur service abuse a tout de même mis 12 heures à réagir, car ça pèse vite dans les logs cette fréquence de requêtes.

En même temps, les USA n'ont rien à faire dans mon administration, sauf que je ne sais pas où se mettent à jour Joomla! et les extensions. Donc bloquer certains pays peut ne pas être une bonne idée. Ou alors il faut autoriser certaines IPs de certains pays par après.

Il y a bien ce qu'il faut pour bloquer des plages entières d'IPs dans cPanel, mais il faudrait mettre à jour les plages de pays une fois/mois. À la main, c'est compliqué.

Bref, je vais devoir passer par le support.
 
#12
Finalement, j'ai relevé les plages auxquelles appartiennent mes divers attaquants et je n'ai bloqué que celles-ci. Depuis c'est presque le calme plat dans mes logs.
 
Haut