SSH er en mye brukt protokoll som brukes for sikker tilgang til Linux-servere. De fleste brukere bruker SSH-tilkoblinger med standardinnstillinger for å koble til en ekstern server. Imidlertid utgjør de usikrede standardkonfigurasjonene også ulike sikkerhetsrisikoer.
Rotkontoen til en server med åpen SSH-tilgang kan være i fare. Og spesielt hvis du bruker en offentlig IP-adresse, er det mye lettere å hacke root-passordet. Derfor er det nødvendig å ha kunnskap om SSH-sikkerhet.
Slik kan du sikre SSH-servertilkoblingene dine på Linux.
1. Deaktiver rotbrukerpålogginger
For dette, deaktiver først rotbrukerens SSH-tilgang og opprette en ny bruker med root-privilegier. Å slå av servertilgang for rotbrukeren er en forsvarsstrategi som hindrer angripere i å nå målet om å trenge seg inn i systemet. Du kan for eksempel opprette en bruker som heter eksempelrot følgende:
useradd -m eksempelrot
passwd eksempelrot
usermod -aG sudo eksempelrot
Her er en kort forklaring av de nevnte kommandoene:
- brukeradd oppretter en ny bruker og -m parameteren oppretter en mappe under hjem katalogen for brukeren du opprettet.
- De passwd kommandoen er for å tildele et passord til den nye brukeren. Husk at passord du tildeler brukerne skal være komplekse og vanskelige å gjette.
- usermod -aG sudo legger den nyopprettede brukeren til administratorgruppen.
Etter brukeropprettingsprosessen er det nødvendig å gjøre noen endringer i sshd_config fil. Du finner denne filen på /etc/ssh/sshd_config. Åpne filen med et hvilket som helst tekstredigeringsprogram og gjør følgende endringer:
# Godkjenning:
#LoginGraceTime 2m
PermitRootLogin-nr
Tillat brukere eksempelrot
PermitRootLogin linje vil hindre rotbrukeren fra å få ekstern tilgang ved å bruke SSH. Gjelder også eksempelrot i Tillat brukere listen gir nødvendige tillatelser til brukeren.
Til slutt, start SSH-tjenesten på nytt ved å bruke følgende kommando:
sudo systemctl start ssh på nytt
Hvis det mislykkes og du får en feilmelding, prøv kommandoen nedenfor. Dette kan variere basert på Linux-distroen du bruker.
sudo systemctl start sshd på nytt
2. Endre standardporten
Standard SSH-tilkoblingsport er 22. Selvfølgelig vet alle angripere dette, og derfor er det nødvendig å endre standard portnummer for å sikre SSH-sikkerhet. Selv om en angriper lett kan finne den nye portnummer med en Nmap-skanning, er målet her å gjøre angriperens jobb vanskeligere.
For å endre portnummeret, åpne /etc/ssh/sshd_config og gjør følgende endringer i filen:
Inkludere /etc/ssh/sshd_config.d/*.conf
Port 5922
Etter dette trinnet starter du SSH-tjenesten på nytt med sudo systemctl start ssh på nytt. Nå kan du få tilgang til serveren din ved å bruke porten du nettopp definerte. Hvis du bruker en brannmur, må du gjøre de nødvendige regelendringene der også. På å kjøre netstat -tlpn kommando, kan du se at portnummeret ditt for SSH har endret seg.
3. Blokker tilgang for brukere med tomme passord
Det kan være brukere uten passord på systemet ditt som du kanskje har opprettet ved et uhell. For å forhindre at slike brukere får tilgang til serverne, kan du angi PermitEmptyPasswords linjeverdi i sshd_config fil til Nei.
PermitEmptyPasswords no
4. Begrens pålogging/tilgangsforsøk
Som standard kan du få tilgang til serveren ved å gjøre så mange passordforsøk du vil. Angripere kan imidlertid bruke denne sårbarheten til å brute-force serveren. Du kan avslutte automatisk SSH-tilkoblingen etter et visst antall forsøk ved å spesifisere antall tillatte passordforsøk.
For dette, endre MaxAuthTries verdi i sshd_config fil.
MaxAuthTries 3
5. Bruker SSH versjon 2
Den andre versjonen av SSH ble utgitt på grunn av de mange sårbarhetene i den første versjonen. Som standard kan du aktivere serveren til å bruke den andre versjonen ved å legge til Protokoll parameter til din sshd_config fil. På denne måten vil alle fremtidige tilkoblinger bruke den andre versjonen av SSH.
Inkludere /etc/ssh/sshd_config.d/*.conf
Protokoll 2
6. Slå av TCP-portvideresending og X11-videresending
Angripere kan prøve å få tilgang til de andre systemene dine ved å videresende porter gjennom SSH-tilkoblinger. For å forhindre dette kan du slå av TillatTcpForwarding og X11Videresending funksjoner i sshd_config fil.
X11Videresendingsnr
AllowTcpForwarding nr
7. Koble til med en SSH-nøkkel
En av de sikreste måtene å koble til serveren din på er å bruke en SSH-nøkkel. Når du bruker en SSH-nøkkel, kan du få tilgang til serveren uten passord. I tillegg kan du helt slå av passordtilgang til serveren ved å endre de passordrelaterte parameterne i sshd_config fil.
Når du oppretter en SSH-nøkkel, er det to nøkler: Offentlig og Privat. Den offentlige nøkkelen lastes opp til serveren du vil koble til, og den private nøkkelen lagres på datamaskinen som du vil opprette forbindelsen med.
Lag en SSH-nøkkel med ssh-keygen kommandoen på datamaskinen. Ikke forlat Passord feltet tomt og husk passordet du skrev inn her. Hvis du lar det stå tomt, vil du kun få tilgang til det med SSH-nøkkelfilen. Men hvis du angir et passord, kan du forhindre at en angriper med nøkkelfilen får tilgang til den. Som et eksempel kan du lage en SSH-nøkkel med følgende kommando:
ssh-keygen
8. IP-restriksjoner for SSH-tilkoblinger
Mesteparten av tiden blokkerer brannmuren tilgang ved å bruke rammer med egne standarder og har som mål å beskytte serveren. Dette er imidlertid ikke alltid nok, og du må øke dette sikkerhetspotensialet.
For å gjøre dette, åpne /etc/hosts.allow fil. Med tilleggene du gjør til denne filen, kan du begrense SSH-tillatelsen, tillate en spesifikk IP-blokkering, eller angi en enkelt IP og blokkere alle gjenværende IP-adresser med deny-kommandoen.
Nedenfor ser du noen eksempelinnstillinger. Etter å ha gjort disse, start SSH-tjenesten på nytt som vanlig for å lagre endringene.
Viktigheten av Linux Server Security
Data- og datasikkerhetsproblemer er ganske detaljerte og bør vurderes av alle serveradministratorer. Serversikkerhet er et veldig sensitivt tema da hovedfokuset for angrep er webservere, og de inneholder nesten all informasjon om et system. Siden de fleste servere kjører på Linux-infrastrukturen, er det svært viktig å være kjent med Linux-systemet og serveradministrasjonen.
SSH-sikkerhet er bare en av måtene å beskytte servere på. Det er mulig å minimere skaden du tar ved å stoppe, blokkere eller bremse et angrep. Bortsett fra å gi SSH-sikkerhet, er det mange forskjellige metoder du kan implementere for å sikre Linux-serverne dine.