Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Reglas del Firewall en OPNsense


Usando los alias del firewall te permite agrupar una o más direcciones IP, direcciones de red, puertos y nombres de host y utilizarlos en reglas. Así podrás escribir reglas más fáciles de leer, entender y mantener. Los alias pueden ayudar a reducir el número total de reglas que necesitas escribir porque puedes usar un solo alias que contenga múltiples elementos.





Esquema básico firewall:


Reglas Firewall



Acciones Firewall



Las reglas pueden establecerse en tres tipos de acción diferentes:

  • Pasar -> permitir el tráfico
  • Bloquear -> denegar el tráfico y no dejar que el cliente sepa que ha sido descartado (lo que suele ser aconsejable para redes que no son de confianza)
  • Rechazar -> denegar tráfico y dejar que el cliente lo sepa. (sólo tcp y udp soportan rechazar paquetes, lo que en el caso de TCP significa que se devuelve un RST, para UDP se devuelve ICMP UNREACHABLE).

Anti DDoS


  • Activar syncookies

Esta opción es bastante similar a la configuración del kernel syncookies, previniendo la asignación de memoria para servicios locales antes de que se realice un handshake apropiado.


Cuando los syncookies están activos, OPNSense responderá a cada TCP SYN entrante con un syncookie SYNACK, sin asignar ningún recurso.

En modo adaptativo, OPNSense activará el modo syncookie cuando un determinado porcentaje de la tabla de estado esté ocupado por conexiones TCP a medio abrir, es decir, aquellas que vieron el SYN inicial pero no terminaron el handshake de tres vías.


En este caso pf estará protegido contra el agotamiento de la tabla de estados.

Están disponibles los siguientes modos:

  • nunca (por defecto)
  • siempre
  • adaptativo - en cuyo caso se debe especificar un porcentaje inferior y superior referido al uso de la tabla de estado (Firewall States)
Prefiero configurarlo como adaptativo, para que en escenarios normales sólo use syncookies cuando haya un problema real.

Ves a Firewall -> Configuración -> Avanzado

Habilitar syncookies: adaptativo:

Inicio (%): 70
Fin (%): 30



Valor recomendado:



Firewall States



Un poquito más lleno xD




Puedes aumentar el número de máximo de "States" (por defecto 1609000) en;

  • Firewall Maximum States

Número máximo de conexiones a mantener en la tabla de estado del cortafuegos, normalmente el valor por defecto está bien, cuando se sirven muchas conexiones se puede considerar aumentar el tamaño por defecto que se menciona en el texto de ayuda.

La base de datos de estados del cortafuegos tiene un tamaño limitado para evitar la fatiga de memoria. Cada estado consume alrededor de 1 KB de memoria. El tamaño predeterminado de la tabla de estado en pfSense se determina utilizando alrededor del 10% de la RAM disponible del cortafuegos. Para un cortafuegos con 1 GB de memoria, la tabla de estado puede contener unas 100.000 entradas por defecto.

Normalmente, cada conexión de usuario consta de dos estados: uno formado cuando la conexión entra en el cortafuegos y otro cuando sale del cortafuegos. Por lo tanto, con un tamaño de base de datos de estados de 1.000.000, el cortafuegos puede soportar unas 500.000 sesiones de usuario activas que transiten por el cortafuegos antes de descartar nuevas conexiones. Este límite puede ampliarse según sea necesario, siempre que no supere la capacidad de RAM del cortafuegos.

Puedes aumentar el tamaño de la tabla de estado siguiendo los siguientes pasos::

Ves a Sistema > Avanzado > Cortafuegos y NAT en la interfaz de usuario de pfSense.

Introduzca el número deseado para Firewall Maximum States, o deje la casilla en blanco para el valor calculado por defecto.

Opciones avanzadas - Límite de conexiones


Las opciones avanzadas contienen algunos ajustes para limitar el uso de una regla o especificar tiempos de espera específicos para la misma. La mayoría de los ajustes genéricos (por defecto) para estas opciones se pueden encontrar en Cortafuegos ‣ Configuración ‣ Avanzado

  • Estados máximos

Limita el número de estados concurrentes que la regla puede crear. Cuando se alcanza este límite, los paquetes adicionales que crearían estados no coincidirán con esta regla hasta que los estados existentes caduquen.

  • Nodos de origen máximos

Limita el número máximo de direcciones de origen que pueden tener simultáneamente entradas en la tabla de estados.

  • Máximo establecido

Limita el número máximo de conexiones TCP simultáneas que han completado el handshake de 3 vías que puede realizar un único host.

  • Número máximo de estados de origen

Limita el número máximo de entradas de estado simultáneas que una única dirección de origen puede crear con esta regla.

  • Máximo de nuevas conexiones

