Hacks para Unix-like/Cortafuegos en OpenBSD

Lo primero es entender cómo nos pueden venir los paquetes de información. En nuestro caso, pueden llegar por cuatro interfaces:

-por la interfaz local de retorno (loopback) lo0
-por la interfaz de red externa Ethernet rl0
-por la interfaz de red interna Ethernet para Aulas rl1
-por la interfaz de red interna Ethernet para Administración rl2

A su vez, pueden provenir de cinco orígenes distintos:

-de la propia máquina $iplocal
-de la red externa $ext_red
-de la red de Aulas $aulas_red
-de la red de Administración $admon_red
-de Internet

que son los mismos cinco posibles destinos de los paquetes.

No todas estas combinaciones son legales. Un paquete no puede, por ejemplo, venir por la interfaz externa y tener como origen una máquina de la red interna. Si recibimos un paquete así, nos están intentado engañar. Así que escribimos las reglas que prohíben esos paquetes:

#Dejamos pasar todo el tráfico de la interfaz de retorno
pass quick  on lo0  all
#Bloqueamos cualquier paquete entrante que diga venir de nuestra propia máquina
block  on { rl0 rl1 rl2 }  from $iplocal  to any
#Bloqueamos cualquier paquete entrante por la interfaz de red de aulas que diga venir de otro sitio, y lo mismo para la red de administración
block  on rl1  from ! $aulas_red to any
block  on rl2  from ! $admon_red to any
#Bloqueamos cualquier paquete entrante por la interfaz externa que diga venir de la red interna
block  on rl0  from { $aulas_red $admon_red }
#No hay que bloquear paquetes de salida, porque nuestra máquina nunca los enviará incorrectamente.