Cómo proteger su escritorio Linux con Iptables

Linux puede tener una reputación de seguridad, pero no es perfecto. Muchas distribuciones tampoco tienen los mejores valores predeterminados de seguridad, por lo que es mejor implementar algunas de las mejores prácticas de seguridad. Un ejemplo de ello es el uso de un cortafuegos.

Hay algunas opciones para cortafuegos en Linux, pero la mayoría son en realidad sólo envolturas alrededor de iptables. Para esta guía le mostraremos cómo trabajar con iptables directamente.

¿Qué es Iptables?

Iptables es el cortafuegos del núcleo de Linux. Viene con todas las distribuciones de Linux y es la forma más directa de controlar el tráfico que entra y sale del equipo.

Iptables tiene la reputación de ser complejo, y puede serlo. Sin embargo, no necesita saberlo todo sobre iptables para utilizarlo eficazmente en su escritorio. Sólo se necesita un conocimiento básico de cómo funciona y cómo están estructuradas sus reglas.

Relacionado Cómo manejar y configurar el cortafuegos en Linux

Estructura de Comando

Todas las reglas de iptables siguen la misma estructura básica. Cada regla es un comando de una sola línea para iptables que le dice cómo manejar el tráfico en un puerto específico. Echa un vistazo al ejemplo de abajo:

Eso puede parecer mucho, pero es muy simple cuando lo rompes. Primero, esta regla comienza con -A porque se añadirá a las reglas de su iptables.

A continuación, el indicador -i especifica la interfaz para la que está diseñada la regla. En este caso, es eth0. Cuando escriba sus propias reglas, asegúrese de saber a través de qué interfaz está conectado a su red.

La siguiente bandera, -p, nombra el protocolo. Esta regla es para tcp, que es el tráfico Web.

La bandera -m es un poco diferente. Se utiliza para afirmar que existe una condición que debe cumplirse para que no se rechace el tráfico. La condición en esta regla es el estado.

El estado es en realidad la siguiente bandera. Necesita dar a –state una lista de estados aceptables escritos en mayúsculas y separados por comas. Esta regla acepta tanto conexiones nuevas como establecidas.

La penúltima bandera aquí es –sport. Significa “source port” (puerto fuente), y le dice a iptables de dónde viene el tráfico. También hay una bandera de puerto que significa “puerto de destino”. Se utiliza para las reglas OUTPUT para el manejo de qué tráfico portuario está llegando.

Por último, está la bandera -j. Le dice a iptable a qué acción “saltar”. En este caso debe ACEPTAR el tráfico que cumpla las condiciones anteriores.

Uso de un archivo

Puede introducir sus reglas en iptables manualmente una por una. Eso es increíblemente tedioso, y es muy fácil perder la noción de dónde estás y qué estás haciendo. Es mucho mejor crear un archivo de reglas que puede importar a iptables de una sola vez.

No importa dónde cree el archivo. La gente incluso los hace en el directorio /tmp porque iptables almacena el resultado después de ser importado.

Cree su archivo. Esta guía va a usar /tmp/iptables-ip4. En el archivo agregue las siguientes dos líneas. Todas tus reglas se interpondrán entre ellas.

filtro *filtro
# Tus reglas aquí
COMMIT> COMPROMISO

Crear sus reglas

Puedes empezar a establecer tus reglas. Estas son sólo sugerencias. Obviamente, si está ejecutando otros servicios o necesita que se abran otros puertos, puede ajustar algunas cosas o añadir sus propias reglas.

Loopback

La interfaz loopback es una interfaz interna que utiliza Linux.

>A -A OUTPUT -o lo -j ACCEPT

Ping

Esta es una cuestión de preferencia. A mucha gente no le gusta permitir el ping en sus escritorios. Sin embargo, puede ser útil tenerlo para probar las conexiones. Si desea permitir el ping, añada las siguientes reglas. Si no lo haces, exclúyelos.

-A INPUT -i eth0 -p icmp -m state –state NEW –icmp-type 8 -j ACCEPT
-A INPUT -i eth0 -p icmp -m state –state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -o eth0 -p icmp -j ACCEPT

La Web

Obviamente quieres poder conectarte a la Web. Por otro lado, no es conveniente permitir las conexiones que se originan en Internet.

-A ENTRADA -i eth0 -p tcp -m state –state ESTABLISHED,RELATED –sport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m state –state ESTABLISHED,RELATED –sport 443 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp –dport 80 -j ACEPTAR
-A OUTPUT -o eth0 -p tcp -m tcp –dport 443 -j ACCEPT

También va a necesitar permitir conexiones DNS para que su computadora pueda usar URLs en lugar de sólo direcciones IP porque eso no sería muy conveniente. Sustituya la dirección IP de su router por la que se utiliza aquí.

-A ENTRADA -i ens3 -s 192.168.1.1 -p udp –sport 53 -m state –state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -o ens3 -d 192.168.1.1 -p udp –dport 53 -m udp -j ACCEPT

Hora

La mayoría de los escritorios Linux utilizan NTP para establecer y mantener la hora del sistema desde Internet. Debe permitir que el equipo se conecte a un servidor NTP para obtener la hora.

Impresión

A menos que utilice una impresora USB o un servidor de impresión externo, debe habilitar las conexiones a CUPS.

