Slik konfigurerer du SSH Linux -sikkerhet

En av de mest brukte protokollene på sikkerhetsnivå for å etablere tilkoblinger i UNIX -miljøer er SSH (Secure Shell) -protokollen som tilbyr oss en rekke funksjoner og spesielle egenskaper for å beskytte data og tilkoblinger.

SSH er en protokoll som er utviklet med fokus på sikkerheten til kommunikasjon mellom to systemer gjennom klient / server -modellen, og takket være at brukerne kan koble til en vert eksternt.
En av hovedtrekkene til SSH er at den krypterer tilkoblingsøkten, noe som forhindrer enhver bruker i å få ukrypterte passord.

BeskyttelsestyperNår vi bruker SSH -protokollen vil vi ha følgende typer beskyttelse:

  • Når den første tilkoblingen er opprettet, kan klienten bekrefte at den kobler til den samme serveren som den tidligere koblet til
  • Klienten sender autentiseringsinformasjonen til serveren gjennom 128-biters kryptering
  • Alle data som sendes og mottas i løpet av økten, overføres ved hjelp av 128-biters kryptering, noe som gjør det vanskelig å dekryptere og lese
  • Klienten har muligheten til å videresende X11 -applikasjoner fra serveren, dette er en teknikk som kalles X11 -videresending som gir et sikkert middel til å bruke grafiske applikasjoner over et lokalt eller eksternt nettverk.

Nå, i Linux -operativsystemer finner vi SSH -konfigurasjonsfilen i banen / etc / ssh / ssh_config, og takket være denne filen vil det være mulig å utføre alle sikkerhetstiltakene for SSH -tilkoblinger.

FORSTØRRE

For macOS -systemer ligger denne filen i / private / etc / ssh / ssh_config -banen, og denne har en symbolsk lenke til / etc / ssh / ssh_config for kompatibilitetsformål.

Når du redigerer denne filen, må vi huske på følgende.

  • Tomme linjer og linjer som begynner med "#" er kommentarer
  • Hver linje begynner med et søkeord, etterfulgt av argument (er)
  • Konfigurasjonsalternativer kan skilles med mellomrom eller valgfrie emner og et = -tegn
  • Argumenter kan omsluttes med doble anførselstegn (") for å angi argumenter som inneholder mellomrom

1. Hvordan redigere Linux ssh_config -filen


For å redigere denne filen for å etablere riktige verdier, må vi utføre følgende med en redaktør:
 sudo nano / etc / ssh / ssh_config
Vi vil se følgende:

FORSTØRRE

Ssh_config -filen er organisert av verter, og der inneholder hver vert spesifikke innstillinger for den aktuelle verten, der kan vi bruke jokertegn som * for å matche flere vertsnavn med en enkelt setning.
Noen av parameterne som vi kan bruke i denne filen er:

VertBegrens utsagn som bare er for verter som samsvarer med ett av mønstrene gitt etter søkeordet.
KampBegrens utsagnene til å bare gjelde verter som samsvarer med angitte kriterier
AdresseFamilieSpesifiserer hvilken adressefamilie som skal brukes ved tilkobling, gyldige argumenter er: hvilken som helst, inet, inet6.
BatchModeMed denne verdien blir passordforespørselen deaktivert, og dermed unngås utilsiktet blokkering av en passordforespørsel
BindAddressAngir å bruke adressen som er angitt på den lokale maskinen som tilkoblingskildeadresse.
ChallengeResponseAuthenticationAngir om du vil bruke utfordringsresponsautentisering. Dette er først og fremst en eldre metode og har blitt erstattet av KbdInteractiveAuthentication
CheckHostIPFortell ssh om å i tillegg sjekke vertens IP -adresse i filen known_hosts.
ChifferHenviser til krypteringen som skal brukes til å kryptere økten i protokollversjon 1.
ChifferSpesifiserer de tillatte chifferne for versjon 2 av protokollen i ønsket rekkefølge.

Deretter vil vi se noen praktiske tips for å forbedre sikkerheten til SSH -tilkoblinger til Linux og dermed få den beste tilgangsytelsen.

2. Slik låser du Linux SSH -filer


Det første trinnet før du redigerer filen er å sørge for at både ssh_config -filen og sshd_config -filen har eieren og brukeren konfigurert som root, dette fordi det er superbruker av Linux og ingen bedre enn dette er eieren.

For dette utfører vi følgende:

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

3. Hvordan bekrefte SSH -protokoll versjon 2 Linux


Versjon 2 av SSH har en forbedret nøkkelutvekslingsalgoritme som ikke er sårbar for sikkerhetshullet i versjon 1, og dermed forbedrer den generelle sikkerheten til tilkoblingene, så det er ideelt å bekrefte at den nye protokollen 2 brukes i stedet for protokoll 1 og for dette må vi bekrefte følgende linje i ssh_config -filen:
 Protokoll 2

FORSTØRRE

Der kan vi også konfigurere protokollen implisitt gjennom Chiffer, som automatisk setter Protocol til 2 for å bruke moderne Chiffer, for dette validerer vi følgende linje like under Protocol -linjen:

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

4. Slik deaktiverer du tomme passord SSH Linux


Det er viktig å validere at hver SSH -konto må bruke et passord når du logger inn, blokkerer tomme passord som vil tillate enkel tilgang som forårsaker sikkerhetsrisiko i systemet, for å validere dette vil vi bruke følgende linje eller, hvis det ikke eksisterer, vi vil legge det til ved å plassere symbolet #:
 PermitEmptyPasswords nr

FORSTØRRE

5. Slik deaktiverer du SSH Linux root -pålogging


Ved å forhindre root-brukerpålogging vil det være mulig å låse bestemte kontoer og ikke tillate bruk i hele systemet, alternativer for PermitRootLogin inkluderer "ja", "uten passord", "tvunget-kommandoer-bare" eller "ikke". Standard er "ja". For å stoppe rotloggen helt, bruker vi følgende linje:
 PermitRootLogin no

FORSTØRRE

6. Hvordan sette en ny Linux SSH -port


Som standard er porten som er tildelt for SSH 22, slik at angriperne med sikkerhet vet hvilken port de vil få tilgang til for å utføre angrepene sine, så en god sikkerhetsmetode er å endre denne standardporten og angi bare autoriserte brukere. Den nye porten.

For dette må vi finne portlinjen og legge til følgende syntaks:

 Port XXXXX

FORSTØRRE

7. Slik begrenser du SSH Linux -tilgang


Hvis tilgangen til SSH -serveren består av flere brukere, er det mulig å bruke visse begrensninger ved å opprette grupper der disse brukerne er inkludert, dette er mulig ved å legge til søkeord som:
 AllowUsers (Tillat brukertilgang) AllowGroups (Tillat gruppetilgang) DenyUsers (Begrens brukertilgang) DenyGroups (Begrens gruppetilgang)
For eksempel kan vi kjøre følgende i konfigurasjonsfilen:
 AllowUsers Solvetic tests DenyGroups test

8. Slik oppdaterer du SSH Linux nådetid


Som standard er tiden en bruker kan forbli inaktiv uten å logge på to minutter, for å forhindre uautoriserte tilkoblinger til systemet, kan denne tiden redigeres i LoginGraceTime -linjen for å øke eller redusere dette været:
 Logg innGraceTime 1m

FORSTØRRE

9. Hvordan lage et SSH Linux -alias


Innen SSH -konfigurasjonene er det mulig å spesifisere et alias, disse lar deg koble til en bestemt server via en port og definerte brukere, for eksempel kan vi legge til følgende:
 Host dev HostName dev.solvetic.com Port 3333 bruker Solvetic
I dette spesifikke tilfellet må vi få tilgang til følgende:
 ssh [email protected] -p 3333

10. Godkjenning med sikre nøkler SSH Linux


ssh vil være mye mer sikker og nyttig når den brukes med offentlige / private nøkkelpar for autentiseringsformål, i stedet for å bruke passord. Ssh_config -filen kan deklarere en bestemt nøkkel for en bestemt vert ved hjelp av IdentityFile -nøkkelen, i dette tilfellet skriver vi inn følgende:
 Host dev HostName dev.solvetic.com Port 3333 User Solvetic IdentityFile ~ / .ssh / dev.solvetic.key
For dette tilfellet vil forbindelsen være som følger:
 ssh -i ~ / .ssh / dev.solvetic.key [email protected] -p 3333
Noen andre parametere er:

KomprimeringDer kan vi bruke verdier som ja eller nei for å aktivere deaktivering av komprimering for en vert.
LogLevelDet lar deg definere detaljnivået i loggene for ssh -klienten, alternativene er STILLE, FATAL, FEIL, INFO, VERBOSE, DEBUG1, DEBUG2 og DEBUG3.
StrictHostKeyCheckingAngi en preferanse for å legge til verter i filen known_hosts.

Dermed har vi forskjellige alternativer for å forbedre sikkerhet og SSH -tilkobling i Linux.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave