Preparación Inicial del Sistema: Ubuntu 20.04 LTS
1. Actualización y Sincronización del Repositorio
Antes de instalar cualquier software, es imperativo actualizar la lista de paquetes y aplicar los parches de seguridad existentes.
sudo apt update && sudo apt upgrade -y
2. Configuración del Usuario Administrativo
Evita trabajar directamente como root para reducir riesgos de seguridad. Crea un usuario con privilegios de sudo.
# Crear nuevo usuario (ejemplo: 'admin_nico')
sudo adduser admin_nico
# Añadir al grupo sudo
sudo usermod -aG sudo admin_nico
3. Aseguramiento del Acceso SSH
Para proteger el servidor contra ataques de fuerza bruta, desactiva el acceso root y la autenticación por contraseña.
-
Edita la configuración SSH:
sudo nano /etc/ssh/sshd_config
2. **Modifica las siguientes directivas:**
* `PermitRootLogin no`
* `PasswordAuthentication no` (Asegúrate de haber copiado tu llave pública `ssh-copy-id` antes de esto).
3. **Reinicia el servicio:**
```bash
sudo systemctl restart ssh
4. Activación y Configuración del Firewall (UFW)
Define reglas restrictivas por defecto: denegar todo el tráfico entrante y permitir solo lo necesario.
# Denegar todo el tráfico entrante
sudo ufw default deny incoming
# Permitir solo tráfico saliente
sudo ufw default allow outgoing
# Permitir SSH (imprescindible)
sudo ufw allow ssh
# Habilitar firewall
sudo ufw enable
5. Configuración de la Zona Horaria
Mantener la hora sincronizada es vital para los logs, cron jobs (como tus tareas de cron.php para WHMCS) y la integridad de las copias de seguridad.
# Listar zonas disponibles
timedatectl list-timezones
# Establecer zona horaria (ejemplo: Madrid)
sudo timedatectl set-timezone Europe/Madrid