Limita la tasa de nuevas conexiones en un intervalo de tiempo. La tasa de conexiones es una aproximación calculada como media móvil. (número de conexiones / segundos) Sólo se aplica a conexiones TCP. (aka Rate Limit)

  • Tiempo de espera de estado

Tiempo de espera de estado en segundos (sólo se aplica a TCP)


Alias Firewall


Lo mejor es utilizar los alias (aliases) para crear reglas o abrir varios puertos, o permitir o denegar un montón ip's, algo  parecido a ipset.

Los alias permiten:

Tipos de Alias

Descripción

Hosts

Single hosts by IP or Fully Qualified Domain Name or host exclusions (starts with “!” sign)

Networks

Entire network p.e. 192.168.1.1/24 or network exclusion eg !192.168.1.0/24

Ports

Port numbers or a port range like 20:30

MAC addresses

MAC address or partial mac addresses like f4:90:ea

URL (IPs)

A table of IP addresses that are fetched once

URL Tables (IPs)

A table of IP addresses that are fetched on regular intervals.

GeoIP

Select countries or whole regions

Network group

Combine different network type aliases into one

Dynamic IPv6 Host

A Host entry that will auto update on a prefixchange

BGP ASN

Maps autonomous system (AS) numbers to networks where they are responsible for.

OpenVPN group

Map user groups to logged in OpenVPN users

Internal (automatic)

Internal aliases which are managed by the product

External (advanced)

Externally managed alias, this only handles the placeholder. Content is set from another source (plugin, api call, etc)





Por ejemplo si queremos banear (drop) un listado de Ip's podemos utilizar un alias a partir de una URL:



Paso 1 - Creación de un alias para una lista de bloqueo externa

OPNsense admite el uso de listas de bloqueo externas dentro de alias y los alias se pueden utilizar para reglas de cortafuegos. El comienzo es, por tanto, crear un alias para la lista de bloqueo deseada y seleccionar el tipo de tabla URL (IPs).

Elegir usar un alias distinto para cada tipo de lista de bloqueo para poder configurar el intervalo de actualización individualmente y poder activar/desactivar cada una independientemente. Para el intervalo de actualización, asegúrese de respetar las recomendaciones del proveedor de la lista para no crear una carga innecesaria en su infraestructura.

Sugerencia: Utiliza un prefijo de alias en mayúsculas para que sus alias personalizados aparezcan antes que los creados por el sistema y así encontrarlos en la parte superior de la lista.


Para este ejemplo se utilizó spamhaus drop y edrop con una frecuencia de actualización de 12 horas.


Inspecciona siempre el contenido de las listas antes de utilizarlas por primera vez para evitar sorpresas desagradables. Algunas listas contienen IPs privadas que pueden provocar el bloqueo del tráfico local e incluso, en última instancia, bloquearte en tu cortafuegos si no tienes cuidado.

Paso 2 - Configurar una regla de cortafuegos

Esta es una de las situaciones en las que puede tener sentido configurar una regla flotante ya que quieres bloquear el tráfico hacia y desde cualquiera de estas IPs independientemente de la interfaz o dirección desde la que se origine lo antes posible. Dicho esto, una regla WAN también sería suficiente para bloquear el tráfico desde y hacia la(s) interfaz(es) WAN.

Nota: El uso de la regla de tipo flotante requiere que tenga mucho cuidado con el contenido de las listas de bloqueo, ya que podría bloquearse a sí mismo si la lista contiene rangos de direcciones IP privadas. En teoría, OPNsense debería evitar que se bloquee con la configuración estándar, pero es posible que no desee probarlo.

Rule category: Floating
Action: Block
Direction: Any
TCP Version: IPv4+IPv6
Protocol: any
Logging: Active
Asegúrese de que elige la configuración correcta para Dirección, Versión TCP, Protocolo para que la regla se aplique a todo el tráfico, direcciones, Versiones TCP y Protocolos.

También se recomienda activar el registro además de una descripción significativa de su regla para poder consultar fácilmente el registro y entender lo que está sucediendo en cualquier momento. Especialmente después de unos meses puede que ya no recuerde todo tan bien sin una descripción clara.

Paso 3 - Verificación de la nueva regla del cortafuegos

Durante los próximos minutos/horas querrá vigilar el registro para asegurarse de que todo funciona como se desea. No obstante, queremos verificar rápidamente que la nueva regla funciona como deseamos. Para ello, elegimos una IP de una de las listas de bloqueo e intentamos conectarnos.

ping -c 3 24.236.0.1

    PING 24.236.0.1 (24.236.0.1) 56(84) bytes de datos. --- 24.236.0.1 estadísticas de ping --- 3 paquetes transmitidos, 0 recibidos, 100% de pérdida de paquetes, tiempo 2050ms

