Hostwinds Tutoriales
Resultados de búsqueda para:
Tabla de contenido
Etiquetas: CentOS Web Panel, Firewall, Linux
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.
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.
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.
Para enumerar el conjunto de arrescador actualmente activo por especificación, emitirá el siguiente comando:
iptables -S
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
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
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
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
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
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
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
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
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
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.
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