-A INPUT -p udp -m udp –dport 631 -j ACEPTAR
-A INPUT -p tcp -m tcp –dport 631 -j ACCEPT
-A OUTPUT -p udp -m udp –sport 631 -j ACEPTAR
-A OUTPUT -p tcp -m tcp –sport 631 -j ACCEPT

Correo electrónico

Es probable que también desee poder enviar y recibir correo electrónico. El correo electrónico puede ser complicado. Los puertos permitidos aquí son los puertos de correo electrónico SSL. Si necesita utilizar correo electrónico no seguro, sustituya esos puertos.

# IMAP
-A INPUT -i eth0 -p tcp -m state –state ESTABLISHED,RELATED –sport 993 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp –dport 993 -j ACCEPT
# POP3
-A INPUT -i eth0 -p tcp -m state –state ESTABLISHED,RELATED –sport 995 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp –dport 995 -j ACCEPT
# SMTP
-A INPUT -i eth0 -p tcp -m state –state ESTABLISHED,RELATED –sport 465 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp –dport 465 -j ACCEPT

SSH

Para poder utilizar completamente las conexiones SSH, es necesario permitir tanto la entrada como la salida a través de SSH.

# Entrada -A INPUT -i ens3 -p tcp -m state --state NEW,ESTABLISHED --dport 22 -j ACCEPT -A OUTPUT -o ens3 -p tcp -m state --state ESTABLISHED --sport 22 -j ACCEPT # Salida -A OUTPUT -o ens3 -p tcp -m state --state NEW,ESTABLISHED --dport 22 -j ACCEPT -A INPUT -i ens3 -p tcp -m state --state ESTABLISHED --sport 22 -j ACCEPT

DHCP

La mayoría de los escritorios Linux utilizan DHCP para recibir automáticamente una dirección IP de un enrutador. DHCP utiliza sus propios puertos, por lo que también deben ser accesibles. Si está utilizando una IP estática, no necesita estas reglas.

-A ENTRADA -i eth0 -p udp -m state –state ESTABLISHED,RELATED –sport 67:68 -j ACEPTAR
-A OUTPUT -o eth0 -p udp -m udp –dport 67:68 -j ACCEPT>

Rechazar todo lo demás

Finalmente, le dirá a iptables que rechace absolutamente todo lo que no haya permitido explícitamente en las reglas anteriores.

-A INPUT -j RECHAZAR -A ADELANTE J RECHAZAR -A OUTPUT -j REJECT

>Respuesta

Después de todo, sus reglas deberían ser algo así.

Cómo proteger su escritorio Linux con Iptables


Importación de sus reglas

Ahora tiene una lista de reglas de iptables totalmente funcional. Sólo tienes que entregarlo a iptables para que lo use.

En caso de que se hayan añadido algunas reglas con el tiempo, elimínelas. Después de estos comandos, verá los valores predeterminados que permiten todo.

sudo iptables -F && sudo iptables -X

Cómo proteger su escritorio Linux con Iptables


Una vez eliminadas, puede restaurar las nuevas desde el archivo que creó.

sudo iptables-restore < /tmp/itpables-ip4

Su ordenador está usando las nuevas reglas de iptables. Puedes comprobarlo.

sudo iptables -S

Cómo proteger su escritorio Linux con Iptables


Sin embargo, aún no son permanentes. Si reinicia su ordenador ahora, va a tener un realmente mal momento.

Cómo hacerlos permanentes

Hay varias maneras de hacer que las reglas sean permanentes. Son diferentes para cada distribución. Esta guía se centrará en los sistemas basados en Debian y Ubuntu, ya que son los más populares.

Hay un paquete disponible, llamadoiptables-persistant, que se encarga de guardar y restaurar iptables. Todo lo que tienes que hacer es instalarlo.

sudo apt install iptables-persistent

Cómo proteger su escritorio Linux con Iptables


Durante la instalación, el paquete le preguntará si desea guardar su configuración. Selecciona “Sí”.

En el futuro, si desea añadir reglas, puede volver a guardarlas ejecutando el siguiente comando.

Sudo service netfilter-persistent save

Ahora usted tiene el control del tráfico que fluye a través de su computadora. Hay ciertamente más que usted puede hacer con iptables, pero usted debe sentirse seguro con los fundamentos primero.

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

Sin duda, un sistema Linux recién instalado es menos susceptible al malware, spyware y hacking que un sistema Windows recién instalado. Sin embargo, la mayoría de los sistemas Linux están configurados con algunos ajustes predeterminados que son inherentemente inseguros. Algunas distribuciones de Linux están diseñadas para ser instaladas con valores predeterminados muy seguros, pero esto resulta en ...

Linux

Cuando esté solucionando problemas de red en Linux o esté buscando formas de mejorar la seguridad de su máquina Linux, necesitará saber si y qué puertos están abiertos. En este artículo veremos diferentes maneras de listar o mostrar puertos abiertos en Linux. ¿Qué es un puerto? Un puerto es un número de 16 bits (0 a 65535) para ayudar a identificar una aplicación o proceso determinado en un sistem ...

Linux

Una parte importante de la seguridad de un sistema Linux es bloquear los puertos no utilizados para evitar que se acceda a ellos y, en última instancia, que sean secuestrados por los atacantes. Los sistemas Linux están construidos para ser servidores, por lo que los atacantes intentarían usar un sistema comprometido de esa manera, incluso si ese sistema estuviera configurado para ser un escritorio ...