seppl

ソフトウェアのスクリーンショット:
seppl
ソフトウェアの詳細:
バージョン: 0.4
日付のアップロード: 3 Jun 15
開発者: Lennart Poettering
ライセンス: 無料
人気: 7

Rating: nan/5 (Total Votes: 0)

sepplは、プロトコルの定義とIPv4の新しい暗号化層のソフトウェア実装の両方です。 sepplプロジェクトは、ネットワーク上の全トラフィックを暗号化するための対称暗号化を使用しています。その実装は、Linuxのnetfilter / iptablesの周りに設計されています。
CRYPTと復号化:sepplは、2つの新しいnetfilterの目標を紹介します。ファイアウォール規則は、このように着信および発信ネットワークトラフィックの暗号化/復号化のために使用することができます。何のデーモンが安全な通信のために実行する必要がないので、これは、使用するsepplが非常に容易になります。
sepplは、カーネル2.4.22以降で利用可能で、Linuxの暗号化APIの暗号化エンジンを使用しています。
sepplは、主に無線LAN(壊れたWEP暗号化のような安全な交換)とローカルイーサネットネットワークを暗号化するためのものですが、同様に、大規模なVPNソリューションのために使用することができます。
プロトコルsepplが依存する他のソフトウェアとの互換性はありません。プロトコルはオープンで明確に定義されていますが、このリファレンス·ソフトウェア以外の実装はありません。
なぜSEPPLは、IPSEC、CIPEは、既に存在していますか...?
CIPEは、ポイント·ツー·ポイント接続のために使用することができます。これは、トンネル構造を有し、従って、新たなIPアドレスを導入します。これは、常に望ましいことではありません。これは、ユーザ空間のデーモンを必要とします。
IPSEC / FreeSwanを使うのは非常に複雑です。 、その奇妙なルーティング方式には、ルーティングデーモンと一緒に使用することはほぼ不可能です。 IPSECはヘビー級です。
sepplは本当にピア·ツー·ピアです。これは、シームレスにすべての送信トラフィックを暗号化して、ルーティングデーモンとそれこのように互換性があります。それは通常のルーティング動作には変更を加えないように、同様に使用することは非常に簡単です。 sepplは非常に軽量です。
実装
seppl.o、ipt_CRYPT.oとipt_DECRYPT.o:実装は3 Linuxカーネルモジュールから構成されています。前者は後者の2つの新しいnetfilterのターゲットである、カーネル内のキーマネージャーです。両方がseppl.oに依存します。
seppl.oは、最初の場所でカーネルに挿入する必要があります。キー管理者は、ファイルは/ proc /ネット/ seppl_keyringでアクセスすることができます。これは、バイナリ鍵データが含まれており、最初は空です。あなたは、そのファイルに書き込むことによって、新しいキーを追加することができます。
2 Pythonスクリプトseppl-LSと私は、鍵管理のために使用することがseppl-GEN-KEY。 seppl-LSは/ procの/ネット/ seppl_keyringと人間が読めるXMLベースのフォーマットで使用されるバイナリ形式の間sepplキーを変換するために使用することができます。単に現在アクティブなすべてのキーのリストについては、seppl-LSを呼び出します。 seppl-GEN-キーは、/ dev / urandomのから新しいキーを生成します。デフォルトでは、XML形式を使用します。パラメータ-x力バイナリモード。次のコマンドラインを発行することにより、二つの鍵「ライナス」と「アラン」を生成し、活性化することができます:
seppl-GEN-キー-nライナス-x> / procの/ネット/ seppl_keyring
アラン-x> / procの/ネット/ seppl_keyring -n seppl-GEN-キー
引数なしseppl-LSは、カーネルキーリングに保存された新しいキーを示しています。あなたが発行して、すべての(現在未使用)キーを削除することがあります。
明確な> / procの/ネット/ seppl_keyringエコー
sepplが共有キーを使用して、対称暗号に基づいているため、あなたはあなたのsepplインフラストラクチャに接続するすべてのホストに新たに生成された鍵をコピーする必要があります。 (好ましくは、SSHまたはその他のセキュアなファイル転送を介して)あなたが発行することによって、現在のキーリングのバイナリコピーを取得します:
猫の/ proc /ネット/ seppl_keyring> keyring.save
これで、すべての他のホストにそのファイルkeyring.saveをコピーして、そこに次のコマンドを発行します。
猫keyring.save> / procの/ネット/ seppl_keyring
つまり、それは単純ではないですよね?
そうすることの後には、各ホスト上のファイアウォールの設定を構成することがあります。
iptablesがマングル-A POSTROUTING -o eth0の-j CRYPT --keyライナスを-t
iptablesの-tマングル-A PREROUTING -i eth0の-j DECRYPT
これは、キー「ライナス」でeth0の上のすべての送信トラフィックを暗号化します。すべての着信トラフィックは、特定のネットワークパケットで指定されたキー名に応じて、「ライナス」または「アラン」のいずれかで復号化されます。暗号化されていない着信パケットは黙って破棄されます。使用
iptablesの-tマングル-A PREROUTING -p 177 -i eth0の-j DECRYPT
暗号化された暗号化されていないの両方の着信トラフィックを許可します。
それでおしまい。あなたは完了です。ローカルサブネット上のすべてのトラフィックは、現在sepplで暗号化されています。
デフォルトの暗号化方式はAES-128です。あなたが「DEF」に使用されるキーこれは、デフォルトの名前を指定しない場合。
SysVの初期化スクリプト/etc/init.d/sepplが設けられています。それはsepplのカーネルモジュールをロードし、カーネルの鍵リングにディレクトリを/ etc / sepplからすべてのキーを書き込みます。しかし、任意のファイアウォールルールを追加しません。
パフォーマンスの問題
それらが暗号化されているときに、2つの新しいヘッダおよびIVが追加されるので、ネットワークパケットは、サイズが増加します。すべての大きなパケットを持つことに(平均で36バイト)、Linuxカーネルと結果のMTU管理といくつかの方法でこの競合は(つまり:MTUに近いパッケージサイズ)大きなものと別の非常に小型のパッケージで断片化。これは、ネットワークのパフォーマンスを傷つけるでしょう。この制限の回避策は、より小さな値にTCPヘッダーにMSS値を調整するためのnetfilterのTCPMSSターゲットを使用しています。 MTUのサイズのTCPパケットがもはや生成されるので、これは、TCP用のperfomanceを増加しないであろう。したがって、フラグメンテーションは必要ありません。しかし、TCPMSSは、UDPまたは他のIPプロトコルに助けにはなりません、TCP固有のものです。
ファイアウォールの設定に暗号化の前に次の行を追加します。
iptablesのは、SYN、RST SYN -o eth0の-j TCPMSS --set-MSS $((1500-40-8-16-6-15))マングル-A POSTROUTING -p TCPの--tcp-フラグを-t
プロトコル
暗号化のために一つ一つの暗号化されていないパケットが取られ、暗号化されたものに変換されます。単一の更なるパケットがこれまで送信されません。
   オリジナルSEPPL相手
