ssh

Sådan sikres SSH-serveren i Ubuntu 20.04 fra Basic til Advanced

Sådan sikres SSH-serveren i Ubuntu 20.04 fra Basic til Advanced
Ligesom alle andre servere er SSH-serveren også udsat for uautoriserede adgangsforsøg. Derfor, når du ønsker at bruge en SSH-server, skal du have overvejet at sikre den først for at redde jer fra enhver uønsket situation på længere sigt. Generelt er udtrykket "sikring af en server" også kendt som "hærdning af en server.”Dette kan gøres ved at tage flere forholdsregler. Disse foranstaltninger afhænger af det sikkerhedsniveau, du har brug for.

Foranstaltningerne til sikring af SSH-serveren spænder fra grundlæggende til avanceret, og som vi sagde tidligere, kan du hente dem i henhold til det sikkerhedsniveau, du har brug for. Du kan springe over de foreskrevne foranstaltninger, hvis du har tilstrækkelig viden om konsekvenserne, og hvis du er i en god position til at imødegå dem. Vi kan heller ikke sige, at et enkelt trin vil sikre 100% sikkerhed, eller at et bestemt trin er bedre end det andet.

Det hele afhænger af, hvilken type sikkerhed vi faktisk har brug for. Derfor har vi i dag til hensigt at give dig en meget dyb indsigt i de grundlæggende og avancerede trin til sikring af en SSH-server i Ubuntu 20.04. Bortset fra disse metoder deler vi også nogle yderligere tip til at sikre din SSH-server som en bonus med dig. Så lad os komme i gang med dagens interessante diskussion.

Metode til sikring af SSH-serveren i Ubuntu 20.04:

Alle SSH-konfigurationer er gemt i dens / etc / ssh / sshd_config-fil. Denne fil betragtes som meget afgørende for den normale funktion af din SSH-server. Derfor anbefales det stærkt, før du foretager ændringer i denne fil, at du opretter en sikkerhedskopi af denne fil ved at køre følgende kommando i din terminal:

sudo cp / etc / ssh / sshd_config / etc / ssh / sshd_config.bag


Hvis denne kommando udføres med succes, får du ikke nogen output, som vist på billedet nedenfor:

Efter oprettelse af en sikkerhedskopi af denne fil er dette trin valgfrit og udføres, hvis du vil kontrollere alle de muligheder, der aktuelt er aktiveret i denne konfigurationsfil. Du kan tjekke det ved at køre følgende kommando i din terminal:

sudo sshd -T


De aktuelt aktiverede indstillinger for SSH-konfigurationsfilen vises i billedet nedenfor. Du kan rulle ned på denne liste for at se alle mulighederne.

Nu kan du begynde at sikre din SSH-server, mens du flytter fra de grundlæggende trin til de avancerede trin i Ubuntu 20.04.

Grundlæggende trin til sikring af SSH-serveren i Ubuntu 20.04:

De grundlæggende trin til sikring af en SSH-server i Ubuntu 20.04 er som følger:

Trin # 1: Åbning af SSH-konfigurationsfilen:

Du kan åbne SSH-konfigurationsfilen ved at køre kommandoen nedenfor i din terminal:

sudo nano / etc / ssh / sshd_config


SSH-konfigurationsfilen vises i følgende billede:

Trin # 2: Deaktivering af adgangskodebaseret godkendelse:

I stedet for at bruge adgangskoder til godkendelse betragtes SSH-nøgler som mere sikre. Derfor, hvis du har genereret SSH-nøgler til godkendelse, skal du deaktivere adgangskodebaseret godkendelse. Til det skal du finde variablen "PasswordAuthentication", fjerne kommentar til den og indstille dens værdi til "nej" som fremhævet i billedet vist nedenfor:

Trin # 3: Afvisning / afvisning af tomme adgangskoder:

Til tider finder brugerne det yderst praktisk at oprette tomme adgangskoder for at spare sig for at huske komplekse adgangskoder. Denne praksis kan vise sig at være skadelig for sikkerheden på din SSH-server. Derfor skal du afvise alle godkendelsesforsøg med tomme adgangskoder. Til det skal du finde variablen "PermitEmptyPasswords" og bare fjerne kommentar, da dens værdi allerede er sat til "nej" som standard, som fremhævet i følgende billede:

