LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
"Como los exploits basados en el navegador y malwares JavaScript han asumido su camino a la cima de la lista de las amenazas, los fabricantes de navegadores han estado luchando para encontrar defensas eficaces para proteger a los usuarios. Pocos se han recibido, pero Microsoft Research ha desarrollado una nueva herramienta llamada Zozzle que se puede implementar en el navegador y puede detectar software malicioso basado en JavaScript en tiempo de ejecución con una tasa de eficacia muy alta.

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado

Lee este post:

/foros/viewtopic.php?f=10&t=73&p=145#p145

Los sistemas operativos Linux, han sido considerados menos vulnerables que los sistemas Windows durante muchos años – pero el mito de que son “inmunes” al ataque de virus es completamente falso. La temprana supervivencia de las plataformas Linux, se debió principalmente a la falta de acceso administrativo - root - requerido para que el malware se infiltre en el sistema, la habilidad de la comunidad Linux para reparar vulnerabilidades rápidamente y la baja tasa de adopción de Linux en las redes corporativas. Esto convierte a Linux en un objetivo de menor prioridad para los creadores de malware. Sin embargo, esta prioridad está cambiando rápidamente a la vez que la popularidad de las plataformas Linux crece en las empresas.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
...Dadas las estrictas medidas de seguridad integrado en Linux, es difícil de tomar ventaja de una vulnerabilidad en el equipo, pero algunos programadores han encontrado formas de evadir las medidas de seguridad. Hay varias opciones gratuitas de anti-virus en Linux que realmente deberías usar, aunque no siempre se están ejecutando - un análisis semanal o mensual no hace daño. Las soluciones antivirus más comunes son: ClamAV , AVG , Avast y F-Prot .
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
Generalmente tenemos una falsa sensación de seguridad cunado tenemos un sistema operativo "Seguro", creemos que la separación de roles es la panacea y que basta con "navegar con un usuario sin permisos de administración", así como con tener antivirus para sentirnos seguros. Pero generalmente los problemas vienen de las aplicaciones que instalamos, que suelen ser poco seguras, o directamente coladeros.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
Hay veces que no sólo necesitamos eliminar nuestros rastros en un ordenador, sino que también debemos evitar que cualquiera los recupere, por ejemplo a la hora de venderlo. Este es el caso de Espi, quien nos pregunta: “¿cómo borro los datos del disco duro para que nadie pueda verlos, incluso usando programas de recuperación?”
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

🔐 Cómo crear chains reutilizables en iptables para una gestión de firewall más eficiente

Cuando administramos un firewall con iptables, mantener las reglas organizadas y comprensibles se vuelve esencial, especialmente a medida que el número de reglas crece. En lugar de tener una lista desordenada y difícil de mantener, podemos crear chains personalizadas reutilizables, lo que nos permite aplicar lógicas de filtrado específicas en distintos puntos del proceso.

Usar cadenas personalizadas en iptables es una práctica que facilita la gestión del firewall, especialmente en entornos con múltiples servicios y rangos IP cambiantes. Esta técnica no solo mejora la legibilidad y el mantenimiento del sistema, sino que permite una gestión más modular y segura de las reglas de red.

🎯 Objetivo del ejemplo

Supongamos un caso práctico y simplificado: tenemos un sistema Linux con un proxy escuchando en el puerto 3128 (por ejemplo, Squid), y queremos permitir el acceso remoto únicamente desde ciertos rangos de IP. Hasta ahora, la regla existente es la siguiente:

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
REJECT     tcp  --  anywhere             anywhere            tcp dpt:squid reject-with tcp-reset

❌ Problema

Agregar directamente los rangos permitidos al chain INPUT funcionaría, pero se volvería inmanejable si:

  • Aumentan los rangos de IP permitidos.

  • Se habilitan otros puertos para los mismos rangos.

Para evitar este desorden, la solución es crear una nueva cadena personalizada.


🛠️ Paso a paso

1. Crear una nueva cadena: EXTERNOS

# iptables -N EXTERNOS

Podemos verificar que se ha creado correctamente:

# iptables -L
Chain EXTERNOS (0 references)
target     prot opt source               destination

2. Añadir rangos IP permitidos

Ahora agregamos las IP o rangos autorizados en esta nueva cadena:

# iptables -A EXTERNOS -s 84.88.0.0/24 -j ACCEPT
# iptables -A EXTERNOS -s 213.55.111.66/32 -j ACCEPT

3. Añadir reglas de rechazo y caída

Agregamos un rechazo con tcp-reset para conexiones no autorizadas, y finalmente un DROP para el resto:

