Säkerhetshårdning av Linux-server: Essentiella första steg

Denna artikel ger essentiella steg för att säkra din Linux-server genom att implementera bästa praxis inom autentisering, nätverkskonfiguration och systemunderhåll. Genom att följa dessa riktlinjer kan du avsevärt minska risken för obehörig tillgång och säkerställa att din server är robust mot vanliga hot.

1. Säkra SSH-åtkomst

1.1 Inaktivera lösenordsautentisering

För att förbättra säkerheten, inaktivera lösenordsautentisering för SSH och använd nyckelbaserad autentisering istället.

  1. Generera en SSH-nyckelpar på din lokala dator om du inte redan har ett:
  2. ssh-keygen -t rsa -b 4096
  3. Kopiera den offentliga nyckeln till din server:
  4. ssh-copy-id user@your_server_ip
  5. Redigera SSH-daemonens konfigurationsfil:
  6. nano /etc/ssh/sshd_config
  7. Sätt PasswordAuthentication no och se till att PubkeyAuthentication yes.
  8. Starta om SSH-tjänsten för att tillämpa ändringarna:
  9. sudo systemctl restart sshd

1.2 Ändra standardporten för SSH

Att ändra standardporten för SSH kan hjälpa till att minska automatiserade attacker.

  1. Redigera SSH-daemonens konfigurationsfil:
  2. nano /etc/ssh/sshd_config
  3. Sätt ett nytt portnummer, t.ex. Port 2222.
  4. Starta om SSH-tjänsten för att tillämpa ändringarna:
  5. sudo systemctl restart sshd
  6. Uppdatera dina brandväggsregler för att tillåta trafik på den nya porten.

2. Konfigurera UFW-brandvägg

The Uncomplicated Firewall (UFW) ger ett enkelt sätt att hantera brandväggsinställningar.

  1. Installera UFW om det inte redan är installerat:
  2. sudo apt-get install ufw
  3. Tillåt SSH-åtkomst på din valda port (t.ex. 2222):
  4. sudo ufw allow 2222/tcp
  5. Aktivera UFW:
  6. sudo ufw enable
  7. Kontrollera statusen för UFW för att säkerställa att den är aktiv och konfigurerad korrekt:
  8. sudo ufw status verbose

3. Installera Fail2Ban

Fail2Ban skannar loggfiler efter misstänkta aktiviteter och blockerar skadliga IP-adresser.

  1. Installera Fail2Ban:
  2. sudo apt-get install fail2ban
  3. Skapa en anpassad konfigurationsfil genom att kopiera standardjail-konfigurationen:
  4. sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  5. Redigera den anpassade konfigurationsfilen för att justera inställningar efter behov:
  6. nano /etc/fail2ban/jail.local
  7. Starta och aktivera Fail2Ban:
  8. sudo systemctl start fail2ban
    sudo systemctl enable fail2ban

4. Aktivera automatiska säkerhetsuppdateringar

Hålla ditt system uppdaterat är avgörande för att underhålla säkerheten.

  1. Installera paketet unattended-upgrades:
  2. sudo apt-get install unattended-upgrades
  3. Aktivera automatiska uppdateringar genom att redigera konfigurationsfilen:
  4. nano /etc/apt/apt.conf.d/20auto-upgrades
  5. Lägg till eller ändra följande rader för att aktivera uppdateringar:
  6. Apt::Periodic::Update-Package-Lists "1";
    Apt::Periodic::Unattended-Upgrade "1";

5. Ta bort oanvända tjänster

Inaktivera onödiga tjänster minskar angreppytan för din server.

  1. List alla körande tjänster:
  2. sudo systemctl list-units --type=service
  3. Identifiera och stoppa oanvända tjänster. Till exempel för att inaktivera Apache:
  4. sudo systemctl stop apache2
    sudo systemctl disable apache2

Felsökning

  • SSH-anslutningsproblem efter ändring av port: Se till att din SSH-klient är konfigurerad för att använda den nya porten och att UFW tillåter trafik på denna port.
  • Fail2Ban fungerar inte som förväntat: Kontrollera Fail2Ban-loggar efter fel: sudo tail -f /var/log/fail2ban.log
  • Automatiska uppdateringar misslyckas: Verifiera att ditt system är konfigurerat för att använda ett pålitligt paketarkiv och kontrollera uppdateringsloggarna: cat /var/log/unattended-upgrades/unattended-upgrades.log