Tutoriales y Manuales
Entradas Mensuales
-
►
2025
(Total:
1695
)
- ► septiembre (Total: 148 )
-
▼
2024
(Total:
1110
)
-
▼
diciembre
(Total:
62
)
-
TikTok Plus, la aplicación no oficial de TikTok re...
-
Do Kwon será extraditado a Estados Unidos por el f...
-
OpenAI cambiará su estructura para ser una empresa...
-
¿Qué es un LLM (Large Language Model o modelo gran...
-
Pentesting en Active Directory utilizando la herra...
-
Vulnerabilidad de gravedad máxima permite RCE en A...
-
Cómo ejecutar máquinas virtuales VirtualBox desde ...
-
Volkswagen dejó expuestos los datos de localizació...
-
Alemania neutraliza BadBox, el malware oculto en 3...
-
Limitar el ancho de banda máximo de Internet en OP...
-
IDS/IPS en OPNsense con Suricata
-
Qué es un procesador ARM y en qué se diferencia de...
-
Reglas del Firewall en OPNsense
-
Cómo bloquear Youtube con OPNsense
-
Brokenwire: el ataque que puede desenchufar un coc...
-
Un juez dictamina que NSO Group es el responsable ...
-
CISA alerta sobre vulnerabilidad crítica en Beyond...
-
50 años del Intel 8080, el microprocesador que ini...
-
Cómo configurar DNS sobre TLS (DoT) con Unbound DN...
-
AM4 vs AM5, cuál es el mejor socket de AMD para PC
-
iperf para medir la velocidad y el ancho de banda ...
-
EE. UU. se plantea prohibir los routers chinos TP-...
-
Seagate presenta el Exos M, un disco duro de 30 TB...
-
Kali Linux 2024.4: la distro especializada en segu...
-
Comparativa OPNSense Vs PFSense
-
Fallos comunes en las impresoras de inyección de t...
-
Google presenta Trillium, el poderoso chip de IA q...
-
España tiene la conexión a Internet más rápida del...
-
Desmantelado por Europol el Servicio de mensajería...
-
Encuentran el spyware Pegasus en teléfonos de usua...
-
DDoSecrets presenta un motor de búsqueda masivo co...
-
Raspberry Pi 500, la potencia de la SBC en un teclado
-
Novedades del Linux Manjaro 24.2 Yonada
-
OpenAI lanza Sora, su revolucionario generador de ...
-
En España la CNMC ha sufrido un grave hackeo que h...
-
Diagnóstico de problemas para GPUs NVIDIA
-
SpeedStep, EIST, PowerNow!, Turbo Core, Turbo Boos...
-
Cómo poner la voz de los Minions en Waze
-
Actualizaciones de seguridad críticas para Django
-
Cómo recuperar mensajes eliminados de WhatsApp y r...
-
Grok, la IA de X (Twitter), ahora se puede usar gr...
-
¿Qué es un HDMI dummy o fantasma? ¿Para qué sirve?
-
Un ciberataque al Colegio de Veterinarios comprome...
-
Ciberataque expone datos de usuarios personales de...
-
Comando tcpdump de Linux: cómo analizar paquetes e...
-
Campaña Phishing con "archivos dañados de Word"
-
Cómo eliminar anuncios en Windows con Winaero Tweaker
-
Microsoft anuncia un nuevo editor de video: fusion...
-
Vulnerabilidad crítica en Veeam Service Provider C...
-
Ransomware FOG activo en América Latina
-
¿Qué es una centralita virtual?
-
SafeLine: un WAF de código abierto
-
Intel presenta nueva generación de tarjetas gráfic...
-
AnimeFenix cierra mientras que GogoAnime y Anitaku...
-
Kali Linux vs Parrot OS vs BlackArch
-
Se puede acceder a la webcam de algunos portátiles...
-
OFGB, la app para quitar todos los anuncios de Win...
-
HandBrake 1.9: nueva versión del transcodificador...
-
OpenWrt One, disponible el primer router oficial p...
-
La Raspberry Pi Compute Module 5 aterriza para dar...
-
AEAT (Agencia Tributaria) de España víctima del gr...
-
Meta planea instalar un cable submarino de fibra ó...
-
- ► septiembre (Total: 50 )
-
▼
diciembre
(Total:
62
)
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
ClothOff es una app que utiliza inteligencia artificial generativa para desnudar a cualquier persona a partir de fotografías con ropa que...
-
Un agente de IA de Google llamado Antigravity eliminó accidentalmente todos los datos del disco duro de un desarrollador. Después de la eli...
-
A partir de 2026, la validez de los certificados digitales disminuirá gradualmente, pasando de 398 días a 47 días para 2029 . Let's Encr...
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.
Reglas Firewall
Acciones Firewall
- 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).
Floating Rules
Orden de procesamiento
Anti DDoS
- Activar syncookies
- 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)
never pf will never send syncookie SYNACKs (the default).always pf will always send syncookie SYNACKs.adaptive pf will enable syncookie mode when a given percentage ofthe state table is used up by half-open TCP connections,as in, those that saw the initial SYN but didn't finishthe three way handshake. The thresholds for entering andleaving syncookie mode can be specified usingset syncookies adaptive (start 25%, end 12%)
Habilitar syncookies: adaptativo:Inicio (%): 70Fin (%): 30
- Firewall Maximum States
[zone: pf frag entries] PF frag entries limit reached[zone: pf states] PF states limit reached[zone: pf frag entries] PF frag entries limit reached
root@OPNsense:~ # pfctl -smstates hard limit 1609000src-nodes hard limit 1609000frags hard limit 5000table-entries hard limit 2000000
- Firewall Maximum States
- Firewall Maximum Fragments
- Firewall Maximum Table Entries
root@OPNsense:~ # pfctl -smstates hard limit 4000000src-nodes hard limit 4000000frags hard limit 35000table-entries hard limit 4000000
Mbuf Exhaustion
Un problema común al que se enfrentan los usuarios de hardware básico es el agotamiento del mbuf. Para simplificar, los «mbufs» son búferes de memoria de red; porciones de RAM reservadas para ser utilizadas por la red para mover datos.
El recuento de mbufs activos se muestra en el panel de control y se controla mediante un gráfico en Estado > Monitorización.
Ver también: Para obtener más información sobre los mbufs y la supervisión de su uso, consulte Clústeres de mbufs.
Si el cortafuegos se queda sin mbufs, puede producirse un pánico en el núcleo y un reinicio bajo ciertas cargas de red que agoten todos los búferes de memoria de red disponibles. En ciertos casos, esta condición también puede provocar que las interfaces esperadas no sean inicializadas y puestas a disposición por el sistema operativo. Esto es más común con NICs que utilizan múltiples colas o que están optimizados para el rendimiento sobre el uso de recursos.
Además, el uso de mbufs aumenta cuando el cortafuegos utiliza determinadas funciones, como los limitadores.
Para aumentar la cantidad de mbufs disponibles, añada lo siguiente como un Loader Tunable:
kern.ipc.nmbclusters=1000000
O bien:
sysctl kern.ipc.nmbclusters=1000000
En sistemas de 64 bits con varios GB de RAM, 1 millón (1000000) de clusters mbuf es un punto de partida seguro. En caso de que los clusters mbuf se asignen por completo, esto consumiría alrededor de 2,3 GB de memoria física:
1000000 memory buffer clusters available × (2048 KB per cluster + 256 bytes per
memory buffer)
La cantidad de clusters disponibles puede reducirse para sistemas con poca cantidad de RAM física, o incrementarse aún más según sea necesario, siempre y cuando el valor no exceda la memoria disponible.
Firewall Optimization
El modo de optimización controla cómo el firewall caduca las entradas de la tabla de estado:
- Normal: El algoritmo de optimización estándar, que es óptimo para la mayoría de los entornos.
- Alta latencia: Se utiliza para enlaces de alta latencia, como los enlaces por satélite. Caduca las conexiones inactivas más tarde de lo predeterminado.
- Agresivo: Caduca las conexiones inactivas más rápidamente. Uso más eficiente de la CPU y la memoria, pero puede descartar conexiones legítimas antes de lo esperado. Esta opción también puede mejorar el rendimiento en implementaciones de alto tráfico con muchas conexiones, como los servicios web.
- Conservador: Intenta evitar descartar cualquier conexión legítima a costa de un mayor uso de memoria y utilización de la CPU. Puede ser útil en entornos que requieren conexiones UDP de larga duración pero en su mayoría inactivas, como VoIP.
Normal |
High Latency |
Conservative |
Aggressive |
|
|---|---|---|---|---|
tcp.first
First TCP packet
|
60
1min
|
180
3min
|
3600
60min
|
30
30sec
|
tcp.opening
No response yet
|
30
30sec
|
35
35sec
|
900
15min
|
5
5sec
|
tcp.established
Established
|
86400
24h
|
86400
24h
|
432000
5days
|
18000
5h
|
tcp.closing
Half closed
|
900
15min
|
905
15min + 5sec
|
3600
1h
|
60
60sec
|
tcp.finwait
Got both FINs
|
45
45sec
|
50
50sec
|
600
10min
|
30
30sec
|
tcp.closed
Got an RST
|
90
90sec
|
95
95sec
|
180
3min
|
30
30sec
|
tcp.tsdiff
Allowed TS diff
|
30
30sec
|
60
60sec
|
60
60sec
|
10
10sec
|
root@OPNsense:/var/log # pfctl -st
tcp.first 120s
tcp.opening 30s
tcp.established 86400s
tcp.closing 900s
tcp.finwait 45s
tcp.closed 90s
tcp.tsdiff 30s
sctp.first 120s
sctp.opening 30s
sctp.established 86400s
sctp.closing 900s
sctp.closed 90s
udp.first 60s
udp.single 30s
udp.multiple 60s
icmp.first 20s
icmp.error 10s
other.first 60s
other.single 30s
other.multiple 60s
frag 30s
interval 10s
adaptive.start 0 states
adaptive.end 0 states
src.track 0s
Agressive:
root@OPNsense:/var/log # pfctl -st
tcp.first 30s
tcp.opening 5s
tcp.established 18000s
tcp.closing 60s
tcp.finwait 30s
tcp.closed 30s
tcp.tsdiff 10s
sctp.first 120s
sctp.opening 30s
sctp.established 86400s
sctp.closing 900s
sctp.closed 90s
udp.first 60s
udp.single 30s
udp.multiple 60s
icmp.first 20s
icmp.error 10s
other.first 60s
other.single 30s
other.multiple 60s
frag 30s
interval 10s
adaptive.start 0 states
adaptive.end 0 states
src.track 0s
Firewall Adaptive Timeouts
Los
tiempos de espera para los estados se pueden escalar de forma
adaptativa a medida que aumenta el número de entradas de la tabla de
estados.
start
Cuando el número de entradas de estado supera este valor,
comienza el escalado adaptativo. Todos los valores de tiempo de espera se escalan linealmente con
el factor (adaptive.end - número de estados) / (adaptive.end -
adaptive.start).
end
Al alcanzar este número de entradas de estado, todos los
valores de tiempo de espera se convierten en cero, purgando efectivamente todas las entradas de estado
de inmediato. Este valor se utiliza para definir el factor de escala,
no debe alcanzarse realmente
Opciones avanzadas - Límite de conexiones
- Estados máximos
- Nodos de origen máximos
- Máximo establecido (Max established)
- Número máximo de estados de origen (Max source states)
- Máximo de nuevas conexiones (Max new connections)
- Tiempo de espera de estado
max-src-nodes <number>Puede establecer límites de velocidad en las reglas del cortafuegos para:
Limits the maximum number of source addresses which can simultaneously have state table entries.
max-src-states <number>
Limits the maximum number of simultaneous state entries that a single source address can create with this rule.
For stateful TCP connections, limits on established connections (connections which have completed the TCP 3-way handshake) can also be enforced per source IP.
max-src-conn <number>
Limits the maximum number of simultaneous TCP connections which have completed the 3-way handshake that a single host can make.
max-src-conn-rate <number> / <seconds>
Limit the rate of new connections over a time interval. The connection rate is an approximation calculated as a moving averag
- Maximum number of established connections per host (TCP only)
- Maximum number of unique source hosts
- Maximum new connections per host / per second(s) (TCP only)
Alias Firewall
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 |
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
Paso 2 - Configurar una regla de cortafuegos
Rule category: FloatingAction: BlockDirection: AnyTCP Version: IPv4+IPv6Protocol: anyLogging: Active
Paso 3 - Verificación de la nueva regla del cortafuegos
ping -c 3 24.236.0.1
# BL_3coresechttps://blacklist.3coresec.net/lists/all.txt# BL_abusech_feodo_botnet_c2https://sslbl.abuse.ch/blacklist/sslipblacklist.txthttps://feodotracker.abuse.ch/downloads/ipblocklist_recommended.txt# BL_cins_armyhttps://cinsscore.com/list/ci-badguys.txt# BL_cisco_taloshttps://talosintelligence.com/documents/ip-blacklist# BL_dshield_30dhttps://iplists.firehol.org/files/dshield_30d.netset# BL_spamhaus_drophttps://www.spamhaus.org/drop/drop.txthttps://www.spamhaus.org/drop/edrop.txthttps://www.spamhaus.org/drop/dropv6.txt
Creación de un alias para las direcciones IP de Cloudflare
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:
Instalación de restricciones GeoIP en OPNSENSE
Si buscas GeoIP en los documentos, sólo obtendrá resultados con la implementación a través de Suricata. Usar un IPS para GeoIP resulta en dos problemas:
- No se puede mezclar con reglas de firewall ya que el IPS viene primero
- No hay granularidad, por ejemplo, sólo bloquear SMTP de países específicos
Desde aproximadamente 17.7.10 existe la disponibilidad de alias GeoIP con un mecanismo muy sencillo:
Solo tienes que crear un alias, poner los países a permitir o bloquear y añadir una regla. Dentro de las reglas también puedes negar, así que tienes el control total como dentro de pfBlocker, y no tienes que gestionar dobles alias o reglas, está todo ahí.
Fuentes:





















Entrada más reciente
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.