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/shadow
) pam_winbind
이 모듈(Samba/Active Directory)보다 먼저 참조되기 때문에 이런 일이 발생할 수 있습니다. 나는 auth
귀하의 회선을 보고 그것이 ( 참조) 에 연결되어 있다고 /etc/pam.d/system-auth
가정합니다 .system-auth
password-auth
/etc/pam.d/sshd
AD 사용자로 로그인하면 pam_unix
사용자가 로컬에서 발견되지 않으므로 PAM은 모듈에 대한 인증 실패를 기록합니다. 로 pam_unix
표시되어 있기 때문에 sufficient
로컬에서 사용자를 찾지 못하는 것은 완전한 실패로 간주되지 않으므로 PAM은 다음 모듈로 진행하여 결국 pam_winbind
AD 사용자를 성공적으로 인증하기 위해 도착합니다.
로그 메시지만 표시 하지 않는 방법은 모르겠지만 이론상으로는 모듈 줄의 순서를 변경 auth
하여 .pam_unix
pam_winbind
물론 PAM 구성은 보안에 매우 민감하므로 변경 사항을 신중하게 고려 및 조사하고 먼저 비프로덕션 시스템에서 철저하게 테스트해야 합니다. 예를 들어, Samba 서비스를 사용할 수 없고 로컬 사용자로 로그인해야 하는 경우 어떻게 됩니까? pam_succeed_if.so uid >= 1000
수표는 어떻게 삽입하나요 ? 등.