9.8. GSSAPI 인증 활성화 및 IdM 클라이언트에서 sudo에 대한 Kerberos 인증 표시기 적용


pam_sss_gss.so PAM 모듈을 통해 sudosudo -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 = sudo:pkinit 를 사용하여 sudo 액세스를 제한하려는 경우 IdM LDAP에 저장된 사용자에게만 이 제한을 적용할 수 있습니다. Active Directory에 저장된 것과 같은 다른 위치에서 사용자에게 발행된 티켓은 현재 pam_gssapi_ Cryostats_map = sudo:pkinit 조건을 충족할 수 없습니다.

사전 요구 사항

  • IdM 호스트에 적용되는 IdM 사용자에 대한 sudo 규칙을 생성했습니다. 이 예제에서는 idm_user 계정에 idm_ sbin/reboot 명령을 실행할 수 있는 권한을 부여하는 idm _user_ reboot sudo 규칙을 생성했습니다.
  • idmclient 호스트에 대해 스마트 카드 인증을 구성했습니다.
  • idmclient 호스트는 RHEL 8.4 이상을 실행하고 있습니다.
  • /etc/ pam.d / 디렉토리에서 /etc/sssd/sssd.conf 파일과 PAM 파일을 수정하려면 root 권한이 필요합니다.

절차

  1. /etc/sssd/sssd.conf 구성 파일을 엽니다.
  2. [domain/ <idm_domain_name> ] 섹션에 다음 항목을 추가합니다.

    [domain/<idm_domain_name>]
    pam_gssapi_services = sudo, sudo-i
    pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinit
    Copy to Clipboard Toggle word wrap
  3. /etc/sssd/sssd.conf 파일을 저장하고 닫습니다.
  4. SSSD 서비스를 다시 시작하여 구성 변경 사항을 로드합니다.

    [root@idmclient ~]# systemctl restart sssd
    Copy to Clipboard Toggle word wrap
  5. RHEL 8.8 이상에서 다음을 수행합니다.

    1. sssd authselect 프로필을 선택했는지 확인합니다.

      # authselect current
      Profile ID: sssd
      Copy to Clipboard Toggle word wrap
    2. 선택 사항: sssd authselect 프로필을 선택합니다.

      # authselect select sssd
      Copy to Clipboard Toggle word wrap
    3. GSSAPI 인증을 활성화합니다.

      # authselect enable-feature with-gssapi
      Copy to Clipboard Toggle word wrap
    4. 스마트 카드로 사용자만 인증하도록 시스템을 구성합니다.

      # authselect with-smartcard-required
      Copy to Clipboard Toggle word wrap
  6. RHEL 8.7 또는 이전 버전에서 다음을 수행합니다.

    1. /etc/pam.d/sudo PAM 구성 파일을 엽니다.
    2. 다음 항목을 /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
      Copy to Clipboard Toggle word wrap
    3. /etc/pam.d/sudo 파일을 저장하고 닫습니다.
    4. /etc/pam.d/sudo-i PAM 구성 파일을 엽니다.
    5. 다음 항목을 /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
      Copy to Clipboard Toggle word wrap
    6. /etc/pam.d/sudo-i 파일을 저장하고 닫습니다.

검증

  1. idm_user 계정으로 호스트에 로그인하고 스마트 카드로 인증합니다.

    [root@idmclient ~]# ssh -l idm_user@idm.example.com localhost
    PIN for smart_card
    Copy to Clipboard Toggle word wrap
  2. 스마트 카드 사용자로 티켓이 제공된지 확인합니다.

    [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
    Copy to Clipboard Toggle word wrap
  3. 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
    Copy to Clipboard Toggle word wrap
  4. 암호를 지정하지 않고 sudo 를 사용하여 시스템을 재부팅합니다.

    [idm_user@idmclient ~]$ sudo /usr/sbin/reboot
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat