¿QUE ES PFSENSE? PfSense es un software libre licenciado bajo la licencia BSD, basado en el sistema operativo FreeBSD y adaptado a asumir el papel de un firewall y/o enrutador de redes. Además, se cuenta actualmente con decenas de paquetes adicionales que le permiten solicitar la posición de UTM. La UTM (Unified Threat Management) es teóricamente una evolución del firewall tradicional, uniéndose a ejecutar varias funciones de seguridad en un solo dispositivo: firewall, prevención de intrusiones, antivirus de red, VPN, filtrado de contenido, equilibrio carga y reportes informativos y de gestión de la red.
ESCENARIO Este tutorial está destinado a describir la instalación de pfSense con un servidor proxy, que sirve para restringir acceso a páginas web desde la red LAN, de acuerdo al escenario que se muestra en la Figura 1.
Figura 1. Escenario de instalación
REQUISITOS MÍNIMOS DE HARDWARE De acuerdo con el sitio http://www.pfsense.org los requisitos mínimos para una instalación normal en el disco duro son: o
CPU - Pentium 100 MHz
o
RAM - 128 MB
o
CD-ROM para la instalación inicial
o
1 GB de disco duro
o
2 tarjetas de red habilitadas
Para este ejemplo utilizaremos la aplicación libre Virtualbox y de manera virtualizada haremos funcionar el firewall PfSense. Para configurar la máquina virtual solamente haremos énfasis en la configuración específica para el firewall PfSense, tomando en cuenta los requisitos listados anteriormente
DESCARGA DE LA IMAGEN PFSENSE Para
descargar
PfSense
en
la
versión
2.0.2,
visite
la
siguiente
dirección:
http://www.pfsense.org/mirror.php?section=downloads y elija el espejo de su preferencia. Si el procesador del equipo donde se instala el servidor de seguridad es 32 bists, se requerirá descargar la imagen i386, si el procesador es la arquitectura de 64 bits se puede descargar e instalar utilizando la imagen de i386, sin embargo, es recomendable descargar el imagen amd64 bits. Después
de
descargado
el
archivo
pfSense-2.0.2-RELEASE-LiveCD-i386.iso.gz
lo
descomprimimos para obtener el archivo pfSense-2.0.2-RELEASE-LiveCD-i386.iso. Una vez descomprimido simplemente grabamos la imagen en un CD o DVD en blanco para instalar en una PC normal o solamente lo guardamos en una carpeta para ser utilizado con nuestra máquina virtual de Virtualbox .
CONFIGURAR LA MAQUINA VIRTUALBOX Luego de creada la máquina virtual con los requisitos antes mencionados, configuramos en el apartado de Almacenamiento la unidad de CD/DVD virtual para que inicie la instalación con la imagen que hemos descargado. Según se muestra en la imagen 2
Imagen 2. Configuración de la unidad de almacenamiento virtual
Otra configuración que haremos es la de los adaptadores de red, nuestro firewall tendrá acceso tanto a la red LAN como a la WAN por medio de las tarjetas de red. Para este ejemplo utilizamos una tarjeta inalámbrica (interfaz WAN) y la tarjeta Ethernet (interfaz LAN). Como se muestra en las siguientes configuras:
Imagen 3. Configuración del adaptador 1
Imagen 4. Configuración del adaptador 2
INSTALACION DE PFSENSE Después de observar los requisitos de hardware y configurar nuestra máquina virtual, la instalación puede comenzar. Iniciamos la máquina virtual y aparecerá una pantalla, presionamos Enter para entrar al arranque dafault, como se muestra en la Figura 5.
Figura 5. Pantalla de arranque de PfSense.
En este momento se debemos estar atentos, porque en la siguiente pantalla debemos presionar i para instalar pfSense, como se muestra en la figura 6.
Figura 6. Pantalla de opción de instalación pfSense.
El instalador de pfSense nos da la opción de cambiar algunos ajustes sobre el hardware, pero la instalación por defecto sugerido funciona a la perfección, así que aceptamos esta configuración y pulsamos Enter.
Figura 7. Aceptación de las configuraciones de hardware estándar
Instalamos mediante la opción Quick/Easy Install como se muestra en la Figura 8.
Figura 8. Tipo de instalación
En la siguiente pantalla muestra un mensaje que indica que si la instalación continúa, se eliminarán los datos del disco duro. Como es una instalación nueva, no nos preocupan los datos del disco duro virtual. Presionamos Enter en la opción OK.
Figura 9. Formateo del disco duro
En la siguiente pantalla pfSense ofrece la opción de personalizar el kernel. Pero instalamos con el kernel predeterminado.
Figura 10. Opciones de configuración del kernel
Ahora la instalación está casi terminada, dejando sólo reiniciar el equipo, como se muestra en la siguiente figura. Nota: en este punto debemos quitar la unidad de DVD. Como lo estamos trabajando en una máquina virtual, luego de apagada ésta, desmontamos el archivo ISO en las opciones de Almacenamiento de la virtual, según se muestra en la figura 12.
Figura 11. Finalización de la instalación
Figura 12. Eliminación del disco de la unidad virtual
CONFIGURACION DE LAS INTERFACES DE RED Después de que el equipo finalice la instalación y se reinicie la unidad virtual pfSense, mostrará las tarjetas de red disponibles, en este caso las placas son em0 y em1, estas clasificaciones pueden variar. Tras iniciar el pfSense pregunta si desea configurar VLANs, este caso no las vamos a configurar. Presionamos “n” seguido de Enter.
Figura 13. Configuración inicial pfSense.
Ahora debemos indicar qué tarjeta de red usaremos para la red WAN. Escribimos “em0” y presionamos Enter. Seguidamente nos solicita indicar la tarjeta para la red LAN. Tecleamos “em1” y presionamos Enter. Presionamos Enter de nuevo para finalizar esta parte. PfSense nos mostrará cómo se asignarán las interfaces y confirmamos con “y”, como muestra la siguiente imagen.
Figura 14. Configuración de tarjetas y confirmación de la configuración.
Ahora PfSense nos mostrará un texto de bienvenida y las opciones que siempre tendremos en el modo de consola. También se nos indica la versión del firewall que estamos usando.
Figura 15. Pantalla de bienvenida de PfSense en modo consola
Para tener acceso vía web desde otra PC, debemos
configurar las IP’s con que se
identificarán las interfaces de red. Seleccionamos la opción 2 y se nos mostrarán las interfaces disponibles. Ahora con la opción 1 indicamos la red WAN
Figura 16. Configuración de la interface WAN
Vamos a dejar las interfaces en redes diferentes. Escribimos “n” para deshabilitar el DHCP. Asignamos la IP 192.168.1.2 (la red de la interfaz inalámbrica se encuentra en este rango) y una máscara de 24 bits. Luego escribimos “y” para el protocolo HTTP.
Figura 17. Configuración IP de la red WAN
Ahora configuramos la interfaz LAN de nuestro firewall, elegimos las opciones 2 y luego 2, según la siguiente imagen
Figura 18. Configuración de la interface LAN
A esta red asignamos la IP 192.168.2.1 con una máscara de 24 bits. En la opción DHCP escribimos “y” para habilitarlo y escribimos el rango de direcciones IP para asignar a los clientes. En la siguiente opción escribimos “y” para configurar el protocolo web HTTP y luego presionamos Enter para finalizar esta configuración.
Figura 19. Configuración IP de la red LAN
ACCESO VIA WEB Hasta aquí llegamos con la instalación y configuración del firewall en modo de consola. A partir de ahora podemos conectar otras PC’s por medio de un switch a la tarjeta LAN y tendremos acceso a la interface gráfica del firewall para configurarlo según nuestros requerimientos de acceso a internet. Podemos comprobar si el firewall nos asigna una IP del rango que hemos elegido haciendo una prueba de ipconfig/ifconfig y una prueba de ping al 192.168.2.1 Si todo es correcto, abrimos el navegador y en la dirección escribimos la IP que identifica a nuestra red LAN, como se muestra en la siguiente imagen. El usuario es “admin” y la contraseña por defecto es “pfsense”.
Figura 20. Acceso PfSense via web
Lo primero que nos va aparecer es un asistente para que configuremos los parámetros iniciales del firewall. También podemos acceder al asistente en el Menú System, Setup Wizard. Hacemos click en el botón Next para ir avanzando en las opciones. Definimos un nombre de host y un dominio para darle un nombre a nuestro firewall. Indicamos los servidores DNS que tenemos asignados con nuestro ISP. Este paso es importante obtener resolución de nombres de dominio, como se muestra en la siguiente imagen.
Figura 21. Información general PfSense
En la siguiente pantalla indicamos nuestra ubicación. En el servidor de hora dejamos el que nos sugiere por defecto.
Figura 22. Ubicación global
En la siguiente pantalla configuramos la interface WAN. En el modo de consola habíamos configurado para que la IP sea estática. Verificamos que esté en este modo y asignamos la IP con el Gateway como se muestra en la figura 23.
Figura 23. Configuración WAN via web
En el siguiente paso verificamos la IP de la red LAN y la máscara de red
Figura 24. Configuración de interface LAN via web
En la siguiente pantalla podemos cambiar la contraseña que el firewall tiene por defecto
Figura 25. Cambio de contraseña
Para finalizar chacemos click en Reload para guardar todos los cambios que hayamos hecho al firewall
Figura 26. Guardar cambios de configuración
INSTALACION DEL SERVIDOR PROXY Para establecer los permisos de acceso a internet instalamos el complemento llamado squid en nuestro firewall. En el menú gráfico vamos a System, Packages, como muestra la siguiente imagen:
Figura 27. Acceso a los complementos
En la pestaña Available Packages buscamos el paquete squid y hacemos click en el botón con el sigmo “+” que aparece al lado derecho. Según muestra la figura 28.
Figura 28. Instalación del paquete squid
Cuando haya terminado de instalar el paquete, nos va aparecer una nueva opción en el menú Services llamada Proxy server. Al entrar a esta opción y en la pestaña General seleccionamos la interface LAN. Activamos las opciones, Activamos Enable logging para guardar un historial e indicamos un directorio de registros. También podemos configurar el puerto por el que podrán conectarse los clientes.
Figura 29. Configuración del Proxy server
En la pestaña Access control podemos agregar direcciones para formar una lista negra y una lista blanca. Estas son excepciones a las reglas que se habrán definido. Podemos ver un ejemplo en la siguiente imagen
Figura 31. Control de acceso en el Servidor proxy
Si el usuario intenta entrar a una página que ha sido restringida, se le muestra el siguiente error:
Figura 32. Denegación de acceso web por el Servidor proxy
CONFIGURACION DEL 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.
Figura 33. Configuración del 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. Después de estar en portal cautivo lo activamos, seleccionando la Pestaña Enable captive portal para comenzar con la configuración básica. Las opciones que vamos a utilizar son las siguientes: Interfaces: Habilitamos las interfaces por donde correrá nuestro portal cautivo. Hard timeout: Decimos el tiempo en que la persona tiene permitido estar conectada a internet. Redirection URL: En esta opción definimos a donde es que queremos que sea la página de inicio de nuestro usuario después de autenticado. MAC filtering: Deshabilitamos el filtrado por MAC para que los usuarios puedan loguearse solo con ingresar, o solo con una contraseña. Authentication: Seleccionamos Local User Manager / Voucher Authentication error page contents: Ingresamos lo que debe aparecer si hay un error de autenticación. Per-user bandwidth restriction: El Portal cautivo restringe el ancho de banda para cada usuario conectado.
La siguiente es la ventana de autenticación del Portal cautivo que se muestra a cada usuario cuando se conecta a internet.
Figura 34. Autenticación en el Portal cautivo