September 12,2006

[備忘] OpenVPN on CentOS 4 (part 4) : Revoke Certificate

已經涵蓋安裝和基本設定,從這一篇開始,會把我實際用到的功能做個筆記。會寫多少篇,就看我用到多少功能囉。

環境:CentOS 4(目前已經升級到4.4),OpenVPN 2.0.7
需求:要撤銷(revoke)某個之前發出去的憑證(certificate),ovpn-clt-cu01-bill01

======實際步驟,正確篇======
我們已經在正確的目錄下了

[root@localhost easy-rsa]# pwd
/etc/openvpn/easy-rsa

注意底下兩個 . 之間有空格,我之前有解釋過

[root@localhost easy-rsa]# . ./vars
NOTE: when you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

執行指令,撤銷ovpn-clt-cu01-bill01這個憑證。最後那行 error 是表示「這個已經被撤銷的憑證,現在無法通過認證了」,所以是我們要的結果:)

[root@localhost easy-rsa]# ./revoke-full ovpn-clt-cu01-bill01
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Revoking Certificate 05.
Data Base Updated
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
ovpn-clt-cu01-bill01.crt: /C=US/ST=Washington/O=MSFT/OU=HQ/CN=Bill/emailAddress=billg@example.com
error 3 at 0 depth lookup:unable to get certificate CRL
[root@localhost easy-rsa]#


剛才的指令,會產生檔案 /etc/openvpn/easy-rsa/keys/crl.pem
不過還沒完喔,接下來我們要讓OpenVPN會讀取、使用這個設定。
要切換到另外一個目錄

[root@localhost openvpn]# pwd
/etc/openvpn

如果妳的OpenVPN設定檔 server.conf 都沒有使用過 crl-verify 這個選項,必須要自己加一行:

[root@localhost openvpn]# echo "crl-verify /etc/openvpn/easy-rsa/keys/crl.pem" >> server.conf

懶得等,直接重新啟動OpenVPN服務:(文後的參考資料,有提到其他的生效方式)

[root@localhost openvpn]# service openvpn restart
Shutting down openvpn: [ 確定 ]
Starting openvpn: [ 確定 ]
[root@localhost openvpn]#



現在從用戶端再用該憑證嘗試連線,果然連不上去了。

======接下來是錯誤示範======也叫做摔倒給妳看======
底下的錯誤,錯在檔案 crl.pem 沒有指定完整路徑,系統會以為是在/etc/openvpn底下

[root@localhost openvpn]# pwd
/etc/openvpn
[root@localhost openvpn]# echo "crl-verify crl.pem" >> server.conf
[root@localhost openvpn]# service openvpn restart
Shutting down openvpn: [ 確定 ]
Starting openvpn: [ 確定 ]
[root@localhost openvpn]#


因此,OpenVPN在重新啟動,試圖讀取 crl.pem 的時候會找不到,根本沒有啟動

[root@localhost log]# pwd
/var/log
[root@localhost log]# grep -i crl messages
Sep 12 15:07:53 localhost openvpn[20921]: 211.77.241.1:60558 CRL: cannot read: crl.pem: No such file or directory (errno=2)
[root@localhost log]#

======來點別的系統設定======也叫做雞婆猜猜看======
撤銷憑證的重點就是
1.產生crl.pem
2.套用crl-verify設定

在第二步的部份,似乎OpenVPN在別的系統上不是用root身份執行,而/etc/openvpn/easy-rsa/keys這個目錄夾權限只開放給root,因此有文章建議,將檔案hard link到/etc/openvpn目錄下

ln keys/crl.pem /etc/openvpn/


參考資料:OpenVPN 2.0 HOWTO的Revoking Certificates章節

Posted by ystuan at 樂多Roodo! │15:19 │回應(2)引用(0)自由軟體-網路管理
樂多分類:網路/3C 共同主題:自由軟體 工具:加入樂多書籤編輯本文
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/2136801
回應文章
據我淺見,「貴手」需多休息,怎還如此努力灌溉你的園地,難不成「一方霸主」指日可待!:)

遠行在即,行囊未理。下個星期就是同一時區了。能否再到你這兒坐坐,就要等我到了,才知囉!
Posted by 女長者 at September 13,2006 08:08
敬愛的女長者,

我還以為您開始研究IT了,原來這個留言是叫我少用手啊:)

現在您應該在同一時區了,如果是在對岸的話,那就跟上回一樣,看不到我寫的東西囉。
Posted by 聽說GFW擋這整個站的PowerOp at September 18,2006 23:33