Configuración de un firewall de manera sencilla en Debian/Ubuntu

Uno de los problemas principales a la hora de asegurar un servidor es la de filtrar el tráfico de entrada y de salida del mismo, asegurando así que todas las conexiones entrantes y salientes están controladas y sabemos desde donde podemos entrar a los servicios que queremos y no desde donde no queremos. En esta entrada veremos cómo realizar estos pasos de manera sencilla con ufw.

Instalación

El primer paso que debemos realizar es la instalación de UFW:

$ sudo apt install ufw

Con este paso instalamos el firewall y los comandos principales.

Recuerda repasar el /etc/default/ufw para ver que tenemos activada la opción IPV6=yes

Arranque y parada

Para activar el firewall debemos ejecutar, recuerda no activarlo hasta que tengas al menos acceso por ssh, por si metes la pata:

$ sudo ufw enable

Para desactivar el firewall:

$ sudo ufw disable

Resetear las reglas

Si la hemos cagado siempre podemos intentar empezar desde cero:

$ sudo ufw reset

Punto de partida

Para establecer una serie de principios:

  • Queremos que desde la red interna se pueda acceder sin problemas
  • Queremos que desde Internet tengamos restricciones en el tráfico

Para ello deberemos elegir muy bien las reglas de acceso en cada sentido y desde cada origen

Comprobación del estado del firewall

Para saber cómo está el firewall tenemos dos comandos, el primero nos dará su estado:

$ sudo ufw status numbered

Esto nos dará el lisatdo de reglas configuradas en el firewall de una manera sencilla

Si necesitamos saber más sobre el servicio:

$ sudo ufw status verbose

Esto nos mostrará más información del Firewall

Asegurando el acceso desde la Intranet

Para ello deberemos ejecutar alguna regla controlada:

$ sudo ufw allow from 192.168.1.0/24

En este caso estamos diciendo que queremos permitir el acceso desde nuestra red local, suponiendo que nuestra ip interna sea 192.168.1.x

Si nuestra red interna es 192.168.0.x ejecutaremos:

$ sudo ufw allow from 192.168.0.0/24

Permitiendo la salida de datos del servidor

Para ello deberemos decir que por defecto queremos permitir el tráfico saliente:

$ sudo ufw default allow outgoing

Esto nos ayuda a que si desde el servidor queremos crear conexiones hacia fuera no nos de ningún problema

En el caso de cortar todo el tráfico de entrada ejecutaríamos:

$ sudo ufw default deny incoming

Pero personalmente prefiero decir exactamente que quiero o no dejar entrar a mano

¿Qué puertos tenemos abiertos?

Para saber que puertos tenemos abiertos en nuestra máquina siempre podemos usar el comando nmap, instálalo en el caso de que no lo tengas:

$ sudo apt install nmap

Para saber los puertos abiertos te bastará con ejecutarlo desde el servidor:

$ nmap localhost

Aquí tendrás los puertos abiertos en tu servidor, y podrás hacer un listado de aquellos puertos que quieres cerrar su acceso desde fuera y cuales quieres dejar abiertos.

Cerrando acceso a puertos desde fuera

Para cerrar por ejemplo el acceso a las carpetas compartidas desde fuera ejecutaremos las siguientes reglas:

$ sudo ufw deny from 0.0.0.0/0 to any port 139

$ sudo ufw deny from 0.0.0.0/0 to any port 445

Permitiendo acceso a puertos desde fuera

Para abrir los puertos tendremos que indicar que puertos en concreto queremos indicar:

$ sudo ufw allow from 0.0.0.0/0 to any port 22

Así abriremos el puerto ssh

$ sudo ufw allow from 0.0.0.0/0 to any port 80

Así abriremos el puerto web

Aplicando las reglas

Revisa las reglas que tienes aplicadas:

$ sudo ufw status numbered

Ahora ya sólo queda cruzar los dedos y aplicar las reglas arrancando el servicio de Firewall, como indicamos antes

$ sudo ufw enable

Borrando Reglas

Para borrar reglas en base a su número, que hayamos sacado con status numbered podemos ejecutar:

$ sudo ufw delete numero_regla

por ejemplo

$ sudo ufw delete 2

para borrar la regla 2

Comprobaciones

Ahora ya sólo  te falta comprobar que las reglas que has aplicado funcionan correctamente, tanto desde dentro de la Intranet como desde fuera, desde Internet

