SSH er en udbredt protokol, der bruges til sikker adgang til Linux-servere. De fleste brugere bruger SSH-forbindelser med standardindstillinger til at oprette forbindelse til en ekstern server. De usikrede standardkonfigurationer udgør dog også forskellige sikkerhedsrisici.

Rodkontoen på en server med åben SSH-adgang kan være i fare. Og især hvis du bruger en offentlig IP-adresse, er det meget nemmere at hacke root-adgangskoden. Derfor er det nødvendigt at have viden om SSH-sikkerhed.

Sådan kan du sikre dine SSH-serverforbindelser på Linux.

1. Deaktiver root-brugerlogins

Til dette skal du først deaktivere root-brugerens SSH-adgang og oprette en ny bruger med root-rettigheder. Deaktivering af serveradgang for root-brugeren er en forsvarsstrategi, der forhindrer angribere i at nå deres mål om at trænge ind i systemet. For eksempel kan du oprette en bruger ved navn eksempelrod som følger:

useradd -m eksempelrod
passwd exampleroot
usermod -aG sudo eksempelroot

Her er en kort forklaring af de førnævnte kommandoer:

instagram viewer
  • brugertilføj opretter en ny bruger og -m parameter opretter en mappe under hjem mappe for den bruger, du oprettede.
  • Det passwd kommandoen er til at tildele en adgangskode til den nye bruger. Husk, at adgangskoder, du tildeler brugerne, skal være komplekse og svære at gætte.
  • usermod -aG sudo tilføjer den nyoprettede bruger til administratorgruppen.

Efter brugeroprettelsesprocessen er det nødvendigt at foretage nogle ændringer i sshd_config fil. Du kan finde denne fil på /etc/ssh/sshd_config. Åbn filen med en hvilken som helst teksteditor og foretag følgende ændringer:

# Godkendelse: 
#LoginGraceTime 2m
PermitRootLogin-nr
TilladBrugere eksempelrod

PermitRootLogin linje forhindrer root-brugeren i at få fjernadgang ved hjælp af SSH. Inklusive eksempelrod i Tillad brugere liste giver nødvendige tilladelser til brugeren.

Til sidst skal du genstarte SSH-tjenesten ved hjælp af følgende kommando:

sudo systemctl genstart ssh

Hvis det mislykkes, og du modtager en fejlmeddelelse, kan du prøve kommandoen nedenfor. Dette kan variere baseret på den Linux-distro du bruger.

sudo systemctl genstart sshd

2. Ændring af standardporten

Standard SSH-forbindelsesporten er 22. Selvfølgelig ved alle angribere dette, og derfor er det nødvendigt at ændre standardportnummeret for at sikre SSH-sikkerhed. Selvom en angriber nemt kan finde den nye portnummer med en Nmap-scanning, er målet her at gøre angriberens arbejde sværere.

For at ændre portnummeret skal du åbne /etc/ssh/sshd_config og foretag følgende ændringer i filen:

Omfatte /etc/ssh/sshd_config.d/*.conf
Havn 5922

Efter dette trin skal du genstarte SSH-tjenesten igen med sudo systemctl genstart ssh. Nu kan du få adgang til din server ved hjælp af den port, du lige har defineret. Hvis du bruger en firewall, skal du også lave de nødvendige regelændringer der. Ved at køre netstat -tlpn kommando, kan du se, at dit portnummer for SSH er ændret.

3. Bloker adgang for brugere med tomme adgangskoder

Der kan være brugere uden adgangskoder på dit system, som du måske har oprettet ved et uheld. For at forhindre sådanne brugere i at få adgang til serverne, kan du indstille Tillad EmptyPasswords linjeværdi i sshd_config fil til ingen.

PermitEmptyPasswords no

4. Begræns login-/adgangsforsøg

Som standard kan du få adgang til serveren ved at foretage så mange adgangskodeforsøg, som du vil. Angribere kan dog bruge denne sårbarhed til at brute-force serveren. Du kan opsige automatisk SSH-forbindelsen efter et vist antal forsøg ved at angive antallet af tilladte adgangskodeforsøg.

Til dette skal du ændre MaxAuthTries værdi i sshd_config fil.

MaxAuthTries 3

5. Brug af SSH version 2

Den anden version af SSH blev frigivet på grund af de mange sårbarheder i den første version. Som standard kan du aktivere serveren til at bruge den anden version ved at tilføje Protokol parameter til din sshd_config fil. På denne måde vil alle dine fremtidige forbindelser bruge den anden version af SSH.

Omfatte /etc/ssh/sshd_config.d/*.conf 
Protokol 2

6. Deaktivering af TCP-portvideresendelse og X11-videresendelse

Angribere kan forsøge at få adgang til dine andre systemer ved at videresende porte gennem SSH-forbindelser. For at forhindre dette kan du slukke for TilladTcpForwarding og X11Videresendelse funktioner i sshd_config fil.

X11Vid.nr 
TilladTcpForwarding nr

7. Tilslutning med en SSH-nøgle

En af de mest sikre måder at oprette forbindelse til din server på er at bruge en SSH-nøgle. Når du bruger en SSH-nøgle, kan du få adgang til serveren uden adgangskode. Derudover kan du helt slå adgangskodeadgang til serveren fra ved at ændre de adgangskoderelaterede parametre i sshd_config fil.

Når du opretter en SSH-nøgle, er der to nøgler: Offentlig og Privat. Den offentlige nøgle uploades til den server, du vil oprette forbindelse til, og den private nøgle gemmes på den computer, hvormed du vil oprette forbindelsen.

Opret en SSH-nøgle med ssh-keygen kommando på din computer. Forlad ikke Adgangssætning felt tomt og husk den adgangskode, du indtastede her. Hvis du lader det være tomt, vil du kun kunne få adgang til det med SSH-nøglefilen. Men hvis du angiver en adgangskode, kan du forhindre en hacker med nøglefilen i at få adgang til den. Som et eksempel kan du oprette en SSH-nøgle med følgende kommando:

ssh-keygen

8. IP-begrænsninger for SSH-forbindelser

Det meste af tiden blokerer firewallen adgang ved hjælp af rammer af sine egne standarder og sigter mod at beskytte serveren. Dette er dog ikke altid nok, og du skal øge dette sikkerhedspotentiale.

For at gøre dette skal du åbne /etc/hosts.allow fil. Med de tilføjelser, du foretager til denne fil, kan du begrænse SSH-tilladelsen, tillade en specifik IP-blokering eller indtaste en enkelt IP og blokere alle resterende IP-adresser med kommandoen afvis.

Nedenfor vil du se nogle eksempler på indstillinger. Efter at have gjort disse, genstart SSH-tjenesten som normalt for at gemme ændringerne.

Vigtigheden af ​​Linux Server Security

Data- og datasikkerhedsproblemer er ret detaljerede og bør overvejes af alle serveradministratorer. Serversikkerhed er et meget følsomt emne, da hovedfokus for angreb er webservere, og de indeholder næsten al information om et system. Da de fleste servere kører på Linux-infrastrukturen, er det meget vigtigt at være fortrolig med Linux-systemet og serveradministrationen.

SSH-sikkerhed er blot en af ​​måderne at beskytte servere på. Det er muligt at minimere den skade, du tager, ved at stoppe, blokere eller bremse et angreb. Udover at levere SSH-sikkerhed, er der mange forskellige metoder, du kan implementere til at sikre dine Linux-servere.