Har du maskiner på ditt interna nätverk som du behöver komma åt från omvärlden? Att använda en bastionsvärd som gatekeeper till ditt nätverk kan vara lösningen.
Vad är en Bastion Host?
Bastion översätts bokstavligen till en plats som är befäst. I datortermer är det en maskin i ditt nätverk som kan vara gatekeeper för inkommande och utgående anslutningar.
Du kan ställa in din bastionvärd som den enda maskinen som accepterar inkommande anslutningar från internet. Ställ sedan i sin tur in alla andra maskiner i ditt nätverk att endast ta emot inkommande anslutningar från din bastionvärd. Vilka fördelar har detta?
Utöver allt annat, säkerhet. Bastionsvärden kan, som namnet antyder, ha mycket sträng säkerhet. Det kommer att vara den första försvarslinjen mot inkräktare och se till att resten av dina maskiner är skyddade.
Det gör också andra delar av din nätverksinstallation något enklare. Istället för att vidarebefordra portar på routernivå behöver du bara vidarebefordra en inkommande port till din bastionvärd. Därifrån kan du förgrena dig till andra maskiner du behöver åtkomst till på ditt privata nätverk. Var inte rädd, detta kommer att behandlas i nästa avsnitt.
Diagrammet
Detta är ett exempel på en typisk nätverksinstallation. Behöver du tillgång till ditt hemnätverk utifrån skulle du komma in via internet. Din router kommer sedan att vidarebefordra den anslutningen till din bastionvärd. När du är ansluten till din bastionvärd kommer du att kunna komma åt alla andra maskiner i ditt nätverk. Likaså kommer det inte att finnas tillgång till andra maskiner än bastionvärden direkt från internet.
Tillräckligt förhalande, dags att använda bastion.
1. Dynamisk DNS
Den skarpsinniga bland er kanske har undrat hur man skulle få tillgång till din hemrouter via internet. De flesta internetleverantörer (ISP) tilldelar dig en tillfällig IP-adress, som ändras då och då. Internetleverantörer tenderar att ta extra betalt om du vill ha en statisk IP-adress. Den goda nyheten är att moderna routrar tenderar att ha dynamisk DNS inbakad i sina inställningar.
Dynamisk DNS uppdaterar ditt värdnamn med din nya IP-adress med bestämda intervaller, vilket säkerställer att du alltid kan komma åt ditt hemnätverk. Det finns många leverantörer som erbjuder nämnda tjänst, varav en är No-IP som till och med har en free nivå. Var medveten om att free nivån kräver att du bekräftar ditt värdnamn en gång var 30:e dag. Det är bara en 10-sekunders process, som de påminner om att göra ändå.
När du har registrerat dig skapar du bara ett värdnamn. Ditt värdnamn måste vara unikt, och det är allt. Om du äger en Netgear-router erbjuder de en free dynamisk DNS som inte kräver en månatlig bekräftelse.
Logga nu in på din router och leta efter den dynamiska DNS-inställningen. Detta kommer att skilja sig från router till router, men om du inte tycker att det lurar under avancerade inställningar, kolla tillverkarens användarmanual. De fyra inställningarna du vanligtvis behöver ange är:
- Leverantörens domännamn (värdnamnet du just skapade) Inloggningsnamn (e-postadressen som används för att skapa din dynamiska DNS) Lösenord
Om din router inte har en dynamisk DNS-inställning tillhandahåller No-IP programvara som du kan installera på din lokala dator för att uppnå samma resultat. Den här maskinen måste vara online för att hålla den dynamiska DNS uppdaterad.
2. Portvidarebefordran eller omdirigering
Routern behöver nu veta var den inkommande anslutningen ska vidarebefordras. Den gör detta baserat på portnumret som finns på den inkommande anslutningen. En bra praxis här är att inte använda standard SSH-porten, som är 22, för den offentliga porten.
Anledningen till att inte använda standardporten är att hackare har dedikerade portsniffer. Dessa verktyg letar ständigt efter välkända portar som kan vara öppna i ditt nätverk. När de upptäcker att din router accepterar anslutningar på en standardport börjar de skicka anslutningsförfrågningar med vanliga användarnamn och lösenord.
Även om valet av en slumpmässig port inte kommer att stoppa de maligna sniffarna helt och hållet, kommer det att drastiskt minska antalet förfrågningar som kommer till din router. Om din router bara kan vidarebefordra samma port är det inte ett problem, eftersom du bör ställa in din bastion-värd att använda SSH-nyckelparsautentisering och inte användarnamn och lösenord.
En routers inställningar bör se ut så här:
- Tjänstens namn som kan vara SSH Protocol (bör ställas in på TCP) Public port (bör vara en hög port som inte är 22, använd 52739) Privat IP (IP-adressen för din bastionvärd) Privat port (standard SSH-port, vilket är 22)
Bastionen
Det enda din bastion behöver är SSH. Om detta inte valdes vid installationstillfället, skriv helt enkelt:
sudo apt install OpenSSH-client
sudo apt install OpenSSH-server
När SSH är installerat, se till att ställa in din SSH-server för att autentisera med nycklar istället för lösenord. Se till att din bastionvärds IP är densamma som den som anges i port forward-regeln ovan.
Vi kan köra ett snabbtest för att se till att allt fungerar. För att simulera att du befinner dig utanför ditt hemnätverk kan du använda din smarta enhet som en hotspot medan den är på mobildata. Öppna en terminal och skriv, ersätt
ssh -p 52739 <username>@<dynamicDNSaddress>
Om allt var korrekt inställt bör du nu se terminalfönstret för din bastionvärd.
3. Tunneldrivning
Du kan tunnla nästan vad som helst genom SSH (inom rimliga gränser). Om du till exempel ville få tillgång till en SMB-resurs på ditt hemnätverk från internet, anslut till din bastionvärd och öppna en tunnel till SMB-resursen. Utför denna trolldom helt enkelt genom att köra detta kommando:
ssh -L 15445:<IPAddressOfSMB>:445 -p 52739 <username>@<dynamicDNSAddress>
Ett faktiskt kommando skulle se ut ungefär så här:
ssh - L 15445:10.1.2.250:445 -p 52739 [email protected]
Det är lätt att bryta ner detta kommando. Detta ansluter till kontot på din server via din routers externa SSH-port 52739. All lokal trafik som skickas till port 15445 (en godtycklig port) kommer att skickas genom tunneln och vidarebefordras sedan till maskinen med IP-adressen 10.1.2.250 och SMB port 445.
Om du vill bli riktigt smart kan vi alias hela kommandot genom att skriva:
alias sss="ssh - L 15445:10.1.2.250:445 -p 52739 [email protected]"
Nu är det bara att skriva in terminalen sss, och Bob är din farbror.
När anslutningen är upprättad kan du komma åt din SMB-resurs med adressen:
smb://localhost:15445
Det betyder att du kommer att kunna bläddra i den lokala andelen från internet som om du var på det lokala nätverket. Som nämnts kan du i stort sett gå in i vad som helst med SSH. Även Windows-maskiner som har fjärrskrivbord aktiverat kan nås via en SSH-tunnel.
Sammanfattning
Den här artikeln täckte mycket mer än bara en bastionsvärd, och du har gjort bra ifrån dig att komma så långt. Att ha en bastionsvärd kommer att innebära att de andra enheterna som har tjänster som är exponerade kommer att skyddas. Det säkerställer också att du kan komma åt dessa resurser från var som helst i världen. Se till att fira med kaffe, choklad eller båda. De grundläggande stegen vi har täckt var:
Ställ in dynamisk DNS Vidarebefordra en extern port till en intern port Skapa en tunnel för att komma åt en lokal resurs
Behöver du komma åt lokala resurser från internet? Använder du för närvarande ett VPN för att uppnå detta? Har du använt SSH-tunnlar tidigare?
Bildkredit: TopVectors/Depositphotos
Om författaren
Yusuf Limalia (47 artiklar publicerade)
Yusuf vill leva i en värld fylld av innovativa företag, smartphones som levereras med mörkrostat kaffe och datorer som har hydrofoba kraftfält som dessutom stöter bort damm. Som affärsanalytiker och utexaminerad från Durban University of Technology, med över 10 års erfarenhet av en snabbt växande teknikbransch, tycker han om att vara mellanhanden mellan tekniska och icke-tekniska människor och hjälpa alla att komma igång med avancerad teknologi.
Mer från Yusuf Limalia
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
