Logo de Linux Mint en duotono

Manual de Supervivencia Linux

Consejos y guías para tu supervivencia
con Linux Mint con MATE.

Comandos de Terminal de GNU/Linux
y Scripts multidistribución

Seguridad de la red

¿Por qué esta guía?

Esta guía nace de una experiencia real. En un entorno donde la privacidad y la seguridad se han vuelto imprescindibles, muchos usuarios de Linux Mint se preguntan si están verdaderamente protegidos frente a amenazas externas.

No se trata de paranoia: hoy en día, una configuración deficiente o la exposición accidental de una dirección IP o un puerto abierto puede suponer una puerta de entrada para intrusiones, escaneos maliciosos o accesos no autorizados.

A través de esta guía, voy a documentar el proceso de revisión, auditoría y blindaje de un sistema Linux Mint, con explicaciones claras y herramientas al alcance de cualquier usuario.

Porque dormir tranquilo también es una cuestión de seguridad digital.

Datos personales que comprometen tu equipo en la Red, ¿qué podemos hacer?

  • Primer indicio: posibilidad de fuga de credenciales e información privada.

Ante la posible filtración de datos que pueden identificar tu equipo, como por ejemplo tu IP Pública al descubierto, debemos analizar y proteger la red.

Al margen de que necesites mantener ciertos puertos abiertos, por el momento, es necesario cerrar toda conexión entrante.

Si tenemos reglas configuradas con Ufw (Gufw, en entorno gráfico), u otro cortafuegos, que permiten puertos entrantes, debemos anularlas de inmediato. Entendiendo que usamos Ufw:

En caso de no tenerlo activado, urge hacerlo:

$ sudo ufw enable

Configuraremos el cortafuegos con reglas de fábrica:

Accesos entrantes: denegado.

$ sudo ufw default deny incoming

Accesos salientes: permitido.

$ sudo ufw default allow outgoing

Eliminamos todas las reglas preconfiguradas (si las hubiere).

$ sudo ufw reset

Confirmamos que Ufw está activo con las reglas de fábrica.

$ sudo ufw status verbose

TERMINAL
1973sobreruedas@manual_de_supervivencia_linux
/Linux Mint 22.1\ - Manual de supervivencia linux - /xia 22.1\

~ -> $ sudo ufw status verbose

[sudo] contraseña para sobreruedas:
Estado: activo
Acceso: on (low)
Predeterminado: deny (entrantes), allow (salientes), disable (enrutados)
Perfiles nuevos: skip
 

En este punto acoto las posibles intrusiones por puertos abiertos olvidados.

  • Revisión de servicios en escucha

Comprobación de puertos abiertos por servicios activos:

$ sudo ss -tulnp

ss  muestra conexiones de red activas con su IP de origen/destino.

La expresión -tulnp es una forma abreviada de escribir -t -u -l -n -p, donde cada letra representa una opción independiente. Esta técnica se conoce como agrupación de opciones cortas (en inglés grouped short options).

  • Opciones utilizadas:
    • t: TCP
    • u: UDP
    • l: mostrar sockets de escucha
    • n: sin resolución de nombres (más rápido)
    • p: nombre del proceso involucrado

🔍 Hay que buscar líneas con direcciones IP que no se reconocen, sobre todo en estado ESTABLISHED.

Esto me mostró procesos como dropbox, megasync, cupsd, systemd-resolve, y servicios internos como java (usado intencionadamente). Todos ellos estaban justificados. No había servicios sospechosos ni tampoco inesperados.

También se puede usar:

$ sudo netstat -tulnp

O combinaciones con filtros:

$ sudo ss -tulnp | grep LISTEN

  • Auditoría del sistema con chkrootkit

Ejecutamos el escaneo del sistema en busca de rootkits:

$ sudo chkrootkit

Si no lo tuvieseis instalado, es tan sencillo como: $ sudo apt install chkrootkit

Mi informe arrojó un resultado positivo: no se detectaron infecciones ni rootkits activos. Algunos directorios y archivos fueron marcados como «sospechosos» por su ubicación o formato (por ejemplo, en rutas ocultas de Python o Ruby), pero tras mi revisión confirmé que eran archivos legítimos.

  • Verificación de modificaciones en /etc

Para detectar cambios recientes en configuraciones sensibles:

$ sudo find /etc -type f -mtime -5 -ls

Esto permite rastrear los archivos del sistema modificados en los últimos 5 días. Observé únicamente cambios derivados del ajuste del cortafuegos y algunas configuraciones de impresión (CUPS).

  • Confirmación final: ningún servicio escuchando públicamente

La combinación de pasos anteriores permitió validar que:

  1. No hay puertos abiertos innecesarios.
  2. El cortafuegos está activo y bloquea todo lo no explícitamente permitido.
  3. No hay procesos desconocidos ni servicios sospechosos escuchando en red.
  4. No se detectan rootkits ni archivos ocultos maliciosos.