Trin # 4: Forbyder rodindlogning:

Du bør strengt forbyde rodlogins for at beskytte enhver ubuden gæst fra at få root-adgang til din server. Du kan gøre dette ved at finde variablen "PermitRootLogin", fjerne kommentar til den og indstille dens værdi til "nej", som fremhævet i billedet vist nedenfor:

Trin # 5: Brug af SSH-protokol 2:

SSH-serveren kan fungere på to forskellige protokoller, dvs.e., Protokol 1 og protokol 2. Protokol 2 implementerer mere avancerede sikkerhedsfunktioner, hvorfor det foretrækkes frem for protokol 1. Protokol 1 er dog standardprotokollen for SSH, og den nævnes ikke eksplicit i SSH-konfigurationsfilen. Derfor, hvis du ønsker at arbejde med protokol 2 i stedet for protokol 1, skal du eksplicit tilføje linjen "protokol 2" til din SSH-konfigurationsfil som fremhævet i følgende billede:

Trin # 6: Indstilling af en sessionstimeout:

Til tider lader brugerne deres computere være uden opsyn i meget lang tid. I mellemtiden kan enhver ubuden gæst komme over og få adgang til dit system, mens det bryder dets sikkerhed. Det er her, begrebet sessionstimeout spiller ind. Denne funktion bruges til at logge ud af en bruger, hvis han forbliver inaktiv i lang tid, så ingen anden bruger kan få adgang til sit system.

Denne timeout kan indstilles ved at finde variablen "ClientAliveInterval", fjerne kommentar til den og tildele den enhver værdi (i sekunder) efter eget valg. I vores tilfælde har vi tildelt det værdien "300 sekunder" eller "5 minutter". Det betyder, at hvis brugeren holder sig væk fra SSH-serveren i “300 sekunder”, logges han automatisk ud som fremhævet i billedet vist nedenfor:

Trin # 7: Tillader specifikke brugere at få adgang til SSH-serveren:

SSH-serveren er ikke en server, hvis adgang kræves af alle andre brugere. Derfor skal dets adgang kun være begrænset til de brugere, der rent faktisk har brug for det. For at give bestemte brugere adgang til SSH-serveren skal du tilføje en variabel med navnet "AllowUsers" til SSH-konfigurationsfilen og derefter skrive navnene på alle de brugere, som du vil give adgang til SSH-serveren adskilt af et mellemrum. I vores tilfælde ønskede vi kun at give en bruger adgang til SSH-serveren. Derfor har vi kun tilføjet hans navn som fremhævet i følgende billede:

Trin # 8: Begrænsning af antallet af godkendelsesforsøg:

Hver gang en bruger forsøger at få adgang til en server, og han ikke er i stand til at godkende sig selv for første gang, forsøger han at gøre det igen. Brugeren fortsætter med at gøre disse forsøg indtil og medmindre han med succes er i stand til at godkende sig selv og dermed få adgang til SSH-serveren. Dette betragtes som en meget usikker praksis, da en hacker kan starte et Brute Force Attack (et angreb, der gentagne gange forsøger at gætte en adgangskode, indtil den rigtige match findes). Resultatet er, at han vil kunne få adgang til din SSH-server.

Derfor anbefales det stærkt at begrænse antallet af godkendelsesforsøg for at forhindre angreb af adgangskode. Standardværdien af ​​godkendelsesforsøg til SSH-serveren er indstillet til "6". Du kan dog ændre det afhængigt af det sikkerhedsniveau, du har brug for. Til det er du nødt til at finde “MaxAuthTries” -variablerne, fjerne kommentar til den og indstille dens værdi til et ønsket nummer. Vi ønskede at begrænse godkendelsesforsøgene til "3" som fremhævet i billedet vist nedenfor:

Trin # 9: Kørsel af SSH-serveren i testtilstand:

Nu har vi taget alle de grundlæggende trin for at sikre vores SSH-server på Ubuntu 20.04. Vi skal dog stadig sørge for, at de muligheder, vi lige har konfigureret, fungerer korrekt. Til det gemmer vi først og lukker vores konfigurationsfil. Efter at have gjort det, vil vi prøve at køre vores SSH-server i testtilstand. Hvis det kører med succes i testtilstand, betyder det, at der ikke er nogen fejl i din konfigurationsfil. Du kan køre din SSH-server i testtilstand ved at køre følgende kommando i din terminal:

