Ubuntu Server - configuración inicial

Puesta a punto de un Ubuntu Server 22.04 LTS recien instalado: actualizar, herramientas de diagnóstico, multiplexor y endurecimiento básico de SSH. Pensado para dejar un equipo de laboratorio listo en diez minutos.

Primer contacto

sudo apt update && sudo apt upgrade -y
sudo reboot            # si el kernel cambia
sudo !!                # repetir el ultimo comando con sudo

Alias de productividad

nano ~/.bashrc

Añadir al final:

alias c='clear'
alias update='sudo apt update && sudo apt upgrade -y'
alias ll='ls -lah --group-directories-first'
source ~/.bashrc

Herramientas base

sudo apt install net-tools htop tree nmap tmux openssh-server -y
ComandoPara que
ip aDirecciones e interfaces (sustituye a ifconfig)
ip rTabla de rutas y puerta de enlace
ss -tulpnPuertos a la escucha con proceso y PID
htopProcesos: F6 ordena, F9 mata
tree -d -L 2Estructura de carpetas, dos niveles

tmux

cat >> ~/.tmux.conf << 'EOF'
set -g default-command /bin/bash
EOF
AtajoAcción
Ctrl+b %Dividir en vertical
Ctrl+b "Dividir en horizontal
Ctrl+b + flechasMoverse entre paneles
Ctrl+b dDesconectar dejando la sesión viva

Levantar servicios de prueba

nc -l -p 8080                    # escucha simple con netcat
python3 -m http.server 8000      # servidor HTTP en el directorio actual
ss -tulpn | grep -E '8080|8000'  # comprobar que escuchan

Hardening de SSH

sudo apt install openssh-server -y
sudo systemctl enable --now ssh
sudo systemctl status ssh

En /etc/ssh/sshd_config:

Port 2222
PermitRootLogin no
PasswordAuthentication no
AllowUsers tuusuario
MaxAuthTries 3
LoginGraceTime 30
sudo sshd -t                  # valida la configuracion antes de reiniciar
sudo systemctl restart ssh

Antes de cerrar la sesión actual, probar la conexión en otra terminal con el puerto nuevo: si algo está mal, se pierde el acceso.

Detalles que se olvidan

  • Hora: timedatectl set-timezone Europe/Madrid y comprobar timedatectl. Sin hora correcta, logs y VPN mienten.
  • Firewall: sudo ufw allow 2222/tcp && sudo ufw enable. Recordar abrir el puerto nuevo antes de cerrar el viejo.
  • Fail2ban: sudo apt install fail2ban y revisar jail.local si el servidor está expuesto.
  • Actualizaciones de seguridad sin intervención: sudo apt install unattended-upgrades y habilitar solo el repositorio de seguridad.
  • Backup de la configuración: guardar copia de sshd_config, ~/.bashrc y ~/.tmux.conf fuera del equipo.

Verificación final

ss -tulpn | head -20         # solo lo que debe escuchar
sudo ufw status verbose
systemctl --failed
last | head                  # accesos recientes