20.8. IdM 클라이언트에서 sudo에 대한 GSSAPI 인증 활성화 및 적용
pam_sss_gss.so
PAM 모듈을 통해 sudo
및 sudo -i
명령에 대해 IdM 클라이언트에서 GSSAPI(Generic Security Service Application Program Interface) 인증을 활성화합니다. 또한 스마트 카드로 로그인한 사용자만 Kerberos 티켓을 사용하여 해당 명령에 대해 인증합니다.
이 절차를 템플릿으로 사용하여 다른 PAM 인식 서비스에 대해 SSSD를 사용하여 GSSAPI 인증을 구성하고, Kerberos 티켓에 연결된 특정 인증 지표가 있는 사용자만 액세스를 제한할 수 있습니다.
사전 요구 사항
-
IdM 호스트에 적용되는 IdM 사용자에 대한
sudo
규칙을 생성했습니다. 이 예제에서는idm_user_reboot
sudo
규칙을 생성하여idm_user
계정에idmclient
호스트에서/usr/sbin/reboot
명령을 실행할 수 있는 권한을 부여합니다. -
idmclient
호스트에 대한 스마트 카드 인증을 구성했습니다. -
/etc/sssd/sssd.conf
파일과 PAM 파일을/etc/pam.d/
디렉토리에서 수정하려면root
권한이 필요합니다.
절차
-
/etc/sssd/sssd.conf
설정 파일을 엽니다. [domain/ <domain_name> ]
섹션에 다음 항목을 추가합니다.[domain/<domain_name>] pam_gssapi_services = sudo, sudo-i pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinit
-
/etc/sssd/sssd.conf
파일을 저장하고 닫습니다. SSSD 서비스를 다시 시작하여 구성 변경 사항을 로드합니다.
[root@idmclient ~]# systemctl restart sssd
RHEL 9.2 이상에서 다음을 수행합니다.
sssd
authselect
프로필을 선택했는지 확인합니다.# authselect current Profile ID: sssd
선택 사항:
sssd
authselect
프로필을 선택합니다.# authselect select sssd
GSSAPI 인증을 활성화합니다.
# authselect enable-feature with-gssapi
스마트 카드로 사용자만 인증하도록 시스템을 구성합니다.
# authselect with-smartcard-required
RHEL 9.1 또는 이전 버전:
-
/etc/pam.d/sudo
PAM 구성 파일을 엽니다. 다음 항목을
/etc/pam.d/sudo
파일에서auth
섹션의 첫 번째 행으로 추가합니다.#%PAM-1.0 auth sufficient pam_sss_gss.so auth include system-auth account include system-auth password include system-auth session include system-auth
-
/etc/pam.d/sudo
파일을 저장하고 종료합니다. -
/etc/pam.d/sudo-i
PAM 구성 파일을 엽니다. 다음 항목을
/etc/pam.d/sudo-i
파일에 있는auth
섹션의 첫 번째 행으로 추가합니다.#%PAM-1.0 auth sufficient pam_sss_gss.so auth include sudo account include sudo password include sudo session optional pam_keyinit.so force revoke session include sudo
-
/etc/pam.d/sudo-i
파일을 저장하고 닫습니다.
-
검증
idm_user
계정으로 호스트에 로그인하고 스마트 카드로 인증합니다.[root@idmclient ~]# ssh -l idm_user@idm.example.com localhost PIN for smart_card
스마트 카드 사용자로 티켓팅 티켓이 있는지 확인합니다.
[idm_user@idmclient ~]$ klist Ticket cache: KEYRING:persistent:1358900015:krb_cache_TObtNMd Default principal: idm_user@IDM.EXAMPLE.COM Valid starting Expires Service principal 02/15/2021 16:29:48 02/16/2021 02:29:48 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM renew until 02/22/2021 16:29:44
idm_user
계정이 수행할 수 있는sudo
규칙을 표시합니다.[idm_user@idmclient ~]$ sudo -l Matching Defaults entries for idmuser on idmclient: !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY KRB5CCNAME", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin User idm_user may run the following commands on idmclient: (root) /usr/sbin/reboot
암호를 지정하지 않고
sudo
를 사용하여 시스템을 재부팅합니다.[idm_user@idmclient ~]$ sudo /usr/sbin/reboot
추가 리소스
- PAM 서비스의 GSSAPI 인증을 제어하는 SSSD 옵션
- IdM 용어 목록의 GSSAPI 항목
- 스마트 카드 인증을 위한 Identity Management 구성
- Kerberos 인증 지표
- IdM 웹 UI를 사용하여 IdM 클라이언트의 IdM 사용자에게 sudo 액세스 권한 부여
- CLI를 사용하여 IdM 클라이언트의 IdM 사용자에게 sudo 액세스 권한을 부여합니다.
-
pam_sss_gss(8)
도움말 페이지 -
sssd.conf (5)
도움말 페이지