Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Problème sur génération de règles de filtrage avec alias

    Scheduled Pinned Locked Moved Français
    5 Posts 3 Posters 2.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Nic0
      last edited by

      Bonjour à tous

      J'étais en train de tester une règle afin de renforcer la sécurité autour du DNS quand je suis tombé sur quelque chose "d'étrange".

      Version :
      2.1-BETA1 (i386)
      built on Wed Dec 12 10:59:50 EST 2012
      FreeBSD 8.3-RELEASE-p5

      Cette règle :

      me génère dans rules.debug :

      [...]
      # User-defined rules follow
      
      anchor "userrules/*"
      block return  in  quick  on $LAN inet proto { tcp udp }  from 192.168.147.0/24 to 192.168.147.254  port 53   label "USER_RULE: DNS enforcing"
      pass  in  quick  on $LAN inet from 192.168.147.0/24 to any keep state  label "USER_RULE: Default allow LAN to any rule"
      # at the break! label "USER_RULE: Default allow LAN IPv6 to any rule"
      [...]
      

      alors que cette règle :

      me génère :

      [...]
      # User-defined rules follow
      
      anchor "userrules/*"
      block return  in  quick  on $LAN inet proto { tcp udp }  from 192.168.147.0/24 to  ! 192.168.147.254  port 53   label "USER_RULE: DNS enforcing"
      pass  in  quick  on $LAN inet from 192.168.147.0/24 to any keep state  label "USER_RULE: Default allow LAN to any rule"
      # at the break! label "USER_RULE: Default allow LAN IPv6 to any rule"
      [...]
      

      Est-ce normal ou est-ce un bug ? (notez la subtile différence au niveau du point d'exclamation dans la règle correspondante)

      Le but de cette règle est d'empécher toute requète DNS vers un autre serveur que le pfsense.
      Avec l'adresse IP en dur dans la règle, ça fonctionne bien, mais avec l'alias "LAN Address" ça me fait l'opposé (test avec nslookup et 8.8.8.8 comme DNS alternatif)

      1 Reply Last reply Reply Quote 0
      • C
        ccnet
        last edited by

        Renforcer la sécurité en traitant la question du dns est certes une bonne idée. Tres paradoxal dans ce contexte puisque vous utilisez un vpn pptp qui repose sur un algorithme cassé (rc4) qui, de plus, a été mal implémenté par Microsoft. Ce problème me semble plus important encore que celui du dns.

        Pour en revenir à votre post, vous etes sur une version beta ce qui implique des bugs potentiels importants. Avez vous consulté le forum dédié à cette version ?

        Cela dit vos règles sont trop laxistes. Sur Lan interdisez tout par défaut … Sauf ce qui est explicitement autorisé comme udp/53 vers 192.168.147.254 et sans doute tcp/80, tcp/443. D'autres selon vos besoins et politique de sécurité. Et tout ira bien pour dns sous réserve que vos dns publics soient sûrs.
        Utilisez plutôt reject que block pour tcp.

        1 Reply Last reply Reply Quote 0
        • N
          Nic0
          last edited by

          Merci pour votre réponse

          Ici le contexte est un environnement de test et non une machine de prod, donc effectivement les règles sont souples et pas rationnelles par rapport à ce que j'ai mis en oeuvre.

          J'ai regardé, pfSense 2.0.1-RELEASE n'est pas affecté.

          Ceci dit, une autre situation produit le même résultat :

          me donne

          pass  in  quick  on $DMZ1 inet from 172.16.147.254/24 to 192.168.147.0/24 keep state  label "USER_RULE: Allow DMZ1 to WAN IPv4"
          # at the break! label "USER_RULE: Allow DMZ1 to WAN IPv6"
          

          La fonction "Not" dans la page de création de règles semble ne pas fonctionner comme il se doit visiblement.

          Je vais continuer de chercher dans le forum de la v2.1.0 s'il n'ya pas d'infos là-dessus.
          Je jetterai un oeil sur la redmine aussi

          1 Reply Last reply Reply Quote 0
          • J
            jdh
            last edited by

            Plutôt que l'opérateur !, je préfère les 2 règles à suivre :

            • Block règle vers LAN
            • Pass règle vers any

            Cela fait certes 2 règles mais je suis sûr du résultat.

            Albert EINSTEIN : Si vous ne pouvez pas l'exprimer simplement, c'est que vous ne le comprenez pas assez bien. (If you can’t explain it simply, you don’t understand it well enough.)

            1 Reply Last reply Reply Quote 0
            • N
              Nic0
              last edited by

              JDH propose une soution très intéressante : elle contourne le problème et apporte une autre possibilité :

              Remplacer ce genre de règle :

              par ça :

              Permet de logger seulement les erreurs sans se retrouver avec un journal qui explose à cause des flux autorisés.

              Merci JDH  ;)

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.