GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo:asegurar su servidor Ubuntu o Debian con IPTables

Introducción

En este tutorial, cubriremos cómo realizar algunos cambios básicos de IPTables que ayudarán en gran medida a proteger su servidor. Esto se hace en una instalación nueva de Ubuntu 14.04 de 64 bits en nuestra nube. Esto también se puede hacer en cualquier versión de nuestro sistema operativo Ubuntu 12.04, así como en Debian. Todos nuestros comandos se ejecutan como root y la edición de archivos se realiza a través de vi. Si está utilizando otro usuario para hacer esto, necesitará acceso sudo. Puede usar cualquier editor de archivos que desee.

Asegurando su servidor en la Nube con IPTables

Desafortunadamente, nuestro Ubuntu 14.04 o 12.04 no viene con IPTables ya instaladas. En Debian, IPTables ya está instalado, por lo que puede omitirlo. Así que nuestro primer paso con Ubuntu es instalar IPTables. Para hacer esto, simplemente ejecute:

apt-get install iptables

Después de instalar IPTables, puede comprobarlo ejecutando:

iptables –L

Esto mostrará una lista de las reglas que tiene en ejecución y verificará que instaló iptables y que está funcionando. En este momento, solo está vacío, pero puede ver los tres tipos de cadenas disponibles.

A continuación, instalaremos el paquete iptables-persistent. Lo que esto hace es escribir nuestras reglas actuales de IPTables en un nuevo archivo (/etc/iptables/rules.v4) y se encargará de aplicar automáticamente nuestras reglas al reiniciar. ¡Muy útil!

/etc/iptables/rules.v4

Cuando ingrese el archivo, debería verse como la imagen de arriba. Hay algunas cosas que querremos agregar antes de nuestra primera regla personalizada. Esta sería una regla para la interfaz loopback y otra para el tráfico que ya está establecido. Puedes verlos a continuación. La primera regla personalizada que vamos a agregar permitirá el acceso SSH a nuestro servidor. Querremos agregar las reglas arriba de la línea COMMIT ya que COMMIT delimita el final de nuestro conjunto de reglas INPUT, FORWARD y OUTPUT. Para averiguar qué significan todos los segmentos de IPTables y obtener más información sobre ellos, consulte nuestra sección de IPTables.

-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Nota:Si tiene un puerto SSH personalizado como el que configuramos en el tutorial Cómo cambiar su puerto SSH en Ubuntu, tendrá que cambiar el 22 para que sea el puerto SSH que configuró. En nuestro caso 3389

/etc/iptables/rules.v4

Sus reglas deben verse similares a la imagen de arriba. Ahora, antes de que terminemos aquí, hay dos cosas más que tenemos que cambiar. Donde las reglas dicen:

:INPUT ACCEPT and :FORWARD ACCEPT

Querremos que tengan:

:INPUT DROP and :FORWARD DROP

Lo que esto hace es decirle a IPTables que bloquee y elimine todo el tráfico que no vaya a los puertos que usted especifique para permitir el paso. Esto evitará que las personas intenten entrar usando los servicios que tiene en ejecución a menos que haya abierto esos puertos al público.

Cuando haya terminado, debería verse similar al anterior. Una vez allí, simplemente guarde el archivo y ciérrelo. Lo último que tenemos que hacer es cargar estas nuevas reglas en las IPTables actuales. Para hacer esto, simplemente ejecute:

iptables-restore < /etc/iptables/rules.v4

Para verificar que nuestras reglas estén vigentes, simplemente ejecute el mismo comando anterior:

iptables –L

Debería ver algo similar a la página siguiente.

/etc/iptables/rules.v4

Después de esto, ¡eso es todo! Tus nuevas reglas entrarán en vigencia de inmediato y permanecerán durante los reinicios. Si desea ser más restrictivo con sus IPtables, específicamente el acceso a SSH, puede hacer lo siguiente para cada dirección IP que debe permitirse. Esto implica editar la regla SSH y agregar más. Donde indica la regla SSH que identificamos anteriormente, desea cambiarla para que sea:

-A INPUT -s IPADDR –m tcp –p tcp --dport 3389 –j ACCEPT

Donde IPADDR es su dirección IP a la que desea tener acceso SSH a su servidor. Si no configuró un puerto SSH personalizado, querrá que siga siendo 22 y no 3389.

Para permitir puertos específicos, por ejemplo, para el acceso web a su sitio web, todo lo que necesita hacer es saber/encontrar el puerto en el que se ejecuta el servicio (o en el que lo configuró) y su protocolo (TCP o UDP) y permitirlo. Por ejemplo, acceso al sitio web:

-A INPUT -m tcp -p tcp --dport 80 -j ACCEPT

Y ahora Internet tiene acceso al alojamiento web que está haciendo.

Tenga en cuenta que, al agregar nuevas reglas a las secciones INPUT o FORWARD, es una buena práctica mantener las nuevas reglas agrupadas junto con reglas similares. INPUTs con INPUTs y FORWARDs con FORWARDs. También querrá asegurarse de que cualquier regla que agregue que permita un nuevo puerto esté enumerada ARRIBA de cualquier declaración de rechazo para ese conjunto de reglas. Si aparecen después de cualquier línea de rechazo, las reglas no tendrán efecto.

Para ver el resultado de lo que IPTables está haciendo y/o bloqueando con sus reglas, puede ejecutar lo siguiente. Imprimirá las reglas que tiene y todo lo relacionado con los paquetes acerca de desconectar conexiones o permitirles el paso.

iptables -L -vn

Para saber qué significan todos los segmentos de IPTables y obtener más información sobre ellos, consulte nuestra sección de IPTables (enlace).

Nota:si usa los servicios en la nube de Atlantic.Net, siempre puede acceder a su servidor a través de nuestro visor VNC en el portal de la nube si se bloquea.


Linux
  1. Cómo instalar Puppet 6.x en Ubuntu 18.04 / Ubuntu 16.04 y Debian 9

  2. Cómo instalar el servidor SSH en Ubuntu/Debian con OpenSSH

  3. Asegurando su VPS basado en Ubuntu/Debian usando IPTABLES/Netfilter firewall

  4. Cómo agregar una IP adicional a su servidor Ubuntu 18.04

  5. Cómo proteger su servidor Ubuntu con CSF Firewall

Cómo agregar una IP adicional a su servidor en la nube Ubuntu o Debian

Cómo bloquear su servidor CentOS con IPTables

Cómo configurar un servidor Seafile con Nginx en Ubuntu 18.04

Cómo configurar un servidor FTP con ProFTPD en Ubuntu 18.04

Cómo configurar un servidor de correo con Modoboa en Ubuntu 20.04

Cómo configurar un cortafuegos en su servidor Linux