Seguridad Servidor · 5 min read · Jan 08, 2026

Asegurando el servidor CentOS con Bastille y PSAD

Este artículo muestra cómo asegurar un servidor CentOS utilizando psad, Bastille y algunos otros ajustes. psad es una herramienta que ayuda a detectar escaneos de puertos y otro tráfico sospechoso, y el programa de endurecimiento Bastille bloquea un sistema operativo, configurando proactivamente el sistema para aumentar la seguridad y disminuir su susceptibilidad a compromisos.

Crear una cuenta adicional para la administración de sistemas

El comando “adduser” creará una cuenta.

adduser service

El comando “passwd” establecerá la contraseña para la cuenta “service”.

passwd service

Crear un directorio para descargas.

Esto creará un directorio para descargar los RPM y otros archivos.

mkdir /downloads  
cd /downloads

Instalando PSAD

psad es una colección de tres demonios ligeros del sistema (dos demonios principales y un demonio auxiliar) que se ejecutan en máquinas Linux y analizan los mensajes de registro de Netfilter para detectar escaneos de puertos y otro tráfico sospechoso. Más información se puede encontrar aquí.

wget http://www.cipherdyne.com/psad/download/psad-2.4.6.tar.gz  
tar xfz psad-2.4.6.tar.gz  
cd psad-2.4.6  
./install.pl

Instalando Bastille

El programa de endurecimiento Bastille “bloquea” un sistema operativo, configurando proactivamente el sistema para aumentar la seguridad y disminuir su susceptibilidad a compromisos. Bastille también puede evaluar el estado actual de endurecimiento de un sistema, informando de manera granular sobre cada una de las configuraciones de seguridad con las que trabaja. Más información se puede encontrar aquí.

wget https://downloads.sourceforge.net/project/bastille-linux/bastille-linux/3.2.1/Bastille-3.2.1-0.1.noarch.rpm  
  
rpm -ivh Bastille-3.2.1-0.1.noarch.rpm 

Ejecutando Bastille

Esto iniciará el aviso interactivo.

/usr/sbin/bastille -c

Respuesta del aviso interactivo

Estas configuraciones son recomendaciones para la instalación de Perfect Setup. Puede haber ciertos valores que necesiten cambiar si se han instalado otros programas o paquetes.

accept  
  
  
  
¿Te gustaría establecer permisos más restrictivos en las utilidades de administración? -> SÍ  
  
  
  
¿Te gustaría deshabilitar el estado SUID para mount/umount? -> SÍ  
¿Te gustaría deshabilitar el estado SUID para ping? -> SÍ  
¿Te gustaría deshabilitar el estado SUID para at? -> SÍ  
¿Te gustaría deshabilitar las herramientas r? -> SÍ  
¿Te gustaría deshabilitar el estado SUID para usernetctl? -> SÍ  
¿Te gustaría deshabilitar el estado SUID para traceroute? -> SÍ  
¿Debería Bastille deshabilitar los protocolos r en texto claro que utilizan autenticación basada en IP? -> SÍ  
¿Te gustaría hacer cumplir el envejecimiento de contraseñas? -> SÍ  
¿Quieres establecer el umask predeterminado? -> SÍ   
¿Qué umask te gustaría establecer para los usuarios en el sistema? -> 007  
¿Deberíamos prohibir el inicio de sesión de root en tty's 1-6? -> NO  
¿Debería Bastille preguntarte por cuentas adicionales para eliminar? -> NO  
¿Te gustaría proteger con contraseña el aviso de GRUB? -> NO  
¿Te gustaría deshabilitar el reinicio CTRL-ALT-DELETE? -> SÍ  
¿Te gustaría proteger con contraseña el modo de un solo usuario? -> NO  
¿Te gustaría establecer un denegación predeterminada en TCP Wrappers y xinetd? -> NO  
¿Te gustaría mostrar mensajes de "Uso Autorizado" al iniciar sesión? -> SÍ  
¿Quién es responsable de otorgar autorización para usar esta máquina? -> NOMBRE DE TU EMPRESA  
¿Te gustaría poner límites en el uso de recursos del sistema? -> SÍ  
  
  
  
¿Deberíamos restringir el acceso a la consola a un pequeño grupo de cuentas de usuario? -> SÍ  
¿Qué cuentas deberían poder iniciar sesión en la consola? -> root  
¿Te gustaría configurar la contabilidad de procesos? -> NO  
  
  
  
