Hvordan sikre en SSH-server

Hvordan sikre en SSH-server

Sikring av SSH- tilkoblinger hjelper deg med å beskytte Linux-systemet og dataene dine. Systemadministratorer og hjemmebrukere må også sikre datamaskiner som vender mot Internett. Her er 10 enkle måter å hjelpe deg med å sikre SSH-serveren din .

Noen grunnleggende om SSH-sikkerhet

SSH står for Secure Shell. SSH-protokollen eller programvareverktøyet lar systemadministratorer og brukere opprette sikre tilkoblinger til eksterne datamaskiner som bruker den protokollen.

SSH-protokollen er en kryptert protokoll designet for å gi en sikker tilkobling over et usikkert nettverk som Internett. SSH i Linux er bygget på den bærbare versjonen av OpenSSH-prosjektet. Den er implementert i en klassisk klient-server-modell med en SSH-server som aksepterer tilkoblinger fra SSH-klienter. Klienten brukes til å koble til serveren og eksponere økten for eksterne brukere. Serveren godtar tilkoblingen og starter økten.

I standardkonfigurasjonen vil SSH-serveren "lytte" etter innkommende tilkoblinger på Transmission Control Protocol (TCP), port 22. Siden dette er en standardisert og populær port, er den et mål for trusler fra aktører og ondsinnede roboter.

Ondsinnede aktører lanserer roboter som skanner rekkevidder av IP-adresser på jakt etter åpne porter. Den undersøker deretter disse portene for utnyttbare sårbarheter. Å tenke, jeg er trygg, det er mange større og bedre mål enn meg for slemme gutter å målrette er helt feil. Disse robotene velger ikke sine mål basert på noen kriterier, de leter bare etter en måte å trenge inn i systemet.

Du vil bli et offer hvis du ikke sikrer systemet ditt.

Sikkerhetsfriksjon

Et sikkerhetsfriksjonspunkt er enhver situasjon der hovedoppgaven er forhindret eller forsinket på grunn av sikkerhetskrav.

Sikkerhetsfriksjon forårsaker ubehag (på alle nivåer) for brukere og andre når du implementerer sikkerhetstiltak. Personer som er nye til datasystemer, kan bekymre seg om de faktisk må skrive inn et passord hver gang de logger på stormaskinen. For dem er dette også en form for sikkerhetsfriksjon.

Å innføre sikkerhetstiltak vil ofte inkludere en form for friksjon for noen mennesker. Bedriftseiere må betale for disse tiltakene. Databrukere må kanskje endre vaner eller huske annen autentiseringsinformasjon, og legge til trinn for å koble til. Systemadministratorer vil ha ekstra arbeid å gjøre for å implementere og vedlikeholde de nye sikkerhetstiltakene.

Å stramme og låse et Linux- eller Unix-lignende operativsystem kan være raskt. Sikkerhetstiltakene her er et sett med enkle trinn som vil forbedre datasikkerheten uten behov for tredjepartsapplikasjoner og dyp brannmurintervensjon .

Bruk SSH-protokoll versjon 2

I 2006 ble SSH-protokollen oppdatert fra versjon 1 til versjon 2. Dette er en betydelig oppgradering. Det er mange endringer og forbedringer, spesielt innen kryptering og sikkerhet, og versjon 2 er ikke bakoverkompatibel med versjon 1. For å forhindre tilkoblinger fra versjon 1-klienter kan du spesifisere at datamaskiner kun skal akseptere tilkoblinger fra versjon 2.

For å gjøre dette, rediger filen /etc/ssh/sshd_config ved å bruke følgende kommando:

sudo gedit /etc/ssh/sshd_config

Hvordan sikre en SSH-server

Legg til følgende linje:

Protocol 2

Hvordan sikre en SSH-server

Og lagre filen, start deretter SSH-demonprosessen på nytt ved å bruke følgende kommando:

sudo systemctl restart sshd

Hvordan sikre en SSH-server

Test det nye oppsettet i aksjon ved å bytte til en annen maskin og prøve å SSH inn i testmaskinen. Vi vil bruke alternativet -1 (protokoll 1) for å tvinge ssh-kommandoen til å bruke protokollversjon 1.

ssh -1 [email protected]

Hvordan sikre en SSH-server

Tilkoblingsforespørsel avvist. Sørg for at du fortsatt kan koble til protokoll 2. Vi vil bruke -2 (protokoll 2) for å teste.

ssh -2 [email protected]

Hvordan sikre en SSH-server

Det faktum at SSH-serveren ber om et passord er et positivt tegn på at tilkoblingen er opprettet og at du samhandler med serveren. Moderne SSH-klienter vil som standard bruke protokoll 2, vi trenger ikke spesifisere protokoll 2 forutsatt at klienten er oppdatert.

ssh [email protected]

Hvordan sikre en SSH-server

Tilkoblingen er akseptert.

Unngå gate 22

Port 22 er standardporten for SSH-tilkoblinger. Hvis en annen port brukes, legger den til litt Security Through Obscurity (STO) til systemet ditt. Sikkerhet gjennom tvetydighet skal aldri anses som et reelt sikkerhetstiltak. Faktisk undersøker noen smartere angrepsroboter alle åpne porter og bestemmer hvilken tjeneste de utfører, i stedet for å stole på en enkel søkeliste over porter og anta at de tilbyr en tjeneste. Men å bruke en ikke-standard port kan bidra til å redusere dårlig trafikk på port 22.

For å konfigurere en ikke-standard port, rediger SSH-konfigurasjonsfilen som ovenfor.

Hvordan sikre en SSH-server

Slett # på begynnelsen av portlinjen og erstatt 22 med nummeret du ønsker. Lagre konfigurasjonsfilen og start SSH-demonen på nytt.

På en annen datamaskin vil vi bruke ssh-kommandoen for å koble til serveren. Standard ssh-kommandoen bruker port 22:

ssh [email protected]

Hvordan sikre en SSH-server

Tilkobling nektet. Prøv igjen og spesifiser port 470 ved å bruke –p (port)-alternativet:

ssh -p 479 [email protected]

Hvordan sikre en SSH-server

Tilkobling bekreftet.

Koble til filteret med TCP Wrappers

TCP Wrappers er en lettfattelig tilgangskontrollliste. Den lar deg nekte og tillate tilkoblinger basert på egenskapene til tilkoblingsforespørselen som IP-adresse eller vertsnavn. TCP Wrappers bør brukes med, ikke i stedet for, en riktig konfigurert brannmur.

TCP Wrappers kommer forhåndsinstallert på Ubuntu 18.04 LTS- maskiner . Den må installeres på Manjaro 18.10 og Fedora 30.

For å installere på Fedora, bruk følgende kommando:

sudo yum install tcp_wrappers

Hvordan sikre en SSH-server

For å installere på Manjaro, bruk denne kommandoen:

sudo pacman -Syu tcp-wrappers

Hvordan sikre en SSH-server

Det er to filer inkludert, én fil inneholder tillatelseslisten og én fil inneholder avvisningslisten. Rediger avvisningslisten ved å bruke følgende kommando:

sudo gedit /etc/hosts.deny

Hvordan sikre en SSH-server

Kommandoen ovenfor vil åpne gedit-editoren med filen som nekter å laste inn i den.

Hvordan sikre en SSH-server

Du må legge til linjen:

ALL : ALL

Og lagre filen. Denne linjen vil blokkere all uautorisert tilgang. Nå må vi gi tillatelser til forbindelsene du vil godta. For å gjøre det, må du redigere tillatelsesfilen:

sudo gedit /etc/hosts.allow

Hvordan sikre en SSH-server

Kommandoen ovenfor vil åpne gedit-editoren med den nedlastbare filen i den.

Hvordan sikre en SSH-server

Vi har lagt til SSH-demonnavnet, SSHD, og ​​IP-adressen til datamaskinen som gjør at tilkoblingen kan opprettes. Lagre filen og se om begrensningene og tillatelsene er i kraft.

Først vil du prøve å koble til fra en datamaskin som ikke er i hosts.allow-filen:

Hvordan sikre en SSH-server

Tilkobling nektet. Vi vil prøve å koble til fra en maskin med IP-adressen 192.168.4.23:

Hvordan sikre en SSH-server

Tilkobling akseptert.

Eksemplet her lar bare én maskin koble til. TCP-innpakninger er ganske fleksible, den støtter vertsnavn, jokertegn og subnettmasker for å akseptere tilkoblinger fra IP-adresseområder.

Avvis tilkoblingsforespørsler uten passord

Selv om det ikke er bra, kan Linux-systemadministratorer opprette brukerkontoer uten passord. Det betyr at det ikke kreves passord for eksterne tilkoblinger fra denne kontoen. Disse forbindelsene vil bli akseptert, men ikke autentisert.

Standardinnstillingen for SSH godtar tilkoblingsforespørsler uten passord. Vi kan enkelt endre det og sørge for at alle disse forbindelsene er autentisert.

