- 1. Hur man redigerar Linux ssh_config -filen
- 2. Hur man låser Linux SSH -filer
- 3. Hur man bekräftar SSH -protokoll version 2 Linux
- 4. Så här inaktiverar du tomma lösenord SSH Linux
- 5. Så här inaktiverar du SSH Linux root -inloggning
- 6. Så här ställer du in en ny Linux SSH -port
- 7. Så här begränsar du SSH Linux -åtkomst
- 8. Så här uppdaterar du SSH Linux grace time
- 9. Hur man skapar ett SSH Linux -alias
- 10. Autentisering med säkra nycklar SSH Linux
Ett av de mest använda protokollen på säkerhetsnivå för att upprätta anslutningar i UNIX -miljöer är SSH -protokollet (Secure Shell) som erbjuder oss en rad funktioner och speciella egenskaper för att skydda data och anslutningar.
SSH är ett protokoll som har utvecklats med fokus på kommunikationssäkerhet mellan två system genom klient / server -modellen och tack vare vilket användare får ansluta till en värd på distans.
En av SSH: s främsta egenskaper är att den krypterar anslutningssessionen, vilket hindrar alla användare från att få okrypterade lösenord.
SkyddstyperNär vi använder SSH -protokollet har vi följande typer av skydd:
- När den första anslutningen har upprättats kan klienten verifiera att den ansluter till samma server som den tidigare anslutit till
- Klienten skickar autentiseringsinformationen till servern via 128-bitars kryptering
- All data som skickas och tas emot under sessionen överförs med 128-bitars kryptering, vilket gör det svårt att dekryptera och läsa
- Klienten har möjlighet att vidarebefordra X11 -applikationer från servern, detta är en teknik som kallas X11 -vidarebefordran som ger ett säkert sätt att använda grafiska applikationer över ett lokalt eller externt nätverk.
Nu, i Linux -operativsystem hittar vi SSH -konfigurationsfilen i sökvägen / etc / ssh / ssh_config och tack vare den här filen kommer det att vara möjligt att utföra alla säkerhetsåtgärder för SSH -anslutningar.
FÖRSTORA
För macOS -system finns den här filen i sökvägen / private / etc / ssh / ssh_config och den har en symbolisk länk till / etc / ssh / ssh_config för kompatibilitetsändamål.
När vi redigerar den här filen måste vi tänka på följande.
- Tomma rader och rader som börjar med "#" är kommentarer
- Varje rad börjar med ett nyckelord, följt av argument
- Konfigurationsalternativ kan separeras med ämnen eller valfria ämnen och ett = -tecken
- Argument kan bifogas med dubbla citattecken (") för att ange argument som innehåller mellanslag
1. Hur man redigerar Linux ssh_config -filen
För att redigera den här filen för att fastställa korrekta värden måste vi köra följande med en redigerare:
sudo nano / etc / ssh / ssh_configVi kommer att se följande:
FÖRSTORA
Filen ssh_config är organiserad av värdar och där innehåller varje värd specifika inställningar för just den värden, där kan vi använda jokertecken som * för att matcha flera värdnamn med ett enda uttalande.
Några av parametrarna som vi kan använda i den här filen är:
VärdBegränsa påståenden som endast är för värdar som matchar ett av de mönster som ges efter sökordet.
MatchBegränsa uttalanden till att endast gälla värdar som matchar angivna kriterier
AdressFamiljAnger vilken adressfamilj som ska användas vid anslutning, giltiga argument är: någon, inet, inet6.
Batch-lägeMed detta värde kommer lösenordsfrågan att inaktiveras, vilket undviker oavsiktlig blockering i en lösenordsbegäran
BindAddressAnger att den adress som anges på den lokala datorn ska användas som anslutningskällans adress.
ChallengeResponseAuthenticationAnger om utmanings-svar-autentisering ska användas. Detta är främst en äldre metod och har ersatts av KbdInteractiveAuthentication
CheckHostIPBe ssh att dessutom kontrollera värdens IP -adress i filen known_hosts.
ChifferAvser kryptering som kommer att användas för att kryptera sessionen i protokollversion 1.
ChifferAnger tillåtna chiffer för version 2 av protokollet i önskad ordning.
Därefter kommer vi att se några praktiska tips för att förbättra säkerheten för SSH -anslutningar till Linux och på så sätt få bästa åtkomstprestanda.
2. Hur man låser Linux SSH -filer
Det första steget innan du redigerar filen är att se till att både ssh_config -filen och sshd_config -filen har ägaren och användaren konfigurerad som root, detta eftersom det är superanvändaren av Linux och ingen som är bättre än detta är ägaren.
För detta utför vi följande:
sudo chown root: root / etc / ssh / sshd_config sudo chmod og-rwx / etc / ssh / sshd_config
3. Hur man bekräftar SSH -protokoll version 2 Linux
Version 2 av SSH har en förbättrad nyckelutbytesalgoritm som inte är sårbar för säkerhetshålet i version 1, vilket förbättrar den allmänna säkerheten för anslutningarna, så det är idealiskt att bekräfta att det nya protokollet 2 används i stället för protokoll 1 och för detta måste vi bekräfta följande rad i filen ssh_config:
Protokoll 2
FÖRSTORA
Där kan vi också konfigurera protokollet implicit genom chiffer, som automatiskt ställer in protokoll till 2 för att använda moderna chiffer, för detta validerar vi följande rad strax under protokollinjen:
Chiffer aes128-ctr, aes192-ctr, aes256-ctr
4. Så här inaktiverar du tomma lösenord SSH Linux
Det är viktigt att validera att varje SSH -konto måste använda ett lösenord vid inloggning, blockera tomma lösenord som möjliggör enkel åtkomst som orsakar säkerhetsrisker i systemet, för att validera detta använder vi följande rad eller, om det inte finns, vi lägger till den genom att placera symbolen #:
PermitEmptyPasswords no
FÖRSTORA
5. Så här inaktiverar du SSH Linux root -inloggning
Genom att förhindra inloggning av rotanvändare kommer det att vara möjligt att låsa specifika konton och tillåta deras användning i hela systemet, alternativ för PermitRootLogin inkluderar "ja", "utan lösenord", "endast kommando" eller "gör inte". Standard är "ja". För att helt stoppa root -inloggningen använder vi följande rad:
PermitRootLogin nr
FÖRSTORA
6. Så här ställer du in en ny Linux SSH -port
Som standard är porten som tilldelats SSH 22, så att angripare med säkerhet vet genom vilken port de kommer att komma åt för att utföra sina attacker, så en bra säkerhetsmetod är att ändra denna standardport och bara ange behöriga användare. Den nya porten.
För detta måste vi hitta portlinjen och lägga till följande syntax:
Port XXXXX
FÖRSTORA
7. Så här begränsar du SSH Linux -åtkomst
Om åtkomsten till SSH -servern består av flera användare är det möjligt att tillämpa vissa begränsningar genom att skapa grupper där dessa användare ingår, detta är möjligt genom att lägga till nyckelord som:
AllowUsers (Tillåt användaråtkomst) AllowGroups (Tillåt gruppåtkomst) DenyUsers (Begränsa användaråtkomst) DenyGroups (Begränsa gruppåtkomst)Till exempel kan vi köra följande i konfigurationsfilen:
AllowUsers Solvetic test DenyGroups test
8. Så här uppdaterar du SSH Linux grace time
Som standard är den tid som en användare kan förbli inaktiv utan att logga in två minuter, för att förhindra obehöriga anslutningar till systemet kan den här tiden redigeras i raden LoginGraceTime öka eller minska detta väder:
Logga inGraceTime 1m
FÖRSTORA
9. Hur man skapar ett SSH Linux -alias
Inom SSH -konfigurationerna är det möjligt att ange ett alias, dessa gör det möjligt att ansluta till en specifik server via en port och definierade användare, till exempel kan vi lägga till följande:
Host dev HostName dev.solvetic.com Port 3333 Användare SolveticI detta specifika fall måste vi komma åt enligt följande:
ssh [email protected] -p 3333
10. Autentisering med säkra nycklar SSH Linux
ssh blir mycket säkrare och användbar när det används med offentliga / privata nyckelpar för autentiseringsändamål, snarare än att använda lösenord. Filen ssh_config kan deklarera en specifik nyckel för en specifik värd med hjälp av IdentityFile -nyckeln, i det här fallet anger vi följande:
Host dev HostName dev.solvetic.com Port 3333 User Solvetic IdentityFile ~ / .ssh / dev.solvetic.keyFör detta fall skulle anslutningen vara följande:
ssh -i ~ / .ssh / dev.solvetic.key [email protected] -p 3333Några ytterligare parametrar är:
KompressionDär kan vi använda värden som ja eller nej för att aktivera inaktivering av komprimering för en värd.
LogLevelDet gör det möjligt att definiera detaljeringsnivån i loggarna för ssh -klienten, alternativen är TYG, FATAL, FEL, INFO, VERBOSE, DEBUG1, DEBUG2 och DEBUG3.
StrictHostKeyCheckingAnge en inställning för att lägga till värdar i filen known_hosts.
Således har vi olika alternativ för att förbättra säkerhet och SSH -anslutning i Linux.