caffを起動すると、作業ディレクトリを作成した上で指定した公開鍵に署名をしてゆきます。署名の作業にはパスフレーズが必要です。何度も入力することになるので、gpg-agentを使うことをお勧めします。一通り署名が完了すると、実際のkeyringに結果をコピーした上で、公開鍵のメールアドレス(id)あてに1通づつメールを送信します。同じように、相手もこちらに署名した公開鍵を送ってくるのを待ちましょう以上が相手の鍵に署名をしてメールで送信する方法です。その結果をキーサーバーに送ることもできますが、相手が常にキーサーバーに後悔しているとは限らないので、その点注意しましょう(既知の公開鍵は誰でもキーサーバーに送信して公開できてしまう)。逆に、相手から受け取った署名付き鍵の取り込みをする方法はまた別途記事として書く予定です。セキュリティknok最近の社会情勢を鑑みて、知らないうちにマシンや回線が乗っ取られて悪事に使われた時の対策として、NATのログをとるようにしてみました。自分はDebianマシンをルーターにしているので、iptablesでルールを一つ追加するだけで済みます。"FORWARDチェインにstateがNEWなもののみ記録をします。わかりやすいようにprefixを付けています。これで十分かというとそうでもないですね。利用しているマシンの裏で悪さされたら通常利用と区別がつかないわけで...ルーター自体が乗っ取られてもアウトです。いい方法がないか考えたいところです。VPNknok前々から設定しかけてはうまくいかなかった、Android向けL2TP/IPSecがようやく動くようになったので、どんな設定をしたかをまとめてみます。パッケージとして必要になるのは、openswanとxl2tpdです。installします。openswanの設定をします。これはIPSecの実装の一つです。FreeS/Wanというプロジェクトがあったのですが、その開発が止まったためforkしてできたのがOpenswanです。ほかにStrongswanという実装もあるようですが、ここでは触れません。/etc/ipsec.confというファイルが存在しているので、それを編集します。冗長なコメントは消しています。/etc/ipsec.d/*.conf次に、L2TP向けの設定ファイル/etc/ipsec.d/l2tp-psk.confを新規に作成します。rightprotoport=17/%any次に、/etc/ipsec.secretsを編集します。ハイライトされた行を追加します。your-passwordを自分が設定したいパスワードにしてください。このパスワードがIPSec事前共有鍵になります。/var/lib/openswan/ipsec.secrets.inc次に、sysctl関連の設定をします。/etc/sysctl.d/for-ipsec.confファイルを作成し、以下のように設定します。自分はすべてのインターフェースに{accept,send}_redirectsを設定しています。各自のインターフェース名に合わせて設定してください。/etc/sysctl.d/for-ipsec.confを実行してこのsysctl設定を有効化します。リブート時には/etc/init.d/procpsの中でこのファイルが自動的に読まれます。ここで、一度ipsecを起動してみます。verifyを実行してみてください。問題なければ以下のような出力が出ます。[NG]という出力があれば、何か設定に失敗していることになります。ipsecを実行して自動起動するようにしてください。最後は、xl2tpdの設定です。/etc/xl2tp.confを以下のように設定します。yes2行目で、ppp認証用のユーザー、パスワードを記述したファイル名を指定します。10,11行目でVPNに振るアドレスを指定します。各自にあったIPアドレスレンジを使ってください。16行目では、xl2tpdが起動するpppdの設定ファイル名を指定しています。うまく動かないときは、各種デバッグオプションを有効にしてみてください。/etc/xl2tpd/l2tp-secretsは以下のように書きます。passwdは適切なものにしてください。passwd/etc/ppp/options.l2tpd.lnsの設定例は以下になります。/var/log/xl2tpd.log最初、MTU/MRUのサイズを指定しないで動かしていたら外部との通信がうまくいかなかったので、かなり小さめ(1280)にしています。16行目のネームサーバは適切なものに変更してください。restartを実行して、Android側の設定をしてゆきます。PSK、VPNサーバ名とIPSec事前共有鍵(ipsec.secretsの値)を設定します。L2TPセキュリティ保護は無効にします。あとは接続を実行し、l2tp-secretsに書いたユーザー名、パスワードを入力すれば接続できるはずです。設定がおかしいと、一瞬pppセッションが確立したあとすぐ切られる、というような状況が起きることがあるので気を付けてください。知人から、これらに関していくつか助言をいただいています。すあいカフェReplyRetweetFavorite@northeyeにゃーすあいICSとOpenswanの組み合わせでは動かないことがあるようです。l2tpモジュールがあるそうです。userlandはDebianパッケージが(sidにも)ありません。wiki@princo.org追記(2012/8/24):MS-CHAP-v2の脆弱性と攻撃ツールの流通が報告されていますが、pppの設定を見ての通り、L2TP/IPSecでもMS-CHAP-v2を使っています。暗号化されたトンネルの下でpppを確立するため、直ちに危険というわけではありませんが、PSK共有鍵方式だと安全とはいえないようです。VPN)の設定を今後は調べてみようと思います。セキュリティknoksshdに対する攻撃を防ぐ手段として、denyhostsがあります。これは同じIPから連続してアクセスを試み、一定回数失敗するとtcpwrapperの/etc/hosts.denyに対象IPを記述してアクセスできないようにしてくれます。今回いくつか環境を変更したので、もっといろいろなアプリケーションに対応させるため、同じようなソフトであるfail2banを利用することにしました。ipfw等)を利用することができます。新たなルールを追加する事も容易でおすすめです。参考にしてWordpressや(使ってないけど)phpMyAdminの対応も入れてみました。これでしばらく様子を見てみます。