Du må redigere SSH-konfigurasjonsfilen.

Hvordan sikre en SSH-server

Rull ned i filen til du ser linjen som sier #PermitEmptyPasswords no . Slett # på begynnelsen av linjen og lagre filen. Start SSH-demonen på nytt.

Bruk SSH-nøkler i stedet for passord

SSH-nøkler gir en sikker måte å logge på en SSH-server på. Passord kan bli knekt, gjettet eller brute-forced . SSH-nøkler er ikke sårbare for denne typen angrep.

Når du genererer en SSH-nøkkel, oppretter du et nøkkelpar. Den ene er den offentlige nøkkelen og den andre er den private nøkkelen. Den offentlige nøkkelen er installert på serverne du vil koble til. Den private nøkkelen oppbevares sikkert på datamaskinen din.

SSH-nøkler lar tilkoblinger opprettes uten passord, noe som er sikrere enn tilkoblinger som bruker passordautentisering.

Når du foretar en tilkoblingsforespørsel, bruker den eksterne datamaskinen en kopi av den offentlige nøkkelen for å lage en kryptert melding sendt tilbake til datamaskinen. Siden den er kryptert med den offentlige nøkkelen, kan datamaskinen dekryptere den med den private nøkkelen.

Datamaskinen trekker deretter ut noe informasjon fra meldingen, krypterer den og sender den tilbake til serveren. Hvis serveren kan dekryptere den med en kopi av den offentlige nøkkelen. Hvis informasjonen i meldingen samsvarer med det serveren sendte deg, vil tilkoblingen bli bekreftet.

Her gjøres tilkoblingen til serveren på 192.168.4.11 av brukeren med SSH-nøkkelen. Merk at de ikke blir bedt om å angi et passord.

ssh [email protected]

Hvordan sikre en SSH-server

Deaktiver passordautentisering helt

Du kan deaktivere passordautentisering fullstendig hvis du bruker SSH-nøkler. Vi må redigere SSH-konfigurasjonsfilen.

Hvordan sikre en SSH-server

Rull nedover filen til du ser linjen som begynner med #PasswordAuthentication yes . Slett # på begynnelsen av linjen, endre ja til nei og lagre filen. Start SSH-demonen på nytt.

Deaktiver X11-videresending

X11-videresending lar eksterne brukere kjøre grafiske applikasjoner fra serveren din over en SSH-sesjon, men blir lett utnyttet av dårlige aktører. Det er bedre å slå den av ved å redigere SSH-konfigurasjonsfilen.

Hvordan sikre en SSH-server

Rull nedover filen til du ser linjen #X11Forwarding no , slett # på begynnelsen av linjen og lagre filen. Start SSH-demonen på nytt.

Angi verdi for tidsavbrudd for inaktivitet

Hvis det etableres en SSH-forbindelse med en datamaskin og det ikke er aktivitet på den i en periode, kan dette utgjøre en sikkerhetsrisiko.

Derfor bør du sette en tidsavbruddsgrense. SSH-tilkoblingen vil bli frakoblet hvis det ikke er aktivitet innen fristen. Nok en gang må vi redigere SSH-konfigurasjonsfilen.

Hvordan sikre en SSH-server

Rull nedover filen til du ser linjen som begynner med #ClientAliveInterval 0 . Fjern # på begynnelsen av linjen, endre tallet 0 til ønsket verdi. Vanligvis setter folk den til 300 sekunder, som er 5 minutter. Lagre filen og start SSH-demonen på nytt.

Sett en grense for antall passordoppføringer

Å definere en grense for antall bekreftelser kan bidra til å forhindre gjetting av passord og brute-force-angrep. Etter det angitte antallet autentiseringsforespørsler, vil brukeren bli koblet fra SSH-serveren. Som standard er det ingen grense for antall passordforsøk, men du kan redigere det i SSH-konfigurasjonsfilen.

Hvordan sikre en SSH-server

Rull nedover filen til du ser linjen som begynner med #MaxAuthTries 0 . Hvis du fjerner # på begynnelsen av linjen, endres tallet til ønsket verdi. Du kan sette den til 3. Lagre filen når du gjør endringer og start SSH-demonen på nytt.

Du kan teste dette ved å prøve å koble til og skrive inn feil passord.

Hvordan sikre en SSH-server

Merk at MaxAuthTries-nummeret er mer enn antall forsøk brukeren er tillatt. Etter to mislykkede forsøk blir du frakoblet, noe som betyr at MaxAuthTries er satt til 3.

Deaktiver root-pålogging