sudo sshd -t


Når denne kommando udføres med succes, viser den ikke nogen output på terminalen, som vist på billedet nedenfor. Imidlertid, hvis der er fejl i din konfigurationsfil, vil kørsel af denne kommando gøre disse fejl på terminalen. Du skal så løse disse fejl. Først da vil du være i stand til at gå videre.

Trin # 10: Genindlæsning af SSH-serveren med nye konfigurationer:

Nu når SSH-serveren kørte med succes i testtilstand, skal vi genindlæse den, så den kan læse den nye konfigurationsfil, i.e., de ændringer, vi har foretaget i SSH-konfigurationsfilen i trinnene vist ovenfor. For at genindlæse SSH-serveren med nye konfigurationer skal du køre følgende kommando i din terminal:

sudo service sshd genindlæses


Hvis din SSH-server genstartes med succes, viser terminalen ikke nogen output, som vist på billedet nedenfor:

Avancerede trin til sikring af SSH-serveren i Ubuntu 20.04:

Efter at have udført alle de grundlæggende trin til sikring af SSH-serveren i Ubuntu 20.04, kan du endelig gå videre til de avancerede trin. Dette er kun et skridt fremad for at sikre din SSH-server. Men hvis du kun har til hensigt at opnå et moderat sikkerhedsniveau, er trinnene beskrevet ovenfor tilstrækkelige. Men hvis du vil gå lidt længere, kan du følge nedenstående trin:

Trin # 1: Åbning af ~ /.ssh / autoriserede_taster Fil:

De grundlæggende trin til sikring af SSH-serveren implementeres i SSH-konfigurationsfilen. Det betyder, at disse politikker holder godt for alle brugere, der vil forsøge at få adgang til SSH-serveren. Det indebærer også, at de grundlæggende trin repræsenterer en generisk metode til sikring af SSH-serveren. Men hvis vi forsøger at overveje princippet om "forsvar i dybde", så vil vi indse, at vi er nødt til at sikre hver enkelt SSH-nøgle separat. Dette kan gøres ved at definere eksplicitte sikkerhedsparametre for hver enkelt nøgle. SSH-tasterne er gemt i ~ /.ssh / autoriserede_keys-fil, så vi får først adgang til denne fil for at ændre sikkerhedsparametrene. Vi kører følgende kommando i terminalen for at få adgang til ~ /.ssh / autoriserede_keys fil:

sudo nano ~ /.ssh / autoriserede_taster

Ved at køre denne kommando åbnes den angivne fil med nano-editoren. Du kan dog også bruge en hvilken som helst anden teksteditor efter eget valg til at åbne denne fil. Denne fil indeholder alle de SSH-nøgler, du hidtil har genereret.

Trin 2: Definition af specifikke konfigurationer for bestemte taster:

For at opnå et avanceret sikkerhedsniveau er følgende fem muligheder tilgængelige:

Disse muligheder kan skrives før enhver SSH-nøgle efter eget valg for at gøre dem tilgængelige for den pågældende nøgle. Endnu mere end en mulighed kan også konfigureres til en enkelt SSH-nøgle. For eksempel vil du deaktivere videresendelse af port for en bestemt nøgle eller med andre ord, du vil implementere videresendelse af port til en bestemt nøgle, så syntaksen vil være som følger:

no-port-forwarding DesiredSSHKey

Her, i stedet for DesiredSSHKey, vil du have en faktisk SSH-nøgle i din ~ /.ssh / autoriserede_keys-fil. Når du har anvendt disse muligheder for dine ønskede SSH-nøgler, skal du gemme ~ /.ssh / authorised_keys-filen og luk den. Godt ved denne avancerede metode er, at det ikke kræver, at du genindlæser din SSH-server, når du har foretaget disse ændringer. Disse ændringer læses snarere automatisk af din SSH-server.

På denne måde vil du være i stand til at sikre hver SSH-nøgle i dybden ved at anvende de avancerede sikkerhedsmekanismer.

Nogle yderligere tip til sikring af SSH-serveren i Ubuntu 20.04:

