Forum Linux.débutant blockage plage d'ip

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
5
août
2016

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  (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  . É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

      abc.vpn.ledomaine.com - - [04/Aug/2016:10:01:02 …

      mais pas d'ip on peux bloquer avec:

      deny from ^.*ledomaine.*
      

      ??

      • [^] # Re: outil en ligne

        Posté par  . É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  . Évalué à 1.

          Mais pour certain visiteur je n'ai pas d'ip dans mes access.log

          abc.vpn.ledomaine.com - - [04/Aug/2016:10:01:02 …
          

          au lieu de

          80.2xx.xx.xxx - - [04/Aug/2016:01:01:23 +0200] "GET / HTTP/1.1" 200 85365 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/17.0.128207670 Mobile/13G34 Safari/600.1.4"
          […]
          abc.vpn.domaine.com - - [04/Aug/2016:01:01:25 +0200] GET / HTTP/1.1" 200 85365 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0"
          

          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  . Évalué à 2.

            Mais pour certain visiteur je n'ai pas d'ip dans mes access.log

            ben configure apache pour logger les adresses IP plutot que les noms des clients.

            • [^] # Re: outil en ligne

              Posté par  . É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  . É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  . É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:

                The default is Off in order to save the network traffic for those sites that don't truly need the reverse lookups done. It is also better for the end users because they don't have to suffer the extra latency that a lookup entails. Heavily loaded sites should leave this directive Off, since DNS lookups can take considerable amounts of time. 
                

                Ce document répond même à mon interrogation (plus bas) de faire le resolve de manière asynchrone uniquement pour le log.

                The utility logresolve, compiled by default to the bin subdirectory of your installation directory, can be used to look up host names from logged IP addresses offline.
                

                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  . É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  . Évalué à 1.

      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.

      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  . É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.