seppl

Software skärmdump:
seppl
Mjukvaruinformation:
Version: 0.4
Ladda upp dagen: 3 Jun 15
Utvecklare: Lennart Poettering
Licens: Gratis
Popularitet: 7

Rating: nan/5 (Total Votes: 0)

Seppl är både en definition protokoll och en implementering av ett nytt krypteringsskikt för IPv4 programvara. Seppl projektet använder sig av symmetrisk kryptering för att kryptera hela trafiken på ett nätverk. Genomförandet är utformad kring Linux netfilter / iptables.
Seppl introducerar två nya netfilter mål: CRYPT och dekryptera. En brandväggsregel kan således användas för att kryptera / dekryptera inkommande och utgående nätverkstrafik. Detta gör Seppl utomordentligt lätt att använda, eftersom inga bakgrundsprogram behöver köra för säker kommunikation.
Seppl använder krypteringsmotor av Linux kryptografiska API som finns i kärnan 2.4.22 och nyare.
Seppl är främst avsedd för kryptering av trådlösa nätverk (som säkert utbyte av trasiga WEP-kryptering) och lokala Ethernet-nätverk, men kan användas för storskaliga VPN-lösningar också.
Protokollet Seppl bygger på är inte kompatibel med någon annan programvara. Protokollet är öppet och väl definierad, men det finns ingen annan än denna referens programvara genomförande.
Varför Seppl finns redan IPSEC, CIPE, ...?
CIPE kan användas för punkt-till-punkt endast anslutningar. Den har tunnel struktur och därmed introducerar nya IP-adresser. Detta är inte alltid önskvärt. Det kräver en användarutrymme demon.
IPSEC / freeswan är extremt komplicerad att använda. På grund av dess märkliga routing system är det nästan omöjligt att använda tillsammans med routing demoner. IPSEC är tungvikt.
Seppl är truely peer-to-peer. Den krypterar sömlöst all utgående trafik och därmed förenligt med routing demoner. Det är mycket lätt att använda också, eftersom det gör någon förändring till normal routing beteende. Seppl är extremt lätt.
Genomförandet
Genomförandet består av tre Linux kärnmoduler: seppl.o, ipt_CRYPT.o och ipt_DECRYPT.o. Den förstnämnda är i kärna Key Manager, den senare är de två nya netfilter mål. Båda är beroende av seppl.o.
seppl.o måste sättas in i kärnan på första plats. Nyckelförvaltaren får nås med filen / proc / net / seppl_keyring. Den innehåller binära nyckeldata, och är initialt tom. Du kan lägga till en ny nyckel genom att skriva till den filen.
De två Python skript Seppl-ls och Seppl-gen-knappa mig användas för nyckelhantering. Seppl-ls kan användas för att omvandla Seppl nycklar mellan binärt format som används av / proc / net / seppl_keyring och en läsbar XML-baserade format. Ring bara Seppl-ls för en lista över alla aktiva nycklar. Seppl-gen-knappen genererar en ny nyckel från / dev / urandom. Den kommer som standard att använda XML-format. Parametern -x styrkor binärt. Du kan skapa och aktivera två nycklar "Linus" och "Alan" genom att utfärda kommandot följande rader:
Seppl-gen-key -n linus -x> / proc / net / seppl_keyring
Seppl-gen-nyckel -n alan -x> / proc / net / seppl_keyring
Seppl-ls utan argument listar de nya nycklar sparade i kärnan nyckelring. Du kan ta bort alla (för närvarande oanvända) nycklar genom att utfärda:
echo tydlig> / proc / net / seppl_keyring
Eftersom Seppl är baserad på symmetrisk kryptering med hjälp av delade nycklar måste du kopiera nyligen genererade nycklar till varje värddator som du vill ansluta till din Seppl infrastruktur. (Företrädesvis via SSH eller någon annan filöverföring säker) Du får en binär kopia av din nuvarande nyckelring genom att utfärda:
cat / proc / net / seppl_keyring> keyring.save
Nu kopiera den filen keyring.save till alla andra värdar och utfärda följande kommando där:
katt keyring.save> / proc / net / seppl_keyring
Det är enkelt, är det inte?
Efter detta kan du konfigurera brandväggsinställningarna på varje värd:
iptables -t mangel -A POSTROUING -o eth0 -j CRYPT --knappen linus
iptables -t mangel -A PREROUTING -i eth0 -j dekryptera
Detta kommer att kryptera all utgående trafik på eth0 med knappen "Linus". All inkommande trafik dekrypteras med antingen "Linus" eller "alan", beroende på nyckelnamn som angetts i den specifika nätverkspaketet. Okrypterade inkommande paket tyst sjunkit. Användning
iptables -t mangel -A PREROUTING -p 177 -i eth0 -j dekryptera
för att tillåta både krypterad och okrypterad inkommande trafik.
Det är allt. Du är klar. All din trafik på det lokala undernätet är nu krypterat med Seppl.
Standard chiffret är AES-128. Om du inte ange namnet på de använda nyckel det standard "def".
En SysV initskriptet /etc/init.d/seppl tillhandahålls. Det kommer att ladda Seppl s kärnmoduler och skriva alla nycklar från katalogen / etc / Seppl till kärnans nyckelring. Det kommer inte att lägga några brandväggsregler, dock.
Prestandaproblem
De nätverkspaket ökar i storlek när de crypted, eftersom två nya rubriker och IV läggs till. (36 bytes i genomsnitt) Detta konflikter på något sätt med MTU förvaltningen av Linux-kärnan och resulterar i att ha alla stora paket (det vill säga: Paketstorlek nära MTU) splittrad i en stor och en annan mycket litet paket. Detta kommer att skada nätverksprestanda. Ett verk-around av denna begränsning är att använda TCPMSS målet för netfilter för att justera MSS värdet i TCP-huvudet till mindre värden. Detta kommer att öka TCP Performance, eftersom TCP-paket av storleken på MTU inte längre genereras. Således behövs ingen fragmentering. Men är TCPMSS TCP specifik, det kommer inte att hjälpa på UDP eller andra IP-protokoll.
Lägg till följande rad innan kryptering för att din brandvägg inställning:
iptables -t mangel -A POSTROUTING p tcp --tcp-flaggor SYN, RST SYN -o eth0 -j TCPMSS --set-MSS $ ((1500-40-8-16-6-15))
Protokollet
För kryptering varenda okrypterade paket tas och omvandlas till en krypterad en. Inte en enda ytterligare paket någonsin skickats.
   Original Seppl motsvarighet
