Edit: BlockACountry étant actuellement indispo, voici une alternative chez IP2Location
Par expérience je peux vous dire que les attaques informatiques émanent parfois de certains pays plus que d'autres (spams, DoS, botnets, etc.). Au même titre que les commandes frauduleuses sur certains sites de vente en ligne (OVH ayant connu ce problème il y a quelques temps).
Une solution technique ?
La seule solution consiste à interdire l'accès à votre sites si le visiteur se situe dans un pays "à risque". L'organisation IANA gère au niveau mondial l'affectation des plages d'adresses IP par pays dans lesquelles puisent les fournisseurs d'accès pour les distribuer à leurs clients. Il nous suffit donc d'interdire une plage ou un réseau pour bloquer à un site pour un ou plusieurs pays.
En pratique
Il faut ajouter les plages d'adresses IP ou les réseaux à bloquer dans un fichier .htaccess que Apache sera capable d'interpréter avant de livrer la quelconque page web au visiteur.
Comment identifier ces plages ? Le site BlockACountry permet de créer ce fichier .htaccess très simplement, en sélectionnant les pays à bloquer dans un formulaire. Il nous retourne le contenu d'un fichier .htaccess tout prêt avec les plages IP correspondantes aux pays sélectionnés (notation CIDR) :
Vous pouvez bien sûr modifier ce fichier pour rediriger le visiteur autrement que via un erreur 403 et sur une page dédiée que fabriquerez.
D'autres sites permettent de réaliser cette opération tel que Find IP Address qui propose également de connaître le pays d'une adresse IP, IP2Location, IPCountry et bien d'autres.
Conclusion
Ce type de restriction peut également permettre de restreindre l'accès à certains services comme le fait Google avec Google Voice (USA uniquement).
Ces attributions étant susceptibles d'évoluer au fil du temps (nouvelles attributions bien que le réseau IPv4 arrive à saturation, changement de blocs), il est conseiller de mettre à jour votre liste une à deux fois par an.
ATTENTION : si vous bannissez un pays pensez que les moteurs de recherche basés dans ce pays ne pourront pas indexer votre site. Google étant basé aux USA, évitez ! De façon générale il est déconseiller de bannir l'accès total à un site, faites-le uniquement à un endroit donné (validation d'un formulaire, achat, inscription, etc.).
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
16 commentaires
Il y a une syntaxe spéciale pour interdire l'accès à un seul fichier en particulier ? Pour interdire le post sur un formulaire par exemple, uniquement le script d'envoi ... Si quelqu'un a une idée, je suis preneur !
@Simon : tu peux dans ta configuration Apache par exemple :
très interessant tu as souligné là une vérité,par contre il vaut mieux pas bloquer un site en entier,mais plutot un contenu,sinon on est pénalisé par les moteurs de recherche.
C'est facile d'exclure une IP si vous avez CPanel, il suffit d'aller dans "Gestionnaire des IP" et rentrer l'IP indésirable.
Apparemment on peut aussi sélectionner une plage d'IP.
J'ai mis en place un tel blocage pour des soumissions indésirables venant de Pologne sur mon annuaire, c'est très efficace !
Je souhaiterais les rediriger vers une page personnalisé.
Comment fait-on ?
On écrit quoi dans le fichier .htaccess ?
Merci !
@Annuaire Nova 2000: tu peux par exemple personnaliser la page 403 (forbidden) http://www.tuteurs.ens.fr/internet/web/htaccess.html car rediriger suivant les IP ça va en faire pas mal 🙂
Merci,
C'est quelque chose comme çà donc :
ErrorDocument 403 /home/toto/403.html
BlockACountry ne fonctionne plus actuellement on dirait.
Queu'un a t il une autre bonne adresse ?
@Potato: Tu peux aller sur http://www.ip2location.com/blockvisitorsbycountry.aspx
@Mr Xhark: Merci beaucoup !!
BlockACountry fonctionne impec, mais en sélectionnant tous les pays inutiles pour ma clientèle cible (~150), ça génère un .htaccess avec plus de 73000 adresses IP, un peu FAT :/ ... A votre avis quels pays bloquer en priorité ?
@Wedding party: personnellement je fonctionne sur le modèle inverse j'autorise uniquement les pays qui accèdent au contenu. Sinon tu peux bloquer la russie, chine... la liste est longue !
IDEM pour moi, il y a des pays où je ne veux pas vendre, je ne travaille qu'avec les pays europeens. Il n'y a tout simplement rien de prévu pour le transport, on ne peut pas passer commande avec une livraison par ex. en Côte d'Ivoire ou a Taiwan. Si un client étranger veut commander il peut toujours me contacter au prealable et je lui ouvre l'accès, ce qui est arrivé avec les Dom Tom. Ceci empêche aussi les magouilleurs en tous genres.
Merci pour le tuto, je suis harcelé!!!