Bonjour à tous,
Sous apache je souhaiterait blocker des plage d'ip
Je sais que l'on peux bloquer:
Une adresse IP complète ( Allow from 10.1.2.3 )
Une adresse IP partielle ( Allow from 10.1 ) pour bloquer 10.1.0.0 => 10.1.255.255
Mais je ne comprends pas les bloquage type:
Une spécification CIDR réseau/nnn (Allow from 10.1.0.0/16 ) ou /24
je n'arrive pas à trouver un doc à ce sujet?
Quelqu'un pourrait il m'expliquer?
Si je veux bloquer
10.1.45.0 => 10.1.45.255
ou
10.1.45.0 => 10.1.255.255
# outil en ligne
Posté par eric gerbier (site web personnel) . Évalué à 2.
tu as plein de sites web qui permettent de faire ce type de calcul en ligne, par exemple : http://www.ipaddressguide.com/cidr
et il te donne :
10.1.45.0 => 10.1.45.255 : 10.1.45.0/24
10.1.45.0 => 10.1.255.255 :
10.1.45.0/24
10.1.46.0/23
10.1.48.0/20
10.1.64.0/18
10.1.128.0/17
[^] # Re: outil en ligne
Posté par gotcha5832 . Évalué à 1.
Je te remercie.
ca ne me permet pas de comprendre mais en revanche c'est un super outil qui réponds à mes question!
Je suis en train de lire http://www.frameip.com/masques-de-sous-reseau/
Sinon quand dans les logs on as quelque chose du genre
mais pas d'ip on peux bloquer avec:
[^] # Re: outil en ligne
Posté par benja . Évalué à 1.
Sans répondre à cette question spécifiquement, laisse moi te dire que ça serait une mauvaise idée car pour chaque requête ton apache va devoir faire une résolution DNS inverse (c'est comme cela qu'on appelle trouver un nom qui correspond à une adresse IP) et donc tu ajoutes un délais avant de répondre au client (qu'il soit légitime ou non) dans les meilleures des cas, un très long délais (voire une erreur ? à confirmer…) dans le pire des cas où les serveurs DNS serait down ou inaccessibles.
Généralement, on fait un blocage avec un pare-feu, C'est plus facile à gèrer, on ne doit pas relancer apache à chaque modification. Et là, il est encore plus inconcevable de faire une résolution inverse !
Ensuite, une plage IP n'a aucune relation avec un domaine, je précise vu cette nouvelle question, au càs où…
Pour le reste, la doc apache doit répondre à ta question.
[^] # Re: outil en ligne
Posté par gotcha5832 . Évalué à 1.
Mais pour certain visiteur je n'ai pas d'ip dans mes access.log
au lieu de
du coup comment blocker le second visiteur?
sachant que si l'access.log fait apparaitre abc.vpn.domaine.com il doit d'ors et déja faire la résolution DNS?
[^] # Re: outil en ligne
Posté par NeoX . Évalué à 2.
ben configure apache pour logger les adresses IP plutot que les noms des clients.
[^] # Re: outil en ligne
Posté par gotcha5832 . Évalué à 1. Dernière modification le 05 août 2016 à 15:16.
tu parles de
HostnameLookups ?
car je ne trouve pas ce paramètre dans le fichier httpd.conf
donc par défault il doit être à Off
et le log format est
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
[^] # Re: outil en ligne
Posté par NeoX . Évalué à 2.
oui, c'est le parametre HostnameLookups qui est OFF par defaut,
mais qui semble ON sur ta machine puisque tu loggues le nom du client au lieu de son IP
[^] # Re: outil en ligne
Posté par benja . Évalué à 1. Dernière modification le 06 août 2016 à 13:33.
http://httpd.apache.org/docs/2.4/mod/core.html#HostnameLookups
-> Il est à off par défaut
-> L'utilisation de mod_authz_host le met à Double
Je copie ici le problème de perf de cette configuration, tel que décrit par la doc:
Ce document répond même à mon interrogation (plus bas) de faire le resolve de manière asynchrone uniquement pour le log.
Donc bref, Use the Doc first, Luke! puis si ça ne répond pas à ta question change de programme ou "Use the source".
# Masques réseau et classes
Posté par benja . Évalué à 2.
Un réseau au sens IP du terme est la plage d'adresse couverte par un masque, Lorsque ce masque est appliqué à une adresse, on obtient l'adresse du réseau, elle est identique pour chaque membre de ce réseau.
Un masque est une série de bit à 1, appelé le préfixe, suivi d'une série de zéros. En IPv4, la classe A correspond à une série de 8 bit à "1" suivit de 32-8 = 24 zéros, la classe B de 16 "1" et la classe C de 24 "1". La notation CIDR est la notation "sans classe". C'est à dire que la longueur du masque est choisie de fonction arbitraire et est dénotée avec un /XX; là ou avec les classes la longueur du préfixe était établie en fonction de l'adresse réseau par une convention RFC.
Exemple, une adresse 10.1.2.3, par convention, est une adresse privée ("non routable" sur internet!) de classe A. La longueur de son préfixe vaut 8. Sont masque en binaire est 1111111.00000000.00000000.00000000, soit en décimal, 255.0.0.0. L'adresse 10.2.2.3 fait partie de ce réseau car lorsque le maque est appliqué, on obtient 10.0.0.0 qui est aussi l'adresse du réseau.
Maintenant imagine que tu veuilles diviser ton réseau 10.x.x.x en deux, et mettre un routeur afin que chaque moitié doive passer par ce routeur pour dialoguer avec l'autre moitié. La solution est de passer en sans-classe et d'augmenter ton préfixe d'un bit. En d'autres mots, tu divises ta plage d'adresses entre le réseau réseau 10.0.0.0/9 et le réseau 10.128.0.0/9, Le masque devient en binaire 1111111.1000000.00000000.00000000, en décimal : 255.128.0.0 ou, plus simplement, /9.
10.1.2.3 appartient au premier réseau, 10.200.1.2 au deuxième.
Pour en revenir à ta config d'apache, en gros l'algorithme "j'applique le masque et je regarde si l'adresse est celle du réseau" est ré-utilisé pour le contrôle d'accès, il est logique donc d'utiliser cette notation bien établie.
PS: la page wikipédia explique cela très bien
[^] # Re: Masques réseau et classes
Posté par benja . Évalué à 1.
Oublié de dire dans ce paragraphe que l'adresse de "ce réseau" vaut 10.0.0.0/8.
Par rapport au logage (c'est comme cela qu'on dit en français ?) du nom d'hôte, c'est, bien vu, une très mauvaise idée de faire, pour les même raison que déjà exposées.
[^] # Re: Masques réseau et classes
Posté par benja . Évalué à 1. Dernière modification le 06 août 2016 à 04:17.
(enfin bon, à piori, il est concevable qu'apache fasse la résolution inverse pour et uniquement pour le log de manière asynchrone sans impacter le temps de réponse ni la qualité de service mais en ayant d'autres inconvénients, de part la nature asynchrone de cette opération; use the source, Luke).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.