La regla programada de OPNSense Firewall no funciona

La regla programada de OPNSense Firewall no funciona

Creé un cronograma para el acceso a Internet para una máquina virtual (10.0.64.43/27), la regla está implementada en una interfaz WAN pero no parece funcionar. El acceso a Internet se permitirá entre las 21:30 y las 21:45 todos los lunes, jueves y domingos, pero el VM tiene acceso a Internet todo el tiempo.

Cronograma -https://i.ibb.co/qm5FCMF/Schedules.png

Regla WAN -https://i.ibb.co/TgxLTY7/WAN-Rules.png

Regla ineficaz -https://i.ibb.co/QcBzVpD/Schedule-Failure.png

¿Podría ser que se esté aplicando NAT a la red 10.0.64.0/27 antes de que los paquetes lleguen a la WAN y, por lo tanto, la regla no sea efectiva?

¿Alguna idea de lo que podría estar mal en este caso?

ACTUALIZAR

Me costó entender la entrada y la salida del firewall en relación con el origen y el destino.

Lo que entendí lo implementé, pero solo una parte de la regla programada es efectiva, la red 192.168.28.0 tiene un acceso a Internet programado y funciona bien.La red 10.0.64.0 no parece ser efectiva.

Toda la red con ruta de Internet para la VM del cliente.https://i.ibb.co/9gHG3y3/Dell-Network.png

Tracert del cliente (192.168.1.21 es la interfaz 1_delly192.168.47.2 es la red NAT en VMware Workstation) -https://i.ibb.co/PG8YKs5/W10-Tracert-Internet.png

Cronograma -https://i.ibb.co/JFqL03v/Schedule.png

Servidor sin Internet según lo programado -https://i.ibb.co/HVbMPcv/Server-No-Internet.png

Alias ​​para redes RFC1918 -https://i.ibb.co/9HXZ7t0/RFC1918.png

Regla de Internet para 10.0.64.32 /27 -https://i.ibb.co/9Wn5RQv/firewallwm-RFC1918.png

Internet todavía accesible -https://i.ibb.co/TB7jRhd/W10-Internet.png

Regla WAN -https://i.ibb.co/YN28rzs/firewallwm-WAN-Rule.png

No estoy seguro si mi regla es incorrecta o es un problema técnico que no entiendo cómo implementarla.

Respuesta1

Hay una regla predeterminada para"dejar salir cualquier cosa del servidor del firewall"puedes consultar enFlotantereglas del cortafuegos.

Su regla simplemente indica que se permita el tráfico en un intervalo de tiempo específico. Además, lo has configurado como "primer partido". El firewall funciona así con tu regla:

  1. Comprueba tu condición para aplicar la regla (horario, origen, destino y puerta de enlace en tu caso)
  2. Si se cumple la condición, permita el tráfico y detenga las reglas de procesamiento.
  3. Si no se cumple la condición, continúe procesando las reglas.
  4. Eventualmente procesará la opción "dejar salir cualquier cosa del servidor del firewall" permitiendo el tráfico.

Por lo tanto, su firewall nunca bloqueará el tráfico, solo permitirá "otra vez".

Para solucionar esto, cambie el horario para que tenga 2 intervalos: 00:00 to 21:29y 21:46 to 23:59. También cambie la acción de la regla del firewall a blocko reject.

De esta forma habrá una regla para bloquear el tráfico.

Respuesta2

Así que estoy agregando una respuesta no para competir con Eduardo, quien respondió muy bien a esta pregunta, sino para explicar las opciones con el formato adecuado.

entonces, como comentamos, una regla con un cronograma solo estará activa cuando la hora actual caiga dentro del tiempo que define el cronograma. A los horarios no les importa bloquear o permitir.

Además, tenga en cuenta que tiene una regla de permiso predeterminada que permite todo el tráfico ( ALLOW From Any To Any on Any Port using Any Protocol at Any Time). Si desea cambiar la forma en que se procesa el tráfico, solo puede hacerlo utilizando una regla de bloqueo y debe aparecer antes de la regla predeterminada. Ningún tipo de regla Permitir podría cambiar la forma en que se produce el procesamiento, ya que todo está permitido. el resultado final será idéntico, independientemente de qué regla procesó el tráfico.

Hay dos maneras de hacer lo que quieras.

Esto es lo que sugirió Eduardo. Es un gran enfoque si puedes poner dos períodos de tiempo en un solo cronograma. Bonito y limpio.

Block From <VMSubnet> To Any on Any Port using Any Protocol at 00:00:00 - 21:29:59 or 21:45:00 - 23:59:59
ALLOW From Any To Any on Any Port using Any Protocol at Any Time
  • SI el tráfico proviene de una IP que no es de VM, está permitido (regla predeterminada)
  • SI el tráfico proviene de una IP de VM a las 22:50, está bloqueado (regla de programación)
  • SI el tráfico proviene de una IP de VM a las 21:35, está permitido (regla predeterminada)

El otro enfoque es agregar una regla de bloqueo, que bloquea todo el tráfico de las máquinas virtuales en todo momento, y una regla de permiso que lo permite durante la ventana programada. En ese caso, su horario sería solo de 21:30 a 21:45.

Allow From <VMSubnet> To Any on Any Port using Any Protocol at 21:30:00 - 21:45:00    
Block From <VMSubnet> To Any on Any Port using Any Protocol at Any Time
ALLOW From Any To Any on Any Port using Any Protocol at Any Time
  • SI el tráfico proviene de una IP que no es de VM, está permitido (regla predeterminada)
  • SI el tráfico proviene de una IP de VM a las 21:31, está permitido (regla programada)
  • SI el tráfico proviene de una IP de VM a las 22:15, está bloqueado (regla de bloqueo)

Espero que ayude a aclararlo.

información relacionada