En ny server är sårbar. Här är stegen jag alltid tar innan jag sätter något i produktion.
1. Uppdatera systemet
apt update && apt upgrade -y
apt install unattended-upgrades -y
dpkg-reconfigure -plow unattended-upgrades
2. SSH-härdning
Redigera /etc/ssh/sshd_config:
Port 2222 # Ändra standardport
PermitRootLogin no # Ingen root-inloggning
PasswordAuthentication no # Bara SSH-nycklar
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers deploy # Bara specifika användare
systemctl restart sshd
3. Brandvägg med UFW
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp comment 'SSH'
ufw enable
ufw status verbose
4. Fail2Ban
apt install fail2ban -y
Skapa /etc/fail2ban/jail.local:
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 3600
findtime = 600
5. Automatiska säkerhetsuppdateringar
cat /etc/apt/apt.conf.d/50unattended-upgrades
# Se till att denna rad är aktiv:
# "${distro_id}:${distro_codename}-security";
6. Kernel-härdning
Lägg till i /etc/sysctl.d/99-hardening.conf:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
kernel.randomize_va_space = 2
sysctl -p /etc/sysctl.d/99-hardening.conf
Det här tar 15 minuter och gör en enorm skillnad. Gör det på varje server.