Apache 2.4.x ip liste noire
Je suis à la recherche d'un moyen facile de la liste noire des adresses IP dans Apache 2.4.x. Mon site web enregistre les adresses ip qui ont essayé les opérations illégales dans un fichier texte. Je voudrais utiliser ce fichier texte dans Apache pour refuser tout accès à tous les vhosts à cette liste des ip. Quelle serait la meilleure façon (plus simple et la moins coûteuse en termes de ressources moyen) ?
Trouvé cette mais ce n'est que de 2,2.. Pas sûr de savoir comment cela s'applique à 2,4..
Des acclamations.
edit: c'est un windows x64 boîte de apache x64
source d'informationauteur Eric
Vous devez vous connecter pour publier un commentaire.
@vastlysuperiorman appelé droit, de lcr/rdg est le meilleur à ce. Malheureusement, ils ne fonctionner que sur linux.
Cet utilitaire gratuit
promises to provide the same functionality
dynamique de surveiller les tentatives d'accès et d'auto-bloquer les adresses IP. Vous pouvez le débloquer avec une commande, en cas de faux positifs. Vaut la peine d'être court.Une alternative pourrait être de créer une VM (si votre plate-forme prend en charge la virtualisation) déployer une très petite spec linux, et de l'utiliser comme proxy. Ce devrait être facile à mettre en œuvre. BTW, pourquoi ne pas simplement utiliser linux? .. 🙂
(ce qui devrait avoir été un commentaire sur @vastlysuperiorman post, mais je n'ai pas assez de répétitions pour un commentaire sur le post des autres)
Edited to suggest a possible apache 2.4 based solution:
De traduire ACL directives entre 2.2 et 2.4 de apache
2.2 Syntaxe
2.4 Syntaxe
Et à l'intérieur de conf/IPList.conf, vous devrez lignes individuelles avec des entrées comme les suivantes
À l'aide de mod-rewrite et une liste d'adresses ip pour l'interdiction de
Et bien sûr, vous pouvez analyser vos fichiers de log et de remplir conf/IPList.conf ou /etc/apache2/interdit-hôtes approprié ..
Comme une solution à court terme
Une alternative qui vous permettra d'utiliser le 2.2 syntaxe, est d'installer mod_access_compat module et de continuer à utiliser votre obsolète 2.2 style 'Deny,Allow" directives. Mais c'est seulement conseillé comme une solution à court terme depuis que le module est là pour faciliter la transition, et serait probablement aller loin dans les futures versions de apache 2.4
Moi aussi, j'ai pas vu une bonne alternative pour bloquer l'accès de manière dynamique à partir de l'intérieur de Apache. Il y a des "hacky" façons: vous pouvez définir une variable d'environnement pour contenir une liste d'adresses ip et ensuite utiliser le module avec ${REMOTE_ADDR} et l'env de fonction, mais c'est un étirement. Détails sur l'Analyseur d'Expression
Cependant, j'ai utilisé beaucoup de poids léger modules qui sont utiles dans la protection de votre serveur Apache.
Serveur de configuration de Pare-feu (LCR/LFD) est une excellente solution pour les systèmes linux. Il fournit une méthode simple pour la gestion de iptables, et peut être mis en place pour faire de la force brute de détection et de blocage. Info ici
EDIT:
Ajoutez la ligne suivante à /etc/lcr/csf.refuser d'inclure personnalisé de votre liste de blocage d'IP:
Alternativement, mettre à jour votre script pour ajouter des adresses IP à csf.nier non plus directement:
ou à l'aide de la LCR option de ligne de commande (de préférence):
CSF readme ici
mod_security est un de mes préférés Apache/nginx modules. Il détecte dangereux GET et POST demandes et bloque l'accès en conséquence. Lorsqu'il est configuré correctement, il va déclencher CSF pour bloquer les adresses IP qui est souvent à violer les règles. Détails ici