SSH är ett allmänt använt protokoll som används för att komma åt Linux-servrar på ett säkert sätt. De flesta användare använder SSH-anslutningar med standardinställningar för att ansluta till en fjärrserver. Men de osäkrade standardkonfigurationerna utgör också olika säkerhetsrisker.

Rotkontot för en server med öppen SSH-åtkomst kan vara i fara. Och speciellt om du använder en offentlig IP-adress är det mycket lättare att hacka root-lösenordet. Därför är det nödvändigt att ha kunskap om SSH-säkerhet.

Så här kan du säkra dina SSH-serveranslutningar på Linux.

1. Inaktivera rotanvändarinloggningar

För detta inaktiverar du först rotanvändarens SSH-åtkomst och skapa en ny användare med root-privilegier. Att stänga av serveråtkomst för rotanvändaren är en försvarsstrategi som förhindrar angripare från att uppnå sitt mål att inkräkta på systemet. Du kan till exempel skapa en användare som heter exempelrot som följer:

useradd -m exempelrot
passwd exempelrot
usermod -aG sudo exempelrot

Här är en kort förklaring av de ovannämnda kommandona:

instagram viewer
  • användaradd skapar en ny användare och -m parameter skapar en mapp under Hem katalog för användaren du skapade.
  • De passwd kommandot är för att tilldela ett lösenord till den nya användaren. Kom ihåg att lösenord du tilldelar användarna bör vara komplexa och svåra att gissa.
  • usermod -aG sudo lägger till den nyskapade användaren i administratörsgruppen.

Efter processen för att skapa en användare är det nödvändigt att göra några ändringar i sshd_config fil. Du hittar den här filen på /etc/ssh/sshd_config. Öppna filen med valfri textredigerare och gör följande ändringar:

# Autentisering: 
#LoginGraceTime 2m
PermitRootLogin nr
AllowUsers exempelrot

PermitRootLogin linje kommer att förhindra rotanvändaren från att få fjärråtkomst med SSH. Inklusive exempelrot i TillåtAnvändare list ger nödvändiga behörigheter till användaren.

Slutligen, starta om SSH-tjänsten med följande kommando:

sudo systemctl starta om ssh

Om det misslyckas och du får ett felmeddelande, prova kommandot nedan. Detta kan skilja sig beroende på vilken Linux-distro du använder.

sudo systemctl starta om sshd

2. Ändra standardporten

Standard SSH-anslutningsport är 22. Naturligtvis vet alla angripare detta och därför är det nödvändigt att ändra standardportnumret för att säkerställa SSH-säkerhet. Även om en angripare lätt kan hitta den nya portnummer med en Nmap-skanning, målet här är att göra anfallarens jobb svårare.

För att ändra portnumret, öppna /etc/ssh/sshd_config och gör följande ändringar i filen:

Omfatta /etc/ssh/sshd_config.d/*.conf
Hamn 5922

Efter detta steg, starta om SSH-tjänsten igen med sudo systemctl starta om ssh. Nu kan du komma åt din server med den port du just definierade. Om du använder en brandvägg måste du göra nödvändiga regeländringar även där. På att köra netstat -tlpn kommandot kan du se att ditt portnummer för SSH har ändrats.

3. Blockera åtkomst för användare med tomma lösenord

Det kan finnas användare utan lösenord på ditt system som du kanske har skapat av misstag. För att förhindra sådana användare från att komma åt servrarna kan du ställa in PermitEmptyPasswords linjevärde i sshd_config fil till Nej.

PermitEmptyPasswords no

4. Begränsa inloggnings-/åtkomstförsök

Som standard kan du komma åt servern genom att göra så många lösenordsförsök som du vill. Angripare kan dock använda denna sårbarhet för att brute-force servern. Du kan avsluta automatiskt SSH-anslutningen efter ett visst antal försök genom att ange antalet tillåtna lösenordsförsök.

För detta, ändra MaxAuthTries värde i sshd_config fil.

MaxAuthTries 3

5. Använder SSH version 2

Den andra versionen av SSH släpptes på grund av de många sårbarheterna i den första versionen. Som standard kan du aktivera servern att använda den andra versionen genom att lägga till Protokoll parameter till din sshd_config fil. På så sätt kommer alla dina framtida anslutningar att använda den andra versionen av SSH.

Omfatta /etc/ssh/sshd_config.d/*.conf 
Protokoll 2

6. Stänga av TCP Port Forwarding och X11 Forwarding

Angripare kan försöka få åtkomst till dina andra system genom att vidarebefordra portar via SSH-anslutningar. För att förhindra detta kan du stänga av AllowTcpForwarding och X11Vidarebefordran funktioner i sshd_config fil.

X11Vidare nr 
AllowTcpForwarding nr

7. Ansluter med en SSH-nyckel

Ett av de säkraste sätten att ansluta till din server är att använda en SSH-nyckel. När du använder en SSH-nyckel kan du komma åt servern utan lösenord. Dessutom kan du helt stänga av lösenordsåtkomst till servern genom att ändra de lösenordsrelaterade parametrarna i sshd_config fil.

När du skapar en SSH-nyckel finns det två nycklar: offentlig och Privat. Den publika nyckeln laddas upp till servern du vill ansluta till och den privata nyckeln lagras på den dator som du använder för att upprätta anslutningen.

Skapa en SSH-nyckel med ssh-keygen kommandot på din dator. Lämna inte Lösenfras fältet tomt och kom ihåg lösenordet du angav här. Om du lämnar det tomt kommer du bara att kunna komma åt det med SSH-nyckelfilen. Men om du ställer in ett lösenord kan du förhindra att en angripare med nyckelfilen kommer åt det. Som ett exempel kan du skapa en SSH-nyckel med följande kommando:

ssh-keygen

8. IP-begränsningar för SSH-anslutningar

För det mesta blockerar brandväggen åtkomst med hjälp av ramverk med sina egna standarder och syftar till att skydda servern. Detta är dock inte alltid tillräckligt och du måste öka denna säkerhetspotential.

För att göra detta, öppna /etc/hosts.allow fil. Med tilläggen du gör i den här filen kan du begränsa SSH-behörigheten, tillåta ett specifikt IP-block eller ange en enda IP och blockera alla återstående IP-adresser med kommandot deny.

Nedan ser du några exempelinställningar. Efter att du har gjort dessa, starta om SSH-tjänsten som vanligt för att spara ändringarna.

Vikten av Linux Server Security

Data- och datasäkerhetsfrågor är ganska detaljerade och bör övervägas av alla serveradministratörer. Serversäkerhet är en mycket känslig fråga eftersom attackerna främst fokuserar på webbservrar, och de innehåller nästan all information om ett system. Eftersom de flesta servrar körs på Linux-infrastrukturen är det mycket viktigt att vara bekant med Linux-systemet och serveradministrationen.

SSH-säkerhet är bara ett av sätten att skydda servrar. Det är möjligt att minimera skadan du tar genom att stoppa, blockera eller bromsa en attack. Förutom att tillhandahålla SSH-säkerhet, finns det många olika metoder du kan implementera för att säkra dina Linux-servrar.