ssh

Så här skyddar du SSH-servern i Ubuntu 20.04 från Basic till Advanced

Så här skyddar du SSH-servern i Ubuntu 20.04 från Basic till Advanced
Precis som alla andra servrar är SSH-servern också benägen för obehöriga åtkomstförsök. Därför, när du vill använda en SSH-server, måste du ha övervägt att säkra den först för att rädda er från alla oönskade situationer på längre sikt. I allmänhet är termen "säkra en server" också känd som "härda en server.”Detta kan göras genom att vidta flera åtgärder. Dessa åtgärder beror på vilken säkerhetsnivå du behöver.

Åtgärderna för att säkra SSH-servern sträcker sig från grundläggande till avancerade, och som vi sa tidigare kan du hämta dem enligt den säkerhetsnivå du behöver. Du kan hoppa över någon av de föreskrivna åtgärderna om du har tillräcklig kunskap om konsekvenserna och om du har en bra position för att möta dem. Vi kan aldrig säga att ett enda steg kommer att säkerställa 100% säkerhet, eller att ett visst steg är bättre än det andra.

Allt beror på vilken typ av säkerhet vi faktiskt behöver. Därför tänker vi idag ge dig en mycket djup insikt i de grundläggande och avancerade stegen för att säkra en SSH-server i Ubuntu 20.04. Förutom dessa metoder kommer vi också att dela med dig av några ytterligare tips för att säkra din SSH-server som en bonus. Så låt oss komma igång med dagens intressanta diskussion.

Metod för att säkra SSH-servern i Ubuntu 20.04:

Alla SSH-konfigurationer lagras i dess / etc / ssh / sshd_config-fil. Den här filen anses vara mycket viktig för att din SSH-server ska fungera normalt. Innan du gör några ändringar av den här filen rekommenderas det därför att du skapar en säkerhetskopia av den här filen genom att köra följande kommando i din terminal:

sudo cp / etc / ssh / sshd_config / etc / ssh / sshd_config.bak


Om det här kommandot körs framgångsrikt kommer du inte att få någon utdata, som visas i bilden nedan:

När du har skapat en säkerhetskopia av den här filen är det här steget valfritt och utförs om du vill kontrollera alla alternativ som för närvarande är aktiverade i denna konfigurationsfil. Du kan kolla in det genom att köra följande kommando i din terminal:

sudo sshd -T


De aktiverade alternativen för SSH-konfigurationsfilen visas i bilden nedan. Du kan bläddra ner i listan för att se alla alternativ.

Nu kan du börja säkra din SSH-server medan du går från grundstegen till de avancerade stegen i Ubuntu 20.04.

Grundläggande steg för att säkra SSH-servern i Ubuntu 20.04:

De grundläggande stegen för att säkra en SSH-server i Ubuntu 20.04 är följande:

Steg 1: Öppna SSH-konfigurationsfilen:

Du kan öppna SSH-konfigurationsfilen genom att köra kommandot som anges nedan i din terminal:

sudo nano / etc / ssh / sshd_config


SSH-konfigurationsfilen visas i följande bild:

Steg 2: Inaktivera lösenordsbaserad autentisering:

Istället för att använda lösenord för autentisering anses SSH-nycklar vara säkrare. Därför, om du har genererat SSH-nycklarna för autentisering, måste du inaktivera lösenordsbaserad autentisering. För det måste du hitta variabeln "PasswordAuthentication", avmarkera den och ställa in dess värde till "no", som markerat i bilden nedan:

Steg 3: Avvisa / neka tomma lösenord:

Ibland tycker användarna att det är extremt bekvämt att skapa tomma lösenord för att spara sig från att memorera komplexa lösenord. Denna praxis kan visa sig vara skadlig för säkerheten för din SSH-server. Därför måste du avvisa alla autentiseringsförsök med tomma lösenord. För det måste du hitta variabeln "PermitEmptyPasswords" och bara avmarkera den eftersom dess värde redan är inställt på "nej" som standard, som markerat i följande bild:

Steg 4: Förbjuda rotinloggning:

Du bör strängt förbjuda root-inloggningar för att skydda en inkräktare från att få root-åtkomst till din server. Du kan göra detta genom att hitta variabeln "PermitRootLogin", avmarkera den och ställa in dess värde till "nej", som markerat i bilden nedan:

Steg 5: Använda SSH-protokoll 2:

SSH-servern kan fungera på två olika protokoll, dvs.e., Protokoll 1 och protokoll 2. Protokoll 2 implementerar mer avancerade säkerhetsfunktioner, varför det föredras framför protokoll 1. Protokoll 1 är dock standardprotokollet för SSH, och det nämns inte uttryckligen i SSH-konfigurationsfilen. Därför, om du vill arbeta med protokoll 2 istället för protokoll 1, måste du uttryckligen lägga till raden "protokoll 2" i din SSH-konfigurationsfil som markeras i följande bild:

Steg 6: Ställa in en sessionstimeout:

Ibland lämnar användarna sina datorer obevakade under mycket lång tid. Under tiden kan alla inkräktare komma över och få tillgång till ditt system samtidigt som det bryter mot dess säkerhet. Det är här begreppet sessionstimeout spelar in. Denna funktion används för att logga ut en användare om han förblir inaktiv under lång tid så att ingen annan användare kan få tillgång till sitt system.

Denna tidsgräns kan ställas in genom att hitta variabeln "ClientAliveInterval", avmarkera den och tilldela den valfritt värde (i sekunder). I vårt fall har vi tilldelat värdet "300 sekunder" eller "5 minuter". Det betyder att om användaren håller sig borta från SSH-servern i “300 sekunder”, kommer han automatiskt att loggas ut som markerad i bilden nedan:

Steg 7: Tillåta specifika användare att komma åt SSH-servern:

SSH-servern är inte en server vars åtkomst krävs av alla andra användare. Därför måste dess åtkomst endast begränsas till de användare som faktiskt behöver det. För att tillåta specifika användare att komma åt SSH-servern måste du lägga till en variabel med namnet "AllowUsers" i SSH-konfigurationsfilen och sedan skriva namnen på alla de användare som du vill tillåta åtkomst till SSH-servern åtskilda av ett mellanslag. I vårt fall ville vi bara tillåta en användare att komma åt SSH-servern. Det är därför vi bara har lagt till hans namn som markerat i följande bild:

Steg 8: Begränsa antalet autentiseringsförsök:

När en användare försöker komma åt en server och han inte kan autentisera sig för första gången försöker han göra det igen. Användaren fortsätter att göra dessa försök tills och om han inte lyckas autentisera sig och därmed få tillgång till SSH-servern. Detta anses vara en mycket osäker praxis eftersom en hackare kan starta en Brute Force Attack (en attack som upprepade gånger försöker gissa ett lösenord tills rätt match hittas). Resultatet är att han kommer att kunna få tillgång till din SSH-server.

Det är därför det rekommenderas starkt att begränsa antalet autentiseringsförsök för att förhindra lösenordsgissningsattacker. Standardvärdet för autentiseringsförsöken till SSH-servern är inställt på "6". Du kan dock ändra det beroende på vilken säkerhetsnivå du behöver. För det måste du hitta ”MaxAuthTries” -variablerna, avmarkera den och ställa in dess värde till önskat antal. Vi ville begränsa autentiseringsförsöken till "3", vilket markeras i bilden nedan:

Steg 9: Köra SSH-servern i testläge:

Nu har vi tagit alla grundläggande steg för att säkra vår SSH-server på Ubuntu 20.04. Vi måste dock fortfarande se till att alternativen vi just har konfigurerat fungerar korrekt. För det kommer vi först att spara och stänga vår konfigurationsfil. Efter att ha gjort det kommer vi att försöka köra vår SSH-server i testläget. Om den körs framgångsrikt i testläget innebär det att det inte finns några fel i din konfigurationsfil. Du kan köra din SSH-server i testläget genom att köra följande kommando i din terminal:

sudo sshd -t


När det här kommandot körs framgångsrikt kommer det inte att visas någon utgång på terminalen, som visas i bilden nedan. Men om det kommer att finnas några fel i din konfigurationsfil kommer körningen av det här kommandot att göra dessa fel på terminalen. Du kommer då att behöva åtgärda dessa fel. Först då kommer du att kunna gå vidare.

Steg 10: Ladda om SSH-servern med nya konfigurationer:

Nu när SSH-servern körde framgångsrikt i testläget måste vi ladda om den så att den kan läsa den nya konfigurationsfilen, i.e., ändringarna som vi har gjort i SSH-konfigurationsfilen i stegen som visas ovan. För att ladda om SSH-servern med nya konfigurationer måste du köra följande kommando i din terminal:

sudo service sshd ladda om


Om din SSH-server startas om framgångsrikt kommer terminalen inte att visa någon utdata, som visas i bilden nedan:

Avancerade steg för att säkra SSH-servern i Ubuntu 20.04:

Efter att ha utfört alla grundläggande steg för att säkra SSH-servern i Ubuntu 20.04, kan du äntligen gå vidare till de avancerade stegen. Detta är bara ett steg framåt för att säkra din SSH-server. Men om du bara tänker uppnå en måttlig säkerhetsnivå, är de steg som beskrivs ovan tillräckliga. Men om du vill gå lite längre kan du följa stegen nedan:

Steg 1: Öppna ~ /.ssh / autoriserade_nycklar Fil:

De grundläggande stegen för att säkra SSH-servern implementeras i SSH-konfigurationsfilen. Det betyder att dessa policyer kommer att gälla för alla användare som försöker komma åt SSH-servern. Det innebär också att de grundläggande stegen representerar en generisk metod för att säkra SSH-servern. Men om vi försöker överväga principen "Försvar i djupet" kommer vi att inse att vi måste säkra varje enskild SSH-nyckel separat. Detta kan göras genom att definiera tydliga säkerhetsparametrar för varje enskild nyckel. SSH-tangenterna lagras i ~ /.ssh / authorised_keys-filen, så vi kommer först att komma åt den här filen för att ändra säkerhetsparametrarna. Vi kör följande kommando i terminalen för att komma åt ~ /.ssh / autoriserade_key-fil:

sudo nano ~ /.ssh / auktoriserade_tangenter

Om du kör det här kommandot öppnas den angivna filen med nano-redigeraren. Du kan dock använda vilken annan textredigerare du än väljer för att öppna den här filen. Den här filen innehåller alla SSH-nycklar som du hittills har genererat.

Steg 2: Definiera specifika konfigurationer för vissa tangenter:

För att uppnå en avancerad säkerhetsnivå finns följande fem alternativ tillgängliga:

Dessa alternativ kan skrivas före valfri SSH-nyckel för att göra dem tillgängliga för just den nyckeln. Även mer än ett alternativ kan också konfigureras för en enda SSH-nyckel. Till exempel vill du inaktivera vidarebefordran av port för en viss nyckel eller, med andra ord, du vill implementera vidarebefordring av port för en viss nyckel, då blir syntaxen följande:

ingen port-vidarebefordran DesiredSSHKey

Här, istället för DesiredSSHKey, kommer du att ha en faktisk SSH-nyckel i din ~ /.ssh / auktoriserade_key-fil. När du har använt dessa alternativ för önskade SSH-nycklar måste du spara ~ /.ssh / authorised_keys-filen och stäng den. Det här är bra med den här avancerade metoden att det inte kräver att du laddar om din SSH-server efter att du har gjort dessa ändringar. Snarare kommer dessa ändringar att läsas av din SSH-server automatiskt.

På detta sätt kommer du att kunna säkra varje SSH-nyckel på djupet genom att använda de avancerade säkerhetsmekanismerna.

