Usando el comando netstat para encontrar puertos abiertos:
Uno de los comandos más básicos para monitorear el estado de su dispositivo es netstat que muestra los puertos abiertos y las conexiones establecidas.
A continuación, un ejemplo del netstat con salida de opciones adicionales:
# netstat -anp
Dónde:
-a: muestra el estado de los enchufes.
-norte: muestra direcciones IP en lugar de hots.
-pag: muestra el programa que establece la conexión.
Un extracto de salida que se ve mejor:
La primera columna muestra el protocolo, puede ver que tanto TCP como UDP están incluidos, la primera captura de pantalla también muestra sockets UNIX. Si sospecha que algo anda mal, comprobar los puertos es, por supuesto, obligatorio.
Establecer reglas básicas con UFW:
LinuxHint ha publicado excelentes tutoriales sobre UFW e Iptables, aquí me centraré en una política de firewall restrictiva. Se recomienda mantener una política restrictiva que niegue todo el tráfico entrante a menos que desee que se permita.
Para instalar UFW, ejecute:
# apt install ufw
Para habilitar el firewall al inicio, ejecute:
# sudo ufw enable
Luego aplique una política restrictiva predeterminada ejecutando:
# Sudo ufw predeterminado denegar entrante
Deberá abrir manualmente los puertos que desea usar ejecutando:
# ufw allowAuditándose a sí mismo con nmap:
Nmap es, si no el mejor, uno de los mejores escáneres de seguridad del mercado. Es la principal herramienta utilizada por los administradores de sistemas para auditar la seguridad de su red. Si está en una DMZ, puede escanear su IP externa, también puede escanear su enrutador o su host local.
Un escaneo muy simple contra su localhost sería:
Como puede ver, la salida muestra que mi puerto 25 y el puerto 8084 están abiertos.
Nmap tiene muchas posibilidades, incluido el sistema operativo, la detección de versiones, los análisis de vulnerabilidades, etc.
En LinuxHint hemos publicado una gran cantidad de tutoriales enfocados en Nmap y sus diferentes técnicas. Usted puede encontrarlos aquí.
El comando chkrootkit para comprobar su sistema en busca de infecciones por chrootkit:
Los rootkits son probablemente la amenaza más peligrosa para las computadoras. El comando chkrootkit
(comprobar rootkit) puede ayudarle a detectar rootkits conocidos.
Para instalar chkrootkit, ejecute:
# apt install chkrootkit
Entonces corre:
# sudo chkrootkitUsando el comando cima para comprobar los procesos que consumen la mayor parte de sus recursos:
Para obtener una vista rápida de los recursos en ejecución, puede usar el comando top, en la terminal, ejecute:
# cima
El comando iftop para monitorear el tráfico de su red:
Otra gran herramienta para monitorear su tráfico es iftop,
# sudo iftopEn mi caso:
# sudo iftop wlp3s0
El comando lsof (lista de archivos abiertos) para verificar la asociación de archivos <> procesos:
Al sospechar que algo anda mal, el comando lsof puede enumerar los procesos abiertos y a qué programas están asociados, en la consola ejecutar:
# lsof
Quién y w para saber quién está conectado a su dispositivo:
Además, para saber cómo defender su sistema es obligatorio saber cómo reaccionar antes de sospechar que su sistema ha sido pirateado. Uno de los primeros comandos que se ejecutan antes de tal situación es w o OMS que mostrará qué usuarios están conectados a su sistema y a través de qué terminal. Comencemos con el comando w:
# w
Nota: Es posible que los comandos "w" y "who" no muestren a los usuarios conectados desde pseudo terminales como el terminal Xfce o el terminal MATE.
La columna llamada USUARIO muestra el nombre de usuario, la captura de pantalla de arriba muestra que el único usuario registrado es linuxhint, la columna TTY muestra el terminal (tty7), la tercera columna DE muestra la dirección del usuario, en este escenario no hay usuarios remotos conectados, pero si estaban conectados, podría ver las direcciones IP allí. La [correo electrónico protegido] columna especifica la hora en la que el usuario inició sesión, la columna JCPU resume los minutos de proceso ejecutados en el terminal o TTY. la PCPU muestra la CPU utilizada por el proceso enumerado en la última columna QUÉ.
Tiempo w es igual a ejecutar tiempo de actividad, OMS y ps -a juntos otra alternativa, a pesar de que con menos información es el comando “OMS”:
# OMS
El comando último para comprobar la actividad de inicio de sesión:
Otra forma de supervisar la actividad de los usuarios es a través del comando "último" que permite leer el archivo wtmp que contiene información sobre el acceso de inicio de sesión, la fuente de inicio de sesión, la hora de inicio de sesión, con funciones para mejorar eventos de inicio de sesión específicos, para intentar ejecutar:
Verificando la actividad de inicio de sesión con el comando último:
El comando lee el archivo por última vez wtmp para encontrar información sobre la actividad de inicio de sesión, puede imprimirla ejecutando:
# último
Verificando el estado de su SELinux y habilítelo si es necesario:
SELinux es un sistema de restricción que mejora cualquier seguridad de Linux, viene por defecto en algunas distribuciones de Linux, se explica ampliamente aquí en linuxhint.
Puede verificar su estado de SELinux ejecutando:
# sestatusSi obtiene un error de comando no encontrado, puede instalar SELinux ejecutando:
# Apt install selinux-basics selinux-policy-default -y
Entonces corre:
# selinux-activarVerifique cualquier actividad del usuario usando el comando historia:
En cualquier momento, puede verificar la actividad de cualquier usuario (si es root) utilizando el historial de comandos registrado como el usuario que desea monitorear:
# historia
El historial de comandos lee el archivo bash_history de cada usuario. Por supuesto, este archivo puede ser adulterado, y usted como root puede leer este archivo directamente sin invocar el historial de comandos. Sin embargo, si desea monitorear la actividad en ejecución, se recomienda.
Espero que haya encontrado útil este artículo sobre los comandos de seguridad esenciales de Linux. Siga siguiendo LinuxHint para obtener más consejos y actualizaciones sobre Linux y redes.