Sådan konfigureres SSH Linux -sikkerhed

En af de mest anvendte protokoller på sikkerhedsniveau til etablering af forbindelser i UNIX -miljøer er SSH (Secure Shell) -protokollen, der tilbyder os en række funktioner og særlige egenskaber til beskyttelse af data og foretagne forbindelser.

SSH er en protokol, der er udviklet med fokus på kommunikationssikkerheden mellem to systemer gennem klient / server -modellen, og takket være hvilken brugere får lov til at oprette forbindelse til en vært eksternt.
En af SSHs hovedkarakteristika er, at den krypterer forbindelsessessionen, hvilket forhindrer enhver bruger i at få ukrypterede adgangskoder.

BeskyttelsestyperNår vi bruger SSH -protokollen, har vi følgende typer beskyttelse:

  • Når den første forbindelse er etableret, kan klienten kontrollere, at den opretter forbindelse til den samme server, som den tidligere har oprettet forbindelse til
  • Klienten sender godkendelsesoplysningerne til serveren via 128-bit kryptering
  • Alle data, der sendes og modtages under sessionen, overføres ved hjælp af 128-bit kryptering, hvilket gør det svært at dekryptere og læse
  • Klienten har mulighed for at videresende X11 -applikationer fra serveren, dette er en teknik kaldet X11 -videresendelse, som giver et sikkert middel til at bruge grafiske applikationer over et lokalt eller eksternt netværk.

Nu finder vi i Linux -operativsystemer SSH -konfigurationsfilen i stien / etc / ssh / ssh_config, og takket være denne fil vil det være muligt at udføre alle sikkerhedsforanstaltninger for SSH -forbindelser.

FORSTØRRE

For macOS -systemer er denne fil placeret i stien / private / etc / ssh / ssh_config, og den har et symbolsk link til / etc / ssh / ssh_config til kompatibilitetsformål.

Når vi redigerer denne fil, skal vi huske på følgende.

  • Tomme linjer og linjer, der starter med '#', er kommentarer
  • Hver linje begynder med et nøgleord, efterfulgt af argument (er)
  • Konfigurationsindstillinger kan adskilles med emner eller valgfrie emner og et = -tegn
  • Argumenter kan omsluttes med dobbelte anførselstegn (") for at angive argumenter, der indeholder mellemrum

1. Sådan redigeres filen Linux ssh_config


For at redigere denne fil for at etablere korrekte værdier skal vi udføre følgende med en editor:
 sudo nano / etc / ssh / ssh_config
Vi vil se følgende:

FORSTØRRE

Ssh_config -filen er organiseret af værter, og der indeholder hver vært specifikke indstillinger for den pågældende vært, der kan vi bruge jokertegn som * til at matche flere værtsnavne med en enkelt sætning.
Nogle af de parametre, vi kan bruge i denne fil, er:

VærtBegræns udsagn, der kun er for værter, der matcher et af de mønstre, der er givet efter søgeordet.
MatchBegræns udsagn til kun at gælde for værter, der matcher specificerede kriterier
AdresseFamilieAngiver hvilken adressefamilie der skal bruges ved forbindelse, gyldige argumenter er: enhver, inet, inet6.
BatchModeMed denne værdi deaktiveres forespørgslen efter adgangskode, hvilket forhindrer utilsigtet blokering af en anmodning om adgangskode
BindAddressAngiver, at den adresse, der er angivet på den lokale maskine, skal bruges som forbindelseskildeadresse.
ChallengeResponseAuthenticationAngiver, om der skal bruges challenge-response-godkendelse. Dette er primært en ældre metode og er blevet afløst af KbdInteractiveAuthentication
CheckHostIPFortæl ssh om yderligere at kontrollere værtens IP -adresse i filen known_hosts.
ChifferHenviser til den kryptering, der vil blive brugt til at kryptere sessionen i protokolversion 1.
ChifferAngiver de tilladte chiffer for version 2 af protokollen i præferencerækkefølge.

Dernæst vil vi se nogle praktiske tips til at forbedre sikkerheden ved SSH -forbindelser til Linux og dermed opnå den bedste adgangsydelse.

2. Sådan låses Linux SSH -filer


Det første trin før redigering af filen er at sikre, at både ssh_config -filen og sshd_config -filen har ejeren og brugeren konfigureret som root, dette fordi det er superbruger af Linux og ingen bedre end dette er ejeren.

Til dette udfører vi følgende:

 sudo chown root: root / etc / ssh / sshd_config sudo chmod og-rwx / etc / ssh / sshd_config

3. Sådan bekræftes SSH -protokol version 2 Linux


Version 2 af SSH har en forbedret nøgleudvekslingsalgoritme, som ikke er sårbar over for sikkerhedshullet i version 1, hvilket forbedrer forbindelsernes generelle sikkerhed, så det er ideelt at bekræfte, at den nye protokol 2 bruges i stedet for protokol 1 og for dette skal vi bekræfte følgende linje i filen ssh_config:
 Protokol 2

FORSTØRRE

Der kan vi også konfigurere protokollen implicit gennem chiffer, som automatisk indstiller protokol til 2 til at bruge moderne chiffer, til dette validerer vi følgende linje lige under protokollinjen:

 Chiffer aes128-ctr, aes192-ctr, aes256-ctr

4. Sådan deaktiveres tomme adgangskoder SSH Linux


Det er vigtigt at validere, at hver SSH -konto skal bruge en adgangskode, når den logger ind, blokere tomme adgangskoder, som muliggør enkel adgang, der forårsager sikkerhedsrisici i systemet, for at validere dette vil vi bruge følgende linje, eller hvis den ikke findes, vi tilføjer det ved at placere symbolet #:
 PermitEmptyPasswords nr

FORSTØRRE

5. Sådan deaktiveres SSH Linux root -login


Ved at forhindre root-brugerlogin vil det være muligt at låse bestemte konti og forhindre deres brug i hele systemet, muligheder for PermitRootLogin inkluderer "ja", "uden adgangskode", "kun tvungne kommandoer" eller "ikke". Standard er "ja". For helt at stoppe root -login bruger vi følgende linje:
 PermitRootLogin nr

FORSTØRRE

6. Sådan indstilles en ny Linux SSH -port


Som standard er porten, der er tildelt til SSH, 22, så angribere med sikkerhed ved, hvilken port de får adgang til for at udføre deres angreb, så en god sikkerhedsmetode er at ændre denne standardport og kun angive autoriserede brugere. Den nye port.

Til dette skal vi finde portlinjen og tilføje følgende syntaks:

 Port XXXXX

FORSTØRRE

7. Sådan begrænses SSH Linux -adgang


Hvis adgangen til SSH -serveren består af flere brugere, er det muligt at anvende visse begrænsninger ved at oprette grupper, hvor disse brugere er inkluderet, dette er muligt ved at tilføje søgeord som:
 AllowUsers (Tillad brugeradgang) AllowGroups (Tillad gruppeadgang) DenyUsers (Begræns brugeradgang) DenyGroups (Begræns gruppeadgang)
For eksempel kan vi køre følgende i konfigurationsfilen:
 AllowUsers Solvetic tests DenyGroups test

8. Sådan opdateres SSH Linux nådetid


Som standard er den tid, en bruger kan forblive inaktiv uden at logge ind, to minutter, for at forhindre uautoriserede forbindelser til systemet kan denne tid redigeres i LoginGraceTime -linjen, hvilket øger eller reducerer dette vejr:
 LoginGraceTime 1m

FORSTØRRE

9. Sådan oprettes et SSH Linux -alias


Inden for SSH -konfigurationerne er det muligt at angive et alias, disse giver mulighed for at oprette forbindelse til en bestemt server via en port og definerede brugere, for eksempel kan vi tilføje følgende:
 Host dev HostName dev.solvetic.com Port 3333 Bruger Solvetic
I dette specifikke tilfælde skal vi få adgang som følger:
 ssh [email protected] -p 3333

10. Godkendelse med sikre nøgler SSH Linux


ssh vil være meget mere sikker og nyttig, når den bruges sammen med offentlige / private nøglepar til godkendelsesformål, frem for at bruge adgangskoder. Filen ssh_config kan erklære en bestemt nøgle til en bestemt vært ved hjælp af IdentityFile -nøglen, i dette tilfælde ville vi indtaste følgende:
 Host dev HostName dev.solvetic.com Port 3333 User Solvetic IdentityFile ~ / .ssh / dev.solvetic.key
For dette tilfælde ville forbindelsen være som følger:
 ssh -i ~ / .ssh / dev.solvetic.key [email protected] -p 3333
Nogle yderligere parametre er:

KompressionDer kan vi bruge værdier som ja eller nej til at aktivere deaktivering af komprimering for en vært.
LogLevelDet giver mulighed for at definere detaljeringsniveauet i logfilerne for ssh -klienten, valgmulighederne er STIL, FATAL, FEJL, INFO, VERBOSE, DEBUG1, DEBUG2 og DEBUG3.
StrictHostKeyCheckingAngiv en præference for at tilføje værter til filen known_hosts.

Således har vi forskellige muligheder for at forbedre sikkerhed og SSH -forbindelse i Linux.

wave wave wave wave wave