LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Parrot OS es una distribución GNU/Linux basada en Debian orientada a la seguridad informática, la privacidad, el desarrollo y el análisis forense digital. (Wikipedia)

A diferencia de otras distribuciones de propósito general, Parrot está diseñada para usuarios que buscan herramientas especializadas en ámbitos como:

  • 🛡️ Pentesting (pruebas de intrusión).
  • 🔍 Análisis de vulnerabilidades y seguridad de sistemas.
  • 💻 Informática forense digital.
  • 🕵️‍♂️ Privacidad y anonimato en la red.
    (OpenWebinars.net)

Existe más de una edición de Parrot. Por ejemplo:

  • Parrot Security: la edición con herramientas de ciberseguridad.
  • Parrot Home: enfocada al uso general y diario con herramientas de desarrollo y protección de privacidad. (parrotsec.org)

Esto hace que Parrot sea útil tanto para profesionales de seguridad como para usuarios que desean un sistema Linux seguro y completo.


🆕 Parrot 7 “Echo”: novedades de la última versión

La versión Parrot 7 “Echo” ha sido publicada como la nueva versión estable de la distribución y trae cambios importantes respecto a versiones anteriores.

🧩 Base actualizada

Parrot 7 cambia su base principal a Debian 13 “Trixie”, la última versión estable de Debian, lo que le proporciona:

  • Mayor estabilidad.
  • Mejores actualizaciones de seguridad.
  • Compatibilidad más amplia con software reciente.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

iptables, ipset, Apache, Nginx y Cloudflare

En determinadas situaciones —escaneos automáticos, bots, intentos de fuerza bruta o picos de tráfico sospechoso— puede ser útil bloquear temporalmente el acceso desde determinados países a un servidor Linux.

Este artículo explica cómo hacerlo correctamente, en distintos niveles, empezando por la opción más baja y eficaz (firewall), y continuando con alternativas a nivel web y CDN.


¿Qué necesito tener instalado?

Para el bloqueo a nivel de firewall (opción recomendada), necesitas:

  • iptables → motor clásico de filtrado de paquetes en Linux
  • ipset → gestor de conjuntos de IPs/redes, optimizado para grandes listas

En la mayoría de servidores Linux:

  • iptables ya está instalado
  • ipset suele estar disponible en repositorios oficiales

Instalación típica:

Debian / Ubuntu

apt install ipset iptables

RHEL / CentOS / Alma / Rocky

dnf install ipset iptables
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Scripts con APNIC, cron y firewalld

En el artículo anterior vimos cómo bloquear accesos por país usando iptables e ipset, creando los conjuntos manualmente.
En entornos reales, lo habitual es automatizar todo el proceso para que las listas de IP se mantengan actualizadas sin intervención manual.

En este artículo veremos:

  • Cómo descargar rangos IP oficiales desde APNIC
  • Cómo generar automáticamente ipsets por país
  • Cómo actualizar las listas con cron
  • Cómo integrar este método con firewalld

¿Por qué automatizar?

Los rangos IP cambian con el tiempo:

  • Nuevas asignaciones
  • Reasignaciones
  • Cambios de tamaño de red

Si el ipset no se actualiza:

  • Se pierden IPs nuevas
  • Se bloquean rangos obsoletos
  • La eficacia baja con el tiempo

👉 Automatizar garantiza bloqueos coherentes y mantenidos.


Fuente oficial de datos: APNIC

APNIC publica un fichero plano con todas las asignaciones:

  • IPv4
  • IPv6
  • Por país
  • Actualizado diariamente

Formato típico de línea:

apnic|CN|ipv4|1.0.1.0|256|assigned

Esto significa:

  • País: CN
  • Tipo: IPv4
  • IP inicial: 1.0.1.0
  • Número de IPs: 256

Script básico para generar ipsets por país

Ejemplo: China (CN)

Script simple en bash:

#!/bin/bash

COUNTRY="CN"
SETNAME="china"
APNIC_URL="https://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest"

# Crear el ipset si no existe
ipset create $SETNAME hash:net -exist

# Vaciar el conjunto antes de recargar
ipset flush $SETNAME

# Descargar y procesar rangos IPv4
curl -s $APNIC_URL | \
grep "|$COUNTRY|ipv4|" | \
awk -F'|' '{print $4 "/" int(log($5)/log(2))}' | \
while read net; do
    ipset add $SETNAME $net -exist

Este script:

  • Descarga los datos oficiales
  • Filtra por país
  • Calcula la máscara CIDR
  • Rellena automáticamente el ipset

Adaptar el script a otros países

Solo hay que cambiar dos variables:

Irán

COUNTRY="IR"
SETNAME="iran"

 

Rusia

COUNTRY="RU"
SETNAME="russia"

 

Israel

COUNTRY="IL"
SETNAME="israel"

 

Puedes tener:

  • Un script por país
  • O un script que recorra varios países

Comprobación tras la carga automática

Ver contenido del ipset:

ipset list china

Ver número de entradas:

ipset list china | grep "Number of entries"

Esto confirma que:

  • El script funciona
  • Los datos se han cargado correctamente

Aplicar iptables una sola vez

Las reglas de iptables no necesitan recrearse cada vez.

Ejemplo:

iptables -I INPUT -m set --match-set china src -j DROP

Mientras el ipset se actualice:

  • La regla sigue funcionando
  • El firewall usa siempre la lista actual

Logging en entornos automatizados

Logging temporal (diagnóstico)

iptables -I INPUT -m set --match-set china src \
  -j LOG --log-prefix "IPTABLES-CHINA: " --log-level 4

Consulta:

journalctl -k | grep IPTABLES-CHINA

Producción recomendada

  • Quitar el LOG
  • Mantener solo DROP
  • Evitar crecimiento innecesario de logs

Automatización con cron

Guardar el script, por ejemplo en:

/usr/local/sbin/update-ipset-china.sh

 

Dar permisos:

chmod +x /usr/local/sbin/update-ipset-china.sh

 

Editar cron:

crontab -e

 

Ejemplo: actualización diaria a las 03:30

30 3 * * * /usr/local/sbin/update-ipset-china.sh

 

Esto mantiene el ipset siempre actualizado sin intervención manual.


Integración con firewalld

En sistemas modernos, firewalld suele estar activo.

Crear el ipset en firewalld

firewall-cmd --permanent --new-ipset=china --type=hash:net

Añadir regla de bloqueo

firewall-cmd --permanent \
  --add-rich-rule='rule source ipset=china drop'

Recargar configuración

firewall-cmd --reload

Consultar

firewall-cmd --info-ipset=china

👉 El script de carga de IPs sigue siendo válido, solo cambia el backend.


¿Firewall, Apache/Nginx o Cloudflare?

Recordatorio rápido:

  • Firewall (iptables/ipset)
    Bloquea todo el tráfico, más eficiente
  • Apache / Nginx
    Bloquea solo la web, útil si no quieres afectar otros servicios
  • Cloudflare
    Ideal si lo usas: rápido, visual, sin carga en el servidor

 

En servidores públicos como LinuxParty, lo más habitual es:

  • Firewall para ruido masivo
  • Web server para ajustes finos
  • Cloudflare si está disponible


¿Cómo saber si el bloqueo funciona con iptables -L -n?

Cuando ejecutas:

iptables -L -n

iptables te muestra las reglas cargadas, pero no siempre es suficiente para confirmar actividad. Hay que fijarse en detalles concretos.


1️⃣ Lo primero: entender qué muestra iptables -L -n

Salida típica simplificada:

Chain INPUT (policy ACCEPT)
target     prot opt source          destination
DROP       all  --  1.0.0.0/8       0.0.0.0/0

Esto solo indica:

  • Que la regla existe
  • Que está cargada en el firewall

👉 NO confirma aún que se esté usando


2️⃣ La clave real: contadores de paquetes y bytes

Para saber si una regla está actuando, necesitas ver los contadores.

Usa:

iptables -L -n -v

La opción -v (verbose) es fundamental.


Ejemplo real con ipset

Chain INPUT (policy ACCEPT 123K packets, 45M bytes)
 pkts bytes target  prot opt in  out source     destination
  342 20560 DROP    all  --  *   *   0.0.0.0/0  0.0.0.0/0   match-set china src

¿Qué significa esto?

  • pkts → paquetes bloqueados
  • bytes → volumen total bloqueado
  • match-set china src → está usando el ipset

👉 Si los números aumentan con el tiempo, la regla está funcionando.


3️⃣ Cómo comprobarlo en tiempo real

Ejecuta varias veces:

watch -n 2 iptables -L INPUT -n -v

Si ves que:

  • pkts y bytes suben
    ✔️ El bloqueo está activo y recibiendo tráfico

4️⃣ ¿Y si los contadores están a cero?

Posibles causas (todas habituales):

🔹 Aún no hay tráfico desde ese país

Totalmente normal.

🔹 La regla está en una cadena que no se usa

Comprueba que:

  • Es INPUT (para tráfico entrante al servidor)
  • No estás usando solo FORWARD

🔹 firewalld está gestionando las reglas

Si usas firewalld:

firewall-cmd --state

En ese caso, iptables -L puede no reflejar lo que crees.


5️⃣ Confirmación adicional con LOG (opcional)

