Hoe riskant is het om een Home Server te gebruiken die is beveiligd achter SSH?
Wanneer u iets op uw thuisnetwerk moet openen naar het grotere internet, is een SSH-tunnel een veilige manier om dit te doen?
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep van Q & A-websites.
De vraag
SuperUser lezer Alfred M. wil weten of hij op de goede weg zit met verbindingsbeveiliging:
Ik heb onlangs een kleine server opgezet met een low-end computer die debian draait met als doel om het te gebruiken als een persoonlijke git repository. Ik heb SSH ingeschakeld en was behoorlijk verrast door de snelheid waarmee het te kampen had met brute force-aanvallen en dergelijke. Toen las ik dat dit vrij algemeen is en geleerd heeft over elementaire beveiligingsmaatregelen om deze aanvallen af te weren (veel vragen en duplicaten op serverfault gaan ermee om, zie bijvoorbeeld deze of deze).
Maar nu vraag ik me af of dit de moeite waard is. Ik besloot om mijn eigen server voornamelijk voor de lol in te richten: ik kon gewoon vertrouwen op oplossingen van derden, zoals die aangeboden door gitbucket.org, bettercodes.org, enz. Hoewel het leuk is om meer te weten te komen over internetbeveiliging, heb ik niet genoeg tijd om eraan te wijden om een expert te worden en er bijna zeker van te zijn dat ik de juiste preventiemaatregelen heb genomen.
Om te besluiten of ik met dit speelgoedproject zal blijven spelen, zou ik graag willen weten wat ik hier echt van riskeer. In hoeverre bedreigen bijvoorbeeld ook de andere computers die op mijn netwerk zijn aangesloten? Sommige van deze computers worden gebruikt door mensen met nog minder kennis dan die met Windows.
Wat is de kans dat ik echt in de problemen kom als ik basisrichtlijnen volg zoals sterk wachtwoord, uitgeschakelde root-toegang voor ssh, niet-standaard poort voor ssh en mogelijk het uitschakelen van wachtwoord en het gebruik van een van fail2ban, denyhosts of iptables regels?
Anders gezegd, zijn er enkele grote slechte wolven die ik zou moeten vrezen of gaat het vooral over het wegvoeren van scriptkiddies?
Moet Alfred vasthouden aan oplossingen van derden, of is zijn doe-het-zelfoplossing veilig?
Het antwoord
SuperUser-bijdrager TheFiddlerWins stelt Alfred gerust dat het vrij veilig is:
IMO SSH is een van de veiligste dingen om te luisteren op het open internet. Als je echt bezorgd bent, luister dan naar een niet-standaard high-end poort. Ik heb nog steeds een firewall (op apparaatniveau) tussen je box en het internet en gebruik gewoon port forwarding voor SSH, maar dat is een voorzorgsmaatregel tegen andere services. SSH zelf is behoorlijk verdomd solide.
ik hebben hadden mensen af en toe mijn thuis-SSH-server geraakt (open voor Time Warner-kabel). Nooit een echte impact gehad.
Een andere bijdrager, Stephane, benadrukt hoe gemakkelijk het is om SSH verder te beveiligen:
Het opzetten van een verificatiesysteem voor openbare sleutels met SSH is echt triviaal en het duurt ongeveer 5 minuten om het in te stellen.
Als je alle SSH-verbindingen dwingt om het te gebruiken, zal het je systeem ongeveer zo veerkrachtig maken als je hoopt zonder een LOT in een beveiligingsinfrastructuur te investeren. Eerlijk gezegd, het is zo simpel en effectief (zolang je geen 200 accounts hebt - dan wordt het rommelig) dat het niet gebruiken een openbaar misdrijf zou moeten zijn.
Tot slot biedt Craig Watson nog een tip om inbraakpogingen te minimaliseren:
Ik run ook een persoonlijke git-server die open staat voor de wereld op SSH, en ik heb ook dezelfde brute-force-problemen als jij, dus ik kan sympathiseren met jouw situatie.
TheFiddlerWins heeft al ingegaan op de belangrijkste veiligheidsimplicaties van het open hebben van SSH op een openbaar toegankelijke IP, maar de beste tool IMO in antwoord op brute-force-pogingen is Fail2Ban - software die je authenticatie logbestanden controleert, inbraakpogingen detecteert en firewallregels toevoegt aan de lokale machine
iptables
firewall. U kunt zowel het aantal pogingen vóór een verbod als de lengte van het verbod configureren (mijn standaardinstelling is 10 dagen).
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread.