Extensionの脆弱性がOpenVPNに与える影響についてはTwitterでも取り上げましたが、TLS-Authが有効になっていればこの脆弱性による影響を回避できます。それで、今回はOpenVPNのマニュアルから、TLS-Authオプションに関する部分の日本語訳を掲載します。[direction]Dos攻撃対策のため、TLSコントロールチャンネルの最上位にHMAC認証の追加レイヤーを追加します。簡単に言うと、--tls-authはOpenVPNのTCP/UDPポートの「HMACファイアウォール」の一種で、正しくないHMAC署名に基づくTLSコントロールチャネルのパケットが届いた場合は、応答することなく、すぐに破棄します。file(必須)は以下のいずれかのキーファイルを指定します。OpenVPNのスタティックキーファイル。オプションで生成できます(directionパラメータを使用する場合は必須です)。任意の形式のパスフレーズファイル。同様です)が利用されます。オプションの説明を参照してください。利用することをお勧めします。この機能の基本的な概念について説明しましょう。TLSでは、通信相手先の認証の前に複数のパケット交換を行う必要があり、認証前のこのタイミングで、OpenVPNはメモリやCPUなどのリソースを確保することになります。通信相手側も送信されるパケットに対してOpenVPN、OpenSSLライブラリの一部を開示することになります。近年成功しているネットワーク経由の攻撃は、プログラム上のバグを見つけて攻撃する(バッファオーバーフロー攻撃など)か、プログラムに大量にリソースを消費させてサービスを提供できなくなるようにする、というものです。これらの攻撃に対する最初の防御策は、質の高いプログラムを作成することです。OpenVPNの開発においても、バッファオーバーフロー攻撃対策を最重要事項として開発されています。事実が示しているように、ネットワーク上で使用されている多くのプログラムがこの脆弱性を持っており、実際に攻撃されています。そこで2番目の防御策として、OpenVPNではTLSコントロールチャンネルの最上位に認証用の特殊なレイヤーを設け、コントロール上のすべてのパケットをHMAC署名とユニークIDで認証することでリプレイ攻撃対策を行うことができるようにしています。この署名はDoS攻撃に対する対策としても有効です。DoS攻撃の脆弱性を最小限に抑えるには、攻撃可能な立場にあるクライアントのうち、正しく認証されていないクライアントのために割り当てるリソースを最小化することが大切です。より、TLSコントロールチャンネル上のパケットすべて(TLSレベルでの認証が行われる前のパケットも含む)に対してHMAC署名で署名することができます。その結果、正しい署名が行われていないパケットはすべて破棄されることにより、TLSハンドシェイクの初期化時などに不正なアクセスによってシステムリソースを消費されることを防ぐことができます。使用することにより、リプレイ防御状態をファイルに保存し、OpenVPNを再起動したときにもその状態を維持できるようにすることもでき、よりセキュリティを強化できます。指定されたパスフレーズ/キーファイルはピアに対するTLSハンドシェイクの初期化時に使用されるものです。トンネルデータの暗号化や認証には使用されません。Yamazaki)プラムシステムズ株式会社所属。VPN(OpenVPN)やセキュリティ関連技術、Webアプリケーションを手がけています。いう疑問は多くの方が持たれますよね。この点は公式サイトなどにもいろいろ書かれているのですが、実際に使ってきたユーザー側としてメリットと思う部分をまとめてみました。概要を取り上げましたが、記事全体にいろいろなヒントが含まれていますので、全文の日本語訳を掲載しています。認証局を構築する現在ダウンロードできるOpenVPNでは、今まで認証局の構築で使用していたeasy-rsaが含まれなくなっています。VPNクライアントに固定IPアドレスを割り当てるOpenVPNでは、接続してきたクライアントのVPNアドレスは動的に割り振られます(その際に割り振られる際のアドレス範囲はOpenVPNサーバー側設定ファイルに基づきます)。【MacOS編】では、いよいよiPhone構成ユーティリティでVoDの設定をしてみましょう。2つのワンタイムパスワードの生成方法について取り上げました。今回はいよいよ実際の生成アルゴリズムを取り上げましょう。TOTPをベースに説明します(ただ、前回も解説したように、基本的なロジックはTOTPとHOTPで同じです)。VPNパフォーマンス対決OpenVPNはLinuxをはじめとした幅広いプラットフォームで動作実績があるのが特徴の一つです。3機種をOpenVPNサーバーとしてセットアップし、OpenVPNのVPNパフォーマンスを測定してみましょう。ワンタイムパスワードの基本的な仕組みについて説明しました。規定しているその生成ルールについて具体的に説明します。されましたので、それを記念(?)して、OpenVPNサーバーにiPhoneから接続する手順をまとめてみましょう。