Olika sätt att säkra SSH-servern
Alla konfigurationsinställningar för SSH server kan göras genom att ändra ssh_config fil. Denna konfigurationsfil kan läsas genom att skriva följande kommando i Terminal.
[e-postskyddad]: ~ $ cat / etc / ssh / ssh_configOBS! Innan du redigerar den här filen måste du ha root-behörigheter.
Nu diskuterar vi olika sätt att säkra SSH server. Nedan följer några metoder vi kan använda för att göra våra SSH servern säkrare
- Genom att ändra standard SSH Hamn
- Använda starkt lösenord
- Använda Public Key
- Tillåter en enda IP att logga in
- Inaktiverar tomt lösenord
- Använda protokoll 2 för SSH Server
- Genom att inaktivera vidarebefordran av X11
- Ställa in en tomgångsgräns
- Ställa in ett begränsat lösenordsförsök
Nu diskuterar vi alla dessa metoder en efter en.
Genom att ändra standard SSH-port
Som beskrivits tidigare, som standard SSH använder port 22 för kommunikation. Det är mycket lättare för hackare att hacka dina data om de vet vilken port som används för kommunikation. Du kan skydda din server genom att ändra standard SSH hamn. För att ändra SSH port, öppen sshd_config fil med hjälp av nano-editor genom att köra följande kommando i Terminal.
[e-postskyddad]: ~ $ nano / etc / ssh / ssh_configHitta raden i vilken portnummer nämns i den här filen och ta bort # underteckna innan “Port 22” och ändra portnumret till önskad port och spara filen.
Använda starkt lösenord
De flesta servrar hackas på grund av ett svagt lösenord. Det är mer sannolikt att ett svagt lösenord lätt hackas av hackare. Ett starkt lösenord kan göra din server säkrare. Följande är tips för ett starkt lösenord
- Använd en kombination av stora och små bokstäver
- Använd siffror i ditt lösenord
- Använd långa lösenord
- Använd specialtecken i ditt lösenord
- Använd aldrig ditt namn eller födelsedatum som lösenord
Använda offentlig nyckel för att säkra SSH-servern
Vi kan logga in på vår SSH server på två sätt. En använder lösenord och den andra använder allmän nyckel. Att använda den offentliga nyckeln för att logga in är mycket säkrare än att använda ett lösenord för att logga in SSH server.
En nyckel kan genereras genom att köra följande kommando i Terminal
[e-postskyddad]: ~ $ ssh-keygenNär du kör ovanstående kommando kommer den att be dig att ange sökvägen för dina privata och offentliga nycklar. Privat nyckel sparas av “Id_rsa” namn och offentlig nyckel sparas av “Id_rsa.pub" namn. Som standard sparas nyckeln i följande katalog
/ hem / användarnamn /.ssh /
När du har skapat en offentlig nyckel använder du den här nyckeln för att konfigurera SSH logga in med nyckeln. Efter att ha kontrollerat att den nyckeln fungerar för att logga in på din SSH server, inaktivera nu lösenordsbaserad inloggning. Detta kan göras genom att redigera vår ssh_config fil. Öppna filen i önskad redigerare. Ta nu bort # innan “PasswordAuthentication yes” och ersätt den med
PasswordAuthentication no
Nu din SSH servern kan endast nås med offentlig nyckel och åtkomst via lösenord har inaktiverats
Tillåter en enda IP att logga in
Som standard kan du SSH till din server från vilken IP-adress som helst. Servern kan göras säkrare genom att låta en enda IP komma åt din server. Detta kan göras genom att lägga till följande rad i din ssh_config fil.
ListenAddress 192.168.0.0Detta blockerar alla IP-adresser för att logga in på din SSH annan server än den angivna IP-adressen (i.e. 192.168.0.0).
OBS: Ange maskinens IP i stället för ”192.168.0.0 ”.
Inaktiverar tomt lösenord
Tillåt aldrig inloggning SSH Server med tomt lösenord. Om tomt lösenord är tillåtet är det mer sannolikt att din server attackeras av brute force angripare. För att inaktivera tom lösenordsinloggning, öppna ssh_config filen och gör följande ändringar
PermitEmptyPasswords nr
Använda protokoll 2 för SSH-server
Tidigare protokoll som används för SSH är SSH 1. Som standard är protokollet inställt på SSH 2 men om det inte är inställt på SSH 2 måste du ändra det till SSH 2. SSH 1-protokollet har vissa problem relaterade till säkerhet och dessa problem har åtgärdats i SSH 2-protokollet. För att ändra det, redigera ssh_config fil som visas nedan
Protokoll 2
Genom att inaktivera vidarebefordran av X11
X11 Vidarebefordringsfunktion ger ett grafiskt användargränssnitt (GUI) för din SSH server till fjärranvändaren. Om vidarebefordran av X11 inte är inaktiverad kan någon hackare, som har hackat din SSH-session, enkelt hitta all data på din server. Du kan undvika detta genom att inaktivera vidarebefordran av X11. Detta kan göras genom att ändra ssh_config fil som visas nedan
X11 Vidarebefordran nr
Ställa in en tomgångsgräns
Idle timeout betyder om du inte gör någon aktivitet i din SSH server under ett visst tidsintervall loggas du automatiskt ut från din server
Vi kan förbättra säkerhetsåtgärderna för våra SSH server genom att ställa in en ledig timeout. Till exempel du SSH din server och efter en tid blir du upptagen med att göra några andra uppgifter och glömmer att logga ut från din session. Detta är en mycket hög säkerhetsrisk för din SSH server. Detta säkerhetsproblem kan övervinnas genom att ställa in en ledig tidsgräns. Idle timeout kan ställas in genom att ändra vår ssh_config fil som visas nedan
ClientAliveInterval 600Genom att ställa in inaktiv timeout till 600 kommer SSH-anslutningen att släppas efter 600 sekunder (10 minuter) utan någon aktivitet.
Ställa in ett begränsat lösenordsförsök
Vi kan också göra vårt SSH server säker genom att ställa in ett visst antal lösenordsförsök. Detta är till hjälp mot brute force angripare. Vi kan ställa in en gräns för lösenordsförsök genom att ändra ssh_config fil.
MaxAuthTries 3
Startar om SSH-tjänsten
Många av ovanstående metoder behöver startas om SSH efter att ha tillämpat dem. Vi kan starta om SSH genom att skriva följande kommando i terminalen
[email protected]: ~ $ service ssh restartSlutsats
Efter att ha tillämpat ovanstående ändringar på din SSH server, nu är din server mycket säkrare än tidigare och det är inte lätt för en brute force angripare att hacka din SSH server.