# iptables -A EXTERNOS -p tcp -j REJECT --reject-with tcp-reset
# iptables -A EXTERNOS -j DROP

Esto asegura que conexiones no autorizadas reciban una respuesta rápida (evitando aparecer como "filtered" en escaneos nmap) y que todo lo demás se descarte silenciosamente.


4. Sustituir la regla original en INPUT

Primero, eliminamos la regla genérica anterior:

# iptables -D INPUT -i eth0+ -p tcp --dport 3128 -j REJECT --reject-with tcp-reset

Luego, redirigimos ese tráfico a la nueva chain EXTERNOS:

# iptables -A INPUT -i eth0+ -p tcp --dport 3128 -j EXTERNOS

✅ Resultado esperado

Al ejecutar:

# iptables -L -nv

Deberías ver algo como esto:

Chain INPUT (policy ACCEPT)
 pkts bytes target     prot opt in     out     source               destination
   10   440 EXTERNOS   tcp  --  eth0+  *       0.0.0.0/0            0.0.0.0/0           tcp dpt:3128

Chain EXTERNOS (1 references)
 pkts bytes target     prot opt in     out     source               destination
    8   336 ACCEPT     all  --  *      *       84.88.0.0/24         0.0.0.0/0
    0     0 ACCEPT     all  --  *      *       213.55.111.66        0.0.0.0/0
    2   104 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with tcp-reset
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

💾 Guardar configuración

Para mantener las reglas tras un reinicio, guarda la configuración:

# /etc/init.d/iptables save
Saving firewall rules to /etc/sysconfig/iptables:          [  OK  ]

🔁 Ventajas de usar chains reutilizables

  • ✅ Centralizas el control de IPs autorizadas.

  • ✅ Puedes aplicar la chain EXTERNOS a otros puertos sin duplicar reglas.

  • ✅ Para añadir o eliminar IPs, solo modificas una cadena.

Ejemplo: Si mañana necesitas habilitar el puerto 22 para los mismos rangos:

# iptables -A INPUT -i eth0+ -p tcp --dport 22 -j EXTERNOS

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
iptables es la herramienta que permite configurar los filtros que se implementan en el kernel de Linux como módulos de netfilter. Para organizarse existen 3 tablas principales y una adicional donde introducir las reglas.

Las tres tablas principales son:

  • filter: Se trata de la tabla por defecto para el filtrado de paquetes. Sus hooks (chains desde el punto de vista de iptables) son:
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
Lo primero que os recomiendo antes de empezar a leer esta entrada, es dar un vistazo (los asiduos a DaboBlog ya lo conoceréis) a este post sobre el resumen de mi participación junto a Oreixa en el pasado EFIMP (Eset Foro Internet Meeting Point) de Gijón en el que hablo de diferentes tipos de ataques web y control del tráfico en nuestro servidor GNU/Linux con herramientas como Mod Evasive, Apache Status, Mod Security, Medusa, Whatweb, Pentbox, APF Firewall, etc.

Más que nada lo digo porque cuando hablamos de ataques de fuerza bruta, solemos dar prioridad (obviamente) a servicios como ssh con soluciones como fail2ban o DenyHosts tal y como reseño en esa entrada pero ¿qué pasa por ejemplo con el FTP u otros tan sensibles como el correo?

Ahí es donde entra en escena BFD, una herramienta más de los creadores de APF Firewall (que por cierto, su trabajo es impresionante, mirad la lista, tengo que probar LSM, Linux Socket Monitor)

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Quienes hayan instalado algún sistema de CMS o foros en servidores Apache, seguramente lo escucharon nombrar. El archivo .htaccess permite fijar configuraciones especiales para directorios y subdirectorios de una web, sin requerir acceso de administrador o editar la configuración global. Y, encima, ni siquiera hace falta un reinicio para aplicar los cambios.

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
Dentro de las infraestructuras habituales que se suelen instalar en los edificios encontramos los circuitos cerrados de televisión (CCTV) o sistemas de videovigilancia. Es muy normal en edificios de oficinas, zonas de seguridad, centros de datos, etc, ya que es fundamental controlar los accesos a determinadas zonas, tanto dentro como fuera del horario de trabajo. La solución clásica consiste en la instalación de cámaras de TV que son visualizadas, de manera presencial o remota, por una persona, por ejemplo, un vigilante de seguridad. Sin embargo, gracias a la proliferación de las cámaras IP y al software libre, podemos montar un sistema de videovigilancia a un precio muy competitivo y, casi, desasistido.


Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías