サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
中東情勢
yamatamemo.blogspot.com
「VPNっていろいろあるけど、OpenVPNのメリットって何?」という疑問は多くの方が持たれますよね。この点は公式サイトなどにもいろいろ書かれているのですが、実際に使ってきたユーザー側としてメリットと思う部分をまとめてみました。 幅広い対応OS PC向け主要OSとも言えるWindows、Linux、MacOSXはもちろん、BSDやSolaris、現在ではAndroidやiOSでも利用できます。やっぱり、スマートフォンで使えるっていうのは大きいですね。 各OSとも同じコードベースなので、OSが異なる場合でもまったく問題なく相互接続が可能です。同一VPN上にLinux、MacOS、Windows、iOSを混在、なんてことも簡単です。設定ファイルも基本的には共通です。IPsecなどで時々起きる「機器間の相性の問題」がまったくないのは本当に便利ですよ! Johan Larsson / Foter.
HTTPSやSSH、もちろんOpenVPNでも使用されるTLSプロトコルに、新たな脆弱性「Logjam」が発見されました。すでにさまざまなメディアから内容が発表されています。 今回の脆弱性はDHパラメータ(Diffie-Hellman parameter)に関連したものです。DHパラメータは暗号化接続の初期段階で、クライアントとサーバーが暗号鍵を共有するために使用されるもので、OpenVPNでも使用しています。脆弱性の内容としては前回の「FREAK」と類似しており、中間者攻撃によって暗号化の強度を下げさせ、通信内容の傍受や改ざんが可能になる、というものです。 この脆弱性の詳細については、piyologさんがいつものようにまとめてくださっていますので、そちらをご参照ください。 TLSの脆弱性ですので、「OpenVPNへの影響は...?」と気になるところですが、公式MLでのやり取りをまとめると
OpenVPNはLinuxをはじめとした幅広いプラットフォームで動作実績があるのが特徴の一つです。 今回は、最近の電子工作ブームでも話題のシングルボードPC 3機種をOpenVPNサーバーとしてセットアップし、OpenVPNのVPNパフォーマンスを測定してみましょう。 Raspberry Pi B+ 泣く子も黙る、最近注目を浴びているシングルボードPCで、国内でも広く知られた機種です。もともとは教育用途での活用を想定して開発が進められてきましたが、その低価格と応用性の広さを強みに、電子工作などの分野で使用されてきています。今回は、今年6月から出荷開始されたRaspberry Pi B+を使って測定しています。 テスト環境のOSとしては、Raspberry Piでは標準的なRaspbianを使用しています。このOSはDebianベースなので、OpenVPNはAPTを使ってインストールできます
現在ダウンロードできるOpenVPNでは、今まで認証局の構築で使用していたeasy-rsaが含まれなくなっています。OpenVPN.netのダウンロードページにも Note that easy-rsa is no longer bundled with OpenVPN source code archives. To get it, visit the easy-rsa page on GitHub, or download it from our Linux software repositories. と記載されており、別途入手する必要があります。今回はインストール手順と使用法についてご説明します。 以前のバージョンとの違い 以前のeasy-rsa(バージョン2)と大きく異なるのは以下の点です。 実行コマンドは easyrsa のみとなり、続く引数で実行する処理を切り替えるようになりま
では、いよいよiPhone構成ユーティリティでVoDの設定をしてみましょう。あ、前の記事での準備はきちんとやっておいてくださいね! 今回は、MacOS上のiPhone構成ユーティリティで設定方法を説明します。「なんでWindowsじゃないの?」との声が聞こえてきそうですが、実はMacOSでの設定のほうが簡単だからです。もちろん、Windows版、MacOS版とも同じ「iPhone構成ユーティリティ」というツールを使用しますし、基本的な機能は同じなのですが、両者の動作にはちょっとした違いがあり、手順が少しだけ異なります。それで、今回はまず手順が簡単なMacOS版から説明したいと思います。 Windows版のiPhone構成ユーティリティを使った設定についても後日まとめたいと思いますので、しばしご辛抱ください(基本的な設定方法は同じなので、Windows版をご使用の場合でもこの記事は参考にして
現在のOpenVPN Connect for iOSの仕様上、証明書認証のみに対応しています。また、秘密鍵/証明書ファイルはPKCS#12形式で準備しておく必要があります。詳細についてはこの後で説明します。 VoDを設定するためには、iPhone構成ユーティリティを使用する必要があります。iPhoneやiPadと接続するPCにインストールしておいてください。Windows版(3.6.2)はこちら、MacOS版(3.5)はこちらからダウンロードできます。 秘密鍵/証明書ファイルの準備 前述のとおり、秘密鍵/証明書ファイルはPKCS#12形式で準備しておく必要があります。PKCS#12ファイルは、秘密鍵ファイルと証明書ファイルをまとめて、パスワードで保護/暗号化したものです。 新しく秘密鍵/証明書を作成する場合 easy-rsaにはbuild-key-pkcs12というスクリプトが用意されてい
前回は2つのワンタイムパスワードの生成方法について取り上げました。今回はいよいよ実際の生成アルゴリズムを取り上げましょう。TOTPをベースに説明します(ただ、前回も解説したように、基本的なロジックはTOTPとHOTPで同じです)。 参考としてpythonのコードも併記してみます。 1. タイムステップを考慮したカウンタの算出TOTPの場合、カウンタはunixtimeになります。しかし、これをそのまま使うとワンタイムパスワードが毎秒変わってしまうことになり、さすがにこれは実用的ではありません。それで、ワンタイムパスワードが切り替わる間隔としてタイムステップ (Time-Step) を設定し、unixtimeをタイムステップで割った値をカウンタとします。 messagetime = unixtime / timestep これにより、タイムステップが30なら、30秒間は同じワンタイムパスワード
久しぶりにOpenVPN公式MLにJames Yonan氏からの投稿が、と思ったら、なんとiOS用OpenVPN Connectのリリースのお知らせでした。今まで特にアナウンスもなかったので驚きましたが、Apple社の協力のもと、開発が進められていたようです。これでiPhoneやiPadでOpenVPNが利用できるようになりますね! James Yonan氏からの告知の日本語訳を載せておきます。 iOS用OpenVPN Connectがリリースされ、App Storeからインストール可能になりました。 これはApple社の協力のもと、OpenVPN Technorogiesによって開発され、Apple社による認定を受けた公式OpenVPNクライアントです。 このクライアントは、Android用のOpenVPN Connectでも使用されている新しいC++ OpenVPNコアをベースにしてい
OATH (The Initiative for Open Authentication) は、Verisignなどのベンダーが中心となって、認証に関する標準規格を策定している団体です。今回はOATHが策定しているワンタイムパスワードの仕様について取り上げます。 そもそもワンタイムパスワードとは? 「ワンタイムパスワード」はその名の通り、その時だけ有効な1回限りのパスワードを使って認証を行う仕組みです。使用するたびにパスワードが変わることになるので、万が一パスワードが漏えいしても、そのパスワードを他人に悪用される危険性を大幅に削減できます。 では、利用者は毎回変わるパスワードをどうやって知るのでしょうか? 利用者は自分の使うパスワードを知るために、ワンタイムパスワードを生成する「道具」を別に持っている必要があります。 この「道具」としてよく用いられているのが「トークン」と呼ばれるものです。
Androidで意図せずにマルウェアをインストールしてしまうことを避けるため、Androidアプリケーションをインストールする時にはそのアプリケーションのパーミッションを確認してからインストールすることが勧められています。インストールしようとしているアプリケーションに不要と思われるパーミッションが設定されている場合には「要注意」ということですね。 パーミッションはAndroidアプリケーションの開発者がアプリケーションごとに設定するものですが、ではパーミッションをまったく設定していないアプリケーション(つまり最低限の権限しかないアプリケーション)にはどんなことができるのでしょうか? 調査の結果、盲点になりそうな点が「Security scare of the week: What can an app with no permissions do?」にまとめられています。 SDカードの内容
「OpenVPNのスループット」でもJan Just Keijser氏の調査結果を取り上げさせていただきましたが、今度はOpenSSLに関する調査結果をOpenVPN Users MLで発表していますので、その内容をご紹介します。 テスト方法 OpenSSLの処理速度を「openssl speed -evp aes-256-cbc」などのコマンド出力で計測し、CPUのクロックスピードをもとに整理した。すべてのテストはLinux(CentOS、Fedora)で行った(Windowsとの比較データも後述)。 測定結果 BlowFish (BF) のパフォーマンスはCPUのクロックスピードに完全に依存する。i7とXeon Xnnnnの場合は15%の速度向上が見られた。 AES-NIサポートなしでのAES-256のパフォーマンスはCPUのクロックスピードに完全に依存する。 AES-NIサポートを有
(これらの測定値については5%程度のバラつきがあります) デフォルトのBlowfishを使用している場合は、'--tun-mtu'パラメータの最適値は36000バイトということになりました。これ以上のMTUサイズに設定しても変化はほとんどありません。また、この値はOpenSSL 0.9.8e-fipsライブラリで生成されるパフォーマンスの値とほぼ同一となっています。 AES-256を使用した場合はパフォーマンスの向上がさらに大きくなりました。最適なMTU値は48000バイトですが、MTUの設定値に関わりなく、全体的にパフォーマンスはほぼ2倍に向上します。 考察 OpenSSLをスクラッチからコンパイルすると、OpenSSLのスピードは2倍に向上します。測定は次のような方法でも行えます。 openssl speed -evp aes-256-cbc スクラッチからコンパイルするとパフォーマン
前回はワンタイムパスワードの基本的な仕組みについて説明しました。サーバー側とクライアント側で、それぞれ共通のルールに基づいてパスワードを生成させる必要があることを取り上げましたが、今回はOATHが規定しているその生成ルールについて具体的に説明します。 ワンタイムパスワードを生成するために必要なデータは2つ、(1) ユーザーが決めたパスコード(一般的なパスワードと同じもので、「シークレット」とも呼ばれます)と、(2) 回数や時刻などのカウンタです。これらをサーバーとクライアントの両方で共有しておき、この2つのデータから決められた方法で計算した結果をワンタイムパスワードとして生成します。 OATHで規定している2つの生成方法は、(1) は共通で、(2) の部分だけが異なります。では、それぞれの方法について説明しましょう。 [1] HOTP : 利用ごとに生成する(生成回数ベース) 利用者がトー
OpenVPNでは、接続してきたクライアントのVPNアドレスは動的に割り振られます(その際に割り振られる際のアドレス範囲はOpenVPNサーバー側設定ファイルに基づきます)。特定のVPNクライアントに特定のVPNアドレスを割り振りたい場合、OpenVPNでは以下の2つの方法で設定することができます。 client-connectディレクティブで指定されたスクリプトによって生成される設定ファイルを使う client-config-dirディレクティブで指定されたディレクトリにクライアント構成ファイルを配置する 簡単なのは 2. の方法で、特定のVPNアドレスを指定するだけであればこちらで十分です。では、この方法について説明しましょう。 まず、サーバー設定ファイルのclient-config-dirディレクティブでクライアント構成ディレクトリを指定します。クライアント構成ディレクトリは、VPN
Jan Just Keijser氏の記事「Optimizing performance on gigabit networks」についてはこちらでも概要を取り上げましたが、記事全体にいろいろなヒントが含まれていますので、全文の日本語訳を掲載しています。意訳している部分もありますが、もし誤訳等に気づかれたらお知らせください。 OpenVPNのスループットを100Mbpsネットワークの上限に近づけることは比較的簡単です。この場合、VPNのスループットはネットワークそのもののスループットにかなり近づくことになります。しかし、ギガビット・ネットワークとなるとそう簡単ではありません。このページでは、VPNスループットを1Gbpsネットワークの上限に近づけるためにどんなことができるのかについて取り上げます。最後の部分では10Gbpsネットワークについても簡単に触れています。
海外のいくつかのサイトで、SSLの脆弱性に関して取り上げられています(Hackers break SSL encryption used by millions of sites など)。SSLを基盤としたVPNであるOpenVPNに対する影響が気になるところですが、作者であるJames YonanがOpenVPN MLの中でこの件について説明していますので、その概要をご紹介しましょう。 現時点において"BEAST" exploitの詳細は不明だが、おそらくはこの脆弱性は2004年に公開されている、SSL/TLS 1.0の初期化ベクタに関連した問題ではないかと考えられる。 この脆弱性はSSLの全バージョンと、TLS 1.0に存在するもので、TLS 1.1以上についてはこの問題は存在しない(OpenVPNは現在TLS 1.0 を使用している)。 この問題の回避策の一つとして広く採用されている
OpenVPNを使用している方ならよくご存知だと思いますが、通常OpenVPNでは証明書認証を使用します。証明書認証はID/パスワード認証に比較すると安全性が高いとされます(もちろん、秘密鍵の管理方法に大きく依存します)が、証明書認証の概念を理解しにくいユーザーが秘密鍵や証明書を紛失しやすい(しかも、たいていバックアップは取っていない...)というリスクや、管理者の手間(証明書の更新、失効手続などが必要になる)などのハードルもあります。それで、OpenVPNをID/パスワード認証で使用したいというニーズも少なからずあります(プラムシステムズ株式会社のvpnux miniでは、認証方式としてID/パスワード認証を採用しています)。 OpenVPNでID/パスワード認証を使用する場合は、以下のようにします。 [1] ID/パスワード認証を行うプラグインを作成する OpenVPNでID/パスワー
Optimizing performance on gigabit networks から。いつも有用な情報を提供してくれるJan Just Keijser氏のOpenVPN Users MLへの投稿をもとにまとめられています。 詳細は上記サイトを参照していただくとして、要は「いい性能のPCを使ってGigabit上でOpenVPNをつないでみて、どこまでスループットを上げられるか実験してみよう!」ということです。OSはサーバー、クライアントともLinuxです。以下、結果を簡単にまとめるとこんな感じ(すべて計測値はiperfによるもので、プロトコルはUDPを使用しています)。 標準設定(MTUやFragmentなどをいじらない&CipherはBlowfish)のOpenVPNスループットで156Mbps。Cipherをaes-256-cbcに変更すると 126Mbps。今回のPCのスペックで
このページを最初にブックマークしてみませんか?
『yamata::memo』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く