9.8. GSSAPI 인증 활성화 및 IdM 클라이언트에서 sudo에 대한 Kerberos 인증 표시기 적용
pam_sss_gss.so PAM 모듈을 통해 sudo 및 sudo -i 와 같은 PAM 지원 서비스에 대해 IdM(Identity Management) 클라이언트에서 GSSAPI(Generic Security Service Application Program Interface) 인증을 활성화할 수 있습니다. 또한 스마트 카드로 로그인한 사용자만 Kerberos 티켓을 사용하여 해당 서비스에 인증할 수 있습니다.
이 절차를 템플릿으로 사용하여 다른 PAM 인식 서비스에 대해 SSSD를 사용하여 GSSAPI 인증을 구성하고, Kerberos 티켓에 특정 인증 표시기가 연결된 사용자에게만 액세스를 제한할 수 있습니다.
그러나 인증 지표를 사용하여 액세스를 제한하면 현재 다음 두 가지 제한 사항이 있습니다.
- MIT Kerberos를 기반으로 하는 배포만 인증 지표를 지원합니다. 이러한 배포에는 예를 들어 RHEL IdM, Fedora의 FreeIPA, Fedora의 Samba AD DC가 포함됩니다.
- 인증 표시기는 영역 경계에서 Kerberos 티켓에서 제거됩니다.
따라서 예를 들어 pam_gssapi_ Cryostats_map = 액세스를 제한하려는 경우 IdM LDAP에 저장된 사용자에게만 이 제한을 적용할 수 있습니다. Active Directory에 저장된 것과 같은 다른 위치에서 사용자에게 발행된 티켓은 현재 sudo:pkinit 를 사용하여 sudopam_gssapi_ Cryostats_map = sudo:pkinit 조건을 충족할 수 없습니다.
사전 요구 사항
-
IdM 호스트에 적용되는 IdM 사용자에 대한
sudo규칙을 생성했습니다. 이 예제에서는idm_user 계정에 idm_sbin/reboot명령을 실행할 수 있는 권한을 부여하는idm_user_rebootsudo규칙을 생성했습니다. -
idmclient호스트에 대해 스마트 카드 인증을 구성했습니다. -
idmclient호스트는 RHEL 8.4 이상을 실행하고 있습니다. -
/etc/
pam.d파일과 PAM 파일을 수정하려면/ 디렉토리에서/etc/sssd/sssd.confroot권한이 필요합니다.
절차
-
/etc/sssd/sssd.conf구성 파일을 엽니다. [domain/ <idm_domain_name> ]섹션에 다음 항목을 추가합니다.[domain/<idm_domain_name>] pam_gssapi_services = sudo, sudo-i pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinit
[domain/<idm_domain_name>] pam_gssapi_services = sudo, sudo-i pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinitCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/sssd/sssd.conf파일을 저장하고 닫습니다. SSSD 서비스를 다시 시작하여 구성 변경 사항을 로드합니다.
systemctl restart sssd
[root@idmclient ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL 8.8 이상에서 다음을 수행합니다.
sssdauthselect프로필을 선택했는지 확인합니다.authselect current
# authselect current Profile ID: sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항:
sssdauthselect프로필을 선택합니다.authselect select sssd
# authselect select sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow GSSAPI 인증을 활성화합니다.
authselect enable-feature with-gssapi
# authselect enable-feature with-gssapiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스마트 카드로 사용자만 인증하도록 시스템을 구성합니다.
authselect with-smartcard-required
# authselect with-smartcard-requiredCopy to Clipboard Copied! Toggle word wrap Toggle overflow
RHEL 8.7 또는 이전 버전에서 다음을 수행합니다.
-
/etc/pam.d/sudoPAM 구성 파일을 엽니다. 다음 항목을
/etc/pam.d/sudo파일에 있는auth섹션의 첫 번째 행으로 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/pam.d/sudo파일을 저장하고 닫습니다. -
/etc/pam.d/sudo-iPAM 구성 파일을 엽니다. 다음 항목을
/etc/pam.d/sudo-i파일에 있는auth섹션의 첫 행으로 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/pam.d/sudo-i파일을 저장하고 닫습니다.
-
검증
idm_user계정으로 호스트에 로그인하고 스마트 카드로 인증합니다.ssh -l idm_user@idm.example.com localhost
[root@idmclient ~]# ssh -l idm_user@idm.example.com localhost PIN for smart_cardCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스마트 카드 사용자로 티켓이 제공된지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow idm_user계정이 수행할 수 있는sudo규칙을 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 암호를 지정하지 않고
sudo를 사용하여 시스템을 재부팅합니다.sudo /usr/sbin/reboot
[idm_user@idmclient ~]$ sudo /usr/sbin/rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow