Caso Practico Pfsense
Caso Practico Pfsense
Caso Practico Pfsense
html
Caso-Estudio
Objetivos
Balanceo de carga de las ADSL
Las comunicaciones peer-to-peer (P2P)
FTP-Proxy Helper
DMZ (zona desmilitarizada)
Estados y diagnósticos
Objetivos
• Aislar física y lógicamente las redes dedicadas a servidores, profesorado, alumnos i
sin hilos (wireless). Seguridad de dentro a dentro.
• Regular las comunicaciones entre las distintas redes locales y de las redes locales a
Internet. Seguridad de dentro a dentro y de dentro a afuera.
• Aprovechar el caudal de las tres ADSL de que se dispone, a poder ser de forma
automática. Balanceo de carga.
• Aumentar la seguridad en los servicios que tenemos en Internet. Seguridad de afuera
a dentro.
• Poder tener una red sin hilos (wireless) abierta.
• Utilizar un hardware no basado en disco duro, que no requiera protección con un SAI
de apagado y puesta en marcha automáticos.
• Poder configurar todos los dispositivos de la red (ordenadores, impresoras, puntos de
acceso, ...) mediante DHCP estático, es decir, asignándoles una dirección IP en
función de su dirección MAC.
• Control del uso de aplicaciones P2P.
FTP-Proxy Helper
Se trata de una funcionalidad de Packet Filter (PF), que permite que la propia máquina
(127.0.0.1) haga de intermediario (proxy) para las conexiones FTP. De esta manera queda
obviado el problema de que un cliente FTP opere con el servidor no sólo por el puerto 21 si
no también con un puerto dinámico, que está por encima del 1023 y que se confunde a la vez
con un acceso P2P.
Desgraciadamente FTP-Proxy Helper tampoco es multiWAN, lo que se traduce en que
siempre sale/entra por la puerta de enlace por defecto que tenga nuestro pfSense. Es por
ello que en el esquema anterior se puede ver que sólo ha sido activado para la red Alumnes,
al igual que ALTQ.
Si tienes más curiosidad a cerca de cómo funciona FTP-Proxy Helper visita
http://www.openbsd.org/faq/pf/ftp.html#client
INSTALACIÓN pfSense.
Preparativos
Antes de la implantación definitiva de pfSense se tuvieron que hacer los siguientes cambios
en la red:
• Dividir el cableado existente en seis redes físicas. Ello se hizo pasando algunos cables
más del armario secundario al armario primario, instalando más concentradores
(switch) en ambos armarios y cambiando el conexionado de equipos en los armarios.
No hay más de dos concentradores encadenados (tal como estaba antes de los
cambios).
• Adoptar DHCP en todos los ordenadores clientes. Ello se hizo activando
provisionalmente DHCP en uno de los routers ADSL.
• Cambiar todos los procesos por lotes (archivos BAT y CMD en Windows, scripts de
shell en máquinas Unix/Linux) que empleaban direcciones IP locales, poniendo su
correspondiente nombre de máquina.
• Cambiar todos los puertos de impresora que estaban por dirección IP local, poniendo
su correspondiente nombre de máquina.
• Asegurarse que el DNS local resuelve correctamente todos los nombres de máquina.
• Asegurarse que el archivo hosts de las máquinas sólo contiene la línea: 127.0.0.1
localhost. Es decir, que no se emplea para resolver nombres de máquina, excepto
localhost.
• Cambiar la configuración proxy de los navegadores de Internet, poniendo la
configuración automática http://www.dominio.ejemplo/proxy.pac.
• Deshabilitar el acceso sin hilos de todas las impresoras que tienen esta funcionalidad,
dejando sólo el acceso por red cableada.
Hardware utilizado
Descarga de pfSense
Se puede ir a la web oficial www.pfsense.org, pero hay otros repositorios con configuraciones
ajustadas.
Así, en http://shopping.hacom.net/catalog/pub/pfsense/ se encuentran versiones preparadas
según la unidad que reconoce pfSense para la Compact Flash y según su tamaño.
Configuración base
Acceso a la interfase web
[System] [General Setup]
[System] [Advanced functions]
[Interfaces] [Assign]
[Interfaces] [LAN]
[Interfaces] [WAN]
[Interfaces] [WAN1]
[Interfaces] [WAN2]
[Interfaces] [Alumnes]
[Interfaces] [Wireless]
Guardar la configuración
[Interfaces] [WAN]
Asignaremos a la WAN (puerta de enlace por defecto de nuestro cortafuegos) una IP estática
(192.168.AAA.2), indicaremos cuál es su puerta de salida (192.168.AAA.1, IP privada del
router ADSL) y le desactivaremos FTP-Proxy Helper. Observemos que empleamos como
máscara de esta red 29 bit (255.255.255.248), ya que tenemos un proxy en 192.168.AAA.3.
[Interfaces] [WAN1]
Activamos la interfase opcional 1, le ponemos por nombre WAN1, le asignamos una IP
estática (192.168.BBB.2), indicamos cuál es su puerta de salida (192.168.BBB.1, IP privada
del router ADSL) y le desactivamos FTP-Proxy Helper. Observemos que empleamos como
máscara de esta red 30 bit (255.255.255.252), de tal forma que entre esta interfase y el
router ADSL es imposible poner nada más.
[Interfaces] [WAN2]
Seguimos los mismos pasos (que para WAN1) para la interfase opcional 2, a la que
llamaremos WAN2, le asignamos una IP estática (192.168.CCC.2), indicamos cuál es su
puerta de salida (192.168.CCC.1, IP privada del router ADSL) y le desactivamos FTP-Proxy
Helper.
[Interfaces] [Alumnes]
La interfase opcional 4 es la de la LAN de Alumnes. Le pondremos la dirección estática
192.168.YYY.1, con máscara de 24 bit (255.255.255.0). No le tenemos que poner una puerta
de enlace, ya que son las reglas del cortafuegos las que definen a través de que WAN
(WAN, WAN1 o WAN2) va el tráfico. Además, aquí dejaremos activado FTP-Proxy Helper.
[Interfaces] [Wireless]
Finalmente, la interfase opcional 3 la destinaremos a la red sin hilos (wireless), con FTP-
Proxy Helper desactivado:
Guardar la configuración
Se aconseja ir a menudo a [Diagnostics][Backup/Restore][Remote] y guardar (download) la
configuración. Genera un archivo XML a guardar. Además, el nombre de este archivo queda
serializado con la fecha/hora, por lo que en caso de problemas puede ser muy útil recuperar
la última configuración buena conocida.
Piensa que el archivo XML puede contener información delicada (llaves privadas SSL,
contraseñas, estructura de nuestra red, ...) y conviene guardarlo en lugar seguro.
También hay que tener en cuenta que haciendo pruebas nos podemos encontrar con algunas
configuraciones de comportamiento errático por lo que, ante la duda, más vale recuperar la
configuración que sabemos que funcionaba correctamente.
Alias
[Firewall] [Aliases]
Puede ser un alias un puerto, un grupo de puertos, una dirección IP o un grupo de
direcciones IP, toda una red o un grupo de redes.
Los alias no sólo ahorran escritura al configurar las reglas del cortafuegos. También permiten
realizar cambios de forma mucho más fácil, al actuar como parámetros.
Un alias definido puede emplearse o no. Si un alias es empleado en alguna de las reglas del
cortafuegos, pfSense no permite eliminarlo. A continuación se dan una serie de alias como
ejemplo:
Si se desea, se pueden configurar reglas destinadas a bloquear el acceso al proxy, con el fin
de forzar las conexiones de determinados clientes de forma directa. Por tanto, no hay que
perder de vista que proxy.pac y las reglas del cortafuegos actúan conjuntamente.
¡Vamos allá, pues! A las reglas de cada una de las seis interfases ...
[Firewall] [Rules] [LAN]
[Firewall] [Rules] [WAN]
[Firewall] [Rules] [WAN1]
[Firewall] [Rules] [WAN2]
[Firewall] [Rules] [Alumnes]
[Firewall] [Rules] [Wireless]
Si queremos "cerrar" la red a nuevas máquinas habrá que activar una de estas dos casillas
de verificación:
Deny unknown clients. En este caso sólo se asignan direcciones IP para las máquinas que
figuran en la lista de direcciones MAC que hay al final de la pantalla. Se permite el resto de
comunicaciones con el cortafuegos.
Enable static ARP entries. Sólo las máquinas que figuren en la lista de direcciones MAC
podrán comunicarse con el cortafuegos. A pesar de que un hacker podría llegar a falsear una
dirección MAC esta opción es mucho más segura que la anterior.
¡Cuidado con "cerrar" las redes si no se han incluido todas las máquinas! Si hay máquinas
que no funcionan por DHCP habrá que mirar su dirección MAC (orden ipconfig /all en
Windows y ifconfig en Unix/Linux) y entrarlas manualmente en la lista.
[Services] [DHCP Server] [Alumnes]
De forma similar a la red LAN, activaremos DHCP en la red Alumnes y "capturaremos" sus
direcciones MAC para que cada máquina trabaje siempre con la misma dirección IP.
Portal cautivo
Yendo a [Services] [Captive portal] podemos configurar la forma en que los usuarios de una
red entran a navegar por Internet. A esta prestación se le llama portal cautivo.
El portal cautivo admite desde sencillas configuraciones donde sólo aparece una página de
información al usuario hasta distintos sistemas de validación.
Se muestra aquí cómo habilitar el portal cautivo para la red sin hilos (wireless) con una
página de información al usuario, sin autentificación y con un tiempo máximo de conexión de
30 minutos.
El código HTML cargado en Portal page contents es:
<html>
<head>
<title>wireless.dominio.ejemplo</title>
</head>
<body>
<h1><font face="Arial">wireless.dominio.ejemplo</font></h1>
<p><font face="Arial">Has entrado en nuestra red sin hilos (wireless).</font></p>
<p><font face="Arial">Esta red es un servicio público de libre acceso. Como medida legal y
de seguridad, <b>todas las conexiones que realices serán registradas y guardadas durante
un tiempo prudencial en nuestros servidores</b>.</font></p>
<p><font face="Arial">En caso de producirse algún problema legal con el uso de esta red nos
reservamos el derecho de entregar los registros de las conexiones realizadas a las
autoridades competentes.</font></p>
<p><font face="Arial">En bien de todos/as, haz un buen uso de este servicio ...</font></p>
<p><font face="Arial">¡Gracias!</font></p>
</body>
</html>
es decir, que lo que ve el usuario cuando entra por primera vez a su navegador es: