Guider > Skydda övrig internettrafik

Varning: Fortfarande under konstruktion / aliceochbob.se 22 juni 2008

Skydda övrig internettrafik

Relevant för just FRA-lagen är att skydda sin elektroniska korrespondens / webbsurfning och allting annat som sker över Internet. Det existerar väldigt många olika typer av Internetsäkerhet. Generellt kan de olika typerna sammanfattas om man vill vara anonym eller inte.

Ett exempel: Vill man eposta en vän behöver man ofta inte vara anonym, det räcker att kryptera innehållet i epostet. Utöver FRA-lagen finns det ju dock en EU-lag som ger förslag ett en databas ska skapas med vilka som kommunicerar med varandra, alltså vem man epostar med. I dessa fall är det bättre att skippa epost /epostadresser helt och hållet och bygga små privata nätverk/darknets med sina kompisar (hur man gör det kommer jag också skriva om).

Kort om nätverk/internet

Det kan vara bra att veta lite hur Internet och nätverk fungerar om man vill kunna kryptera trafiken. Ju mer kunskap du har desto bättre. I korthet:

Kommunikation mellan två datorer över internet sker genom att data skickas mellan dessa två datorer. Vad datan betyder bestäms av olika protokoll. När din dator laddar ner Flashbacks forum används http-protokollet. Andra kända protokoll är bittorrent, MSN, IRC, epostprotokollen med flera. http är ett speciellt enkelt protokoll att förstå, och är därför ett bra exempel.

När du besöker Flashback kommer webbläsaren (Firefox, Opera, IE) skapa en förfrågan och skicka till Flashbacks webbserver. En förfrågan är en massa data (tänk dig en fil) utformad på ett speciellt vis. I http-fallet är datan läsbar av människor, en förfrågan kan exempelvis se ut såhär, vilket är 22 bytes + 4 bytes i slutet som inte syns i text:

GET /logo.jpg HTTP/1.0

När webbservern får den förfrågan kommer den svara med att skicka filen logo.jpg till din dator, som webbläsaren ritar upp på skärmen för dig.

http är ett så kallat applikationsprotokoll. Det innebär att det är applikationsprogram som webbläsare, chattprogram och epostklienter som tolkar datan. Applikationsprotokoll är i sin tur inbakade i flera lager av andra protokoll, exempelvis TCP, sedan IP, sedan Ethernet. Dessa protokoll hanterar anslutningsdetaljer som vilken dator datan ska till.

Man kan säga att det finns två olika typer av internetkryptering. I det enklaste exemplet har krypteringen inte något alls att göra med protokollet. Ett sådant exempel är om jag krypterar en fil sedan skickar jag den med epost, eller filöverföringen i MSN, eller via bittorrent, eller något annat protokoll. OpenPGP kan sägas höra till den här kategorin: OpenPGP kan kryptera vilken text som helst och e-post råkar vara det smidigaste att skicka den krypterade texten med.

Vissa protokoll har stöd för kryptering rakt av. Ett sådant protokoll är TLS (och SSL). TLS kan i sin tur baka in andra applikationsprotokoll. Ett sådant exempel är https, som är http inbakat i TLS (eller SSL).

Den här guiden handlar huvudsakligen om applikationsprotokoll med krypteringsstöd, eller att använda kryptering med protokoll som inte stödjer kryptering alls. Det är dock värt att poängtera att det finns vissa protokoll ”under” applikationsprotokollen som har stöd för kryptering. Dessa protokoll måste vanligtvis implementeras i operativsystemet, och är därför än så länge för besvärliga att använda.

Anonymitet med Tor

Tänkte passa på att skriva en kort notis om Tor här. Tor är ett program för anonym kommunikation på Internet. Vanligtvis används det för att anonymisera webbsurfande, så att webbservern man besöker inte ska veta vem det är som besöker den. Tor kan dock användas till annat än webbsurfande, exempelvis IRC.

Tor har en ganska enkel konstruktion. Frivilliga personer installerar Tor som server, och deras dator blir då en så kallad Tor-nod. Alla andra som använder programmet (men inte som server) utnyttjar sedan noderna för att vara anonym.

Låt säga att jag vill besöka Flashback anonymt. Jag installerar då Tor. Programmet laddar ner en lista över alla Tor-noder. Ett par sådana noder väljs ut slumpmässigt, vanligtvis tre stycken men om du vill vara väldigt anonym kan du välja flera. Låt säga att dessa heter nod 14 (ligger i tyskland), nod 15 (ligger i frankrike) och nod 92 (nederländerna).

Tor på din dator kommer nu att göra följande: den bestämmer en rutt hur trafiken ska snirklas runt i Tornätverket för att upprätthålla anonymitet. Det kanske ser ut såhär: Jag > nod 14 > nod 15 > nod 92 > Flashback. För Flashback ser det ut som att jag kommer från Nederländerna.

Tricket ligger att ingen nod vet mer än nödvändigt om varifrån trafiken kommer eller vart den ska. Hela förfrågan till Flashbacks server är krypterad i en massa olika lager, där varje lager enbart kan avkrypteras av en nod och den avkrypterade infon enbart innehåller information om nästa nod och datan som ska skickas dit.

Det kan se ut såhär: Jag skickar ett krypterat paket data till nod 14, krypterad med nod 14:s publika nyckel (se kapitlet om epostkryptering för mer info). Nod 14 avkrypterar paketet, och upptäcker då att datan ska vidare till nod 15. Detta fortsätter ungefär som en rysk docka (eller en lök – Tor’s idé kallas för onion routing) fram tills nod 92 avkrypterar sista paketet och kontaktar Flashbacks server.

Notera att den sista noden inte kommunicerar krypterat med Flashback! Detta är svagheten med Tor: Tor fixar enbart anonymitet. Tor förhindrar inte avlyssning från ”utnoden”, den sista noden som kommunicerar med riktiga Internet. Tor kombineras därför bäst med exempelvis https eller krypterad chat, för att fixa både anonymitet och skydd mot övervakning.

Det är väldigt viktigt att ha lite koll på hur sin webbläsare fungerar innan man använder Tor, annars kan Tor ge en falsk känsla av säkerhet. Om du besöker en webbsajt med identifierade cookies, exempelvis forum, sedan slår på Tor, kommer forumet fortfarande veta vem du är om du inte stänger av cookies innan. Tor brukar därför användas tillsammans med proxymjukvara som körs lokalt, som filtrerar bort cookies och annat riskabelt automatiskt. En bra webbsajt som försöker lista ut vem som döljer sig bakom Tor är Metasploit Decloaking Engine och TorStatus.

Att använda Tor

Att komma igång med Tor är någorlunda enkelt. Ladda ner programmet från projektets webbsajt (versionen under "Paket med Tor & Privoxy & Vidalia"). Installera sedan programmet. När installation är klar kommer två stycken ikoner dyka upp nere vid klockan (med Windows):

Den ena ikonen är en blå cirkel. Detta programmet heter Privoxy och är en så kallad proxy. Privoxys uppgift är att dirigera internettrafik mellan webbläsaren och Tor. Den andra ikonen är en grön lök. Det innebär att Tor är igång. Om Tor stängs av är löken röd med ett kryss över. (Den blåa rektangel-ikonen bredvid klockan på bilden har inte med Tor att göra utan hör till ett annat program).

Dubbelklickar man på Tor-ikonen dyker en kontrollpanel upp. Denna kontrollpanel är inte Tor utan ett separat program som kontrollerar Tor för att det ska vara lättare att använda. Kontrollprogrammet heter Vidalia, och ser ut såhär:

Tor är ett sådant program som arbetar tyst i bakgrunden, och det är väldigt sällan man behöver titta på kontrollpanelen. När man surfar anonymt finns det dock en fräck funktion i kontrollpanelen som visar på en karta hur ens trafik routas runt på Internet. Kartan kan ses via knappen "Se nätverket".

Webbläsaren

Det räcker inte att installera Tor för att anonymisera Internettrafik utan programmen måste konfigureras att använda Tor. Webbläsaren har dessutom något fler konfigurationsmoment jämfört med andra program, framförallt eftersom webbläsare kan hantera känslig identifierande information (som cookies).

Det är starkt rekommenderat att installera en sekundär webbläsare speciellt för Tor. Anledningen är att den vanliga webbläsaren kan läcka identifierande information, som just Cookies.

Den här guiden rekommenderar Portable Firefox som webbläsaren dedikerad till Tor. Om du använder Firefox normalt kommer inte Portable Firefox att påverka din normala installation.

Den enda tråkigheten är att vanliga Firefox och Portable Firefox inte kan köras samtidigt. Om du vill vara anonym en stund är du därför tvungen att stänga Firefox du har igång. Detta är dock ett pris värt att betala eftersom Firefox är den enda webbläsaren som verkligen kan utnyttja anonymiteten Tor ger fullt ut.

Det enda du behöver göra när Portable Firefox är installerat att gå till Tools > Options. Där trycker du på ikonen Advanced högst upp, sedan väljer du fliken Network. Där finns en knapp som heter Settings. Där fyller du i som bilden ovan.

När konfigurationen är klar kan du på skoj besöka Google. Eftersom du nu surfar genom Tor, och din trafik därför passerar olika länder, kommer förmodligen Google dyka upp på ett annorlunda språk än vad du är van med. Tor är väldigt populärt i Tyskland och USA, så att hamna på tyska Google är ganska vanligt när man använder Tor.

Viktigt: Återigen bör du komma ihåg att den sista Tor-noden, den som kommunicerar med webbservern, kan se vad du gör. Det är starkt rekommenderat att du inte gör något som kan identifiera dig när du använder Tor, exempelvis att du loggar in på webbmailar, forum eller liknande.

Instant messaging / chat

Bland de största problemen att överkomma för den som vill kryptera sin kommunikation är att säkra all nuvarande infrastruktur, som IRC eller MSN Messenger. Båda dessa skickar data i klartext eller så finns det en central server som kan se vad som skrivs. Båda dessa tekniker är dessutom väldigt svåra att byta ut eftersom användningen är så utbredd, och säkerhetsproblemen måste därför lösas inom ramen för hur protokollen och klienterna faktiskt fungerar.

Turligt nog finns det många program till IRC-klienter som kan kryptera, exempelvis FiSH. Du kan kombinera IRC-klienten, Tor och FiSH för att skapa anonym, krypterad IRC. Notera att personerna du pratar med måste ha FiSH installerat för att förstå vad du säger. Detta gäller även krypteringsmjukvara till MSN-klienter. Jag har dessvärre ingen koll på MSN och kan därför inte rekommendera någon krypterande programvara/plugin till sådana klienter.

För den som är beredd att sluta använda nuvarande chattprogram för bättre säkerhet finns det en del alternativ, se kapitlet nedan om privata nätverk.

Tunnlar

Låt säga att du har följande problem: Du sitter med din bärbara dator på ett café med fritt trådlöst nät. Du vill nu kunna använda Internet utan att någon avlyssnar din trafik. Lösningen är att sätta upp en krypterad tunnel från din bärbara dator till exempelvis din hemdator. All trafik skickas krypterad i tunneln.

Tunnlar har många bra användningsområden. Om du har en bekant du litar på i ett annat land, skulle du kunna tunnla all din internettrafik dit. FRA kommer då inte kunna avlyssna din trafik, såvida inte du besöker en webbsajt i sverige. Du kan använda tunneln för webbsurfning, chat, fildelning och annat.

En tunnel behöver inte nödvändigtvis användas till webbsurfning/chat. Du kan exempelvis tunnla windows fildelning/skrivarprotokoll så du kan skriva ut dokument på din hemskrivare, utan att någon avlyssnare kan veta vad du gör. I caféexemplet om du tunnlar http-trafik till din hemdator, så kommer dock någon kunna avlyssna mellan hemdatorn och webbservern. Du har då samma problem som med Tor.

Lustigt nog används tunnlar ofta för att kunna spela datorspel, eller besöka blockerade webbplatser, från skolan eller jobbet. Den som vill besöka Flashback eller spela World of Warcraft sätter upp en tunnel mellan jobbdatorn och hemdatorn, och den ej tillåtna trafiken går genom tunneln.

Det finns många bra, lättanvända program för att sätta upp en tunnel. Några exempel på sådana program är OpenVPN eller OpenSSH. Just eftersom tunnlar är så populära för att gymnasiegrabbar ska kunna lira sitt Warcraft från skolan finns det mängder med guider hur man skapar sådana tunnlar och hur dessa används för olika program. Jag kommer därför inte skriva så mycket mer om dessa program här.

Privata nätverk

Privat nätverk kan betyda flera olika saker. Du kan exempelvis skapa ett ”hemmanätverk” med datorer i andra länder genom att datorerna kommunicerar med varandra i krypterade tunnlar över det vanliga, oskyddade Internet. I det här kapitlet menar jag dock krypterade datorprogram med speciella funktioner (exempelvis chat, fildelning) som en grupp vänner kopplar samman.

Ett sådant privat krypterat nätverk kan användas för att chatta, dela filer och allt möjligt med sina vänner. De flesta sådana nätverk är små, till för mindre bekantskapskretsar. Nätverken kan dock vara väldigt stora, som Freenet 0.7. Poängen är att bara ansluta till personer man känner och litar på (dessa nätverk brukar även kallas för darknets, som låter lite ”häftigare”).

Ett darknet har väldigt många bra egenskaper. Det finns ingen central server som kan stängas ner. All kommunikation är helt krypterad vilket motverkar FRA:s avlyssning. Det finns även möjlighet att vara anonym i vissa fall.

Jag som skrivit guiden använder inte sådana här program själv. Det finns dock två populära som utvecklas aktivt: WASTE (skapad av personen bakom Winamp) och Turtle F2F (skapad av bland annat Andy Tanenbaum, känd dataprofessor). Jag rekommenderar dessa program med vissa reservationer, framförallt då jag inte läst källkoden.