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.