🛡️ ¿Pueden entrar a tu sistema sólo con tu IP pública?

No directamente.

Tener tu IP pública visible no equivale a estar «abierto» al mundo como una casa sin puerta. Veamos por qué:

  • 🔍 Tu router está de por medio.
    • Tu IP pública suele ser la del router, no la del equipo directamente. Éste actúa como muro de contención (cortafuegos natural), y no reenvía conexiones a tu PC salvo que tú lo configures (con puertos abiertosDMZ).
  • 🔒 No tienes puertos abiertos por defecto.
    • En la mayoría de los routers domésticos:
      • No hay puertos abiertos entrantes, y mucho menos servicios escuchando.
      • Esto significa que, aunque alguien escanee tu IP, encontrará… nada útil.
  • 🐾 Un atacante necesita más piezas y tener sólo la IP no les sirve si no conocen:
    • Qué sistema usas.
    • Qué puertos tienes abiertos (si los tienes).
    • Qué servicios están vulnerables (y expuestos públicamente).

Capa extra de seguridad

Nota avanzada para más expertos.

🔗 Firewall  IPv6

Para asegurarse de que también se bloquea todo en IPv6, o como caso desconocido no se bloquease con los comandos anteriores, propongo actuar directamente:

📡 Detectar la interfaz de red

Para saber qué nombre de interfaz usar en tus reglas de firewall, ejecuta:

$ ip link show

Salida de ejemplo:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: <tu_interfaz>: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT qlen 1000 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

En este ejemplo, la interfaz principal es <tu_interfaz> (sustitúyelo por la que veas en tu equipo). Cada usuario tendrá el suyo: eth0, wlan0, enp3s0, wlp2s0, etc.

$ sudo ufw allow in on tu_interfaz to any proto tcp port 22 comment 'SSH v6'

$ sudo ufw default deny incoming ipv6

¿Qué significan estos dos comandos y qué aportan?

  1. Visibilidad y trazabilidad documental
    Aunque UFW suele heredar la configuración IPv4 a IPv6 (si está habilitado), declarar explícitamente la regla en IPv6 deja muy claro en tu auditoría y en /etc/ufw/user.rules que «todo lo entrante IPv6 está cerrado salvo lo que se abra después». Eso ayuda al mantenimiento a largo plazo y evita sorpresas si alguien deshabilita sin querer el «v6=yes» en /etc/default/ufw.
     
  2. Defensa en profundidad
    $ sudo ufw allow in on tu_interfaz to any proto tcp port 22 comment 'SSH v6'
    Asegura que, en la única interfaz donde esperas SSH IPv6, permites el puerto 22 sobre TCP. Un atacante interno o un servicio mal configurado en otra zona no podrá conectarse por v6 en otra interfaz (túneles, bridges, etc.).
    sudo ufw default deny incoming ipv6
    Bloquea todo lo demás en IPv6: una «barrera» genérica que cierra gaps de reglas específicas o de aplicaciones que abran sockets v6 sin que te des cuenta.
     
  3. Compatibilidad con entornos dual-stack y migraciones
    En redes dual-stack (v4+v6) «por defecto» IPv6 puede comportarse de forma distinta —enlaces SLAAC, túneles 6to4, Teredo—. Con estas reglas te aseguras de no tener rutas o puertos abiertos v6 «por error» mientras la infraestructura se estabiliza o migras a un firewall más avanzado (nftables, cloud security groups, etc.).
     
  4. Facilidad de debugging
    Si algo no funciona por SSH IPv6, buscas justamente esa regla comentada «SSH v6» en el log o en la policy.
    Si más adelante quieres afinar QoS o rate-limiting en IPv6, ya tienes el punto de partida en tu UFW.

📝 Logging de UFW

Para un mayor control se revisará el Log.

Para ver intentos bloqueados:$ sudo ufw logging on

Los registros quedarán guardados en /var/log/ufw.log.

De este modo se completa el ciclo «revisar → bloquear → auditar».

⚙️ Nivel Pro: iptables / nftables

En entornos más complejos puede interesar usar $ nft directamente:
$ sudo nft list ruleset

Conclusión

Este procedimiento sencillo pero riguroso permite auditar y reforzar la seguridad de red en Linux Mint, especialmente útil tras una reinstalación o para revisar configuraciones pasadas por alto. La tranquilidad digital no se improvisa: se construye paso a paso.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Manual de Supervivencia Linux

Logo de Tux transparente del Manual de Supervivencia Linux

Linux Mint – Mate

Bienvenido a este espacio donde aprender diferentes funciones, características y configuraciones del sistema operativo y su escritorio.

Últimas publicaciones

Últimos Comentarios

No hay comentarios que mostrar.

Filtrar por Categoría

Nube de etiquetas