#!/bin/bash
# Linux Hardening Suite
echo "Securing server..."
./01-setup-user.sh
./02-firewall.sh
./03-fail2ban.sh
./04-ssh-hardening.sh
./05-selinux.sh
echo "✓ Server secured"

Zelmar Mohozzo

Cybersecurity Specialist & Developer

🔐 Security Expert 💻 Code Society
🛡️

Linux Hardening Suite

Scripts de hardening automático
para servidores Linux

Distribuciones soportadas:
Ubuntu Debian CentOS Fedora Kali Linux Red Hat
about.sh - Información del Proyecto

👋 Sobre el Proyecto

Linux Hardening Suite es una colección de scripts modulares desarrollados durante mi tiempo en Code Society para automatizar la implementación de mejores prácticas de ciberseguridad en servidores Linux.

👤 Configuración segura de usuarios y permisos
🔥 Firewall automático con UFW/iptables
🚫 Fail2ban contra ataques de fuerza bruta
🔐 SSH hardening con configuración avanzada
🛡️ SELinux en modo enforcing
Zelmar Mohozzo

Zelmar Mohozzo

Especialista en Ciberseguridad

Code Society

Tux - Linux Mascot
security-info.sh - Importancia del Hardening

Un servidor sin hardening es una puerta abierta a los atacantes

🎯

Reduce superficie de ataque

Elimina servicios innecesarios y cierra puertos no utilizados, minimizando los vectores de entrada para atacantes.

🚪

Previene accesos no autorizados

Implementa autenticación robusta, políticas de contraseñas y control de acceso granular.

📋

Alinea con normativas de seguridad

Cumple con estándares como CIS Benchmarks, NIST y otras regulaciones de ciberseguridad.

🔍

Mejora monitoreo y auditoría

Habilita logging detallado y herramientas de detección de intrusiones para visibilidad completa.

view-scripts.sh - Scripts Disponibles

Scripts de Hardening

👤 01-setup-user.sh
#!/bin/bash
# Script de Hardening - Configuración de Usuario Seguro
# Autor: Zelmar Mohozzo - Code Society
# Propósito: Establecer usuario con sudo y deshabilitar root remoto

set -euo pipefail

# Colores para output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Función de logging
log() {
    echo -e "${GREEN}[$(date +'%Y-%m-%d %H:%M:%S')] INFO: $1${NC}"
}

error() {
    echo -e "${RED}[$(date +'%Y-%m-%d %H:%M:%S')] ERROR: $1${NC}"
}

warning() {
    echo -e "${YELLOW}[$(date +'%Y-%m-%d %H:%M:%S')] WARNING: $1${NC}"
}

# Verificar si se ejecuta como root
if [[ $EUID -ne 0 ]]; then
   error "Este script debe ejecutarse como root"
   exit 1
fi

# Solicitar información del nuevo usuario
read -p "Ingrese el nombre del nuevo usuario: " NEW_USER
read -s -p "Ingrese la contraseña para $NEW_USER: " NEW_PASSWORD
echo

# Crear usuario con directorio home
log "Creando usuario $NEW_USER..."
useradd -m -s /bin/bash "$NEW_USER"

# Establecer contraseña
echo "$NEW_USER:$NEW_PASSWORD" | chpasswd

# Agregar usuario al grupo sudo
log "Agregando $NEW_USER al grupo sudo..."
usermod -aG sudo "$NEW_USER"

# Deshabilitar login root directo
log "Deshabilitando login root directo..."
passwd -l root

log "✓ Configuración de usuario seguro completada"
log "✓ Usuario $NEW_USER creado con permisos sudo"
log "✓ Acceso root remoto deshabilitado"

exit 0
                            
compatibility.sh - Distribuciones Compatibles

🐧 Distribuciones Linux Soportadas

Scripts probados y optimizados para las principales distribuciones Linux

Ubuntu

20.04 LTS, 22.04 LTS, 24.04 LTS

✅ Compatible

Debian

10 (Buster), 11 (Bullseye), 12 (Bookworm)

✅ Compatible

CentOS

7, 8, Stream 9

✅ Compatible

Fedora

36, 37, 38, 39

✅ Compatible

Kali Linux

Rolling Release, 2023.x

✅ Compatible

Red Hat

RHEL y Distribuciones basadas en GNU/Linux

⚠️ Parcial
demo.sh - Preview de Ejecución

🖥️ Simulación de Ejecución

Vista previa de cómo se ejecutan los scripts de hardening

root@server:~/linux-hardening-suite
root@server :~/linux-hardening-suite # ./hardening-complete.sh
[2025-01-15 10:30:15] INFO: Iniciando hardening completo del servidor...
[2025-01-15 10:30:16] INFO: Ejecutando 01-setup-user.sh
[2025-01-15 10:30:17] WARNING: Configurando usuario seguro...
[2025-01-15 10:30:18] INFO: ✓ Usuario admin creado con permisos sudo
[2025-01-15 10:30:19] INFO: ✓ Acceso root remoto deshabilitado
[2025-01-15 10:30:20] INFO: Ejecutando 02-firewall.sh
[2025-01-15 10:30:21] INFO: ✓ UFW configurado con políticas restrictivas
[2025-01-15 10:30:22] INFO: Ejecutando 03-fail2ban.sh
[2025-01-15 10:30:25] INFO: ✓ Fail2ban instalado y configurado
[2025-01-15 10:30:26] INFO: ✓ Protección SSH habilitada
[2025-01-15 10:30:27] INFO: Ejecutando 04-ssh-hardening.sh
[2025-01-15 10:30:28] WARNING: Puerto SSH cambiado a 2222
[2025-01-15 10:30:29] INFO: ✓ SSH hardening completado
[2025-01-15 10:30:30] INFO: Ejecutando 05-selinux.sh
[2025-01-15 10:30:33] INFO: ✓ SELinux configurado en modo enforcing
[2025-01-15 10:30:34] SUCCESS: Hardening completo exitoso!
[2025-01-15 10:30:35] WARNING: Reinicio requerido para aplicar todos los cambios
root@server :~/linux-hardening-suite # _
project-preview.sh - Vista del Proyecto Original

📸 Interfaz Original del Proyecto

Captura de pantalla del menú terminal desarrollado en Code Society

Linux Hardening Suite Interface
👁️