¿Te gustaría deshabilitar acpid y/o apmd? -> SÍ  
¿Te gustaría deshabilitar los servicios de PCMCIA? -> SÍ  
¿Te gustaría deshabilitar GPM? -> SÍ  
¿Te gustaría desactivar el script de HP OfficeJet (hpoj) en esta máquina? -> SÍ  
¿Te gustaría desactivar el script de ISDN en esta máquina? -> SÍ  
¿Te gustaría desactivar la ejecución de kudzu al inicio? -> SÍ  
¿Quieres detener sendmail de ejecutarse en modo demonio? -> SÍ  
¿Te gustaría desactivar named, al menos por ahora? -> NO  
¿Te gustaría desactivar el servidor web Apache? -> NO  
¿Te gustaría vincular el servidor web para que escuche solo en localhost? -> NO  
¿Te gustaría vincular el servidor web a una interfaz particular? -> NO  
  
  
  
¿Te gustaría desactivar el seguimiento de enlaces simbólicos? -> SÍ  
¿Te gustaría deshabilitar la impresión? -> SÍ  
¿Te gustaría instalar scripts TMPDIR/TMP? -> NO  
¿Te gustaría ejecutar el script de filtrado de paquetes? -> SÍ  
  
  
  
¿Necesitas las opciones avanzadas de red? -> NO  
Servidores DNS: [0.0.0.0/0] -> DEJAR POR DEFECTO  
Interfaces públicas: -> eth+  
Servicios TCP a auditar: -> telnet ftp imap pop3 finger sunrpc exec login linuxconf ssh  
Servicios UDP a auditar: -> 31337  
Servicios ICMP a auditar: -> VACÍO  
Nombres de servicios TCP o números de puerto a permitir en interfaces públicas: -> 21 22 25 53 80 110 111 143 443 631 953 993 995 3306  
Nombres de servicios UDP o números de puerto a permitir en interfaces públicas: -> VACÍO  
¿Forzar modo pasivo? -> SÍ  
Servicios TCP a bloquear: -> 2049 2065:2090 6000:6020 7100  
Servicios UDP a bloquear: -> 2049 6770  
Tipos ICMP permitidos: -> unreachable-destination echo-reply time-exceeded  
¿Habilitar verificación de dirección de origen? -> SÍ  
Método de rechazo: -> DENY  
Interfaces para consultas DHCP: -> VACÍO  
Servidores NTP a consultar: -> VACÍO  
Tipos ICMP a deshabilitar salientes: -> unreachable-destination time-exceeded  
¿Debería Bastille ejecutar el firewall y habilitarlo al inicio? -> SÍ  
¿Te gustaría configurar psad? -> SÍ  
intervalo de verificación de psad: -> 15  
Umbral de escaneo de rango de puertos: -> 1  
¿Habilitar persistencia de escaneo? -> NO  
Tiempo de espera de escaneo: -> 3600  
¿Mostrar todas las firmas de escaneo? -> NO  
Niveles de Peligro: -> 5 50 1000 5000 10000  
Direcciones de correo electrónico: -> root@localhost  
Nivel de peligro de alerta por correo electrónico: -> 1  
¿Alertar sobre todos los nuevos paquetes? -> SÍ  
¿Habilitar bloqueo automático de IPs que escanean? -> NO  
¿Debería Bastille habilitar psad al inicio? -> SÍ  
¿Has terminado de responder las preguntas, es decir, podemos hacer los cambios? -> SÍ  
  

Editar la configuración de SSH

Esto tomará un paso adicional para asegurar SSH. Las siguientes configuraciones:

  • aseguran que se use SSHv2
  • el usuario root no puede iniciar sesión directamente a través de SSH
  • las cuentas sin contraseñas no se permitirán iniciar sesión
  • se mostrará un banner de inicio de sesión.
vi /etc/ssh/sshd_config

Edita las siguientes líneas y elimina el comentario. No olvides guardar y salir.

#Protocol 2,1 -> Protocol 2  
#PermitRootLogin yes -> PermitRootLogin no  
#PermitEmptyPasswords no -> PermitEmptyPasswords no  
#Banner /some/path -> Banner /etc/issue

Reiniciar el sistema

Por favor reinicia el sistema como una verificación final. Asegúrate de que todo comience correctamente.

reboot
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.