Seppl bir protokol tanımı ve IPv4 için yeni bir şifreleme tabakasının bir yazılım uygulaması hem de. Seppl proje ağdaki bütün trafiği şifrelemek için simetrik kriptografi kullanır. Onun uygulanması Linux Netfilter / iptables etrafında tasarlanmıştır.
CRYPT ve azalmak: Seppl iki yeni netfilter hedeflerini tanıttı. Güvenlik duvarı kuralı böylece / şifreleyerek gelen ve giden ağ trafiğini şifresini çözmek için kullanılabilir. Hiçbir cinleri güvenli iletişim için çalıştırmak için gereken, çünkü bu kullanımı Seppl olağanüstü kolaylaştırır.
Seppl çekirdeği 2.4.22 ve yeni kullanılabilir Linux Şifreleme API şifreleme motorunu kullanır.
Seppl birincil ve yerel Ethernet ağları (kesik WEP şifreleme güvenli yerine), kablosuz LAN'lar şifrelemek için tasarlanmıştır, ancak aynı zamanda, büyük ölçekli, VPN çözümleri için kullanılabilmektedir.
protokol Seppl dayanan başka bir yazılım ile uyumlu değildir. protokol, açık ve iyi tanımlanmış ama bu referans yazılımı dışında hiçbir uygulama yoktur.
Neden SEPPL vardır zaten IPSEC, CIPE, ...?
CIPE noktadan noktaya bağlantı için sadece kullanılabilir. Bu tünel bir yapıya sahiptir ve bu nedenle yeni IP adreslerini tanıttı. Bu, her zaman arzu edilir olmamaktadır. Bir kullanıcı alanı daemon gerektirir.
IPSEC / freeswan kullanımı son derece karmaşıktır. Nedeniyle garip yönlendirme programına bu yönlendirme cinleri birlikte kullanmak neredeyse imkansız. IPSEC ağır olduğunu.
Seppl gerçekten peer-to-peer olduğunu. Bu sorunsuz giden tüm trafiği şifreler ve yönlendirme cinleri ile böylece uyumlu. Bu normal yönlendirme davranışına herhangi bir değişiklik yapar gibi, hem de kullanımı son derece kolaydır. Seppl son derece hafiftir.
Uygulama
seppl.o, ipt_CRYPT.o ve ipt_DECRYPT.o: Uygulama üç Linux çekirdeği modülden oluşmaktadır. Eski ikincisi iki yeni netfilter hedefler, çekirdekteki anahtar yöneticisidir. Hem seppl.o bağlıdır.
seppl.o başta çekirdek içinde yerleştirilmiş olması gerekir. Anahtar yöneticisi dosya / proc / net / seppl_keyring ile erişilebilir. Bu ikili anahtar verileri içerir ve başlangıçta boştur. O dosyaya yazarak yeni bir anahtar ekleyebilirsiniz.
İki Python komut dosyaları Seppl-ls ve bana anahtar yönetimi için kullanılan Seppl-gen-anahtar. Seppl-ls / proc / net / seppl_keyring ve insan okunabilir XML tabanlı formatta tarafından kullanılan ikili biçimde arasındaki Seppl tuşları dönüştürmek için kullanılabilir. Basitçe tüm etkin anahtarların listesi için Seppl-ls diyoruz. Seppl-gen-anahtar / dev / urandom yeni bir anahtar oluşturur. Varsayılan olarak XML formatını kullanır. parametre x kuvvetleri ikili mod. Siz oluşturmak ve iki anahtar "linus" ve aşağıdaki komut satırlarını yayımlayarak "alan" aktive edebilir:
Seppl-gen-anahtar -n linus x> / proc / net / seppl_keyring
alan -x> / proc / net / seppl_keyring -n Seppl-gen-anahtar
argüman olmadan Seppl-ls çekirdek anahtarlık kaydedilen yeni anahtarlar listeler. Sen yayımlayarak tüm (şu anda kullanılmayan) anahtarlarını kaldırmak olabilir:
net> / proc / net / seppl_keyring echo
Seppl paylaşılan tuşlarını kullanarak simetrik kriptografi dayalı olduğundan size Seppl altyapısına bağlanmak istediğiniz her konağa yeni oluşturulan anahtarları kopyalamak zorunda. (Tercihen SSH veya diğer herhangi bir güvenli dosya transferi yoluyla) Bu yayımlayarak geçerli anahtarlık ikili kopyasını almak:
cat / proc / net / seppl_keyring> keyring.save
Şimdi diğer tüm bilgisayarlara dosya keyring.save ve orada aşağıdaki komutu anlaşıldı:
cat keyring.save> / proc / net / seppl_keyring
Yani, basit değil mi?
Her ana bilgisayarda güvenlik duvarı ayarlarınızı yapılandırabilirsiniz Bunu yaptıktan sonra:
iptables -A mangle POSTROUTING -o eth0 -j Crypt --key Linus'ı -t
iptables -t mangle -A PREROUTING -i eth0 -j şifresini
Bu anahtar "linus" ile eth0 üzerindeki tüm giden trafiği şifreler. Tüm gelen trafik belirli bir ağ paketinde belirtilen anahtar adı bağlı "linus" veya "alan" ile ya çözülür. Şifrelenmemiş gelen paketler sessizce bırakılır. Kullanım
iptables -t mangle -A PREROUTING -p 177 -i eth0 -j şifresini
şifrelenmiş ve şifrelenmemiş hem gelen trafik izin verdiği için.
Budur. Sen bittin. Yerel alt ağda tüm trafik artık Seppl ile şifrelenmiş olduğunu.
Varsayılan şifre AES-128 olduğunu. Eğer "def" için kullanılan anahtar, varsayılan adını belirtin yoksa.
Bir SysV init betiği /etc/init.d/seppl sağlanır. Bu Seppl çekirdek modüllerini yüklemek ve çekirdek anahtarlığa dizin / etc / Seppl tüm anahtarları yazacak. Ancak, herhangi bir güvenlik duvarı kuralları eklemek olmaz.
Performans sorunları
Onlar şifrelenmiş zaman ağ paketlerini iki yeni başlıklarını beri, boyutu artmıştır ve IV eklenir. Bir büyük ve başka bir çok küçük bir paket içinde parçalanmış: (ortalama 36 bayt) tüm büyük paketleri olan bu Linux çekirdeğinin MTU yönetimi ile bazı yolda çatışmalar ve sonuçları (paket büyüklüğü MTU yakın olduğunu). Bu ağ performansını zarar verir. Bu sınırlama bir iş çevresinde küçük değerlere TCP başlığında MSS değerini ayarlamak için netfilter arasında TCPMSS hedefini kullanıyor. MTU boyutunun TCP paketleri artık oluşturulan olduğu için, bu TCP perfomance artacaktır. Böylece hiçbir parçalanma gereklidir. Ancak, TCPMSS UDP veya diğer IP protokollerinde yardımcı olmaz, TCP özeldir.
Güvenlik duvarı kurulum şifreleme önce aşağıdaki satırı ekleyin:
iptables SYN, SYN RST -o eth0 -j TCPMSS --set-mss $ ((1500-40-8-16-6-15)) mangle -A POSTROUTING -p tcp --tcp-bayrakları -t
Protokol
Şifreleme için her bir şifrelenmemiş paket alınır ve bir şifrelenmiş birine dönüştürülmesidir. Tek bir başka paket hiç gönderilir değil.
Orijinal SEPPL muadili
+ ------------ + ----------------------- +
| IP Header | | Modifiye IP Header | |
+ ------------ + ----------------------- + |
| Yükünü | | SEPPL-Header |> şifrelenmemiş
+ ------------ + ----------------------- + |
| Başlatma Vektör | |
+ ----------------------- + /
| SEPPL-Header |
+ ----------------------- + | Şifrelenmiş
| İstiap haddi | |
+ ----------------------- + /
Orjinal IP başlığı mümkün olduğu kadar tutulur. Sadece üç alan yeni değerlerle değiştirilir. protokol numarası 177 olarak ayarlanır, Veridilimi 0 olarak ayarlanır ve toplam uzunluğu yeni uzunluğa düzeltilir. Diğer tüm alanlar, IP seçenekleri de dahil, olduğu gibi tutulur.
şifrelenmemiş Seppl başlığı bir byte şifre numarası ve bir anahtar adı oluşur. Şu anda yalnızca 0 ve 1 128bit tuşu, resp AES şifreleme için sayı olarak tanımlanır. 192bit anahtar ile AES. anahtar adı (7 bayt) büyük bir anahtarlık belirli bir anahtar seçmek için kullanılabilir.
IV kullanılan şifrenin CBC kodlama için kullanılır. Bu paket paketin farklı, fakat rasgele oluşturulur. Dolayı perfomance nedenlerle, sistem başlangıcında sadece ilk IV aşağıdaki IVs önceki olanları artırılmıyor tarafından oluşturulan, randomize edilmiştir.
şifrelenmiş Seppl başlığı üç kaydedilmiş orijinal IP başlığının alanlara (protokol numarası, Veridilimi, toplam uzunluk) ve 0 unmatching anahtarları tespit etmek için her zaman bir byte oluşur.
yükü TCP / UDP / diğer başlığından sonuna kadar, orijinal IP-playload olduğunu.
Sınırlamalar:
· Seppl bir şekilde netfilter bağlantı izleme uğratır. Böylece Seppl birlikte NAT kullanmak mümkün olmayacaktır. Eğer Seppl birlikte başka bir şekilde bağlantı izleme kullanırsanız kilometre değişebilir.
· Seppl Linux 2.6.1 ile test edilmiştir. Linux 2.4 için sürüm 0.3 kullanın.
Gereksinimler:
Kaynak kodu yapılandırma için GNU Autoconf ve GNU libtool ve paylaşılan kütüphane yönetimi kullandığından beri · Seppl geliştirilmiş ve Kasım 2003 den Debian GNU / Linux "test" üzerinde test edildi, en diğer Linux dağıtımları ve Unix versiyonları üzerinde çalışması gerekir.
· Seppl Linux 2.6. {0,1} gerektirir (yapılandırılmış kaynaklar yüklü) ve iptables 1.2.8 veya daha yeni.
· Tam userspace araç seti Python 2.1 veya daha yeni gerektirir. C Bir soyunmuş seti de mevcuttur.
Kurulum:
Bu paket GNU autotools ile yapılır gibi kaynak ağacını yapılandırmak için dağıtım dizin içinde ./configure çalışmalıdır. Bundan sonra derleme yapmak çalışmalıdır ve Seppl kurulumu için (root olarak) make install.
Bu Sürümdeki Yenilikler:
· Linux 2.6, başka hiçbir değişikliklere noktası. Sürüm 0.4 artık kernel 2.4 ile uyumludur. 2.4 çekirdek sürümü 0.3 kullanın, bu işlevsel olarak eşdeğer olduğunu.
Yazılım detaylar:
Yorum Bulunamadı