web-dev-qa-db-ja.com

PAMおよびLDAP経由でログインできません:パスワードの取得に失敗しました

OpenVPNにLDAP経由のPAM経由でActiveDirectoryサーバーへのユーザーを認証させようとしています。

これが私の設定ファイルの関連部分です:

/ etc/openvpn/server.conf

# ...
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so ldap-login

/ etc/nslcd.conf

uri ldap://prod-adc1.mydomain.local
base DC=MyDomain,DC=Local
uid nslcd
gid ldap

/ etc/pam.d/ldap-login

auth      sufficient  pam_ldap.so minimum_uid=1000 use_first_pass
auth      required    pam_deny.so
password  sufficient  pam_ldap.so minimum_uid=1000 use_first_pass
password  required    pam_deny.so

認証を試みると、ログに次のように表示されます。

/ var/log/secure

Dec  4 22:22:42 localhost openvpn[25505]: pam_ldap(ldap-login:auth): failed to get password: Authentication failure

/ var/log/messages

Dec  4 22:38:28 localhost openvpn[25504]: 1.2.3.4:37503 TLS: Initial packet from [AF_INET]1.2.3.4:37503, sid=c2d806cc 5c7c7ace
Dec  4 22:38:28 localhost openvpn[25504]: 1.2.3.4:37503 PLUGIN_CALL: POST /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so/PLUGIN_AUTH_USER_PASS_VERIFY status=1
Dec  4 22:38:28 localhost openvpn[25504]: 1.2.3.4:37503 PLUGIN_CALL: plugin function PLUGIN_AUTH_USER_PASS_VERIFY failed with status 1: /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so
Dec  4 22:38:28 localhost openvpn[25504]: 1.2.3.4:37503 TLS Auth Error: Auth Username/Password verification failed for peer
Dec  4 22:38:28 localhost openvpn[25504]: 1.2.3.4:37503 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384
Dec  4 22:38:28 localhost openvpn[25504]: 1.2.3.4:37503 Peer Connection Initiated with [AF_INET]1.2.3.4:37503
Dec  4 22:38:31 localhost openvpn[25504]: 1.2.3.4:37503 Push: Received control message: 'Push_REQUEST'
Dec  4 22:38:31 localhost openvpn[25504]: 1.2.3.4:37503 Delayed exit in 5 seconds
Dec  4 22:38:31 localhost openvpn[25504]: 1.2.3.4:37503 SENT CONTROL [UNDEF]: 'AUTH_FAILED' (status=1)
Dec  4 22:38:36 localhost openvpn[25504]: 1.2.3.4:37503 SIGTERM[soft,delayed-exit] received, client-instance exiting

PAMを間違って構成しましたか?ログイン設定に欠けているものはありますか?


編集:次の操作を行うとログインできます:

ldapsearch -h prod-adc1.mydomain.local -b "DC=MyDomain,DC=Local" -x -D "[email protected]" -W

これをPAMLDAPモジュールにマッピングして、OpenVPNログインを期待どおりに機能させるにはどうすればよいですか?

6
Naftuli Kay

binddnbindpwを使用して/etc/nslcd.confを構成する必要があるようです。

http://arthurdejong.org/nss-pam-ldapd/nslcd.conf.5 を参照してください

お役に立てれば!

-バイロン

1
byronicle

作業セットアップの例(LDAPサーバーに対してユーザーを承認するのみ、例ではOpenLDAPを使用していましたが、ADはこのモジュールでもサポートされています--openvpn-auth-ldap.so):

openvpn-sever.conf:

# Authorization against LDAP
plugin /usr/lib64/openvpn-auth-ldap.so /some/path/auth-ldap.conf

auth-ldap.conf:

<LDAP>
  # LDAP server URL
  URL ldap://server.intranet.eko-inwest.com.pl:389

  # Bind DN (If your LDAP server doesn’t support anonymous binds)
  # BindDN uid=administrator,ou=users,dc=x,dc=y
  # BindDN uid=admin,ou=Users,dc=x,dc=y
  # BindDN [email protected]

  # Network timeout (in seconds)
  Timeout 15

  # Enable Start TLS
  TLSEnable       no

  # TLS CA Certificate File
  # TLSCACertFile   /etc/ssl/ca.x.y.crt
</LDAP>

<Authorization>
  # Base DN
  BaseDN "ou=users,dc=x,dc=y"

  # User Search Filter
  #SearchFilter "(uid=%u)"
  #SearchFilter "(&(uid=%u)(objectclass=posixAccount))"
  # For Samba's schema
  SearchFilter "(&(uid=%u)(!(sambaAcctFlags=[DUL        ])))"

  # Require Group Membership
  RequireGroup true

  # Add non-group members to a PF table (disabled)
  # PFTable vpn-users
        <Group>
                # Match full user DN if true, uid only if false
                RFC2307bis      false
                BaseDN          "ou=groups,dc=x,dc=y"

                SearchFilter    "(cn=vpn-users)"
                MemberAttribute memberUid
        </Group>
</Authorization>
0