Hemsida » hur » Hur riskabelt är det att köra en hemserver som är säker bakom SSH?

    Hur riskabelt är det att köra en hemserver som är säker bakom SSH?

    När du behöver öppna något på ditt hemnätverk till det större internetet, är en SSH-tunnel en säker noggrann väg att göra det?

    Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

    Frågan

    SuperUser-läsaren Alfred M. vill veta om han är på rätt spår med anslutningssäkerhet:

    Jag har nyligen skapat en liten server med en lågdator som kör debian med sikte på att använda den som ett personligt git repository. Jag har aktiverat ssh och blev ganska förvånad över hur snabbt det led av brutta våldsattacker och liknande. Då läser jag att det här är ganska vanligt och lärde mig om grundläggande säkerhetsåtgärder för att avvärja dessa attacker (många frågor och duplikat på serverfault handlar om det, se till exempel den här eller den här).

    Men nu undrar jag om allt detta är värt ansträngningen. Jag bestämde mig för att sätta upp min egen server för det mesta för skojs skull: Jag kunde bara lita på lösningar från tredje part som de som erbjuds av gitbucket.org, bettercodes.org, etc. Medan en del av det roliga handlar om att lära om Internet-säkerhet, har jag inte tillräckligt med tid för att ägna sig åt att bli expert och vara nästan säker på att jag tog de korrekta förebyggande åtgärderna.

    För att bestämma om jag ska fortsätta spela med detta leksaksprojekt, skulle jag vilja veta vad jag verkligen riskerar att göra. Till exempel, i vilken utsträckning hotar de andra datorerna som är anslutna till mitt nätverk också? Några av dessa datorer används av personer med ännu mindre kunskap än mina datorer med Windows.

    Vad är sannolikheten för att jag kommer in i verkliga problem om jag följer grundläggande riktlinjer som starkt lösenord, funktionshindrad root-åtkomst för ssh, icke standardport för ssh och eventuellt inaktivera lösenordsloggning och använd en av fail2ban-, denyhosts- eller iptables-reglerna?

    Sätt ett annat sätt, är det några stora dåliga vargar jag borde frukta eller handlar mest om att shooing away manuskript?

    Bör Alfred hålla sig till lösningar från tredje part, eller är hans DIY-lösning säker?

    Svaret

    SuperUser-bidragsgivaren TheFiddlerWins ger Alfred ett försäkran om att det är ganska säkert:

    IMO SSH är en av de säkraste sakerna att lyssna på det öppna internetet. Om du är riktigt bekymrad har du lyssnat på en icke-standardiserad high end-port. Jag skulle fortfarande ha en brandvägg (enhetsnivå) mellan din låda och det faktiska Internetet och bara använda portpost för SSH men det är en försiktighet mot andra tjänster. SSH själv är ganska damn solid.

    jag ha hade folk träffat mitt hem SSH-server ibland (öppet för Time Warner Cable). Aldrig haft en verklig inverkan.

    En annan bidragsgivare, Stephane, belyser hur lätt det är att ytterligare säkra SSH:

    Det är verkligen trivialt att ställa in ett system för public key-autentisering med SSH och tar ungefär 5 minuter att installera.

    Om du tvingar all SSH-anslutning att använda den kommer det att göra ditt system så mycket som fjädrande som du kan hoppas utan att investera en hel del i säkerhetsinfrastrukturen. Uppriktigt sagt är det så enkelt och effektivt (så länge du inte har 200 konton - då blir det rörigt) att inte använda det borde vara ett offentligt brott.

    Slutligen erbjuder Craig Watson ett annat tips för att minimera försök till intrång:

    Jag kör också en personlig git-server som är öppen för världen på SSH, och jag har också samma brutala kraftfrågor som du, så jag kan sympatisera med din situation.

    TheFiddlerWins har redan tagit upp de viktigaste säkerhetsimplikationerna för att ha SSH öppna på en offentligt tillgänglig IP, men det bästa verktyget IMO som svar på brutala kraftförsök är Fail2Ban - programvara som övervakar dina autentiseringsloggfiler, upptäcker intrångsförsök och lägger till brandväggsregler till maskinens lokalaiptables brandvägg. Du kan konfigurera både hur många försök före ett förbud och längden på förbudet (min standard är 10 dagar).


    Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.