Ya sabes que si falla siempre puedes volver a empezar parando el firewall:

$ sudo ufw disable

y reseteando las reglas:

$ sudo ufw reset

Referencias

Comments

Leave a Reply

*

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Categorías de Cursos

RSS Cursos de Desarrollo

  • Serie de Artículos de Docker 13/01/2020
    En esta entrada veremos cómo manejar Docker, en una serie de artículos explicativos. No te los pierdas He instalado Docker, ¿Y ahora qué? Docker Compose, para cuando quieres arrancar varios contenedores de manera coordinada
  • ¿Que Frameworks de Frontend son los más utilizados en el millón de páginas del Top de Alexa? 09/01/2020
    Partiendo de la idea del blog de de Andros, y del post sobre su estudio del uso de WordPress con un ejemplo de Clojure. He iniciado un proyecto secundario sobre el uso de las tecnologías usadas en las, más de 1.000.000 principales webs de Internet según Alexa. La idea, es la de ampliar la publicación […]
  • Artículos de administración de Servidores 08/01/2020
    Esta serie de artículos nos permiten saber cómo se instala y se configura un servidor desde cero: Nuevo Servidor NAS reciclado Acceso a servidor de la oficina desde fuera gracias a dinaip Configuración de un firewall de manera sencilla en Debian/Ubuntu
  • ¿Cuál es el uso de WordPress en los principales sitios de Internet según Alexa? 14/12/2019
    Empezamos con nuestra serie de publicaciones sobre tecnologías concretas que más se usan en Internet, en este caso con WordPress. ¿Quieres saber cómo es de importante y cuánto se utiliza? No te pierdas esta entrada.
  • Estudio de Uso de Tecnologías en el millón de páginas más vistas según Alexa 13/12/2019
    Partiendo de la idea del blog de de Andros, y del post sobre su estudio del uso de WordPress con un ejemplo de Clojure. He iniciado un proyecto secundario sobre el uso de las tecnologías usadas en las, más de 1.000.000 principales webs de Internet según Alexa. La idea, es la de ampliar la publicación […]
  • Configuración de un firewall de manera sencilla en Debian/Ubuntu 08/12/2019
    Uno de los problemas principales a la hora de asegurar un servidor es la de filtrar el tráfico de entrada y de salida del mismo, asegurando así que todas las conexiones entrantes y salientes están controladas y sabemos desde donde podemos entrar a los servicios que queremos y no desde donde no queremos. En esta […]
  • Acceso a servidor de la oficina desde fuera gracias a dinaip 06/12/2019
    Una de las tareas para poder acceder a los servicios de nuestro flamante servidor reciclado desde Internet es la de poder configurar el Router y el DNS Dinámico para darle un nombre fijo en Internet, en esta entrada explicaremos cómo lo hemos hecho. Solicitud de IP abierta a Internet en Pepephone El primer paso que […]
  • Arquitectura Web 4.0: Entornos Desacoplados 04/12/2019
    Dentro de la arquitectura Web un Entorno Desacoplado es la combinación de un FrontEnd y un Backend. En esta entrada veremos cómo funciona esta arquitectura desde los puntos más básicos. Como puede verse en el diagrama, una vez cargada una aplicación Frontend, se debería comportar como un agente más que consulta al Servicio Web Rest […]
  • Arquitectura Web 3.0 Frontend 02/12/2019
    Para entender cómo funciona la web iremos viendo cómo funciona de una manera sencilla a la más compleja. En esta entrada veremos los pasos para resolver una petición Web HTTP que gestionar el Navegador Web y cómo se ejecuta el código Javascript   Cliente Web: Solicita la resolución de nombres, actúa como un cliente DNS, […]
  • Estudio de uso de CMSs en los principales 100.000 sitios de la web según Alexa 02/12/2019
    Partiendo de la idea del blog de de Andros, y del post sobre su estudio del uso de WordPress con un ejemplo de Clojure. He iniciado un proyecto secundario sobre el uso de las tecnologías usadas en las, en principio, 100.000 principales webs de Internet según Alexa. La idea, será la de ampliar la publicación […]

Si estás interesado en seguir formándote tenemos una serie de cursos gratuitos: http://cursosdedesarrollo.com/cursos/

También disponemos de algunos cursos de pago por si son de tu interés: https://cursosdedesarrollo.com/tienda/

Curso de Angular: https://cursosdedesarrollo.com/tienda/angular/

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies