OpenVPN

OpenVPN
開発元 James Yonan
最新版 2.6.4 - 2023年5月11日 (12か月前) (2023-05-11)[1] [±]
最新評価版 2.x (Git HEAD) - Every Sunday 05:00 UTC Main Mirror [±]
リポジトリ
  • github.com/OpenVPN
ウィキデータを編集
プラットフォーム クロスプラットフォーム
種別 VPN
ライセンス GPL
公式サイト openvpn.net
テンプレートを表示
インターネットセキュリティ
プロトコル
キーマネジメント
アプリケーション層
DNS
インターネット層

OpenVPNは、サーバ間に暗号化されたトンネルを作成するためのオープンソースVirtual Private Network(VPN)ソフトウェアである。James Yonanが開発し、GNU General Public Licenseでリリースされている。

概要

OpenVPNは、事前に共有しておいた秘密鍵、公開鍵証明書ユーザ名/パスワードを使ってPeer to Peerの相互の認証を行う。OpenSSLSSLv3/TLSv1プロトコルを利用する。SolarisLinuxOpenBSDFreeBSDNetBSDmacOSWindowsなどで動作する。様々なセキュリティ機能や制御機能を持つ。他のVPNシステムとの接続には対応しない。クライアント側もサーバ側も1個のバイナリとオプションの設定ファイルから構成され、使用する認証方式によって、いくつかの鍵ファイルが必要となる。

暗号

OpenVPNはOpenSSLライブラリを使って、データチャンネルと制御チャンネルの両方の暗号化を行う。暗号化と認証処理はOpenSSLに任されており、OpenSSLパッケージに含まれる任意の暗号方式を使うことができる。HMACパケット認証機能を付加的に使用して、コネクション時のセキュリティを強化することもできる(開発者はこれをHMAC Firewallと称している)。さらに、暗号化をハードウェアによって行い、性能を強化することもできる。

認証

相互の認証は、いくつかの方法がある。OpenVPNが推奨している方法は、事前共有した秘密鍵、公開鍵証明書、ユーザ名/パスワードを使った認証である。事前共有した秘密鍵が最も簡単であり、公開鍵証明書が最も頑健で機能が豊富である。ユーザ名/パスワードを使った方法は新しい機能(バージョン 2.0)であり、クライアント側の認証を不要とすることもできる(サーバ側は必須)。ソースのtarballには、Perlスクリプトによるユーザ名/パスワード検証(PAM)とC言語によるPAMの例が含まれている。

ネットワーク

OpenVPNは全ての通信を1つのIPポートに多重化する。UDP(デフォルト、推奨)でもTCPでも利用可能である。ほとんどのプロキシサーバを経由しても大丈夫で、ネットワークアドレス変換経由でもファイアウォール経由でも通信可能である。サーバ側からクライアント側に特定のネットワーク設定を送信することもできる(IPアドレス、ルーティングコマンド、その他コネクションオプション)。OpenVPNは、TUN/TAPドライバ経由のネットワーキング方法を2種類提供する。ネットワーク層でのIPトンネルまたはデータリンク層でのイーサネットTAPのどちらかを使うことができ、後者では任意の種類のイーサネットのトラフィックをやりとりできる。また、オプションでLZOデータ圧縮ライブラリで転送データを圧縮することもできる。IANAは、ポート 1194を公式にOpenVPNに割り当てている。新しいバージョンではデフォルトでそのポートを使用するようになっている。バージョン 2.0では、1つのプロセスで複数のトンネルを同時に管理できる。従来は、トンネルごとにプロセスが必要だった。

セキュリティ

OpenVPNはいくつかのセキュリティ機能も内蔵している。完全にユーザ空間で動作するため、カーネルでのIPスタック操作が不要である。OpenVPNは、root特権の禁止機能、mlockallによる重要データのスワップアウト禁止機能、初期化後にchrootによってルートとされたディレクトリ以外にアクセスできなくする機能などがある。

OpenVPNは、PKCSベースの暗号トークンによるICカードサポートも行う。

脚注

[脚注の使い方]
  1. ^ “Community Downloads”. 2023年5月27日閲覧。

関連項目

  • OpenSSH - ネットワーク層/データリンク層のトンネルベースのVPNを実装している。
  • stunnel - SSL上の任意のTCPコネクションの暗号化を行う。
  • UDPホールパンチング - ファイアウォールやNATを経由してUDP「コネクション」を確立する技法。

外部リンク

ポータル FLOSS
ウィキメディア・コモンズには、OpenVPNに関連するメディアがあります。
  • OpenVPN project 公式サイト(英語)
通信プロトコル
  • SSTP(英語版)
  • IPsec
  • L2TP
  • L2TPv3(英語版)
  • PPTP
  • Split tunneling(英語版)
  • DTLS
  • SSL/TLS
  • tcpcrypt(英語版)
ベンダー主導
  • L2F
  • DirectAccess(英語版)
実装
自由ソフトウェア
プロプライエタリ
  • Avast SecureLine VPN(英語版)
  • Check Point VPN-1
  • Cisco Systems VPN Client(英語版)
  • CyberGhost VPN
  • ExpressVPN
  • HideMyAss!(英語版)
  • Hola(英語版)
  • LogMeIn Hamachi
  • Microsoft Forefront Unified Access Gateway(英語版)
  • NordVPN
  • Private Internet Access(英語版)
  • Proton VPN
  • PureVPN(英語版)
  • SaferVPN(英語版)
  • TunnelBear(英語版)
  • VPN.ht(英語版)
リスク
OpenPGPS/MIME
  • メールサーバーの比較(英語版)
  • 電子メールクライアントの比較(英語版)
  • GnuPG (Gpg4winGPGTools)
  • PGP
  • Enigmail
  • Thunderbird
  • Outlook
  • Apple Mail
  • Claws Mail
  • Autocrypt(英語版)
  • Kontact
  • pretty Easy privacy(英語版)
  • Sylpheed
セキュア通信
OTR(英語版)
  • Adium
  • BitlBee(英語版)
  • Centericq(英語版)
  • ChatSecure
  • climm(英語版)
  • Jitsi
  • Kopete
  • MCabber(英語版)
  • Profanity(英語版)
SSH
TLS/SSL
VPN
ZRTP(英語版)
  • CSipSimple(英語版)
  • Jitsi
  • Linphone(英語版)
  • Jami
  • Zfone(英語版)
P2P
D R A(英語版)
  • Matrix
  • OMEMO(英語版)
    • Conversations(英語版)
    • Cryptocat(英語版)
    • ChatSecure(英語版)
  • Proteus
  • Signalプロトコル
    • Signal
    • WhatsApp
    • TextSecure(英語版)
匿名化
  • Cryptomator
  • GNUnet
  • Java Anon Proxy(英語版)
  • I2P
  • Tor
  • Vidalia(英語版)
  • RetroShare(英語版)
  • Ricochet(英語版)
  • Wickr(英語版)
ディスク暗号化(英語版)
  • ディスク暗号化ソフトウェアの比較(英語版)
  • BitLocker
  • FreeOTFE(英語版)
  • TrueCrypt
  • BestCrypt(英語版)
  • CipherShed
  • CrossCrypt(英語版)
  • Cryptoloop(英語版)
  • DiskCryptor(英語版)
  • dm-crypt(英語版)
  • LUKS
  • DriveSentry(英語版)
  • E4M(英語版)
  • eCryptfs(英語版)
  • FileVault
  • GBDE(英語版)
  • geli(英語版)
  • PGPDisk(英語版)
  • Private Disk(英語版)
  • Scramdisk(英語版)
  • Sentry 2020(英語版)
  • VeraCrypt
ファイルシステム
セキュアOS
Service providers
教育
暗号通貨
Related topics
関連人物
  • カテゴリ カテゴリ
  • コモンズ コモンズ