Si añadiste la regla de log:

iptables -I INPUT -m set --match-set china src \
  -j LOG --log-prefix "IPTABLES-CHINA: " --log-level 4

Entonces puedes confirmar actividad con:

journalctl -k | grep IPTABLES-CHINA

Salida típica:

IPTABLES-CHINA: IN=eth0 SRC=1.2.3.4 DST=...

👉 Esto es prueba definitiva de que la regla está funcionando.


6️⃣ Ver solo reglas relacionadas con ipset

Filtrar la salida ayuda mucho:

iptables -L -n -v | grep match-set

O directamente:

iptables -L INPUT -n -v | grep china

7️⃣ Detalle importante: orden de las reglas

iptables evalúa de arriba a abajo.

Comprueba posiciones con numeración:

iptables -L INPUT -n -v --line-numbers

Ejemplo:

1  342 20560 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 match-set china src

👉 Si la regla está muy abajo, puede que otra regla esté aceptando antes el tráfico.


8️⃣ Resumen rápido.

✔️ iptables -L -n → ves que la regla existe
✔️ iptables -L -n -v → ves si se usa (contadores)
✔️ watch iptables -L INPUT -n -v → confirmación en tiempo real
✔️ journalctl -k | grep IPTABLES-CHINA → prueba con logs
✔️ Contadores subiendo = bloqueo activo

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado

En un giro innovador de las tácticas de persistencia, un grupo de amenazas vinculado a los intereses geopolíticos de Rusia ha comenzado a utilizar la tecnología de virtualización nativa de Microsoft, Hyper-V, para desplegar entornos Linux ocultos dentro de sistemas Windows comprometidos.

Esta técnica, descubierta recientemente por investigadores de seguridad de Bitdefender en colaboración con el CERT de Georgia, permite a los atacantes operar de forma casi invisible ante las soluciones de seguridad tradicionales.

El método: Una máquina virtual como escondite

El grupo, identificado como "Curly COMrades", aprovecha que Hyper-V es una característica integrada en Windows 10 y 11. Una vez que obtienen acceso inicial a un sistema, los atacantes siguen un proceso meticuloso para establecer su base de operaciones:

  1. Activación silenciosa: Utilizan herramientas de línea de comandos (como DISM) para habilitar el rol de Hyper-V si no está activo, pero desactivan deliberadamente la interfaz gráfica de gestión para que el administrador del sistema no note cambios visuales.
  2. Disfraz de archivo: Descargan un archivo comprimido que se hace pasar por un archivo de vídeo, pero que en realidad contiene el disco virtual y la configuración de una instancia de Alpine Linux extremadamente ligera.
  3. Engaño de nombre: La máquina virtual se importa con el nombre "WSL". Esto es una táctica de ingeniería social técnica, ya que intenta imitar al legítimo Windows Subsystem for Linux, una herramienta común y confiable para desarrolladores.

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado

Puedes acceder a un servidor Linux remoto sin necesidad de introducir la contraseña, siguiendo estos 3 sencillos pasos utilizando ssky-keygen y ssh-copy-id, como se explica en este artículo.

ssh-keygen crea las claves públicas y privadas. ssh-copy-id copia las claves públicas de localhost en el archivo remoto anfitrión y las authorized_keys.

ssh-copy-id también asigna los permisos necesarios en el $HOME del anfitrión remoto, ~/.ssh, y ~/.ssh/authorized_keys. (Esto tiene especial interes si tu IP pública es estática)

Condiciones previas, debes de crear el mismo usuario (antes de empezar), en los servidores local-host y remote-host

Este artículo también explica tres pequeñas molestias de usar ssh-copy-id y cómo usar ssh-copy-id junto con ssh-agent.

 


Configuración previa:

Verifica el archivo de configuración del servidor SSH (/etc/ssh/sshd_config) y asegúrate de que las siguientes líneas estén habilitadas:

Si está comentada la linea, déjala comentada.

# PubkeyAuthentication     no

# O cambia el valor.

PubkeyAuthentication     yes

#  ¡¡CUIADO!! Si pones "no", al valor: PasswordAuthentication pondrás en riesgo el servidor, ninguna cuenta

# pondrás en riesgo el servidor, ninguna cuenta requerirá contraseña si pones "no". deja el valor "yes"
PasswordAuthentication  yes



Paso 1: Creación de claves públicas y privadas utilizando ssh-key-gen en local-anfitrión.

Esto puede saltarse, en el caso de que ya hubiera ssh-keygen creado.

jsmith@local-host$ [Nota: Ahora estás en tu localhost, el host que controlará "remote-host"]

