PFsense como firewall perimetral

Biblioteca enigma, sección de libros de consulta general en diferentes formatos
Avatar de Usuario
Enigma
Administrador del Sitio
Administrador del Sitio
Mensajes: 1268
Registrado: 20 Oct 2013, 16:26
Genero: Mujer
Profesion: Webmaster CEO SEO
Ubicacion: Matrix
Navegador: Chrome
Contactar:

PFsense como firewall perimetral

Mensaje sin leer por Enigma » 09 Nov 2014, 11:34

PFsense como firewall perimetral

En este primer artículo vamos a explicar la instalación de este firewall basado en FreeBSD (), así como las múltiples opciones de instalación de paquetes que contiene. PFsense deriva de otra distribución anterior llamada monowall, más centrada en instalación de equipos embebidos (se ejecuta por completo en memoria RAM), ya que PFsense se puede instalar prácticamente en cualquier PC y tiene la capacidad de poder ser instalado en un disco duro.

Entre las funciones más destacables de PFsense se encuentran:

Firewall: Filtrado (por IP, protocolo, puerto etc…), Limitación de conexiones, enrutamientos por regla, creación de alias.
Tabla de estado: informa del estado de los servicios y conexiones.
NAT (Network Address Translation): con cuatro tipos de configuraciones.
Multi-WAN: Se pueden agregar varias conexiones de Internet con diferentes proveedores para poder usar balanceo de carga, usándose para distribuir equitativamente el ancho de banda o utilizar otra conexión en caso de que un ISP falle.
Servidor VPN: con OpenVPN, IPsec o PPTP.
PPPoE Server.
Gráficos RDP.
Soporte de DNS dinámico.
Servidor DHCP.
Portal cautivo, servidor Radius, Proxy Squid, IDS/IPS Snort etc.

Pfsense soporta la instalación de diversos addons que le aportan gran variedad de utilidades. Tanto PFsense o cualquier distribución basada en OpenBSD usa en el corazón de su firewall Packet Filter (PF), a diferencia de los sistemas con kernel de linux, que usan IPtables. La diferencia a grandes rasgos es que PF es mucho más rápido, pero IPtables tiene características más avanzadas en su configuración, que en este caso pueden ser prescindibles.

La configuración de PFsense se puede hacer íntegramente por HTTP, aunque siempre podemos configurar más a fondo el sistema desde el propio terminal, por ejemplo conectando por SSH. Se puede descargar o bien una imagen ISO o bien una imagen preparada para utilizar en compact flash. Para el ejemplo de este post hemos descargado la imagen ISO.

Para la instalación voy a usar una máquina virtual con VMware. La Opción de instalar el Sistema Operativo desde una imagen ISO:

Código: Seleccionar todo

https://www.pfsense.org/download/index.html
Para la instalación voy a usar una máquina virtual con VMware. La Opción de instalar el Sistema Operativo desde una imagen ISO

En la configuración asignamos 1 Gb de RAM, 20 Gb de disco duro y 3 interfaces de red una WAN (la que se conecta directamente a Internet) y dos más, una para una red interna más protegida y otra para una zona DMZ donde habrá servidores web accesibles desde Internet

Imagen

En Edit-> Virtual Network Editor creamos las 3 interfaces y aplicamos un rango a todas menos a la primera (vmnet0), ya que ésta se conecta directamente a internet a través de wlan0 (la interfaz inalámbrica del equipo anfitrión), para vmnet1 (192.168.1.0/24) y para vmnet2 (192.168.2.0/24):

Imagen

Ahora se asocian las interfaces creadas para la máquina virtual con las interfaces vmnet creadas en el editor virtual, mediante “Edit virtual machine settings”, quedando de la siguiente forma:

Imagen

na vez está la máquina virtual configurada la encendemos. En el primer menú presionamos enter para efectuar el arranque por defecto. Poco después nos aparecerá la opción de instalar, para ello pulsamos “I”:

Imagen

Una vez finalizada la instalación, se puede deshabilitar el arranque desde imagen ISO y reiniciar la máquina virtual. Una vez hecho, el sistema empezara preguntandonos por la configuración de las interfaces de red.

Imagen

En este caso se puede ver que ha reconocido 3 interfaces. La configuración de las VLANs de momento no la vamos a efectuar, por tanto pulsamos “n”. Ahora nos pregunta por las interfaces físicas, y asignamos cada una a emX, siendo X=0,1 o 2:

Imagen

Ya tenemos nuestra interfaz WAN asignada a em0, y las otras dos interfaces a em1 y em2.

Imagen

En el menú principal escogemos la opción de asignar IP a las otras dos interfaces (opción 2):

Imagen

Quedando de la siguiente manera:

Imagen

A partir de ahí, basta con acceder a nuestro firewall desde el navegador poniendo

Código: Seleccionar todo

http://192.168.1.2
o

Código: Seleccionar todo

http://192.168.2.2
dependiendo desde la interfaz de red desde la que estamos accediendo. En el próximo artículo explicare la configuración avanzada de todo el sistema de PFsense y más adelante veremos las opciones y aplicaciones que se pueden añadir.

Para acceder solo debemos poner en el navegador

Código: Seleccionar todo

http://192.168.1.2
e introducir las credenciales por defecto. Usuario “admin” y Password “pfsense”.

Nos aparecerá una ventana como esta:

Imagen

La primera vez que se entra, se accede a un “Wizard”, es decir a una configuración paso a paso:

Imagen

La primera parte es donde se configuran las direcciones de los Servidores DNS, el nombre de la máquina y el nombre del dominio, en este caso se configura con las DNS de Google.

El dominio llamado en este caso “mired”, facilita mucho las cosas a la hora de acceder a un equipo, ya que podemos comunicarnos por ejemplo con un equipo llamado “oficina”, poniendo únicamente oficina.mired, o en este caso para acceder a pfsense en lugar de poner

Código: Seleccionar todo

http://192.1681.2
se puede poner

Código: Seleccionar todo

http://pfsense.mired
Imagen

En esta misma página de configuración existen otras opciones que en este caso no nos hacen falta como es la configuración PPOE. En el caso de que queramos conectar un router en modo “bridge”, es decir que tenga NAT deshabilitado y todo el tráfico vaya directo hacia el firewall pfsense, pero este no es el caso.

Por último la sincronización de la hora y fecha del equipo se hace a través de un servidor ntp, podemos elegir la zona horaria.

Seguidamente, una vez que procedemos a dar “next” se pasa a la configuración de las interfaces previamente seleccionadas antes en la configuración.

La primera interfaz (WAN), la interfaz que se conecta a internet (vinculada a la interfaz wlan0 del anfitrión), está configurada por DHCP, siempre se podrá configurar de forma estática, simplemente deberá coincidir con el rango de esta red (

Código: Seleccionar todo

192.168.0.0/24
).

En la configuración general es importante incluir la dirección MAC de la interfaz WAN, es decir en este caso la MAC de wlan0. Si pfsense estuviera conectado a un router, deberíamos poner la MAC de la boca de red a la que está conectada el router, para evitar posibles ataques de tipo “spoofing”.

Imagen

En la parte de abajo aparece una opción llamada “Block logonnetworks”, si esta opción está activada, se bloquearán redes a través de la interfaz WAN que sean de tipo privado, es decir, no dejará que una dirección IP de fuera del tipo

Código: Seleccionar todo

10.0.0.0/8
,

Código: Seleccionar todo

172.16.0.0/12
,

Código: Seleccionar todo

192.168.0.0/16
, y

Código: Seleccionar todo

169.254.0.0/16
, entre a través de WAN.

Imagen

Configuración de la red interna:

Imagen

El último paso es cambiar la clave de acceso web, algo muy recomendable.

Al terminar la configuración, pfsense muestra una “Dashboard”, donde se muestra un resumen de la configuración, de la carga de CPU y memoria utilizada y el estado de las interfaces de red.

Imagen