Du anbefales ikke å logge på som root, bare bruke som en vanlig bruker på Linux og bruke sudo til å utføre handlinger som krever root-tillatelser. Du bør heller ikke la root logge på SSH-serveren. Bare vanlige brukere har lov til å koble til. Hvis de trenger å utføre en oppgave på administrativt nivå, kan de også bruke sudo. Hvis du må tillate root-brukeren å logge på, kan du tvinge dem til å bruke en SSH-nøkkel.

Rediger konfigurasjonsfilen for å deaktivere rotpålogging.

Hvordan sikre en SSH-server

Rull nedover filen til du ser linjen som begynner med #PermitRootLogin prohibit-password , slett # på begynnelsen av linjen.

  • Hvis du vil forhindre at root logger inn, erstatt forbud-passord med no.
  • Hvis du lar root logge på, men tvinger bruk av en SSH-nøkkel, la prohibit-password være intakt.

Lagre endringer og start SSH-demonen på nytt.

Siste steg

Selvfølgelig, hvis du ikke trenger SSH kjører på datamaskinen, slå den av med følgende kommando:

sudo systemctl stop sshd
sudo systemctl disable sshd

Ønsker deg suksess!


Hva er Scareware? Hvordan fjerne Scareware?

Hva er Scareware? Hvordan fjerne Scareware?

Scareware er et ondsinnet dataprogram utviklet for å lure brukere til å tro at det er et legitimt program og ber deg bruke penger på noe som ikke gjør noe.

Hvordan øke Internett-tilkoblingshastigheten med cFosSpeed

Hvordan øke Internett-tilkoblingshastigheten med cFosSpeed

cFosSpeed ​​​​er programvare som øker Internett-tilkoblingshastigheten, reduserer overføringsforsinkelsen og øker tilkoblingsstyrken opptil ca. 3 ganger. Spesielt for de som spiller online spill, vil cFosSpeed ​​​​støtte slik at du kan oppleve spillet uten nettverksproblemer.

Lær om brannmurer, Windows-brannmur på Windows Server 2012

Lær om brannmurer, Windows-brannmur på Windows Server 2012

Windows-brannmur med avansert sikkerhet er en brannmur som kjører på Windows Server 2012 og er aktivert som standard. Brannmurinnstillinger i Windows Server 2012 administreres i Windows Firewall Microsoft Management Console.

Hvordan endre Vigor Draytek modem og ruter påloggingspassord

Hvordan endre Vigor Draytek modem og ruter påloggingspassord

Når du endrer passordet for Vigor Draytek-modem og ruter-påloggingsadmin-siden, vil brukere begrense uautorisert tilgang til å endre modempassordet, og sikre viktig nettverksinformasjon.

Hvordan overklokke RAM enkelt med AMD Ryzen Master

Hvordan overklokke RAM enkelt med AMD Ryzen Master

Heldigvis kan brukere av Windows-datamaskiner som kjører AMD Ryzen-prosessorer bruke Ryzen Master for enkelt å overklokke RAM uten å berøre BIOS.

7 måter å fikse Windows laptop-feil som ikke lades via USB-C

7 måter å fikse Windows laptop-feil som ikke lades via USB-C

USB-C-porten har blitt standarden for dataoverføring, videoutgang og lading på moderne Windows-bærbare datamaskiner. Selv om dette er praktisk, kan det være frustrerende når du kobler den bærbare datamaskinen til en USB-C-lader og den ikke lader.

Hvordan fikse Kan ikke opprette tjeneste-feil på Ultraviewer

Hvordan fikse Kan ikke opprette tjeneste-feil på Ultraviewer

Feilen Kan ikke opprette tjeneste på Ultraviewer oppstår når vi installerer programvaren med feilkode 1072.

Hvordan fikse feilen med å ikke vise ID på Ultraviewer

Hvordan fikse feilen med å ikke vise ID på Ultraviewer

Feilen med å ikke vise ID på Ultraviewer vil påvirke ekstern datamaskintilkobling.

Hvordan bruke Ultraviewer til å sende og motta filer

Hvordan bruke Ultraviewer til å sende og motta filer

Ultraviewer fjernstyrer datamaskinen og har en modus for å sende og motta filer.

Hva er Packet Sniffer?

Hva er Packet Sniffer?

Hackere kan bruke Sniffer til å avlytte ukrypterte data og se informasjon som utveksles mellom de to partene. For bedre å forstå Packet Sniffer, så vel som Packet Sniffers handlingsmekanisme, kan du referere til artikkelen nedenfor av Wiki.SpaceDesktop.