物好き者

物好き者が行ったことを載せています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

OpenWRT10.03でのOpenVPN証明書接続が出来ました

OpenWRT10.03でのOpenVPN証明書接続が出来ませんでした が、dd-wrtのOpenVPNclientの設定ファイルとOpenWRTのOpenVPNclientの設定ファイルを見比べたところ、気になるパラメーターがOpenWRT側にありました。
option 'remote_cert_tls' 'server'

接続できなかった時のエラーが下記なので、以下にも影響してそうです。
Apr 10 17:49:41 OpenWrt daemon.notice openvpn(PKI_Client)[3553]: Certificate does not have key usage extension
Apr 10 17:49:41 OpenWrt daemon.notice openvpn(PKI_Client)[3553]: VERIFY KU ERROR
Apr 10 17:49:41 OpenWrt daemon.err openvpn(PKI_Client)[3553]: TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:lib(20):func(144):reason(134)
Apr 10 17:49:41 OpenWrt daemon.err openvpn(PKI_Client)[3553]: TLS Error: TLS object -> incoming plaintext read error
Apr 10 17:49:41 OpenWrt daemon.err openvpn(PKI_Client)[3553]: TLS Error: TLS handshake failed

HOWTO - OpenVPN 日本語情報サイト 《プラムシステムズ株式会社》 によると、セキュリティ強化を行う場合の手法として、下記のように書かれています(抜粋)

各クライアントにサーバー証明書を強制的に検証させることができます。これを実現するには下記の5つの方法があります(優先順)。
[OpenVPN 2.1以降] 特定の鍵用途(Key usage)および拡張鍵用途(Extended key usage)を指定してサーバー証明書を生成します。RFC3280では、TLS接続において下記の属性が提供されるべきとしています。
--cut--
サーバー証明書はbuild-key-serverスクリプトを使って生成できます(詳細についてはeasy-rsaを参照してください)。このスクリプトを使用して証明書を作成すると、適切な属性がセットされたサーバー専用証明書として作成されます。クライアントの設定ファイルに下記の設定を加えます。
remote-cert-tls server

これからすると、OpenVPNclient側でサーバー証明書を作成しようとして、失敗しているのかと思われます。
家の中のネットワークで検証しているので、セキュリティに問題がないですから消して見ました。

OpenVPNをDisable/Enableして、再起動させたところ問題なく接続できました。
OpemWRT側からもPC側からも相手のOpenVPN側IPへ接続できました。

Apr 11 21:43:30 OpenWrt daemon.warn openvpn(PKI_Client)[1367]: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Apr 11 21:43:30 OpenWrt daemon.warn openvpn(PKI_Client)[1367]: NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Re-using SSL/TLS context
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: LZO compression initialized
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Local Options hash (VER=V4): '41690919'
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Expected Remote Options hash (VER=V4): '530fdded'
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Socket Buffers: R=[114688->131072] S=[114688->131072]
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: UDPv4 link local: [undef]
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: UDPv4 link remote: 10.3.2.204:1194
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: TLS: Initial packet from 10.3.2.204:1194, sid=c647f4d1 ab5e7196
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: VERIFY OK: depth=1, /C=JP/ST=CA/L=Tokyo/O=OpenVPN/OU=dd-wrt/CN=ca/emailAddress=メールアドレス
Apr 11 21:43:30 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: VERIFY OK: depth=0, /C=JP/ST=CA/O=OpenVPN/OU=dd-wrt/CN=server/emailAddress=メールアドレス
Apr 11 21:43:31 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Apr 11 21:43:31 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Apr 11 21:43:31 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Apr 11 21:43:31 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Apr 11 21:43:31 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Apr 11 21:43:31 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: [server] Peer Connection Initiated with 10.3.2.204:1194
Apr 11 21:43:33 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Apr 11 21:43:33 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: PUSH: Received control message: 'PUSH_REPLY,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5'
Apr 11 21:43:33 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: OPTIONS IMPORT: timers and/or timeouts modified
Apr 11 21:43:33 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: OPTIONS IMPORT: --ifconfig/up options modified
Apr 11 21:43:33 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: OPTIONS IMPORT: route options modified
Apr 11 21:43:33 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: TUN/TAP device tun0 opened
Apr 11 21:43:33 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: TUN/TAP TX queue length set to 100
Apr 11 21:43:33 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: /sbin/ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500
Apr 11 21:43:33 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: /sbin/route add -net 10.8.0.1 netmask 255.255.255.255 gw 10.8.0.5
Apr 11 21:43:33 OpenWrt daemon.notice openvpn(PKI_Client)[1367]: Initialization Sequence Completed


OpenWRTの設定画面からこの項目の変更が出来るのか、使用する場合に必要な設定は何かを調べていくことにします。

スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する
 

承認待ちコメント

このコメントは管理者の承認待ちです

| | 2014年07月05日(Sat)13:56 [EDIT]


承認待ちコメント

このコメントは管理者の承認待ちです

| | 2014年07月25日(Fri)06:22 [EDIT]


承認待ちコメント

このコメントは管理者の承認待ちです

| | 2014年08月26日(Tue)09:46 [EDIT]


承認待ちコメント

このコメントは管理者の承認待ちです

| | 2014年09月01日(Mon)02:31 [EDIT]


承認待ちコメント

このコメントは管理者の承認待ちです

| | 2015年01月12日(Mon)17:16 [EDIT]


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。