- - 3 sätt att säkra en SSH-server på Linux

3 sätt att säkra en SSH-server på Linux

SSH är fantastisk, eftersom det tillåter oss att få terminalåtkomst till andra Linux-datorer och servrar via nätverket, eller till och med internet! Fortfarande, för lika fantastiskt som den här tekniken är, finns det några bländande säkerhetsproblem som gör att det är osäkert. Om du är en genomsnittlig användare, finns det inget verkligt behov av att installera komplicerade SSH-säkerhetsverktyg. Överväg istället att följa dessa grundläggande steg för att säkra en SSH-server på Linux.

Ändra standardanslutningsport

Det överlägset det snabbaste och enklaste sättet att säkra enSSH-servern ska ändra porten den använder. Som standard körs SSH-servern på port 22. För att ändra den öppnar du ett terminalfönster. Inuti terminalfönstret SSH till fjärrdatorn som är värd för SSH-servern.

ssh user@local-ip-address

När du är inloggad, släpp från en vanlig användare till Root. Om du har fått root-kontot loggar du in med su är ett bra val. Annars måste du få tillgång till sudo.

su -

eller

sudo -s

Nu när du har fått adminåtkomst öppnar du upp SSH-konfigurationsfilen i Nano.

nano /etc/ssh/sshd_config

Bläddra igenom konfigurationsfilen för “Port 22”. Ta bort # om det finns en, ändra sedan 22 ″ till ett annat nummer. Vanligtvis räcker en port över 100 eller till och med en i 1000-intervallet. När du har ändrat portnumret trycker du på Ctrl + O tangentbordskombination för att spara redigeringarna. Stäng sedan redigeraren genom att trycka på Ctrl + X.

Att redigera konfigurationsfilen kommer inte att omedelbart växla över din SSH-server till att använda rätt port. Istället måste du starta om tjänsten manuellt.

systemctl restart sshd

Att köra systemctl-kommandot bör starta om SSH-demonen och tillämpa de nya inställningarna. Om omstart av demonen misslyckas är ett annat alternativ att starta om din SSH-servermaskin:

reboot

Efter omstart av demonet (eller maskinen) kommer SSH inte att vara tillgängligt via port 22. Som ett resultat kräver man anslutning över SSH manuellt specificering av porten.

Obs! Se till att ändra “1234” med porten som är inställd i SSH-konfigurationsfilen.

ssh -p 1234 user@local-ip-address

Inaktivera lösenordsinloggning

Ett annat bra sätt att säkra en SSH-server är attta bort lösenordsinloggning och istället övergå till inloggning via SSH-nycklar. Att gå med SSH-nyckelrutten skapar en cirkel av förtroende mellan din SSH-server och fjärrmaskiner som har din nyckel. Det är en krypterad lösenordsfil som är svår att knäcka.

Ställ in med en SSH-nyckel på din server. När du har konfigurerat nycklarna, öppna en terminal och öppna SSH-konfigurationsfilen.

su -

eller

sudo -s

Öppna sedan konfigureringen i Nano med:

nano /etc/ssh/sshd_config

Som standard hanterar SSH-servrar autentisering viaanvändarens lösenord. Om du har ett säkert lösenord är detta ett bra sätt att gå, men en krypterad SSH-nyckel på pålitliga maskiner är snabbare, bekvämare och säkrare. För att avsluta övergången till "lösenordsfri inloggning", titta i SSH-konfigurationsfilen. Inuti denna fil, bläddra igenom och hitta posten som säger "PasswordAuthentication".

Ta bort symbolen # framför "PasswordAuthentication" och se till att det har ordet "nej" framför sig. Om allt ser bra ut, spara redigeringarna i SSH-konfigurationen genom att trycka på Ctrl + O på tangentbordet.

När du har sparat konfigurationen stänger du Nano med Ctrl + Xoch starta om SSHD för att tillämpa ändringarna.

systemctl restart sshd

Om du inte använder systemd kan du försöka starta om SSH med det här kommandot istället:

service ssh restart

Nästa gång en fjärrmaskin försöker logga in på denna SSH-server kontrollerar den om de rätta nycklarna och släpper in dem, utan lösenord.

Inaktivera root-konto

Att inaktivera root-kontot på din SSH-server ärett sätt att mildra skadan som kan uppstå när en obehörig användare får åtkomst över SSH. För att inaktivera Root-kontot är det viktigt att minst en användare på din SSH-server kan få Root via sudo. Detta kommer att säkerställa att du fortfarande kan få åtkomst till systemnivå om du behöver det utan root-lösenordet.

Obs! Se till att de användare som kan komma åt Root-privilegier via sudo har ett säkert lösenord, eller att inaktivera superanvändarkontot är meningslöst.

För att inaktivera Root, höj terminalen till superanvändarbehörigheter:

sudo -s

Om du använder sudo-förbikopplas behovet av att logga in med suoch ger istället ett rotskal via sudoers-filen. Nu när skalet har superanvändaråtkomst kör du Lösenord kommandot och klättra root-kontot med -låsa.

passwd --lock root

Att köra ovanstående kommando krypterar root-kontoens lösenord så att logga in via su är omöjligt. Från och med nu kan användare bara SSH in som en lokal användare och sedan byta till ett root-konto via sudo-behörigheter.

kommentarer