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

    Snort y OpenAppID:Bloquear protocolos de capa 7: openvpn,Facebook,twitter

    Scheduled Pinned Locked Moved Español
    16 Posts 3 Posters 6.5k 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.
    • J
      javcasta
      last edited by

      Hola.

      Ok. Me funcionan las reglas para openVPN y twitter, pero Facebook se me sigue colando por navegador  ;D

      Las reglas bloquean sockets TCP para Twitter y FaceBook
      Y sockets UDP para OpenVPN.

      Tras las pruebas mias, OpenVPN y Twitter bloqueado al completo y FaceBook me lo bloqueó, pero es verdad, vía navegador NO.

      La forma de saber que protocolo de capa7 (google, facebook, etc) se esta usando en una conexión SSL/TLS (encriptada) es mirando el contenido del certificado del servidor, imagino que FaceBook "hace algo" para evadir la detección …

      Una forma complementaria de bloquear FaceBook es usar DNSBL de pfBlockerNG y añadir el dominio facebook.com a la lista de bloqueos (y ahora sí que no accedo a FB ni vía navegador :) )

      Salu2

      Javier Castañón
      Técnico de comunicaciones, soporte y sistemas.

      Mi web: https://javcasta.com/

      Soporte scripting/pfSense https://javcasta.com/soporte/

      1 Reply Last reply Reply Quote 0
      • I
        iplost
        last edited by

        Ok, probaré con DNSBL

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

          Hola

          Si pruebas con DNSBL, a parte del dominio bloqueado en un DNSBL feed,  también se puede definir en:
          Firewall > pfBlockerNG > DNSBL > TLD Blacklist ; facebook.com

          Y defines con eso un Top-Level Domain (facebook.com) a bloquear
          La redundancia nunca está de más :)

          Salu2

          Javier Castañón
          Técnico de comunicaciones, soporte y sistemas.

          Mi web: https://javcasta.com/

          Soporte scripting/pfSense https://javcasta.com/soporte/

          1 Reply Last reply Reply Quote 0
          • I
            iplost
            last edited by

            Ok, creo que en el TLD blocklist se pondría solo facebook,  lo miro

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

              Hola

              Sí, en el TLD blacklist del DNSBL se pone el dominio de nivel alto (facebook.com => facebook), pruebalo.

              Y por cierto, rectifico, sí me bloquea Facebook (vía navegador y vía App) las reglas de Snort personalizadas, lo que pasa es que en la prueba se me olvidó dejar de navegar vía tunel ssh :) jejeje, despiste (devil is in details :) )

              Salu2

              Javier Castañón
              Técnico de comunicaciones, soporte y sistemas.

              Mi web: https://javcasta.com/

              Soporte scripting/pfSense https://javcasta.com/soporte/

              1 Reply Last reply Reply Quote 0
              • I
                iplost
                last edited by

                A mi me faltaba una regla de las 3 de FB. Todo ok.

                1 Reply Last reply Reply Quote 0
                • D
                  DaLiCaM
                  last edited by

                  Yo tengo Facebook bloqueado con pfBlockerNG, añadiendo una regla en el apartado IPv4, allí añado los ASN de facebook

                  facebook.jpg_thumb
                  facebook.jpg

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

                    Hola

                    Yo tengo Facebook bloqueado con pfBlockerNG, añadiendo una regla en el apartado IPv4, allí añado los ASN de facebook

                    Sí, pfBlockerNG es un paquete que facilita la vida mucho en el tema de bloquear sitios,, ya sea por listas de  IP , dominios (DNSBL) y ASN. Es un paquete imprescindible en pfSense :)

                    Lo que ocurre es que pfSense en sus nuevas versiones abandonó el DPI (Deep packet Inspection and layer 7 filter con  ipfw-classifyd ), por su elevado consumo de CPU, y la alternativa para bloquear protocolos de capa 7 o de aplicación es Snort (o Suricata), ellos mismos lo dicen en:

                    https://doc.pfsense.org/index.php/Layer_7

                    _Layer 7 filtering or shaping is identifying traffic at layer 7 (Application Layer) of the OSI model.

                    pfSense used to contain a Layer 7 classifier, ipfw-classifyd, but it has been removed. It was non-functional on pfSense 2.2.x and removed entirely from pfSense 2.3 because it was not feasible to fix. L7 classification consumed large amounts of CPU and rarely had the intended effect, and it was a rarely used feature even when it did function.

                    For those intending to block based on L7 identification, consider using Snort instead, which can much more efficiently identify such traffic.

                    Alternate L7 inspection methods may be considered for a future version if they are viable._

                    Salu2

                    Javier Castañón
                    Técnico de comunicaciones, soporte y sistemas.

                    Mi web: https://javcasta.com/

                    Soporte scripting/pfSense https://javcasta.com/soporte/

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

                      Hola

                      Un buen ejemplo de reglas personalizadas de Snort, para bloquear Ultrasurf

                      https://forum.pfsense.org/index.php?topic=48482.msg295806#msg295806

                      
                      # Rules by Jorge Talamas
                      alert udp $HOME_NET any -> any 53 (msg:"DNS Request for www.hfdxjshm.info"; content:"|03|www|08|hfdxjshm|04|info"; metadata:service dns; nocase; classtype:policy-violation; sid:1232313; rev:1;)
                      alert udp $HOME_NET any -> any 53 (msg:"DNS Request for www.rvzjon.info"; content:"|03|www|06|rvzjon|04|info"; metadata:service dns; nocase; classtype:policy-violation; sid:1232314; rev:1;)
                      alert udp $HOME_NET any -> any 53 (msg:"DNS Request for www.ukwprf.info"; content:"|03|www|06|ukwprf|04|info"; metadata:service dns; nocase; classtype:policy-violation; sid:1232315; rev:1;)
                      
                      # Rule by SERPRO-Recife Security Team
                      alert udp $HOME_NET any -> $EXTERNAL_NET 53 (msg:"Possible External Ultrasurf DNS Query"; content:"|00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00|"; classtype:policy-violation; detection_filter:track by_src, count 1, seconds 5; sid:1000059; rev:2;)
                      
                      # IP POOL by Jorge Talamas
                      var ULTRASURF_POOL [1.160.0.0/16,1.161.122.228/32,1.162.0.0/16,1.163.233.171/32,1.168.0.0/13,12.48.83.220/32,24.11.192.218/31,36.227.0.15/32,36.227.75.242/32,36.229.197.181/32,36.232.154.1/32,46.22.213.8/32,46.22.214.10/32,46.37.175.62/32,46.37.180.174/32,46.105.135.99/32,46.105.135.123/32,46.105.151.18/32,46.105.224.154/32,58.138.34.200/32,59.104.160.0/19,59.112.0.0/15,59.115.0.0/16,59.121.0.0/16,61.31.128.0/19,61.62.0.0/17,61.62.192.0/18,61.216.0.0/17,61.216.128.0/18,61.223.0.0/16,61.224.0.0/16,61.227.0.0/16,61.228.0.0/16,61.230.0.0/15,63.215.202.0/24,63.223.86.79/32,63.223.100.58/32,63.223.101.44/32,63.223.102.73/32,63.223.103.77/32,63.223.124.119/32,63.226.208.180/31,63.245.209.30/31,64.4.44.80/31,64.25.35.100/31,64.25.35.200/31,64.37.73.8/32,64.120.138.55/32,64.120.206.154/32,64.191.20.238/32,64.191.124.239/32,65.49.2.12/31,65.49.14.0/24,65.175.93.68/32,65.175.93.72/32,65.175.93.76/32,66.201.71.143/32,66.201.71.145/32,66.245.218.2/31,67.19.60.8/31,68.65.210.20/32,68.65.238.190/32,69.61.28.24/32,69.61.28.51/32,69.162.176.238/32,69.162.177.246/32,69.162.177.250/32,69.162.179.250/32,69.162.180.238/32,69.162.180.244/32,69.162.180.250/32,69.162.181.241/32,69.162.181.248/32,69.162.182.250/32,69.162.183.246/32,69.162.185.239/32,69.162.185.247/32,69.162.186.245/32,69.162.187.239/32,69.162.189.240/32,69.162.189.246/32,69.162.190.247/32,69.162.191.248/32,70.32.68.126/31,72.21.194.0/24,72.21.203.148/31,72.21.211.170/31,72.21.214.0/24,72.69.176.100/31,74.80.131.100/32,74.80.152.203/32,74.80.167.179/32,74.80.181.109/32,74.127.24.68/32,74.127.52.39/32,74.127.52.42/32,76.191.99.99/32,76.191.102.131/32,76.191.103.56/32,76.191.105.5/32,76.191.105.20/32,76.191.114.32/32,80.79.125.53/32,91.121.253.92/32,95.143.33.144/32,95.143.33.179/32,96.9.133.170/32,96.9.174.174/32,101.128.162.236/31,111.240.0.0/14,111.248.0.0/13,112.104.0.0/17,112.104.128.0/18,112.104.192.0/19,112.105.64.0/18,112.105.128.0/19,112.105.192.0/18,113.197.194.198/31,114.24.0.0/14,114.36.0.0/14,114.40.0.0/13,118.160.0.0/15,118.165.0.0/16,118.166.0.0/15,118.168.0.0/14,122.118.0.0/16,122.120.0.0/14,122.124.162.0/24,122.125.0.0/16,122.126.0.0/15,123.204.74.103/32,123.204.96.0/19,123.205.224.0/19,124.8.72.25/32,124.9.128.0/17,124.11.53.0/24,124.11.128.0/17,124.12.0.0/17,125.224.0.0/15,125.227.0.0/16,125.229.0.0/16,125.230.0.0/16,125.231.91.188/31,125.232.0.0/15,126.126.189.185/32,128.120.32.96/31,129.59.210.100/31,149.5.113.168/32,173.208.227.209/32,173.212.193.131/32,173.212.193.142/32,173.212.193.156/32,174.24.248.14/31,175.180.64.0/18,175.180.128.0/17,175.181.64.0/18,175.181.128.0/17,175.182.0.0/17,184.26.194.70/31,184.82.51.116/32,184.82.113.169/32,184.82.137.235/32,184.82.145.69/32,184.82.205.136/32,195.43.51.21/32,199.114.216.57/32,199.114.217.39/32,199.114.219.83/32,199.114.219.93/32,199.217.100.54/32,199.217.101.32/32,199.217.101.61/32,199.217.102.49/32,203.67.0.0/19,203.67.116.201/32,203.73.50.4/31,203.73.55.210/31,203.73.192.0/18,205.251.242.164/31,207.195.235.35/32,207.195.235.195/32,208.117.17.239/32,208.117.18.242/32,208.117.19.250/32,208.117.22.249/32,208.117.23.246/32,208.117.26.239/32,208.117.27.241/32,208.117.29.246/32,208.117.29.250/32,208.117.31.240/32,210.64.96.0/19,211.74.96.0/19,211.74.191.68/31,212.69.166.19/32,212.69.169.54/32,212.69.191.38/32,212.69.191.237/32,216.13.11.50/31,216.13.113.50/31,216.15.183.18/32,216.15.183.27/32,216.198.215.3/32,216.198.220.120/32,216.198.220.126/32,218.160.0.0/14,218.165.0.0/16,218.166.0.0/15,218.168.0.0/14,218.173.0.0/16,218.174.0.0/15,219.80.130.234/31,219.84.192.0/18,219.85.128.0/17,220.100.55.208/32,220.129.0.0/16,220.131.0.0/16,220.136.0.0/16,220.138.0.0/16,220.141.0.0/16,220.142.0.0/15]
                      
                      alert tcp $HOME_NET any -> $ULTRASURF_POOL 443 (msg:"Ultrasurf Connection Detected"; flow:established; classtype:policy-violation; sid:5000000; rev:3;)
                      alert tcp $HOME_NET any -> $ULTRASURF_POOL 10000 (msg:"Ultrasurf Connection Detected"; flow:established; classtype:policy-violation; sid:5000001; rev:3;)
                      
                      

                      Salu2

                      Javier Castañón
                      Técnico de comunicaciones, soporte y sistemas.

                      Mi web: https://javcasta.com/

                      Soporte scripting/pfSense https://javcasta.com/soporte/

                      1 Reply Last reply Reply Quote 0
                      • I
                        iplost
                        last edited by

                        La pega es que el pool de servidores ultrasurf así en una regla de Snort es estático,  lo interesante seria programarlo dinámico,  como hace pfBlockerNG

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

                          Hola

                          Lo veo dificil en una custom rule, no conozco si Snort permite scripting en sus reglas, (variables si permite)

                          Salu2

                          Javier Castañón
                          Técnico de comunicaciones, soporte y sistemas.

                          Mi web: https://javcasta.com/

                          Soporte scripting/pfSense https://javcasta.com/soporte/

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

                            Hola

                            Una cosa que se me ocurre para obtener el pool de servidores Ultrasurf dinamicamente seria:

                            En el fichero de conf de snort (snort.conf), añadir que incluya otro fichero:

                            http://manual-snort-org.s3-website-us-east-1.amazonaws.com/node16.html

                            include

                            por ejemplo pool-surf-snort.inc

                            Donde se defina y reescriba la variable ULTRASURF_POOL con la lista actualizada de servidores (esto ya seria tarea de un cron que vía scripting reescriba ese fichero con los valores actualizados, y de esa forma, creo que cada vez que actualice snort se refrescaria)

                            Pero no lo he testeado, si lo hago aviso :)

                            Salu2

                            Javier Castañón
                            Técnico de comunicaciones, soporte y sistemas.

                            Mi web: https://javcasta.com/

                            Soporte scripting/pfSense https://javcasta.com/soporte/

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

                              Hola

                              Pues tras leer en el foro. Parece ser que bloquear en destino Ultrasurf no es muy viable. Ya que usa servidores Google, Amazon, etc, y si bloqueamos esas IPs bloqueamos otros servicios  y recursos (Google, Amazon, etc).

                              Pero he visto unas reglas personalizadas de Snort para bloquear Ultrasurf en origen según el contenido de la petición:

                              Referencia: https://forum.pfsense.org/index.php?topic=91163.msg515530#msg515530

                              alert tcp any any -> 192.168.1.254 any (content:"|48 6f 73 74 3a 20 73 75 70 70 6f 72 74 2e 6d 69 63 72 6f 73 6f 66 74 2e 63 6f 6d 3a 34 34 33 0d 0a|"; msg:"ultrasurf14 pacote suportmicrosoft"; dsize:266<>270; gid:120; sid:1509; rev:1;)
                              alert tcp any any -> 192.168.1.254 any (content:"|47 45 54 20 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f 20 48 54 54 50 2f 31 2e 31 0d 0a|"; dsize:137<>139; msg:"ultrasurf13_12 pacote google"; gid:120; sid:1510; rev:1;)
                              alert tcp any any -> 192.168.1.254 any (content:"|36 35 2e 34 39 2e 31 34 2e|"; content:"|34 34 33|"; msg:"ultrasurf10 pacote 65.49.14.0/24:443"; gid:120; sid:1511; rev:1;)
                              

                              Me rsulta curioso que Ultrasurf use servidores de Google (y con certificados de Google!!!).

                              ¿Es Ultrasurf el TOR particular de Google? :) … a saber

                              ref: http://www.maravento.com/2014/05/ultrasurf-secuestra-ips-de-google-y.html

                              Salu2

                              Javier Castañón
                              Técnico de comunicaciones, soporte y sistemas.

                              Mi web: https://javcasta.com/

                              Soporte scripting/pfSense https://javcasta.com/soporte/

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