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 sudoAlias de productividad
nano ~/.bashrcAñadir al final:
alias c='clear'
alias update='sudo apt update && sudo apt upgrade -y'
alias ll='ls -lah --group-directories-first'source ~/.bashrcHerramientas base
sudo apt install net-tools htop tree nmap tmux openssh-server -y| Comando | Para que |
|---|---|
ip a | Direcciones e interfaces (sustituye a ifconfig) |
ip r | Tabla de rutas y puerta de enlace |
ss -tulpn | Puertos a la escucha con proceso y PID |
htop | Procesos: F6 ordena, F9 mata |
tree -d -L 2 | Estructura de carpetas, dos niveles |
tmux
cat >> ~/.tmux.conf << 'EOF'
set -g default-command /bin/bash
EOF| Atajo | Acción |
|---|---|
Ctrl+b % | Dividir en vertical |
Ctrl+b " | Dividir en horizontal |
Ctrl+b + flechas | Moverse entre paneles |
Ctrl+b d | Desconectar 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 escuchanHardening de SSH
sudo apt install openssh-server -y
sudo systemctl enable --now ssh
sudo systemctl status sshEn /etc/ssh/sshd_config:
Port 2222
PermitRootLogin no
PasswordAuthentication no
AllowUsers tuusuario
MaxAuthTries 3
LoginGraceTime 30sudo sshd -t # valida la configuracion antes de reiniciar
sudo systemctl restart sshAntes 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/Madridy comprobartimedatectl. 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 fail2bany revisarjail.localsi el servidor está expuesto. - Actualizaciones de seguridad sin intervención:
sudo apt install unattended-upgradesy habilitar solo el repositorio de seguridad. - Backup de la configuración: guardar copia de
sshd_config,~/.bashrcy~/.tmux.conffuera del equipo.
Verificación final
ss -tulpn | head -20 # solo lo que debe escuchar
sudo ufw status verbose
systemctl --failed
last | head # accesos recientes