歡迎您光臨本站 註冊首頁

openvpn 使用 pam_mysql 認證通不過的問題

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

openvpn 使用 pam_mysql 認證通不過的問題

測試可以通過,但實際登錄並不成功,大家幫忙看一下


環境:
Gentoo Linux
mysql-5.0.54
pam_mysql-0.7_rc1-r1
openvpn-2.1_rc7

配置:
server.conf

port 443
proto tcp
dev tap

ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem

server 10.1.0.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
log-append /etc/openvpn/openvpn.log
status /etc/openvpn/openvpn-status.log
verb 5
client-to-client

client-cert-not-required
username-as-common-name
plugin /usr/lib/openvpn/openvpn-auth-pam.so openvpn

client.conf

client
dev tap
proto tcp
remote xx.xx.xx.xx 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
comp-lzo
verb 3
auth-user-pass

/etc/pam.d/openvpn

auth    sufficient      pam_mysql.so    user=openvpn passwd=OPENVPN host=localhost db=openvpn table=vpnuser usercolumn=name passwdcolumn=password where=active=1 sqllog=0 crypt=2 verbose=1
account required        pam_mysql.so    user=openvpn passwd=OPENVPN host=localhost db=openvpn table=vpnuser usercolumn=name passwdcolumn=password where=active=1 sqllog=0 crypt=2 verbose=1


測試:

Gateway openvpn # testsaslauthd -uopenvpn -ptest -sopenvpn
0: OK "Success."
Gateway openvpn #

但是,客戶端連接失敗

日誌中的錯誤信息:
/var/log/messages

Mar 30 12:05:28 Gateway openvpn: PAM unable to dlopen(/lib/security/pam_mysql.so)
Mar 30 12:05:28 Gateway openvpn: PAM
Mar 30 12:05:28 Gateway openvpn: PAM adding faulty module: /lib/security/pam_mysql.so
Mar 30 12:05:37 Gateway openvpn: PAM unable to dlopen(/lib/security/pam_mysql.so)
Mar 30 12:05:37 Gateway openvpn: PAM
Mar 30 12:05:37 Gateway openvpn: PAM adding faulty module: /lib/security/pam_mysql.so

/etc/openvpn/openvpn.log

Sun Mar 30 12:05:36 2008 us=99387 MULTI: multi_create_instance called
Sun Mar 30 12:05:36 2008 us=99483 Re-using SSL/TLS context
Sun Mar 30 12:05:36 2008 us=99510 LZO compression initialized
Sun Mar 30 12:05:36 2008 us=99617 Control Channel MTU parms [ L:1576 D:140 EF:40 EB:0 ET:0 EL:0 ]
Sun Mar 30 12:05:36 2008 us=99645 Data Channel MTU parms [ L:1576 D:1450 EF:44 EB:135 ET:32 EL:0 AF:3/1 ]
Sun Mar 30 12:05:36 2008 us=99706 Local Options String: 'V4,dev-type tap,link-mtu 1576,tun-mtu 1532,proto TCPv4_SERVER,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server'
Sun Mar 30 12:05:36 2008 us=99829 Expected Remote Options String: 'V4,dev-type tap,link-mtu 1576,tun-mtu 1532,proto TCPv4_CLIENT,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-client'
Sun Mar 30 12:05:36 2008 us=99892 Local Options hash (VER=V4): '3e6d1056'
Sun Mar 30 12:05:36 2008 us=99922 Expected Remote Options hash (VER=V4): '31fdf004'
Sun Mar 30 12:05:36 2008 us=99967 TCP connection established with 124.163.160.168:2596
Sun Mar 30 12:05:36 2008 us=99993 Socket Buffers: R= S=
Sun Mar 30 12:05:36 2008 us=100018 TCPv4_SERVER link local:
Sun Mar 30 12:05:36 2008 us=100043 TCPv4_SERVER link remote: 124.163.160.168:2596
RSun Mar 30 12:05:36 2008 us=100205 124.163.160.168:2596 TLS: Initial packet from 124.163.160.168:2596, sid=9cd42520 4212ad44
WRRWWWWRWRWRWWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRRRRWRWRWRWRWRAUTH-PAM: BACKGROUND: received command code: 0
AUTH-PAM: BACKGROUND: USER/PASS: openvpn/test
AUTH-PAM: BACKGROUND: user 'openvpn' failed to authenticate: Permission denied
Sun Mar 30 12:05:37 2008 us=4457 124.163.160.168:2596 PLUGIN_CALL: POST /usr/lib/openvpn/openvpn-auth-pam.so/PLUGIN_AUTH_USER_PASS_VERIFY status=1
Sun Mar 30 12:05:37 2008 us=4491 124.163.160.168:2596 PLUGIN_CALL: plugin function PLUGIN_AUTH_USER_PASS_VERIFY failed with status 1: /usr/lib/openvpn/openvpn-auth-pam.so
Sun Mar 30 12:05:37 2008 us=4515 124.163.160.168:2596 TLS Auth Error: Auth Username/Password verification failed for peer
WWWRRSun Mar 30 12:05:37 2008 us=249348 124.163.160.168:2596 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA
Sun Mar 30 12:05:37 2008 us=249400 124.163.160.168:2596 [] Peer Connection Initiated with 124.163.160.168:2596
RSun Mar 30 12:05:38 2008 us=256906 124.163.160.168:2596 PUSH: Received control message: 'PUSH_REQUEST'
Sun Mar 30 12:05:38 2008 us=256957 124.163.160.168:2596 SENT CONTROL : 'AUTH_FAILED' (status=1)
Sun Mar 30 12:05:38 2008 us=256977 124.163.160.168:2596 Delayed exit in 5 seconds
WWSun Mar 30 12:05:38 2008 us=485369 124.163.160.168:2596 Connection reset, restarting
Sun Mar 30 12:05:38 2008 us=485396 124.163.160.168:2596 SIGUSR1 received, client-instance restarting
Sun Mar 30 12:05:38 2008 us=485493 TCP/UDP: Closing socket
《解決方案》