Några ytterligare tips för att säkra SSH-servern i Ubuntu 20.04:

Förutom alla grundläggande och avancerade steg som vi har tagit ovan finns det också några ytterligare tips som kan visa sig vara mycket bra för att säkra SSH-servern i Ubuntu 20.04. Dessa ytterligare tips har diskuterats nedan:

Håll din data krypterad:

Data som finns på din SSH-server, såväl som den som förblir under transport, måste krypteras och det också med en stark krypteringsalgoritm. Detta skyddar inte bara integriteten och konfidentialiteten för dina data utan förhindrar också säkerheten för hela din SSH-server.

Håll din programvara uppdaterad:

Programvaran som körs på din SSH-server måste vara uppdaterad. Detta görs för att säkerställa att inga säkerhetsfel i din programvara förblir obevakade. Snarare bör de lappas i god tid. Detta kommer att spara dig från eventuella skador på lång sikt och kommer också att förhindra att din server går ner eller är otillgänglig på grund av säkerhetsproblem.

Se till att SELinux är aktiverat:

SELinux är den mekanism som lägger grunden för säkerheten i de Linux-baserade systemen. Det fungerar genom att implementera den obligatoriska åtkomstkontrollen (MAC). Den implementerar denna åtkomstkontrollmodell genom att definiera åtkomstregler i dess säkerhetspolicy. Denna mekanism är aktiverad som standard. Användarna får dock ändra denna inställning när som helst. Det betyder att de kan inaktivera SELinux när de vill. Det rekommenderas dock starkt att du alltid håller SELinux aktiverat så att det kan förhindra din SSH-server från alla potentiella skador.

Använd policyer för strikt lösenord:

Om du har skyddat din SSH-server med lösenord måste du skapa starka lösenordspolicyer. Helst bör lösenorden vara mer än 8 tecken långa. De bör bytas ut efter en viss tid, till exempel varannan månad. De bör inte innehålla ordboksord; snarare bör de vara en kombination av alfabet, siffror och specialtecken. På samma sätt kan du definiera några andra extra strikta åtgärder för dina lösenordspolicyer för att säkerställa att de är tillräckligt starka.

Övervaka och underhålla granskningsloggarna för din SSH-server:

Om något går fel med din SSH-server kan din första hjälp vara granskningsloggarna. Därför måste du fortsätta att underhålla loggarna så att du kan spåra orsaken till problemet. Dessutom, om du fortsätter att övervaka hälsan och arbetet på din SSH-server kontinuerligt, kommer detta också att förhindra att några större problem uppstår i första hand.

Behåll regelbundna säkerhetskopior av dina data:

Sist men inte minst bör du alltid ha en säkerhetskopia av hela din SSH-server. Om du gör detta kommer du inte bara att spara dina data från att bli skadade eller helt förlorade; snarare kan du också använda denna reservserver när din huvudserver går ner. Detta begränsar också serverns stilleståndstid och säkerställer dess tillgänglighet.

Slutsats:

Genom att ta hand om alla åtgärder som har ordinerats i den här artikeln kan du enkelt säkra eller härda din SSH-server i Ubuntu 20.04. Men om du har en informationssäkerhetsbakgrund måste du vara väl medveten om detta faktum att det inte finns något som 100% säkerhet. Allt vi kan få är det bästa ansträngningslöftet, och den bästa ansträngningen kommer bara att vara säker tills den tid det också bryts. Det är därför du, efter att ha vidtagit alla dessa åtgärder, inte kan säga att din SSH-server är 100% säker; snarare kan det fortfarande ha sådana sårbarheter som du aldrig ens kunde ha tänkt på. Sådana sårbarheter kan endast tas om hand om vi håller ett öga på vår SSH-server och fortsätter att uppdatera den när det behövs.

Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...
Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider är det tolfte tillskottet till Tomb Raider-serien - en action-äventyrsspelfranchise skapad av Eidos Montreal. Spelet mottogs...