Når du trenger å åpne noe på hjemmenettverket til større internett, er en SSH-tunnel en sikker nok måte å gjøre det på?
Dagens spørsmål og svar-økt kommer til oss med tillatelse fra SuperUser - en underavdeling av Stack Exchange, en samfunnsdrevet gruppe av spørsmål og svar-nettsteder.
Spørsmålet
SuperUser-leser Alfred M. vil vite om han er på rett spor med tilkoblingssikkerhet:
Jeg har nylig satt opp en liten server med en low-end datamaskin som kjører debian med sikte på å bruke den som et personlig git-arkiv. Jeg har aktivert ssh og var ganske overrasket over hvor raskt den led av brute force-angrep og lignende. Så leste jeg at dette er ganske vanlig og lærte om grunnleggende sikkerhetstiltak for å avverge disse angrepene (mange spørsmål og duplikater på serverfeil håndterer det, se for eksempel denne eller denne ).
Men nå lurer jeg på om alt dette er verdt innsatsen. Jeg bestemte meg for å sette opp min egen server for det meste for moro skyld: Jeg kunne bare stole på tredjepartsløsninger som de som tilbys av gitbucket.org, bettercodes.org, etc. Selv om en del av moroa handler om å lære om Internett-sikkerhet, har jeg ikke nok tid til å vie det til å bli ekspert og være nesten sikker på at jeg tok de riktige forebyggende tiltakene.
For å bestemme meg for om jeg skal fortsette å leke med dette lekeprosjektet, vil jeg gjerne vite hva jeg virkelig risikerer å gjøre. I hvilken grad truer også de andre datamaskinene som er koblet til nettverket mitt? Noen av disse datamaskinene brukes av personer med enda mindre kunnskap enn min som kjører Windows.
Hva er sannsynligheten for at jeg får reelle problemer hvis jeg følger grunnleggende retningslinjer som sterkt passord, deaktivert root-tilgang for ssh, ikke-standard port for ssh og muligens deaktivering av passordinnlogging og bruker en av fail2ban, denyhosts eller iptables-regler?
Sagt på en annen måte, er det noen store dårlige ulver jeg burde frykte, eller handler det mest om å kaste bort manuskriptbarnene?
Bør Alfred holde seg til tredjepartsløsninger, eller er hans DIY-løsning sikker?
Svaret
SuperUser-bidragsyter TheFiddlerWins forsikrer Alfred om at det er ganske trygt:
IMO SSH er en av de tryggeste tingene å høre på det åpne internett. Hvis du er veldig bekymret, kan du høre på en ikke-standard high-end-port. Jeg vil fremdeles ha en (enhetsnivå) brannmur mellom boksen din og det faktiske Internett og bare bruke portvideresending for SSH, men det er en forholdsregel mot andre tjenester. SSH i seg selv er ganske jævla solid.
I ha hadde folk truffet SSH-serveren min innimellom (åpent for Time Warner Cable). Aldri hatt en faktisk innvirkning.
En annen bidragsyter, Stephane, fremhever hvor enkelt det er å sikre SSH ytterligere:
Å sette opp et autentiseringssystem for offentlig nøkkel med SSH er virkelig trivielt og tar omtrent 5 minutter å sette opp .
Hvis du tvinger all SSH-tilkobling til å bruke den, vil det gjøre systemet ditt ganske så spenstig som du kan håpe på uten å investere MYE i sikkerhetsinfrastruktur. Ærlig talt er det så enkelt og effektivt (så lenge du ikke har 200 kontoer - så blir det rotete) at det ikke skal være en offentlig lovbrudd å ikke bruke det.
Til slutt tilbyr Craig Watson et annet tips for å minimere forsøk på inntrenging:
Jeg driver også en personlig git-server som er åpen for hele verden på SSH, og jeg har også de samme problemer med brute-force som deg, så jeg kan sympatisere med situasjonen din.
TheFiddlerWins har allerede adressert de viktigste sikkerhetsimplikasjonene av å ha SSH åpen på en offentlig tilgjengelig IP, men det beste verktøyet IMO som svar på brutale styrkeforsøk er Feil2Ban - programvare som overvåker autentiseringsloggfilene dine, oppdager inntrengingsforsøk og legger til brannmurregler til maskinens lokale
iptablesbrannmur. Du kan konfigurere både hvor mange forsøk før et forbud og også lengden på forbudet (min standard er 10 dager).
Har du noe å legge til forklaringen? Hør av i kommentarene. Vil du lese flere svar fra andre teknologikyndige Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her .