Como era de esperar hacer ping o intentar conectarse a una IP incluida en la lista de bloqueo no funciona y también es observable en el registro en tiempo real del cortafuegos que el tráfico está siendo bloqueado.


Ejemplos listas:

# BL_3coresec
https://blacklist.3coresec.net/lists/all.txt

# BL_abusech_feodo_botnet_c2
https://sslbl.abuse.ch/blacklist/sslipblacklist.txt
https://feodotracker.abuse.ch/downloads/ipblocklist_recommended.txt

# BL_cins_army
https://cinsscore.com/list/ci-badguys.txt

# BL_cisco_talos
https://talosintelligence.com/documents/ip-blacklist

# BL_dshield_30d
https://iplists.firehol.org/files/dshield_30d.netset

# BL_spamhaus_drop
https://www.spamhaus.org/drop/drop.txt
https://www.spamhaus.org/drop/edrop.txt
https://www.spamhaus.org/drop/dropv6.txt

En otro ejemplo podemos permitir sólo al listado de IP's de CloudFlare acceder a nuestro servidor web

Creación de un alias para las direcciones IP de Cloudflare


Lo primero que tienes que hacer es averiguar qué direcciones IP utiliza Cloudflare para conectarse a su servidor. Para esto sólo voy a estar mirando las direcciones IPv4, sin embargo sus IPv6 también están disponibles.

Convenientemente, Cloudflare ofrece una buena lista de sus rangos de direcciones IP.

Ahora en OPNsense, hay estas cosas llamadas Alias que básicamente son sólo una lista de IPs / direcciones MAC / GeoIP / etc información para identificar un grupo de dispositivos. Podemos crear fácilmente un Alias para estas IPs de Cloudflare.


En OPNsense bajo Firewall -> Aliases haz click en añadir.

    Asegúrese de que está habilitado
    Dale un nombre (por ejemplo cloudflare)
    Establezca el tipo de tabla URL (IPs)
    Dígale que se actualice con la frecuencia que desee
    Para el contenido, dale la URL de Cloudflare IPs

A continuación, haz clic en Guardar.


Crear la regla Firewall para permitir IP's de CloudFlare

En Firewall -> Rules -> [WAN] añade regla:

  • Action: Pass
  • Interface: WAN
  • Direction: in
  • TCP/IP Version: IPv4
  • Protocol: TCP
  • Source: Select your Cloudflare alias
  • Destination: This Firewall
  • Destination port range: HTTPS -> HTTPS


Eso debería ser todo, por defecto OPNsense bloquea el tráfico por lo que esto sólo permitirá Cloudflare utilizar TCP en el puerto HTTPS (443). 


GeoBloqueo de IP's


¿Dónde encontrar las listas de bloqueo de IP existentes y comprobar su eficacia?


Una buena fuente de listas de bloqueo de IP combinadas de fuentes de diferentes proveedores es un repositorio de Github llamado Firehol:



La descripción y efectividad de cada lista se encuentra en:




El número de listas de bloqueo IP debe personalizarse para cada entorno por separado. La lista que se utiliza en muchos casos, independientemente de si se trata de un router doméstico o de una empresa, es la lista denominada Amenazas emergentes, que combina las fuentes de IP de las amenazas más recientes de los equipos de seguridad de TI.

BLOCKLIST: et_block


ENLACE DIRECTO BLOCKLIST:


Para añadir la lista de bloqueo, debes iniciar sesión en Opnsense e ir a Firewall > Aliases y hacer clic en el icono (+) para añadir un nuevo alias. Escriba lo siguiente

 

ALIAS:

    Nombre: EmergingThreats_combined
    Tipo: Tabla URL (Ips)
    Actualización: 12 horas
    Contenido: http://rules.emergingthreats.net/fwrules/emerging-Block-IPs.txt
    Descripción: Amenazas Emergentes.net et_block


Instalación de restricciones GeoIP en OPNSENSE


Para añadir una capa adicional de seguridad, puede bloquear la IP de origen desde diferentes lugares del mundo.

Por favor, visita la documentación de OPNSENSE y cree una clave API única para descargar las listas de bloqueo GEO IP - https://docs.opnsense.org/manual/how-tos/maxmind_geo_ip.html

Después de adquirir la Clave API, por favor ponga la clave en la URL única de la documentación OPNsense GeoIP y guárdela en el bloc de notas. Luego por favor vaya a Firewall > Aliases > GeoIP settings y ponga la URL en la siguiente pantalla:

Nota: el dominio maxmind.com podría estar bloqueado por cualquier servicio de AdGuard que se ejecute en la red, por lo que si la lista no se actualiza, es necesario realizar un bypass en DNS.










0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.