BLOGG

5 tips för att säkra SSH på dina Linux-servrar

Bild: pixeltrap/Adobe Stock

SSH är ett verktyg jag använder varje dag för att logga in på fjärranslutna Linux-servrar och ta hand om mina adminuppgifter. Utan SSH skulle mina dagar vara mer komplicerade och mindre säkra. Det betyder dock inte att SSH är konfigurerat efter din smak direkt ur lådan. Det finns några svagheter i standardkonfigurationen och hur du förmodligen använder verktyget.

Låt oss fixa det.

SE: Linux fyller 30: Firar operativsystemet med öppen källkod (gratis PDF) (TechRepublic)

Här är mina fem enklaste tips för att säkra SSH på dina Linux-maskiner. Dessa tips bör inte ta dig mer än fem minuter att hantera och i slutändan kommer du att vara glad att du tog dig tid att göra det.

Vad du behöver

Det enda du behöver för detta är en körande instans av Linux och en användare med sudo-privilegier.

Tips 1: Ändra standardporten

Det första vi ska göra är att ändra standardporten från 22, som används flitigt i brute force och andra attacker. För att göra detta, öppna SSH-demonens konfigurationsfil med:

sudo nano /etc/ssh/sshd_config

I den filen letar du efter:

#Port 22

Ändra det till något i stil med:

Port 2124

Spara och stäng filen. Starta om demonen med:

sudo systemctl starta om sshd

Innan du lämnar den här terminalen, se till att du kan återansluta till servern med en annan SSH-instans, lägga till alternativet -p 2124 (eller vilken port du än väljer) i slutet så här:

ssh 192.168.1.63 -p 2124

Tips 2: Inaktivera X11/TCP-portvidarebefordran

Därefter kommer vi att inaktivera X11 och TCP port forward eftersom angripare kan använda denna svaghet för att få tillgång till andra system i ditt nätverk. För att göra detta, öppna demonens konfigurationsfil igen och leta efter följande två rader:

#AllowTcpForwarding yesX11Forwarding ja

Ändra dessa rader till:

AllowTcpForwarding noX11Forwarding nr

Spara och stäng filen.

Vi väntar med att starta om SSH-demonen tills vi har tagit hand om de andra konfigurationerna.

Tips 3: Inaktivera användningar med tomma lösenord

Inom SSH-demonfilen vill vi förhindra att användare med tomma lösenord får åtkomst. Du ska inte behöva bry dig om detta om du har satt upp en policy som inte tillåter tomma lösenord, men det är alltid bättre att vara säker än ledsen.

Leta efter raden i demonens konfigurationsfil:

Öppen källkod: Måste läsa täckning

#PermitEmptyPasswords no

Ändra den raden till:

PermitEmptyPasswords no

Spara och stäng filen.

Eftersom vi är klara med demonkonfigurationen, starta om SSH-demonen med:

sudo systemctl starta om sshd

Tips 4: Begränsa SSH-inloggningar till specifika IP-adresser

Vi kommer nu att begränsa alla SSH-inloggningar till specifika IP-adresser. För att göra det öppnar du filen hosts.deny med:

sudo nano /etc/hosts.deny

Lägg till följande längst ned i filen:

sshd: ALLA

Spara och stäng filen.

Öppna sedan filen hosts.allow med:

sudo nano /etc/hosts.allow

Längst ner i filen lägger du till en kommaseparerad rad som innehåller alla IP-adresser som du vill tillåta genom så här:

sshd: 192.168.1.62, 192.168.1.11, 192.168.1.100

Om du vill tillåta alla maskiner på ditt LAN kan du använda något som:

sshd: 192.168.1.0/24

Spara och stäng filen.

Tips 5: Använd SSH-nyckelautentisering

Detta är ett av de viktigaste tipsen. Att använda SSH-nyckelautentisering är mycket säkrare än att använda vanliga lösenord. Så hur ställer vi upp det?

Enkel. Generera en SSH-nyckel på en klient som du vill använda för att ansluta till servern med kommandot:

ssh-keygen -t rsa

Därefter kopierar vi nyckeln till servern med:

ssh-copy-id SERVER

Där SERVER är din servers IP-adress.

Det finns en varning för detta. Om du har ändrat standard SSH-porten kan du inte använda kommandot ssh-copy-id eftersom det inte accepterar argument. Istället måste du konfigurera en värdpost i ~/.ssh/config som ser ut så här:

Värd NAMEHostName SERVERPort PORT

Var:

  • NAME är ett mänskligt läsbart namn för servern.
  • SERVER är serverns IP-adress.
  • PORT är den icke-standardport du har konfigurerat

Spara och stäng filen. Du kan nu kopiera den nyckeln (till den icke-standardportkonfigurerade SSH-servern) med något som:

ssh-copy-id NAMN

Där NAME är det mänskligt läsbara namnet som ges till servern i konfigurationsfilen.

Efter att ha kopierat din SSH-autentiseringsnyckel till servern, öppna en ny terminal och se till att du fortfarande kan ansluta till servern via SSH. Om du kan, se till att kopiera SSH-nycklarna från varje klient som behöver åtkomst till servern och inaktivera sedan lösenordsautentisering genom att öppna demonens konfigurationsfil en gång till med:

sudo nano /etc/ssh/sshd_config

Leta efter raden:

#PasswordAuthentication ja

Ändra den raden till:

Lösenordsautentiseringsnr

Spara och stäng filen och starta om SSH-demonen med:

sudo systemctl starta om sshd

Nu kommer bara de med SSH-nycklar på servern att kunna logga in.

Och där går du. På cirka 5 minuter har du låst SSH på din server. Du bör också installera och konfigurera fail2ban, men det tar lite längre tid än 5 minuter. Njut av det extra lagret av säkerhet.

Prenumerera på TechRepublics How To Make Tech Work på YouTube för alla de senaste tekniska råden för affärsproffs från Jack Wallen.

Håll kontakten med oss ​​på sociala medieplattformar för omedelbar uppdatering klicka här för att gå med i vår Twitter och Facebook

Botón volver arriba

Ad blocker detected

You must remove the AD BLOCKER to continue using our website THANK YOU