ログインが有効であっても、Pam_unix sshd認証は失敗しますか?

ログインが有効であっても、Pam_unix sshd認証は失敗しますか?

Active Directory 認証を提供するために winbind と Samba で構成されたサーバーがあります。 Active Directory統合は正常に機能しますが、認証するたびに次のエラーが表示されます。

間違い

確認する:

May 11 00:25:29 SERVER sshd[28119]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=x.x.x.x  user=USERNAME

修道:

May 11 01:33:14 SERVER sudo: pam_unix(sudo:auth): authentication failure; logname=USER_NAME uid=2005125 euid=0 tty=/dev/pts/2 ruser=USER_NAME rhost=  user=USER_NAME

構成

/etc/samba/smb.conf:

[global]
        workgroup = WORKGROUP
        realm = DOMAIN NAME
        security = ADS
        winbind enum users = Yes
        winbind enum groups = Yes
        winbind use default domain = No
        winbind separator = +
        kerberos method = secrets and keytab
        idmap config * : backend = autorid
        idmap config * : range = 1000000-19999999
        idmap config * : rangesize = 1000000
        template shell = /bin/bash
        netbios name = SERVERNAME

/etc/pam.d/SystemAuthentication

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        sufficient    pam_winbind.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     [default=bad success=ok user_unknown=ignore] pam_winbind.so
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_winbind.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     optional      pam_mkhomedir.so umask=0077
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_winbind.so

/etc/pam.d/sshd

#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare

sshd_config:

HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
AuthorizedKeysFile .ssh/authorized_keys
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
# override default of no subsystems
Subsystem sftp  /usr/libexec/openssh/sftp-server
UsePrivilegeSeparation yes
AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f
AuthorizedKeysCommandUser ec2-instance-connect
Banner /etc/motd
SyslogFacility AUTHPRIV
AuthorizedKeysFile .ssh/authorized_keys
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no

このログをどのように変更できますか?

ベストアンサー1

私はPAMの専門家ではありませんが、pam_unix認証モジュール(ローカルユーザーデータベース:/etc/passwordおよび/etc/shadowpam_winbindがモジュール(Samba / Active Directory)の前に参照されるため、これが発生する可能性があります。私はauthあなたの回線を見て、それが(参照)に接続されていると/etc/pam.d/system-auth仮定します。system-authpassword-auth/etc/pam.d/sshd

AD ユーザーとしてログインすると、ユーザーはpam_unixローカルで検出されないため、PAM はモジュールの認証失敗を記録します。とマークpam_unixされているため、sufficientローカルでユーザーが見つからないことは完全な失敗とは見なされないため、PAMは次のモジュールに進み、最終的にpam_winbindADユーザーを正常に認証するために到着します。

ログメッセージだけを表示しない方法はわかりませんが、理論的にはモジュール行の順序を変更authして。pam_unixpam_winbind

もちろん、PAM構成はセキュリティに非常に敏感であるため、変更を慎重に検討して調査し、まず非プロダクションシステムで徹底的にテストする必要があります。たとえば、Sambaサービスが利用できず、ローカルユーザーとしてログインする必要がある場合はどうなりますか?pam_succeed_if.so uid >= 1000小切手はどのように挿入しますか?など。

おすすめ記事