Avec les listes noires, il faut beaucoup de temps pour surveiller les événements afin de détecter les comportements indésirables, puis de prendre des mesures correctives. Je voudrais éviter cette corvée quotidienne si possible. Je pense que la liste blanche serait la solution, mais je ne suis pas sûr que ce soit une approche sage en raison de la nature de nier tout, ne permet que quelques-uns. En fin de compte, quelqu'un craindra involontairement. Même dans ce cas, la liste blanche bloquerait également une grande quantité de trafic indésirable pour payer des articles à la consommation, tels que l'API de recherche personnalisée Google, ainsi que pour préserver la bande passante et ma santé mentale.
Je ne fais pas tourner Apache, mais l'idée serait la même que je suppose. Je serais essentiellement en fonction de l'identifiant de l'agent utilisateur pour déterminer qui est autorisé à visiter.
J'ai essayé de prendre en compte l'accessibilité, car certains navigateurs Web sont plus adaptés aux personnes handicapées, bien que je n'en connaisse pas pour le moment.
La nécessité de ne pas dépendre de la seule liste blanche pour maintenir le site à l'abri de tout préjudice est bien comprise. D'autres moyens de protéger le site doivent encore être mis en place. J'ai l'intention d'avoir un pot de miel, une case à cocher CAPTCHA, l'utilisation de OWASP ESAPI et une liste noire d'adresses IP incorrectes précédemment connues.
Si vous limitez l'accès à une minorité d'utilisateurs, une liste blanche est la voie la plus sûre. Il est facile de gérer et délimite littéralement qui est autorisé à accéder. Par exemple, j’utilise une liste blanche d’adresses MAC pour mon routeur sans fil, car très peu de personnes ont réellement besoin d’y avoir accès et toutes les quantités sont connues.
Si vous avez affaire à un large public, comme le monde entier, il n'est plus possible de gérer une liste blanche. À ce stade, cela devient plus complexe en fonction de vos règles métier. S'il existe des zones sécurisées sur votre site Web, vous devez vous assurer que vous avez un système d'authentification d'utilisateur en place et qu'il utilise les meilleures pratiques (par exemple et non à l'aide de MD5. hash pour les mots de passe). Vous faites de votre mieux pour empêcher les attaques XSS, les injections SQL, etc. (en d’autres termes, le site est bien construit).
Après cela, si vous rencontrez des problèmes qui vont au-delà de ces problèmes de sécurité de base, vous pouvez commencer à envisager des mesures plus radicales, en sachant qu'il peut y avoir des effets secondaires non voulus et indésirables. Les listes noires de robots ne sont pas nécessairement une mauvaise chose à faire. Personne dans leur esprit ne surfera sur le net en se faisant passer pour un robot détesté. Je bloque un groupe de robots connus dans mon fichier htaccess car j'estime qu'il est assez sûr de ne pas nuire au trafic légitime. Quelque chose comme pare-feu htaccess est également un moyen sûr de garder les personnes malveillantes à l’écart sans toucher les bons utilisateurs.
Il est inutile de bloquer les navigateurs, car les agents utilisateurs peuvent être usurpés et un navigateur ne peut pas vous nuire par lui-même.
Le blocage des IP est la raison pour laquelle il devient poilu. Si vous vous retrouvez avec une adresse IP bloquante, c'est probablement ok. J'ai quelques adresses IP bloquées sur des sites de raclage connus. Mais vous devez garder à l'esprit que les attaquants modifient constamment les adresses IP. Par conséquent, les bloquer n'est pas toujours une solution efficace. Le blocage de plages d'adresses IP est encore plus dangereux car vous bloquez ainsi des régions et des groupes de personnes entiers. Cela a généralement pour effet indésirable de bloquer les utilisateurs légitimes. Il est généralement préférable de laisser cette pratique aux sites Web destinés à une région donnée (généralement un pays) ou à un site de commerce électronique bloquant des régions à haut risque (Asie, Moyen-Orient, Afrique). Sinon, cela devrait toujours être un dernier recours et même alors, il devrait être revisté pour voir si le bloc peut être levé.