Hacks para Unix-like/Cortafuegos en OpenBSD

De Wikilibros, la colección de libros de texto de contenido libre.

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.