SSH CentOS를 사용하여 로그인하면 pam_access가 작동하지 않습니다.

SSH CentOS를 사용하여 로그인하면 pam_access가 작동하지 않습니다.

내 컴퓨터에 대한 액세스를 구성하기 위해 PAM을 사용하고 있습니다. CentOS 7.6.1810(코어)을 사용하고 있습니다. 나는 PAM을 사용하고 싶습니다. 설정을 편집하여 한 곳에서 로그인할 수 있는 사람을 설정할 수 있기 때문에 /etc/security/access.conf매우 편리합니다. 또한 PAM이 어떻게 작동하는지 이해하고 싶기 때문에 다른 방법이 존재한다는 것을 알더라도 사용하지 않는 것이 좋습니다. 현재 tty를 사용하여 로그인한 사용자에게 이 기능을 제공할 수 있지만 ssh를 사용하여 사용할 수는 없습니다.

아래에는 필요한 구성 파일이 나와 있습니다.

/etc/security/access.conf파일에는 다음 줄이 있습니다.

+:root:ALL
-:ALL:ALL

참고: 이것이 보안 결함이라는 것을 알고 있지만 시스템을 구성할 때만 이 작업을 수행합니다. 맨 윗줄은 삭제하겠습니다.

/etc/pam.d/systemauth파일에는 다음이 있습니다.

#%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        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so
account     required      pam_access.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    required      pam_deny.so

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

해당 라인에 특별한 주의를 기울이십시오 account require pam_access.so. 이로 인해 포함된 모든 정책이 system-auth인증을 위해 pam_access를 사용하게 됩니다 .

/etc/pam.d/sshd내 파일의 관련 줄은 다음과 같습니다.

account    required     pam_nologin.so
account    include      system-auth
account    require      pam_access.so
account    include      password-auth

이 행은 ssh 데몬이 로그인에 pam_access를 사용하는지 확인해야 합니다.

또한 내 /etc/ssh/sshd_config파일에서 pam 사용 여부를 제어하는 ​​줄이 올바르게 설정되어 있는지 확인했습니다. 특히 나는 이 줄을 가지고 있습니다UsePAM yes

마지막으로 이것이 작동하는지 테스트하기 위해 루트가 아닌 다른 계정에서 SSH를 사용하여 로그인하려고 하면 다음과 같은 로그 출력이 표시됩니다 /var/log/secure.

Oct  4 21:12:34 localhost sshd[3683]: Accepted keyboard-interactive/pam for pbeesly from 10.0.2.2 port 45250 ssh2
Oct  4 21:12:34 localhost sshd[3683]: pam_unix(sshd:session): session opened for user pbeesly by (uid=0)

pam_access가 작동하지 않는 이유를 이해할 수 없습니다. 어쩌면 여기에 뭔가 빠졌을 수도 있지만 저는 시스템 관리를 처음 접했습니다. 어떤 도움이라도 대단히 감사하겠습니다!

관련 정보