+ ------------ + + ----------------------- +
| IP-ヘッダ| |変更されたIP-ヘッダー| |
+ ------------ + + ----------------------- + |
|ペイロード| | SEPPL-ヘッダ|>暗号化されていません
+ ------------ + + ----------------------- + |
                            |初期化ベクトル| |
                            + ----------------------- + /
                            | SEPPL·ヘッダー|
                            + ----------------------- + |暗号化されました
                            |ペイロード| |
                            + ----------------------- + /
元のIPヘッダは、可能な限り維持されます。唯一の3つのフィールドが新しい値に置き換えられます。プロトコル番号が177に設定され、フラグメントオフセットが0に設定され、全​​長は、新しい長さに補正されます。他のすべてのフィールドは、IPオプションを含む、そのまま保持されます。
暗号化されていないsepplヘッダーは、1バイトの暗号番号とキー名で構成されています。現在は、0と1が128ビットキー、RESPのAES暗号のための数値として定義されています。 192bit鍵のAES。キー名(7バイト)より大きいキーリングの特定のキーを選択するために使用することができます。
IVは、使用される暗号のCBCの符号化に使用されます。これは、パケットからパケットに異なるが、ランダムに生成されません。原因もパフォーマンス上の理由により、システムの起動時にのみ初期IVは、以下のすべてのIVは、以前のものをインクリメントすることにより生成された、ランダム化されます。
暗号化されたsepplヘッダーは、元のIPヘッダ(プロトコル番号、フラグメントオフセット、全長)と常に0不一致のキーを検出するためであるバイトの3保存されたフィールドで構成されます。
ペイロードは、TCP / UDP /他のヘッダから最後まで、元のIP-playloadです。
制限事項:
·sepplは何らかの方法でのnetfilterの接続の追跡を妨害します。したがって、あなたはsepplと一緒にNATを使用することができません。あなたがsepplと一緒に他の方法で接続の追跡を使用している場合は、あなたのマイレージは異なる場合があります。
·sepplは、Linux 2.6.1でテストされています。 Linuxの2.4のバージョン0.3を使用してください。
要件:
それはソースコードの構成のためのGNUのAutoconfとGNU libtoolは、共有ライブラリ管理を使用しているため·sepplを開発し、2003年11月からのDebian GNU / Linuxの「テスト」でテストされました、それは他のほとんどのLinuxディストリビューションやUnixのバージョンで動作するはずです。
·sepplは、Linux 2.6。{0,1}(設定されたソースがインストールされている)とiptables 1.2.8以降が必要です。
·完全なユーザ空間ツールセットは、Python 2.1以降が必要です。 Cでのストリッピングセットも同様に利用可能です。
インストール:
このパッケージは、GNUのautotoolsので作られているように、あなたはソースツリーを設定するための配布ディレクトリ内に./configureを実行する必要があります。その後、あなたはsepplのインストール用(rootとして)コンパイルのためにmakeを実行してインストールする必要があります。
このリリースの新機能:
·Linuxの2.6、他の変更は加えずに移植。バージョン0.4は、もはやカーネル2.4と互換性がありません。カーネル2.4のバージョン0.3を使用して、それが機能的に同等である。

開発者の他のソフトウェア Lennart Poettering

heatload
heatload

3 Jun 15

nss-mdns
nss-mdns

3 Jun 15

PulseAudio
PulseAudio

17 Aug 18

へのコメント seppl

コメントが見つかりません
コメントを追加
画像をオンにする!