Bortset fra alle de grundlæggende og avancerede trin, vi har taget ovenfor, er der også nogle yderligere tip, der kan vise sig at være meget gode til at sikre SSH-serveren i Ubuntu 20.04. Disse yderligere tip er blevet diskuteret nedenfor:

Hold dine data krypteret:

De data, der findes på din SSH-server, såvel som den, der forbliver i transit, skal krypteres, og det også med en stærk krypteringsalgoritme. Dette vil ikke kun beskytte integriteten og fortroligheden af ​​dine data, men forhindrer også sikkerheden på hele din SSH-server i at blive kompromitteret.

Hold din software opdateret:

Softwaren, der kører på din SSH-server, skal være opdateret. Dette gøres for at sikre, at ingen sikkerhedsfejl i din software forbliver uden opsyn. De skal snarere lappes i god tid. Dette sparer dig for potentielle skader i det lange løb og forhindrer også din server i at gå ned eller være utilgængelig på grund af sikkerhedsproblemer.

Sørg for, at SELinux er aktiveret:

SELinux er den mekanisme, der lægger grundstenen til sikkerheden inden for de Linux-baserede systemer. Det fungerer ved at implementere den obligatoriske adgangskontrol (MAC). Det implementerer denne adgangskontrolmodel ved at definere adgangsregler i sin sikkerhedspolitik. Denne mekanisme er aktiveret som standard. Dog har brugerne tilladelse til at ændre denne indstilling til enhver tid. Det betyder, at de kan deaktivere SELinux, når de vil. Det anbefales dog stærkt, at du altid holder SELinux aktiveret, så det kan forhindre din SSH-server i alle potentielle skader.

Brug politikker med streng adgangskode:

Hvis du har beskyttet din SSH-server med adgangskoder, skal du oprette stærke adgangskodepolitikker. Ideelt set skal adgangskoderne være på mere end 8 tegn. De skal ændres efter et bestemt tidspunkt, for eksempel hver anden måned. De bør ikke indeholde ordbogsord; snarere skal de være en kombination af alfabeter, tal og specialtegn. På samme måde kan du definere nogle andre ekstra strenge foranstaltninger til dine adgangskodepolitikker for at sikre, at de er stærke nok.

Overvåg og vedligehold revisionslogfilerne på din SSH-server:

Hvis noget går galt med din SSH-server, kan din første hjælper være revisionslogfiler. Derfor skal du vedligeholde disse logfiler, så du kan spore årsagen til problemet. Desuden, hvis du løbende overvåger din SSH-serveres sundhed og funktion, vil dette også forhindre, at der opstår større problemer i første omgang.

Oprethold regelmæssige sikkerhedskopier af dine data:

Sidst men ikke mindst skal du altid gemme en sikkerhedskopi af hele din SSH-server. At gøre dette vil ikke kun gemme dine data fra at blive ødelagt eller helt tabt; snarere kan du også bruge denne backup-server, når din hovedserver går ned. Dette vil også begrænse serverens nedetid og sikre dens tilgængelighed.

Konklusion:

Ved at tage sig af alle de foranstaltninger, der er ordineret i denne artikel, kan du nemt sikre eller hærde din SSH-server i Ubuntu 20.04. Men hvis du har en informationssikkerhedsbaggrund, skal du være opmærksom på denne kendsgerning, at der ikke er noget som 100% sikkerhed. Alt, hvad vi kan få, er det bedste løfte om indsatsen, og den bedste indsats vil kun være sikker indtil det tidspunkt, hvor den også bliver overtrådt. Det er derfor, selv efter at du har taget alle disse foranstaltninger, kan du ikke sige, at din SSH-server er 100% sikker; snarere kan det stadig have sådanne sårbarheder, som du aldrig engang kunne have tænkt på. Sådanne sårbarheder kan kun tages hånd om, hvis vi holder øje med vores SSH-server og fortsætter med at opdatere den, når det er nødvendigt.

Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...
HD Remastered-spil til Linux, der aldrig tidligere havde haft en Linux-udgivelse
Mange spiludviklere og udgivere kommer med HD-remaster af gamle spil for at forlænge franchisens levetid. Venligst fans, der anmoder om kompatibilitet...
Sådan bruges AutoKey til at automatisere Linux-spil
AutoKey er et desktopautomatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af dets scripting og MACRO-funktionalitet ...