Need help? Chat now!

Hostwinds Tutoriales

Resultados de búsqueda para:


Tabla de contenido


¿Qué son iPtpables?
¿Cómo instalo IPTables?
¿Cómo utilizo IPTables?
Listar reglas por especificación
Listar reglas por cadena específica
Mostrar reglas como tablas
Eliminar regla usando la especificación
Reglas de descarga
Bloquear una dirección IP
Permitir todas las conexiones SSH entrantes
Permitir todas las conexiones SSH entrantes desde IP explícita
Permitir conexiones SSH salientes
Permitir todas las conexiones HTTP y HTTPS entrantes
Bloquear SMTP saliente
Permitir conexiones SMTP entrantes

Administrar reglas de IPTables

Etiquetas Firewall,  Linux,  CentOS Web Panel 

¿Qué son iPtpables?
¿Cómo instalo IPTables?
¿Cómo utilizo IPTables?
Listar reglas por especificación
Listar reglas por cadena específica
Mostrar reglas como tablas
Eliminar regla usando la especificación
Reglas de descarga
Bloquear una dirección IP
Permitir todas las conexiones SSH entrantes
Permitir todas las conexiones SSH entrantes desde IP explícita
Permitir conexiones SSH salientes
Permitir todas las conexiones HTTP y HTTPS entrantes
Bloquear SMTP saliente
Permitir conexiones SMTP entrantes

¿Qué son iPtpables?

IPTables es una utilidad de firewall de línea de comandos extremadamente flexible construida específicamente para las distribuciones de Linux.IPTables utiliza cadenas políticas para permitir o bloquear el tráfico.Cuando se está estableciendo una conexión en su servidor, IPTables identificará una regla en su lista para determinar qué acción debe tomarse.Si no hay regla presente para la conexión, recurrirá a la acción predeterminada definida para su sistema.

¿Cómo instalo IPTables?

Generalmente, IPTables se instala por defecto en la mayoría de los sistemas Linux. Para actualizarlo o instalarlo, puede recuperar el paquete IPTables emitiendo los siguientes comandos:

Nota: IPTables debe estar preinstalado en CentOS 6.

Ubuntu

apt-get install iptables-persistent

CentOS 7

systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl enable iptables
systemctl start iptables

IPTables ahora se instalarán en su sistema.Echemos un vistazo a cómo usar Iptables.

¿Cómo utilizo IPTables?

Esta sección cubrirá algunos comandos y usos específicos de IPTables básicos, como enumerar su nombre de usuario actual y bloquear una dirección IP desde el establecimiento de una conexión.

Listar reglas por especificación

Para enumerar el conjunto de arrescador actualmente activo por especificación, emitirá el siguiente comando:

iptables -S

Listar reglas por cadena específica

Para mostrar las reglas que se aplican actualmente a una cadena específica, puede usar el siguiente comando. Este ejemplo mostrará todas las especificaciones de la regla para la cadena UDP:

iptables -S UDP

Mostrar reglas como tablas

Puede enumerar todas las reglas de IPTables actuales que están en su lugar en una vista de tabla utilizando el siguiente comando que invoca la opción -L. Esto mostrará una lista de todos los conjuntos de reglas actuales ordenados por tipo de cadena.

iptables -L

Eliminar regla usando la especificación

Puede eliminar las reglas en Iptables utilizando la opción -d.Puedes eliminar los gránulos de reglas de unas maneras diferentes.Cubriremos las reglas de eliminación de la especificación.Por ejemplo, si quisiera eliminar la regla que permite todo el tráfico entrante en el puerto 443, usaría el siguiente comando:

iptables -D INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

Reglas de descarga

Con IPTables, puede eliminar reglas. Esto se puede hacer enjuagando una sola cadena o enjuagando todas las cadenas. Cubriremos ambos métodos a continuación.

Para lavar una cadena única, puede usar la opción -f, o la opción equivalente a -flush, combinada con el nombre de la cadena que le gustaría enjuagar.Por ejemplo, puede eliminar todas las reglas en la cadena de entrada utilizando el siguiente comando:

iptables -F INPUT

Para descargar todas las cadenas, volvería a usar la opción -f o equivalente, sin ningún parámetro adicional.Esto eliminará efectivamente todas las reglas de firewall que actualmente están activas en el servidor.El comando es el siguiente:

iptables -F

Bloquear una dirección IP

IPTables proporcionan la capacidad de bloquear las conexiones de red desde una dirección IP específica.Por ejemplo, para bloquear todas las conexiones entrantes desde 10.10.10.10, usted ejecutará el siguiente comando:

iptables -A INPUT -s 10.10.10.10 -j DROP

También puede rechazar la conexión, que responderá con un error de "conexión rechazada".Reemplace la caída con rechazo.

iptables -A INPUT -s 10.10.10.10 -j REJECT

También puede bloquear las conexiones desde una IP específica a un dispositivo de red específico, como eth1, utilizando la opción -I.

iptables -A INPUT -i eth1 -s 10.10.10.10 -j DROP

Permitir todas las conexiones SSH entrantes

Para permitir TODAS las conexiones SSH entrantes en el puerto SSH predeterminado (22), use los siguientes comandos:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Permitir todas las conexiones SSH entrantes desde IP explícita

También puede limitar las conexiones SSH a solo se permitirá de una dirección IP específica o subred.Por ejemplo, si solo quiso permitir la dirección IP 10.10.10.10 para conectarse al servidor a través de SSH, usaría el siguiente comando:

iptables -A INPUT -p tcp -s 10.10.10.10 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Esto también se puede hacer para una subred completa agregando la subred al comando, como / 27 como lo ilustra el siguiente comando:

iptables -A INPUT -p tcp -s 10.10.10.10/27 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Permitir conexiones SSH salientes

Es posible que su firewall no tenga la política de salida establecida para aceptar.Si este es el caso, es posible que deba permitir las conexiones SSH salientes si desea conectarse a un servidor externo desde su servidor directamente.Puede ejecutar los siguientes comandos para lograr esto en el puerto SSH predeterminado (22).Si está utilizando un puerto SSH diferente, reemplace "22" en el siguiente ejemplo con el número de puerto que está utilizando:

iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Permitir todas las conexiones HTTP y HTTPS entrantes

Por defecto, el tráfico HTTP generalmente se sirve en el puerto 80, y el tráfico HTTPS se sirve normalmente en el puerto 443. Puede permitir ambos tipos de conexiones en su servidor web utilizando los siguientes comandos.

Nota: Si solo desea permitir una y no la otra, elimine el número de puerto del comando que se correlaciona con el protocolo que desea permitir.

iptables -A INPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Bloquear SMTP saliente

IPTables le permite bloquear puertos específicos, como el puerto SMTP predeterminado (25). Por ejemplo, es posible que no desee permitir el correo saliente en su servidor. Para detener esto usando IPTables, puede emitir el siguiente comando:

iptables -A OUTPUT -p tcp --dport 25 -j REJECT

Esto configurará IPTables para rechazar todo el tráfico saliente en el puerto 25. Si desea rechazar el tráfico en un puerto diferente, puede reemplazar "25" con el número de puerto en cuestión.

Permitir conexiones SMTP entrantes

Puede permitir que su servidor responda a todas las conexiones SMTP en el puerto 25 ejecutando los siguientes comandos:

iptables -A INPUT -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Escrito por Hostwinds Team  /  diciembre 13, 2016