jsmith@local-host$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Pulse Intro aquí]
Enter passphrase (empty for no passphrase): [Pulse Intro aquí]
Enter same passphrase again: [Pulse Intro aquí]
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
The key fingerprint is:
33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 jsmith@local-host

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado

Este tutorial muestra cómo configurar una Network-Address-Translation (NAT) en un sistema Linux con reglas iptables, de modo que el sistema pueda actuar como gateway y proporcionar el acceso de Internet a múltiples anfitriones en una red local, usando sólo una dirección IP pública. Esto se consigue rescribiendo la fuente y/o las direcciones de destino del paquete IP, que pasan a través del systema NAT

Inicio activadoInicio activadoInicio activadoInicio desactivadoInicio desactivado

Este enlace contiene ejemplos y configuraciones más recientes que el de éste artículo. Entre y revíselo.

Otros artículos más modernos... también:


1. Introducción & contexto moderno

Snort sigue siendo una de las herramientas más usadas como Sistema de Detección / Prevención de Intrusos (IDS / IPS). (snort.org)

En su versión más reciente (Snort 3) se han introducido mejoras arquitectónicas: soporte multihilo, nuevo sistema de reglas y configuración, mejor rendimiento y mayor modularidad. (snort.org)

Aunque en entornos profesionales lo más habitual es usar Snort en sistemas Linux o appliances dedicados, también puede desplegarse en Windows para pruebas, entornos mixtos o sensores locales. (letsdefend.io)

Este artículo te guiará por un proceso actualizado de instalación y configuración en Windows (10 / 11 / versiones recientes de servidor), con las mejores prácticas a 2025.


2. Requisitos previos

Antes de comenzar, asegúrate de:

  • Tener permisos de administrador en la máquina Windows.
  • Sistema operativo compatible: Windows 10, 11 o versiones servidor modernas.
  • Controladores de captura de paquetes (Npcap preferido).
  • Tener conexión a internet para descargar reglas y actualizaciones.

Npcap vs WinPcap

WinPcap fue la biblioteca clásica usada durante mucho tiempo para capturar paquetes en Windows, pero su desarrollo está obsoleto.
Hoy la recomendación universal es usar Npcap, que es compatible con el API de WinPcap y está en activo desarrollo. (letsdefend.io)

Durante la instalación de Npcap, selecciona el modo “WinPcap API-compatible” (si está disponible) para asegurar compatibilidad con herramientas que esperan la ABI de WinPcap. (letsdefend.io)

Otros requisitos

  • Visual C++ Redistributable (las versiones modernas de Snort lo requieren). (letsdefend.io)
  • Espacio en disco suficiente para almacenar reglas, logs y submódulos.
  • Si vas a integrarlo con dashboards o SIEM, debes contar con red / acceso a servidor de logs.

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Una de las primeras acciones que lleva a cabo un intruso, una vez ingresa a un sistema, es instalar un rootkit, el cual facilita el control de la máquina desde ese momento en adelante. Dichas herramientas presentan un gran riesgo para los administradores y, por tanto, es de vital importancia conocer sus alcances, funcionamiento y los mecanismos que existen para detectarlos.

Los Rootkits fueron descubiertos a mediados de los '90. En aquella época, los administradores de sistema del sistema operativo Unix de SUN comenzaron a ver un comportamiento extraño en el servidor, la falta de espacio de disco, ciclos extra en la CPU y las conexiones de red que no se mostraba con el comando netstat.

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Linux trae un firewall basado en host llamado Netfilter. Según el sitio oficial del proyecto:

netfilter es un conjunto de ganchos dentro del kernel de Linux que permite a los módulos del kernel registrar las funciones de devolución de llamada con la pila de red. Una función de devolución de llamada registrada se llama de nuevo para cada paquete que atraviesa el gancho respectivo dentro de la pila de red.

Este firewall basado en Linux es controlado por el programa llamado iptables para controlar de filtrado para IPv4 e ip6tables adminitrando el filtrado para IPv6.

Ejemplo de Reglas iptables

  • La mayor parte de las acciones enumeradas en este artículo están escritos con la suposición de que serán ejecutados por el usuario root desde la bash shell  o cualquier otro shell moderna. No escriba los comandos en un sistema remoto, ya que podrá llegar a desconectar su acceso.
  • Para fines de demostración he usado RHEL 6.x, pero el siguiente comando debería funcionar con cualquier distribución Linux moderno.
  • Esto no es un tutorial sobre cómo configurar iptables. Es una hoja de trucos rápido a los comandos de iptables comunes.


Redes:



   

 

Suscribete / Newsletter

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

Donar a LinuxParty

 

Tutorial de Linux

Top 15 artículos por Fecha

Viendo artículos de: Febrero de 2026

Filtro por Categorías