ciberseguridad
pruebas-penetracion
Un cortafuegos, conocido en inglés como firewall, es un sistema de seguridad de red diseñado para monitorear y controlar el tráfico entrante y saliente basado en políticas de seguridad predeterminadas. Su función principal es crear una barrera entre una red interna segura y otra red externa, como Internet, para proteger la red interna de accesos no autorizados, ataques y otros riesgos de seguridad.
Se requiere un cortafuegos para cualquier máquina que se conecte a Internet. No sólo tu PC, sino también tu servidor web, teléfono, dispositivos de IoT, o cualquier cosa que se te ocurra que tenga la capacidad de usar Internet. Un dispositivo desprotegido es una fácil elección para las intrusiones e infecciones. Esto podría dar a los hackers la posibilidad de apoderarse de tus equipos, instalar lo que quieran, vigilar mientras introduces información sensible como credenciales bancarias, o incluso mirar a través de tu webcam/cámara y escuchar a través de tu micrófono. En el caso de un servidor web, si un hacker consigue pasar, podría desconfigurar tu sitio web, incrustar un malware que infecte a tus visitantes, cambiar tu contraseña de administrador de WordPress, o derribar tu sitio por completo.
Sin un cortafuegos, tu sitio web e incluso tus dispositivos personales son vulnerables a los ataques DDoS, un vector de ataque que envía miles o millones de paquetes falsos para sobrecargar tu servidor y hacer que tu sitio web o Internet se caiga.
El cortafuegos puede proteger tus equipos, servidores o tu sitio web frente a:
Hay muchos tipos diferentes de cortafuegos, cada uno está diseñado para una situación diferente. Algunos son mejores para equipos individuales, mientras que otros están hechos para filtrar toda la red. Todos funcionan de manera diferente y bloquean mejor diferentes tipos de tráfico. Si te preguntas qué deberías buscar, vamos a analizar todos los principales tipos de cortafuegos. A menos que tengas tu propia pila de servidores (proporcionando un sitio web con tu propia Internet), el tipo de cortafuegos del que debes preocuparte principalmente son los cortafuegos personales, los cortafuegos de software y los cortafuegos de las aplicaciones web. Estos tres son los más importantes. Sin embargo, lee más sobre el resto si quieres entender mejor cómo funciona un cortafuegos y cómo han evolucionado a lo largo de los años.
Los cortafuegos funcionan de forma muy diferente dependiendo de si son utilizados por dispositivos individuales, redes enteras (como dentro de una oficina comercial) o servidores web. Un cortafuegos personal está pensado para ser usado en un solo dispositivo. Este es el firewall que viene preinstalado en las máquinas de Windows y Mac o con tu software antivirus. Aunque funciona de manera similar a un cortafuegos de servidor – permitiendo o rechazando conexiones de otros dispositivos, aplicaciones e IPs basadas en un conjunto de reglas predefinidas – actúa de una manera un poco diferente.
Los cortafuegos personales pueden proteger los puertos que utilizas para conectarte a sitios web y aplicaciones en línea (ocultándolos para que los atacantes no puedan ver que están abiertos), defenderse contra los ataques que se deslizan por la red, evitar que las personas accedan y se apoderen de tu equipo y analizar todo el tráfico entrante y saliente. También actúan como aplicaciones de cortafuegos, monitoreando la actividad de las aplicaciones en tu dispositivo y negándose a permitir que se establezca una conexión con software inseguro o desconocido. Hoy en día, obtener un cortafuegos personal es bastante fácil. Si usas cualquier versión moderna de Windows, ya debería haber uno por defecto.
Windows Defender Firewall
Aplicación de cortafuegos en macOS
Los dispositivos Mac también vienen con uno, aunque tienes que encenderlo tú mismo. Para ello, navega a Preferencias del Sistema, haz clic en Seguridad y Privacidad y luego en Firewall:
Los cortafuegos tienen dos formas distintas: cortafuegos de hardware y de software. Los cortafuegos de software son programas descargables para tu dispositivo, monitoreando todo desde un panel de control central. Los cortafuegos de hardware proporcionan una funcionalidad similar, pero están físicamente instalados en el edificio. Puede que no lo sepas, pero probablemente tengas una forma de cortafuegos de hardware en tu casa: tu router, el dispositivo que te permite conectarte a Internet. Si bien no es exactamente lo mismo que un dispositivo de cortafuegos de hardware dedicado, proporciona funciones similares de monitoreo y de permitir o negar conexiones.
Tanto el software como el hardware de los cortafuegos se sitúan entre el dispositivo y el mundo exterior, analizando cuidadosamente cualquier conexión que intente colarse. Puedes tener uno o ambos funcionando en tu red. Sin embargo, los cortafuegos de hardware tienen algunas desventajas. Son difíciles de instalar y requieren un mantenimiento continuo, por lo que no suelen ser adecuados para dispositivos individuales o empresas muy pequeñas sin un departamento de informática. Pueden causar problemas de rendimiento, especialmente cuando se aplican junto con un cortafuegos de software. Y no son adecuados para bloquear aplicaciones en un dispositivo, o restricciones basadas en el usuario.
Por otro lado, un cortafuegos de hardware protegerá toda su red de dispositivos fácilmente, mientras que la configuración del software para ello es una tarea más difícil. Y aunque un atacante puede deshabilitar el software si logra entrar, no puede manipular el dispositivo físico. Los cortafuegos de software son, como su nombre indica, mejores para trabajar con programas en un dispositivo. Bloquear aplicaciones, administrar usuarios, generar registros y monitorear usuarios en tu red son su especialidad. No son tan fáciles de configurar en toda la red, pero cuando se instalan en múltiples dispositivos, permiten un control más fino.
El cortafuegos de filtrado de paquetes es el tipo más simple de cortafuegos, y está entre los primeros desarrollados. Un paquete es la información que se intercambia entre tu dispositivo y un servidor. Cuando haces clic en un enlace, subes un archivo o envías un correo electrónico, envías un paquete al servidor. Y cuando cargas una página web, te envía paquetes a ti. Un cortafuegos con filtro de paquetes analiza estos paquetes y los bloquea basándose en un conjunto de reglas predefinidas. Por ejemplo, podría bloquear los paquetes que se originan en un determinado servidor o dirección IP, o los que intentan llegar a un determinado destino en tu servidor.
La desventaja: Estos tipos de cortafuegos son simples y fáciles de engañar. No hay forma de aplicar reglas avanzadas. Si permites que el tráfico fluya a través de un determinado puerto, el cortafuegos de filtrado de paquetes dejará pasar cualquier cosa, incluso el tráfico que los cortafuegos modernos obviamente no dejarían pasar. La única ventaja de estos es que son tan simples que casi no tienen impacto en el rendimiento. No inspeccionan el tráfico, no guardan registros ni ejecutan ninguna función avanzada. Hoy en día, los cortafuegos de filtrado de paquetes deberían evitarse o al menos usarse junto con algo más avanzado, ya que hay soluciones mucho mejores.
Después de los «sin estado», los filtros de paquetes simples llegó la tecnología de los cortafuegos de estado. Esto fue revolucionario porque en lugar de analizar los paquetes a medida que pasan y rechazarlos basándose en parámetros simples, los cortafuegos de estado manejan información dinámica y continúan monitoreando los paquetes a medida que pasan por la red. Un simple cortafuegos de filtrado de paquetes solo puede bloquear basado en información estática como la dirección IP o el puerto. Los cortafuegos de estado son mejores para detectar y bloquear el tráfico ilegítimo porque reconocen patrones y otros conceptos avanzados.
Comparado con los cortafuegos sin estado, la desventaja es que son más intensivos debido a que almacenan paquetes de datos en la memoria y los analizan más rigurosamente, además de mantener registros de lo que se bloquea y lo que pasa a través de ellos. Pero son una solución mucho mejor.
Por último, los cortafuegos de nueva generación (NGFW), son uno de los inventos más recientes de esta generación de tecnología de seguridad. Estas herramientas de grado empresarial son como todas las anteriores combinadas en una sola. El filtrado profundo de paquetes, la prevención de intrusos y el monitoreo de aplicaciones son solo algunas de sus enormes características de red. Los cortafuegos de última generación en la nube existen como un servicio en línea, pero los WAF son mucho más comunes y proporcionan una funcionalidad similar. Pero si quieres la tecnología de cortafuegos más avanzada disponible, con un paquete completo de protección de seguridad en un programa, busca un NGFW.
Para protegerse a sí mismo y a tu sitio web, necesitas un cortafuegos de alta calidad que mantenga alejado a los intrusos. En lo que respecta a los cortafuegos personales, no suele ser necesario hacer un esfuerzo para conseguir uno. El cortafuegos incorporado de Windows funciona muy bien sin ninguna configuración. Y entre el cortafuegos de aplicaciones que suele venir con el software antivirus y el filtro de paquetes del router, el equipo suele estar más que protegido. Solo asegúrate de que tu cortafuegos esté activado, que tengas un buen antivirus instalado y que tu router esté configurado correctamente. Lo mismo puede decirse de los usuarios de MacOS.
Si tienes algun antivirus instalado con firewall, este se antepondrá el Firewall de Windows.
Con el Firewall de Windows, puedes crear diversas reglas para controlar el tráfico de red entrante y saliente. Algunas de las reglas que puedes configurar incluyen:
Para una correcta y segura instalación de un servidor de Internet necesitamos disponer y configurar un firewall. El firewall se encarga de regular el tráfico de entrada y de salida con nuestra máquina, de modo que podamos comprobar que está relacionado con alguno de los servicios que el servidor ofrece, permitiendo o denegando las conexiones de manera selectiva.
Con nuestro firewall podremos decidir por ejemplo que se acepten conexiones para la consulta de una web por HTTP o para las conexiones por SSH, pero que deniegue todos los otros intentos de conexión a servicios distintos, que no se desean ofrecer. Generalmente, el tráfico que nos interesará controlar es el entrante, ya que será desde donde nos lleguen posibles ataques al servidor. El tráfico desde el servidor hacia afuera generalmente no nos debe de preocupar, por lo que generalmente no se suele limitar.
El firewall UFW (Uncomplicated Firewall) es uno de los más populares de los sistemas Linux, debido a su sencillez de configuración. Está disponible de manera predeterminada en muchas de las distribuciones de Linux. Si no fuera el caso, podríamos instalarlo por medio de los repositorios del sistema, con el comando típico para cada distribución. Por ejemplo en sistemas basados en Debian se haría con el comando siguiente:
1$ sudo apt install ufw
Una vez instalado tenemos una suite de comandos para gestionar el propio firewall y las conexiones del servidor. UFW viene desactivado por defecto, para evitar posibles problemas de acceso al servidor antes de su configuración, por lo que el primer paso consistirá en definir qué tipos de conexión deseamos habilitar, para posteriormente activar el firewall. Podemos comprobar el estado del firewall con el comando «ufw status». En un principio deberíamos ver que está inactivo.
1$ sudo ufw status
Es importante que, antes de activar el firewall, configuremos las conexiones permitidas, habilitando al menos el acceso por SSH, para que no perdamos el acceso al servidor. Para saber qué tipo de conexiones podemos activar o desactivar en el servidor, ejecutamos el comando.
1$ sudo ufw app list
La salida de ese comando nos indicará qué aplicaciones localiza el firewall susceptibles de configurar en nuestro sistema.
Para permitir el acceso al servidor por SSH debemos habilitar las conexiones con la aplicación «OpenSSH«. Esto lo conseguimos con el comando siguiente:
1$ sudo ufw allow "OpenSSH"
De manera predeterminada se permiten conexiones tanto para IPV4 como para IPV6. Los puertos de conexión habilitados serán los predeterminados para estos tipos de conexión (en SSH el puerto 22).
De manera similar, podemos habilitar el tráfico de HTTP para el acceso al servidor web instalado. En nuestro caso, que tenemos Apache en el servidor, realizaríamos la configuración habilitando la mencionada aplicación.
1sudo ufw allow "Apache Full"
La aplicación «Apache Full» nos permite el acceso por HTTP por los puertos comunes de HTTP (80) y HTTPS (443).
Una vez realizada la configuración, podemos activar ya el firewall, con el comando ufw enable
.
1$ sudo ufw enable
Nos advertirá que las conexiones por SSH pueden ser interrumpidas, pero podemos estar tranquilos porque las acabamos de habilitar con los comandos anteriores. Por último, podemos comprobar la configuración de UFW con el comando «ufw status». Ahora deberíamos ver que el firewall se encuentra activo y además podremos obtener un listado de aplicaciones habilitadas.
1$ sudo ufw status
🤓 Eso es todo. La configuración del firewall se ha realizado correctamente y ya se encuentra activo en nuestro servidor para incrementar la seguridad.
pfSense es un firewall de código abierto y su distribución FreeBSD. Es más popular que otros firewalls y también podemos instalarlo como máquina virtual. pfSense también dispone de dispositivos físicos, y también podemos instalar pfSense en la nube (AWS y Azure).
Primero, necesitaba tener un software de virtualización como VMWare o Virtual Box, y ahora estoy usando VMWare para instalar pfSense. En segundo lugar, debe tener una máquina virtual Linux o Windows para la configuración del servidor Ngnix; Estoy usando Ubuntu por ahora.
Serás redirigido a la página de descarga de pfSense.
Ahora haz clic en típico, luego haz clic en Siguiente.
Selecciona la ubicación del archivo haciendo clic en Examinar . Aquí, VMWare detectó automáticamente que era FreeBSD. Luego haz clic en Siguiente .
Puedes editar el nombre de la VM y elegir la ruta donde deseas almacenar la VM o mantener todo por defecto. Luego, haz clic en Siguiente.
Proporciona el espacio máximo en disco que desea asignar para pfSense y haz clic en Siguiente.
Estás en el paso final, que es el paso clave que muchas personas enfrentan con este problema.
Haz clic en Adaptador de red y configure este adaptador para WAN para comunicarse con Internet. Luego haz clic en Agregar. Luego verás una pantalla como la de la imagen de abajo.
Elije Adaptador de red, haz clic en Finalizar.
Ahora utiliza este adaptador para la comunicación LAN. Ahora Crate es una red de área local haciendo clic en el segmento LAN.
Haz clic en Agregar. y luego nombrarlo como desees.
Haz clic en Encender la máquina. pfSense tardará un poco en iniciarse y luego aceptarás sus términos y condiciones haciendo clic en Entrar. Verás tres opciones. Elija la primera opción, Instalar, luego presione Enter.
Ve por defecto en este paso.
Haz clic en todo lo predeterminado, presione Enter.
Pulsa el espacio aquí.
Entonces elige SÍ
Tomará un tiempo.
😁 Hemos instalado pfSense con éxito.
Encienda la máquina virtual Ubuntu.
Luego el adaptador LAN que elijas en pfSense.
En pfSense también se utilizó el mismo adaptador de red.
Ahora enciende la máquina Ubuntu. Abre la terminal y actualice los repositorios escribiendo el comando sudo apt update. Instala el servidor Nginx mediante sudo apt install nginx .
Configura el firewall de ubuntu. De forma predeterminada, el firewall ufw está instalado en ubuntu. Primero, verifica las aplicaciones escribiendo el comando sudo ufw app list y el comando restante para permitir y denegar las reglas que se muestran en la siguiente imagen.
Hemos agregado con éxito la regla de denegación en el firewall ufw de Ubuntu.
Después de iniciar pfSense, verá la pantalla de bienvenida.
De forma predeterminada, DHCP está habilitado y IPV6 también está habilitado para algunas personas, no te preocupes, lo solucionaremos. DHCP asignará automáticamente la dirección IP; Podemos configurarlo usando IP estática. Necesita tener una IP estática para pfSense. En pfSense, seleccione la opción 2 , luego elija la opción 1 (WAN). Si desea continuar con DHCP, presione Y , pero enfrentará muchos problemas en el futuro. Dependiendo del rango de sus subredes, seleccione subred. Para fines domésticos, utilice una máscara de 24 subredes.
Si tiene un nombre de host y un servidor DNS, complete esos detalles. Aquí, voy todo por defecto.
Baje y desmarque, bloquee la red privada y la red sin ruta de Internet.
En este paso, cambie la contraseña de administrador. Si se está configurando el firewall en la oficina o en casa, no se recomienda utilizar una cuenta de administrador ni contraseñas seguras tanto para los usuarios como para el administrador. Aquí lo estoy usando solo para fines de laboratorio, por lo que mantengo todo por defecto.
También se realiza la configuración de pfSense. Necesitamos agregar una regla NAT al firewall. Abra la página de inicio de pfSense y haga clic en Firewall y luego haga clic en NAT.
Haz clic en Agregar. Esta es la primera regla, por lo que no debemos preocuparnos por esas flechas al agregar. Si tiene muchas reglas antes o en el futuro, desea agregar esa regla en la parte superior, luego haga clic en la flecha hacia arriba Agregar o agregue eso en la parte inferior y luego haga clic en la flecha inferior agregar.
Aquí, mantenga todos los valores predeterminados excepto la dirección IP de destino, la IP de origen y los puertos. En el destino, ingrese la dirección IP de pfSense seleccionando Host único o alias. En mi caso, es 192.168.0.100.
En el rango de puerto de destino, ingrese el puerto al que desea redirigir el tráfico. En mi caso son 9000.
En la fuente, dirección IP, de donde proviene el tráfico, en nuestro caso, proviene de Ubuntu, así que ingrese la IP de Ubuntu (192.168.1.100).
Haz clic en guardar. Ahora haga clic en aplicar cambios.
Eso es todo. Ha realizado correctamente el reenvío de puertos con pfSense.