建議你把openvpn-auth-pam.so放到/etc/openvpn/目錄下試一下(當然需要修改server.conf中的相應路徑).並且chmod 755 openvpn-auth-pam.so

其實目前openvpn採用pam驗證用的不多.用radius方式進行用戶身份認證更方便,更實用.

[ 本帖最後由 jiangdaoyou 於 2008-3-30 21:59 編輯 ]
《解決方案》

原帖由 jiangdaoyou 於 2008-3-30 21:57 發表 http://bbs.chinaunix.net/images/common/back.gif
建議你把openvpn-auth-pam.so放到/etc/openvpn/目錄下試一下(當然需要修改server.conf中的相應路徑).並且chmod 755 openvpn-auth-pam.so

其實目前openvpn採用pam驗證用的不多.用radius方式進行用戶身份認證更 ...
和路徑沒有關係,若路徑錯誤會有提示的
許可權我看了,755
回頭試試 radius 的,由於沒有配過 radius 所以心裡不是很有底
我的問題可能和 mysql 的 pam 模塊有關,版本換了,也許介面不同
我回頭試試基於 radius 的認證方式,謝謝 jiangdaoyou
《解決方案》

我的系統是centos5,rpm包的mysq5.0.22好像不行。。
openvpn的版本為rpm版的:openvpn-2.0.9-1.el5.rf
我下載了個mysql5.1.24
pam_mysql版本是pam_mysql-0.7RC1
目前可以認證成功

pam_mysql版本是pam_mysql-0.6.2亦能通過認證~

[ 本帖最後由 zhangzhu1984 於 2008-5-4 12:33 編輯 ]
《解決方案》

我的也是這個問題,有人解決了嗎?
《解決方案》

2.11版openvpn的plugin的openvpn-auth-pam.so有問題
下載2.09版的openvpn源代碼
進入到/plugin/auth-pam/
make
將產生的openvpn-auth-pam.so 替換原有的即可
《解決方案》

回復 1# platinum


    白金兄 更換插件版本
《解決方案》

回復  platinum


    白金兄 更換插件版本
kns1024wh 發表於 2010-08-12 09:11 http://bbs.chinaunix.net/images/common/back.gif

謝謝百湖兄,我也意識到可能是這個問題了,但由於精力有限暫時無法測試,等以後需要用到的時候再說了,呵呵
謝謝你
《解決方案》

學習ing!
我還是比較喜歡用ldap.
《解決方案》

本帖最後由 blackjack550 於 2010-08-19 10:12 編輯

今天也在測試這個,我也報錯
執行#testsaslauthd -u test -p test -s openvpn/var/log/message
Aug 19 02:08:48 usgate saslauthd: in _openpam_check_error_code(): pam_sm_acct_mgmt(): unexpected return value 12這個測試應該跟openvpn還沒關係吧?
我裝的pam_mysql-0.7.r1
安裝完畢后pam_mysql.so在/usr/local/lib下,不放心之後就挪到了/usr/lib下
報這個錯還真沒看懂請教


btw:另外哪個openvpn的client.conf也要在服務端配置么?不是服務端只要配置server.conf就可以了么?

[火星人 ] openvpn 使用 pam_mysql 認證通不過的問題已經有898次圍觀

http://coctec.com/docs/service/show-post-16326.html