La manera más habitual de acceder a estas configuraciones es a través del navegador. Es importante que al acceder al navegador lo hagamos de manera segura (por https), para ello ya existe un certificado creado por defecto en nuestro pfsense, pero es recomendable que nos creemos uno nosotros, para ello se accede al siguiente bloque:

Código: Seleccionar todo

   system –> cert manage
En esta pestaña CAs crearemos primero la CA, llamada “my_cert”

Imagen

Ahora con esta CA podemos crear un certificado llamado “mycert”, en la pestaña Certificates:

Imagen

Con el certificado ya creado, lo podemos usar en las configuraciones de acceso de administrador:

Código: Seleccionar todo

   system -> advanced -> admin access
En la sección web configurator elegimos protocolo https, mi certificado (“mycert”) y un puerto diferente al 443, por ejemplo 10443.

Max processes pondremos un valor de 1, ya que solo queremos que a la configuración vía https acceda una sola persona a la vez.

WebGUI redirect debe estar marcado para deshabilitar la escucha por el puerto 80, a la vez que escucha por el 10443, ya que solo se quiere acceso exclusivo por https.

WebGUI Login Autocomplete se selecciona para deshabilitar el autocompletado por parte del navegador ya que es preferible que éste no guarde las credenciales por seguridad.
Las demás opciones se dejan por defecto.

Imagen

Ahora una vez guardados los cambios ya se puede acceder al navegador con la URL

Código: Seleccionar todo

https://192.168.1.2:10443/
Sección secure shell

Activamos el acceso por ssh a través del puerto 10022

Imagen

En Console menú seleccionamos la opción de que pida password al acceder a la consola y configuración desde el equipo local (serán las mismas credenciales que usamos para acceder con el navegador). Para configurar las opciones del Firewall y NAT accedemos al siguiente bloque:

Código: Seleccionar todo

   system -> advanced -> Firewall NAT
Sección Firewall Advanced

Existen 4 tipos de optimización:

Imagen

Normal: optimización equilibrada.

Alta latencia: para conexiones lentas, como las satelitales.

Agresiva: las conexiones inactivas expiran más rápido, mayor eficiencia en el uso de CPU.

Conservativa: más uso de CPU con el fin de alargar una conexión inactiva.

También se pueden configurar el tamaño de las tablas del sistema:

Firewall Maximum States: número máximo de conexiones en la tabla del firewall. Digamos que es como un netstat de la propia máquina, por defecto el tamaño máximo es de 10000 estados. En este caso ya depende mucho del entorno donde se va a usar, si es algo casero lo ponemos a 4000 para optimizar.

Firewall Maximum Tables: máximo número de tablas posibles (en pfsense se usan tablas, para crear alias, snort, reglas del firewall…). Por defecto el valor es de 3000 tablas, pero para optimizar, se puede poner 500, ya que no llegaremos a muchas más.

Firewall Maximum Table Entries. Por defecto viene con 20000 y lo ponemos a 10000. Es el número de entradas por cada tabla que antes hemos comentado.

Imagen

Las demás opciones definen el comportamiento multiwan o la generación de auto reglas de filtrado del firewall a la hora de configurar una VPN o red privada virtual.

De momento se dejan las demás opciones por defecto.

En la sección NAT, también se puede agregar la generación automática para la traducción de direcciones de red de forma automática, según las reglas creadas en el firewall, pero se recomienda hacer después de forma manual.

En el bloque system -> advanced -> networking no tocamos nada, a no ser que exista incompatibilidad con alguna interfaz de red.

En el bloque system -> advanced -> miscellaneous es donde podemos configurar la conexión de nuestro pfsense con un proxy, el balanceo de carga, sensores de temperatura y cómo actuar según ésta, ahorros de energía, disminuyendo usos de CPU, opciones IPsec, así como usar parte de la memoria física para emularse como memoria RAM. Estas opciones no son demasiado importantes así que no se detallarán.

En el bloque system -> advanced -> notifications podemos hacer que las notificaciones nos lleguen por correo, via SMTP.



Volver a “Area Telecomunicaciones - Servidores Windows y Lunux - Redes”