+ ------------ + ----------------------- +
| IP-Header | | Modifierad IP-Header | |
+ ------------ + ----------------------- + |
| Last | | Seppl-Header |> Okrypterad
+ ------------ + ----------------------- + |
                            | Initieringsvektor | |
                            + ----------------------- + /
                            | Seppl-Header |
                            + ----------------------- + | Krypterad
                            | Payload | |
                            + ----------------------- + /
Den ursprungliga IP-huvudet hålls så långt som möjligt. Endast tre fält ersätts med nya värden. Protokollet numret är inställt på 177, är fragmentet offset inställd på 0 och den totala längden korrigeras till den nya längden. Alla andra områden hålls i befintligt skick, inklusive IP-alternativ.
Den okrypterade Seppl header består av ett byte chiffer nummer och ett nyckelnamn. För närvarande bara 0 och 1 definieras som chiffer siffror för AES med 128bit nyckel, resp. AES med 192bit nyckel. Nyckel namn (7 byte) kan användas för att välja en viss tangent i en större nyckelring.
IV används för CBC kodning av chiffer som används. Den skiljer sig från paket till paket, men är inte slumpmässigt genererat. På grund av perfomance skäl endast den inledande IV om systemstart randomiserad, alla följande IVs genereras genom att öka de tidigare.
Den krypterad Seppl header består av tre sparade fält i den ursprungliga IP-huvudet (protokollnummer, fragment offset, total längd) och en byte som är alltid 0 för detektering unmatching nycklar.
Nyttolasten är den ursprungliga IP-playload, från TCP / UDP / andra nick till slutet.
Begränsningar:
· Seppl stör netfilter anslutning spårning på något sätt. Därför kommer du inte att kunna använda NAT i samband med Seppl. Om du använder anslutningsspårning på annat sätt tillsammans med Seppl din lycka kan variera.
· Seppl testas med Linux 2.6.1. Använd version 0.3 för Linux 2.4.
Krav:
· Seppl utvecklades och testades på Debian GNU / Linux "testa" från Nov 2003 ska det fungera på de flesta andra Linuxdistributioner och Unix, eftersom den använder GNU Autoconf och GNU libtool för källkod konfiguration och delade bibliotek förvaltning.
· Seppl kräver Linux 2.6. {0,1} (konfigurerade källor installerade) och iptables 1.2.8 eller nyare.
· Den fullständiga användarrymden verktygssats kräver Python 2.1 eller senare. En avskalad uppsättning i C finns också.
Installation:
Eftersom det här paketet är gjord med GNU autotools bör du köra ./configure inne i distributionskatalogen för att konfigurera källkodsträdet. Därefter bör du köra göra för sammanställning och make install (som root) för installation av Seppl.
Vad är nytt i den här versionen:
· Port till Linux 2.6, inga andra förändringar. Version 0.4 är inte längre är förenlig med kärna 2.4. Använd version 0.3 för kärna 2.4, är det funktionellt likvärdigt.

Annan programvara för utvecklare Lennart Poettering

Kommentarer till seppl

Kommentarer hittades inte
Kommentar
Slå på bilder!