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
======實際步驟,正確篇======
我們已經在正確的目錄下了
注意底下兩個 . 之間有空格,我之前有解釋過
執行指令,撤銷ovpn-clt-cu01-bill01這個憑證。最後那行 error 是表示「這個已經被撤銷的憑證,現在無法通過認證了」,所以是我們要的結果:)
剛才的指令,會產生檔案 /etc/openvpn/easy-rsa/keys/crl.pem
不過還沒完喔,接下來我們要讓OpenVPN會讀取、使用這個設定。
要切換到另外一個目錄
如果妳的OpenVPN設定檔 server.conf 都沒有使用過 crl-verify 這個選項,必須要自己加一行:
懶得等,直接重新啟動OpenVPN服務:(文後的參考資料,有提到其他的生效方式)
現在從用戶端再用該憑證嘗試連線,果然連不上去了。
======接下來是錯誤示範======也叫做摔倒給妳看======
底下的錯誤,錯在檔案 crl.pem 沒有指定完整路徑,系統會以為是在/etc/openvpn底下
因此,OpenVPN在重新啟動,試圖讀取 crl.pem 的時候會找不到,根本沒有啟動
======來點別的系統設定======也叫做雞婆猜猜看======
撤銷憑證的重點就是
1.產生crl.pem
2.套用crl-verify設定
在第二步的部份,似乎OpenVPN在別的系統上不是用root身份執行,而/etc/openvpn/easy-rsa/keys這個目錄夾權限只開放給root,因此有文章建議,將檔案hard link到/etc/openvpn目錄下
參考資料:OpenVPN 2.0 HOWTO的Revoking Certificates章節
需求:要撤銷(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章節
引用URL
http://cgi.blog.roodo.com/trackback/2136801
回應文章 
據我淺見,「貴手」需多休息,怎還如此努力灌溉你的園地,難不成「一方霸主」指日可待!:)
遠行在即,行囊未理。下個星期就是同一時區了。能否再到你這兒坐坐,就要等我到了,才知囉!
遠行在即,行囊未理。下個星期就是同一時區了。能否再到你這兒坐坐,就要等我到了,才知囉!
Posted by 女長者
at September 13,2006 08:08
敬愛的女長者,
我還以為您開始研究IT了,原來這個留言是叫我少用手啊:)
現在您應該在同一時區了,如果是在對岸的話,那就跟上回一樣,看不到我寫的東西囉。
我還以為您開始研究IT了,原來這個留言是叫我少用手啊:)
現在您應該在同一時區了,如果是在對岸的話,那就跟上回一樣,看不到我寫的東西囉。
Posted by 聽說GFW擋這整個站的PowerOp
at September 18,2006 23:33