스마트 카드 인증 관리
스마트 카드 인증 구성 및 사용
초록
Red Hat 문서에 관한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
문서에 대한 피드백에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.
Jira를 통해 피드백 제출 (등록 필요)
- Jira 웹 사이트에 로그인합니다.
- 상단 탐색 모음에서 생성 을 클릭합니다.
- Summary (요약) 필드에 설명 제목을 입력합니다.
- Description (설명) 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
- 대화 상자 하단에서 생성 을 클릭합니다.
1장. 스마트 카드 인증 이해 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 기반으로 하는 인증은 암호에 대한 대안입니다. 개인 키와 인증서의 형태로 스마트 카드에 사용자 자격 증명을 저장할 수 있으며 특수 소프트웨어 및 하드웨어를 사용하여 액세스할 수 있습니다. 스마트 카드를 리더 또는 USB 포트에 저장하고 암호를 제공하는 대신 스마트 카드의 PIN 코드를 제공합니다.
이 섹션에서는 스마트 카드가 무엇인지와 스마트 카드 인증이 작동하는 방식을 설명합니다. 스마트 카드 콘텐츠를 읽고 조작하는 데 사용할 수 있는 도구를 설명합니다. 또한 샘플 사용 사례를 제공하고 스마트 카드 인증을 위한 IdM 서버와 IdM 클라이언트 둘 다의 설정에 대해 설명합니다.
스마트 카드 인증 사용을 시작하려면 하드웨어 요구 사항을 참조하십시오. RHEL8의 스마트 카드 지원.
1.1. 스마트 카드란 무엇인가? 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드는 물리적 장치이며 일반적으로 카드에 저장된 인증서를 사용하여 개인 인증을 제공할 수 있는 마이크로프로세서가 있는 비결제 카드입니다. 개인 인증은 사용자 암호와 동일한 방식으로 스마트 카드를 사용할 수 있음을 의미합니다.
개인 키와 인증서의 형태로 스마트 카드에 사용자 자격 증명을 저장할 수 있으며 특수 소프트웨어 및 하드웨어를 사용하여 액세스 할 수 있습니다. 스마트 카드를 리더나 USB 소켓에 배치하고 암호를 제공하는 대신 스마트 카드의 PIN 코드를 제공합니다.
1.2. 지원되는 스마트 카드 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux에서 지원하는 카드 유형은 4가지로, Red Hat Enterprise Linux는 C#, CAC, PIV, PKCS #15입니다. 카드 유형 간의 차이점에 대한 자세한 내용은 해당 문서를 참조하십시오.
Red Hat Enterprise Linux에서는 다음과 같은 유형의 스마트 카드가 지원됩니다.
Coolkey fisht가 있는 카드:
- Gemalto Cryostat IM FIPS CY2 64K 토큰 (SCP01)
- Gies#159e & Devrient (G&D) SmartCafe Cryostat 7.0 (SCP03)
- SecureNet Assured Technologies SC-650 (SCP01)
- CAC 및 PIV 스마트 카드 자세한 내용은 Federal employees 및 Contractors (PIV)의 개인 ID확인을 참조하십시오.
- 선택한 PKCS #15 카드도 지원됩니다. 이 제품군의 여러 카드가 지원되지만 이러한 카드에 대한 다양한 구성과 옵션이 있습니다. RHEL과 호환되는 카드에 대한 자세한 내용은 고객 담당자에게 문의하십시오.
- 또한 Red Hat의 재량에 따라 다른 카드도 지원할 수 있습니다. 지원되는 다른 카드에 대한 자세한 내용은 고객 담당자에게 문의하십시오.
하드웨어 요구 사항에 대한 자세한 내용은 RHEL 8 이상에서 스마트 카드 지원을 참조하십시오.
1.2.1. 지원되는 스마트 카드 리더 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux에서 지원되는 스마트 카드 리더는 pcsc-lite 업스트림 프로젝트를 따릅니다. 대부분의 CCID 호환 독자는 문제 없이 작동해야 합니다. Red Hat은 업스트림 프로젝트의 USB 식별자를 pcsc-lite-ccid 드라이버로 주기적으로 업데이트합니다. 또한 추가 독자는 Red Hat의 재량에 따라 지원을 받을 수 있습니다. 다음 스마트 카드 리더 목록은 Red Hat에서 테스트하고 검증합니다.
- SCR331/SCR3310
- Omnikey 3121 (SC650 카드의 경우 부분 번호 R31210399 여야 함)
업스트림 프로젝트에서 지원되는 하드웨어 목록은 지원되는 CCID 리더/ICCD 토큰을 참조하십시오.
1.3. 지원되는 하드웨어 보안 모듈 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에는 Red Hat IdM(Identity Management)에서 지원하는 HSM(Hardware Security Modules)이 나열되어 있습니다.
| HSM | 펌웨어 | 어플라이언스 소프트웨어 | 클라이언트 소프트웨어 |
|---|---|---|---|
| nCipher nShield Connect XC (High) | nShield_HSM_Firmware-12.72.1 | 12.71.0 | SecWorld_Lin64-12.71.0 |
| Thales TCT Luna Network HSM Luna-T7 | lunafw_update-7.11.1-4 | 7.11.0-25 | 610-500244-001_LunaClient-7.11.1-5 |
1.4. 스마트 카드 인증이란? 링크 복사링크가 클립보드에 복사되었습니다!
공개 키 기반 인증 및 인증서 기반 인증은 암호 기반 인증에 널리 사용되는 두 가지 대안입니다. ID는 암호 대신 공개 및 개인 키를 사용하여 확인됩니다. 인증서는 개인, 서버, 회사 또는 기타 개체를 식별하고 해당 ID를 공개 키와 연결하는 데 사용되는 전자 문서입니다. 드라이버의 라이센스 또는 패스와 마찬가지로, 인증서는 일반적으로 사람의 신원에 대한 증명으로 인식됩니다. 공개 키 암호화는 인증서를 사용하여 가장 문제를 해결합니다.
스마트 카드 인증의 경우 사용자 자격 증명(공개 및 개인 키 및 인증서)은 스마트 카드에 저장되며 스마트 카드가 reader에 삽입되고 Pin이 제공된 후에만 사용할 수 있습니다. 물리적 장치, 스마트 카드 및 해당 Pin을 알아야 하는 경우 스마트 카드 인증은 두 가지 인증 유형으로 간주됩니다.
1.4.1. IdM의 스마트 카드 인증 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 IdM에서 스마트 카드를 사용하는 방법에 대한 두 가지 간단한 시나리오를 설명합니다.
1.4.1.1. 스마트 카드를 사용하여 시스템에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 사용하여 로컬 사용자로 RHEL 시스템에 인증할 수 있습니다. 시스템이 스마트 카드 로그인을 적용하도록 구성된 경우 스마트 카드를 삽입하고 해당 DVD를 입력하라는 메시지가 표시되면 시스템에 로그인할 수 없습니다. 또는 스마트 카드 인증 또는 사용자 이름과 암호를 사용하여 인증하도록 시스템을 구성할 수 있습니다. 이 경우 스마트 카드가 삽입되지 않은 경우 사용자 이름과 암호를 입력하라는 메시지가 표시됩니다.
1.4.1.2. 제거 잠금을 사용하여 GDM에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 시스템에서 스마트 카드 인증을 구성한 경우 잠금 제거 기능을 활성화할 수 있습니다. GDM(GNOME Display Manager)에 로그인한 후 스마트 카드를 제거하면 화면 잠금이 활성화되고 스마트 카드를 다시 삽입하여 화면 잠금을 해제하려면 StorageClass로 인증해야 합니다. 사용자 이름과 암호를 사용하여 인증할 수 없습니다.
GDM에 로그인한 후 스마트 카드를 제거하면 화면 잠금이 활성화되므로 스마트 카드를 다시 삽입하여 화면 잠금을 해제하려면 PIN으로 인증해야 합니다.
1.5. RHEL의 스마트 카드 인증 옵션 링크 복사링크가 클립보드에 복사되었습니다!
authselect 명령인 authselect enable-feature <smartcard_option >를 사용하여 특정 IdM(Identity Management) 클라이언트에서 스마트 카드 인증이 작동하는 방법을 구성할 수 있습니다. 다음과 같은 스마트 카드 옵션을 사용할 수 있습니다.
-
with-smartcard: 사용자는 사용자 이름 및 암호로 또는 스마트 카드로 인증할 수 있습니다. with-smartcard-required: 사용자는 스마트 카드로 인증할 수 있으며 암호 인증은 비활성화되어 있습니다. 스마트 카드 없이는 시스템에 액세스 할 수 없습니다. 스마트 카드로 인증되면 스마트 카드가 리더로부터 제거된 경우에도 로그인 상태를 유지할 수 있습니다.참고with-smartcard-required옵션은 로그인 ,gdm,xdm,xscreensaver,gnome-screensaver와 같은로그인서비스에 대해서만 독점 스마트 카드 인증을 적용합니다. 사용자를 전환하는su또는sudo와 같은 다른 서비스의 경우 스마트 카드 인증이 적용되지 않으며 스마트 카드가 삽입되지 않은 경우 암호를 입력하라는 메시지가 표시됩니다.with-smartcard-lock-on-removal: 사용자는 스마트 카드로 인증할 수 있습니다. 그러나 독자에서 스마트 카드를 제거하면 시스템이 자동으로 잠깁니다. 암호 인증은 사용할 수 없습니다.참고with-smartcard-lock-on-removal옵션은 GNOME 데스크탑 환경의 시스템에서만 작동합니다.tty또는 콘솔 기반 시스템을 사용하고 있으며 리더에서 스마트 카드를 제거하는 경우 시스템에서 자동으로 잠기지 않습니다.
자세한 내용은 authselect를 사용하여 스마트 카드 구성을 참조하십시오.
1.6. 스마트 카드 및 콘텐츠를 관리하는 툴 링크 복사링크가 클립보드에 복사되었습니다!
다양한 도구를 사용하여 스마트 카드에 저장된 키와 인증서를 관리할 수 있습니다. 다음 도구를 사용하여 다음을 수행할 수 있습니다.
- 시스템에 연결된 사용 가능한 스마트 카드 리더 나열.
- 사용 가능한 스마트 카드를 나열하고 콘텐츠를 봅니다.
- 스마트 카드 콘텐츠를 조작합니다. 키 및 인증서입니다.
유사한 기능을 제공하지만 시스템의 다른 계층에서 작동하는 많은 도구가 있습니다. 스마트 카드는 여러 구성 요소에 의해 여러 계층에서 관리됩니다. 낮은 수준에서 운영 체제는 PC/SC 프로토콜을 사용하여 스마트 카드 리더와 통신하며 이 통신은 pcsc-lite 데몬에 의해 처리됩니다. 데몬은 일반적으로 USB를 통해 수신된 명령을 스마트 카드 리더에 전달하며, 이는 낮은 수준의 CCID 드라이버에서 처리합니다. PC/SC 하위 수준 통신이 애플리케이션 수준에 거의 표시되지 않습니다. RHEL의 애플리케이션이 스마트 카드에 액세스하기 위한 기본 방법은 더 높은 수준의 API(애플리케이션 프로그래밍 인터페이스), OASIS PKCS#11 API를 통해 카드 통신을 암호화 개체(예: 개인 키)에서 작동하는 특정 명령에 추상화하는 것입니다. 스마트 카드 벤더는 PKCS#11 API를 따르는 .so 파일과 같은 공유 모듈을 제공하며 스마트 카드의 드라이버 역할을 합니다.
다음 도구를 사용하여 스마트 카드와 콘텐츠를 관리할 수 있습니다.
OpenSC 툴:
opensc에서 구현된 드라이버와 함께 작동합니다.-
OpenSC-tool: 스마트 카드 작업을 수행합니다. -
pkcs15-tool: 토큰에 저장된 PINs, 키 및 인증서 나열 및 읽기와 같은 스마트 카드에서 PKCS#15 데이터 구조를 관리합니다. -
pkcs11-tool: 토큰에 저장된 인증서 나열 및 읽기와 같은 스마트 카드에서 PKCS#11 데이터 오브젝트를 관리합니다.
-
gnutls utils: 애플리케이션이 네트워크 전송 계층을 통해 보안 통신을 가능하게 하고 X.509, PKCS#12, OpenPGP 및 기타 구조에 액세스할 수 있는 인터페이스를 제공합니다.
-
p11tool: PKCS#11 스마트 카드 및 보안 모듈에서 작업을 수행합니다. -
certtool: X.509 인증서, 요청 및 개인 키를 구문 분석하고 생성합니다.
-
NSS(Network Security Services) 도구: 보안 지원 클라이언트 및 서버 애플리케이션의 플랫폼 간 개발을 지원하도록 설계된 라이브러리 세트입니다. NSS로 빌드된 애플리케이션은 SSL v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 인증서 및 기타 보안 표준을 지원할 수 있습니다.
-
modutil: 보안 모듈 데이터베이스를 사용하여 PKCS#11 모듈 정보를 관리합니다. -
certutil: NSS 데이터베이스와 기타 NSS 토큰 모두에서 키와 인증서를 관리합니다.
-
이러한 툴을 사용하여 스마트 카드 사용 인증 문제를 해결하는 방법에 대한 자세한 내용은 스마트 카드로 인증 문제 해결을 참조하십시오.
1.7. 인증서 및 스마트 카드 인증 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management) 또는 AD(Active Directory)를 사용하여 도메인의 ID 저장소, 인증, 정책 및 권한 부여 정책을 관리하는 경우 각각 IdM 또는 AD에서 인증에 사용되는 인증서가 생성됩니다. 외부 인증 기관에서 제공하는 인증서를 사용할 수도 있으며 이 경우 외부 공급자의 인증서를 수락하도록 Active Directory 또는 IdM을 구성해야 합니다. 사용자가 도메인에 속하지 않은 경우 로컬 인증 기관에서 생성한 인증서를 사용할 수 있습니다. 자세한 내용은 다음 섹션을 참조하십시오.
스마트 카드 인증을 받을 수 있는 전체 인증서 목록은 스마트 카드를 사용할 수 있는 인증서를 참조하십시오.
1.8. IdM에서 스마트 카드 인증에 필요한 단계 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management)에서 스마트 카드로 인증하려면 다음 단계를 따라야 합니다.
- 스마트 카드 인증을 위해 IdM 서버를 구성합니다. 스마트 카드 인증을 위한 IdM 서버 구성을참조하십시오.
- 스마트 카드 인증을 위해 IdM 클라이언트를 구성합니다. 스마트 카드 인증을 위한 IdM 클라이언트 구성을참조하십시오.
- IdM의 사용자 항목에 인증서를 추가합니다. IdM 웹 UI의 사용자 항목에 인증서 추가를참조하십시오.
- 키와 인증서를 스마트 카드에 저장하십시오. 스마트 카드의 인증서 저장을참조하십시오.
1.9. Active Directory에서 발급한 인증서가 있는 스마트 카드 인증에 필요한 단계 링크 복사링크가 클립보드에 복사되었습니다!
AD(Active Directory)에서 발급한 인증서로 스마트 카드를 인증하려면 먼저 다음 단계를 수행해야 합니다.
2장. 스마트 카드 인증을 위한 ID 관리 구성 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management)은 다음을 사용하여 스마트 카드 인증을 지원합니다.
- IdM 인증 기관에서 발급한 사용자 인증서
- 외부 인증 기관에서 발급한 사용자 인증서
두 가지 유형의 인증서에 대해 IdM에서 스마트 카드 인증을 구성할 수 있습니다. 이 시나리오에서 rootca.pem CA 인증서는 신뢰할 수 있는 외부 인증 기관의 인증서를 포함하는 파일입니다.
현재 IdM은 동일한 Subject Distinguished Name(DN)을 공유하는 여러 CA 가져오기를 지원하지 않지만 암호화 방식으로 다릅니다.
2.1. 스마트 카드 인증을 위해 IdM 서버 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 IdM(Identity Management) CA가 신뢰하는 <EXAMPLE.ORG> 도메인의 CA(인증 기관)에서 발급한 인증서에 대해 스마트 카드 인증을 활성화하는 방법을 설명합니다.
사전 요구 사항
- IdM 서버에 대한 루트 액세스 권한이 있습니다.
루트 CA 인증서와 모든 중간 CA 인증서가 있습니다.
- <EXAMPLE.ORG> CA 인증서를 직접 발급했거나 하위 CA 중 하나 이상을 통해 발급한 루트 CA의 인증서입니다. 기관에서 인증서를 발급한 웹 페이지에서 인증서 체인을 다운로드할 수 있습니다. 자세한 내용은 인증서 인증을 사용하도록 브라우저 구성에서 1-4a 단계를 참조하십시오.
-
IdM CA 인증서입니다. IdM CA 인스턴스가 실행 중인 IdM 서버의
/etc/ipa/ca.crt파일에서 CA 인증서를 가져올 수 있습니다. - 모든 중간 CA의 인증서입니다. 즉 <EXAMPLE.ORG> CA와 IdM CA 사이입니다.
절차
설정을 수행할 디렉터리를 생성합니다.
mkdir ~/SmartCard/
[root@server]# mkdir ~/SmartCard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리로 이동합니다.
cd ~/SmartCard/
[root@server]# cd ~/SmartCard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow PEM 형식의 파일에 저장된 관련 CA 인증서를 가져옵니다. CA 인증서가 DER와 같은 다른 형식의 파일에 저장된 경우 이를 PEM 형식으로 변환합니다. IdM 인증 기관 인증서는 PEM 형식이며
/etc/ipa/ca.crt파일에 있습니다.DER 파일을 PEM 파일로 변환합니다.
openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM
# openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 편의를 위해 구성을 수행하려는 디렉터리에 인증서를 복사합니다.
cp /tmp/rootca.pem ~/SmartCard/ cp /tmp/subca.pem ~/SmartCard/ cp /tmp/issuingca.pem ~/SmartCard/
[root@server SmartCard]# cp /tmp/rootca.pem ~/SmartCard/ [root@server SmartCard]# cp /tmp/subca.pem ~/SmartCard/ [root@server SmartCard]# cp /tmp/issuingca.pem ~/SmartCard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 외부 인증 기관의 인증서를 사용하는 경우
openssl x509유틸리티를 사용하여PEM형식의 파일 내용을 보고발급자 및주체값이 올바른지 확인합니다.openssl x509 -noout -text -in rootca.pem | more
[root@server SmartCard]# openssl x509 -noout -text -in rootca.pem | moreCopy to Clipboard Copied! Toggle word wrap Toggle overflow 관리자 권한을 사용하여 기본 제공
ipa-advise유틸리티로 구성 스크립트를 생성합니다.kinit admin ipa-advise config-server-for-smart-card-auth > config-server-for-smart-card-auth.sh
[root@server SmartCard]# kinit admin [root@server SmartCard]# ipa-advise config-server-for-smart-card-auth > config-server-for-smart-card-auth.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow config-server-for-smart-card-auth.sh스크립트는 다음 작업을 수행합니다.- IdM Apache HTTP 서버를 구성합니다.
- KDC(키 배포 센터)에서 Kerberos(PKINIT)의 초기 인증에 대한 공개 키 암호화를 활성화합니다.
- 스마트 카드 권한 부여 요청을 수락하도록 IdM 웹 UI를 구성합니다.
스크립트를 실행하여 루트 CA 및 하위 CA 인증서를 포함하는 PEM 파일을 인수로 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고루트 CA 인증서를 하위 CA 인증서 전에 인수로 추가하고 CA 또는 하위 CA 인증서가 만료되지 않았는지 확인합니다.
선택 사항: 사용자 인증서를 발급한 인증 기관이 OCSP(Online Certificate Status Protocol) 응답자를 제공하지 않는 경우 IdM 웹 UI에 대한 인증을 위해 OCSP 검사를 비활성화해야 할 수 있습니다.
/etc/httpd/conf.d/ssl.conf 파일에서SSLOCSPEnable매개변수를off로 설정합니다.SSLOCSPEnable off
SSLOCSPEnable offCopy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 즉시 적용하려면 Apache 데몬(httpd)을 다시 시작하십시오.
systemctl restart httpd
[root@server SmartCard]# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
주의IdM CA에서 발급한 사용자 인증서만 사용하는 경우 OCSP 검사를 비활성화하지 마십시오. OCSP 응답자는 IdM의 일부입니다.
OCSP 검사를 계속 활성화하는 방법에 대한 지침이 있지만 사용자 인증서가 OCSP 서비스 요청을 수신 대기하는 CA에 대한 정보가 포함되지 않은 경우 IdM 서버가 사용자 인증서를 거부하지 않는 경우 Apache mod_ssl 구성 옵션의
SSLOCSPDefaultResponder지시문을 참조하십시오.
이제 서버는 스마트 카드 인증을 위해 구성됩니다.
전체 토폴로지에서 스마트 카드 인증을 사용하려면 각 IdM 서버에서 절차를 실행합니다.
2.2. Ansible을 사용하여 스마트 카드 인증을 위해 IdM 서버 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 IdM(Identity Management) CA가 신뢰하는 <EXAMPLE.ORG> 도메인의 인증 기관(CA)이 발급한 인증서에 대해 Ansible을 사용하여 스마트 카드 인증을 활성화합니다.
사전 요구 사항
-
IdM 서버에 대한
root액세스 권한이 있어야 합니다. -
IdM
관리자암호를 알고 있습니다. 루트 CA 인증서, IdM CA 인증서 및 모든 중간 CA 인증서가 있습니다.
- <EXAMPLE.ORG> CA 인증서를 직접 발급했거나 하위 CA 중 하나 이상을 통해 발급한 루트 CA의 인증서입니다. 기관에서 인증서를 발급한 웹 페이지에서 인증서 체인을 다운로드할 수 있습니다. 자세한 내용은 Configuring a browser to enable certificate authentication 을 참조하십시오.
-
IdM CA 인증서입니다. IdM CA 서버의
/etc/ipa/ca.crt파일에서 CA 인증서를 가져올 수 있습니다. - <EXAMPLE.ORG> CA와 IdM CA 사이에 있는 모든 CA의 인증서입니다.
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.13 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password를 저장하는 것으로 가정합니다.
-
ansible-freeipa모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
절차
CA 인증서가
DER와 같은 다른 형식의 파일에 저장된 경우PEM형식으로 변환합니다.openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM
# openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEMCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 인증 기관 인증서는
PEM형식이며/etc/ipa/ca.crt파일에 있습니다.선택 사항:
openssl x509유틸리티를 사용하여PEM형식의 파일 내용을 보고발급자 및주체값이 올바른지 확인합니다.openssl x509 -noout -text -in root-ca.pem | more
# openssl x509 -noout -text -in root-ca.pem | moreCopy to Clipboard Copied! Toggle word wrap Toggle overflow ~/MyPlaybook/ 디렉토리로 이동합니다.
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA 인증서 전용 하위 디렉터리를 생성합니다.
mkdir SmartCard/
$ mkdir SmartCard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 편의를 위해 필요한 모든 인증서를 ~/MyPlaybook/SmartCard/ 디렉터리에 복사합니다.
cp /tmp/root-ca.pem ~/MyPlaybooks/SmartCard/ cp /tmp/intermediate-ca.pem ~/MyPlaybooks/SmartCard/ cp /etc/ipa/ca.crt ~/MyPlaybooks/SmartCard/ipa-ca.crt
# cp /tmp/root-ca.pem ~/MyPlaybooks/SmartCard/ # cp /tmp/intermediate-ca.pem ~/MyPlaybooks/SmartCard/ # cp /etc/ipa/ca.crt ~/MyPlaybooks/SmartCard/ipa-ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 인벤토리 파일에서 다음을 지정합니다.
- 스마트 카드 인증을 위해 구성할 IdM 서버입니다.
- IdM 관리자 암호입니다.
다음 순서로 CA 인증서의 경로입니다.
- 루트 CA 인증서 파일
- 중간 CA 인증서 파일
- IdM CA 인증서 파일
파일은 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여
install-smartcard-server.yml플레이북을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 파일을 저장합니다.
Ansible 플레이북을 실행합니다. Playbook 파일, secret.yml 파일을 보호하는 암호를 저장하는 파일, 인벤토리 파일을 지정합니다.
ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-server.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-server.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ipasmartcard_serverAnsible 역할은 다음 작업을 수행합니다.- IdM Apache HTTP 서버를 구성합니다.
- KDC(키 배포 센터)에서 Kerberos(PKINIT)의 초기 인증에 대한 공개 키 암호화를 활성화합니다.
- 스마트 카드 권한 부여 요청을 수락하도록 IdM 웹 UI를 구성합니다.
선택 사항: 사용자 인증서를 발급한 인증 기관이 OCSP(Online Certificate Status Protocol) 응답자를 제공하지 않는 경우 IdM 웹 UI에 대한 인증을 위해 OCSP 검사를 비활성화해야 할 수 있습니다.
root로 IdM 서버에 연결합니다.ssh root@ipaserver.idm.example.com
ssh root@ipaserver.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/httpd/conf.d/ssl.conf 파일에서SSLOCSPEnable매개변수를off로 설정합니다.SSLOCSPEnable off
SSLOCSPEnable offCopy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 즉시 적용하려면 Apache 데몬(httpd)을 다시 시작하십시오.
systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
주의IdM CA에서 발급한 사용자 인증서만 사용하는 경우 OCSP 검사를 비활성화하지 마십시오. OCSP 응답자는 IdM의 일부입니다.
OCSP 검사를 계속 활성화하는 방법에 대한 지침이 있지만 사용자 인증서가 OCSP 서비스 요청을 수신 대기하는 CA에 대한 정보가 포함되지 않은 경우 IdM 서버가 사용자 인증서를 거부하지 않는 경우 Apache mod_ssl 구성 옵션의
SSLOCSPDefaultResponder지시문을 참조하십시오.
인벤토리 파일에 나열된 서버가 스마트 카드 인증을 위해 구성되어 있습니다.
전체 토폴로지에서 스마트 카드 인증을 활성화하려면 Ansible 플레이북의 hosts 변수를 ipacluster 로 설정합니다.
--- - name: Playbook to setup smartcard for IPA server and replicas hosts: ipacluster [...]
---
- name: Playbook to setup smartcard for IPA server and replicas
hosts: ipacluster
[...]
2.3. 스마트 카드 인증을 위해 IdM 클라이언트 구성 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드 인증을 위해 IdM 클라이언트를 구성할 수 있습니다. 인증을 위해 스마트 카드를 사용하는 동안 연결하려는 각 IdM 시스템, 클라이언트 또는 서버에서 절차를 실행해야 합니다. 예를 들어 호스트 A에서 호스트 B로의 ssh 연결을 활성화하려면 스크립트를 호스트 B에서 실행해야 합니다.
관리자는 을 사용하여 스마트 카드 인증을 활성화하려면 다음 절차를 실행합니다.
ssh프로토콜자세한 내용은 스마트 카드 인증을 사용하여 SSH 액세스 구성 을 참조하십시오.
- 콘솔 로그인
- GNOME 디스플레이 관리자(GDM)
-
su명령
이 절차는 IdM 웹 UI를 인증하는 데 필요하지 않습니다. IdM 웹 UI에 인증에는 두 개의 호스트가 있으며, 둘 다 IdM 클라이언트여야 합니다.
- 브라우저가 실행 중인 시스템입니다. 시스템이 IdM 도메인 외부에 있을 수 있습니다.
-
httpd가 실행 중인 IdM 서버입니다.
다음 절차에서는 IdM 서버가 아닌 IdM 클라이언트에서 스마트 카드 인증을 구성한다고 가정합니다. 따라서 구성 스크립트를 생성하는 IdM 서버와 스크립트를 실행할 IdM 클라이언트라는 두 대의 컴퓨터가 필요합니다.
사전 요구 사항
- 스마트 카드 인증을 위해 IdM 서버 구성에 설명된 대로 IdM 서버가 스마트 카드 인증을 위해 구성되어 있습니다.
- IdM 서버와 IdM 클라이언트에 루트 액세스 권한이 있습니다.
- 루트 CA 인증서와 모든 중간 CA 인증서가 있습니다.
-
원격 사용자가 성공적으로 로그인할 수
있도록 mkhomedir옵션을 사용하여 IdM 클라이언트를 설치했습니다. 홈 디렉터리를 생성하지 않으면 기본 로그인 위치는 디렉터리 구조의 루트입니다./.
절차
IdM 서버에서 관리자 권한을 사용하여
ipa-advise로 구성 스크립트를 생성합니다.kinit admin ipa-advise config-client-for-smart-card-auth > config-client-for-smart-card-auth.sh
[root@server SmartCard]# kinit admin [root@server SmartCard]# ipa-advise config-client-for-smart-card-auth > config-client-for-smart-card-auth.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow config-client-for-smart-card-auth.sh스크립트는 다음 작업을 수행합니다.- 스마트 카드 데몬을 구성합니다.
- 시스템 전체 신뢰 저장소를 설정합니다.
- 사용자가 사용자 이름 및 암호 또는 스마트 카드로 인증할 수 있도록 SSSD(System Security Services Daemon)를 구성합니다. 스마트 카드 인증에 대한 SSSD 프로필 옵션에 대한 자세한 내용은 RHEL의 스마트 카드 인증 옵션을 참조하십시오.
IdM 서버에서 스크립트를 IdM 클라이언트 시스템에서 선택한 디렉터리에 복사합니다.
scp config-client-for-smart-card-auth.sh root@client.idm.example.com:/root/SmartCard/ Password: config-client-for-smart-card-auth.sh 100% 2419 3.5MB/s 00:00
[root@server SmartCard]# scp config-client-for-smart-card-auth.sh root@client.idm.example.com:/root/SmartCard/ Password: config-client-for-smart-card-auth.sh 100% 2419 3.5MB/s 00:00Copy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 서버에서 이전 단계에서 사용된 것과 동일한 디렉터리에 편의를 위해 PEM 형식으로 CA 인증서 파일을 복사합니다.
scp {rootca.pem,subca.pem,issuingca.pem} root@client.idm.example.com:/root/SmartCard/ Password: rootca.pem 100% 1237 9.6KB/s 00:00 subca.pem 100% 2514 19.6KB/s 00:00 issuingca.pem 100% 2514 19.6KB/s 00:00[root@server SmartCard]# scp {rootca.pem,subca.pem,issuingca.pem} root@client.idm.example.com:/root/SmartCard/ Password: rootca.pem 100% 1237 9.6KB/s 00:00 subca.pem 100% 2514 19.6KB/s 00:00 issuingca.pem 100% 2514 19.6KB/s 00:00Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클라이언트 시스템에서 스크립트를 실행하여 CA 인증서를 인수로 포함하는 PEM 파일을 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고루트 CA 인증서를 하위 CA 인증서 전에 인수로 추가하고 CA 또는 하위 CA 인증서가 만료되지 않았는지 확인합니다.
이제 클라이언트는 스마트 카드 인증을 위해 구성됩니다.
2.4. Ansible을 사용하여 스마트 카드 인증을 위해 IdM 클라이언트 구성 링크 복사링크가 클립보드에 복사되었습니다!
IdM 사용자가 스마트 카드로 인증할 수 있도록 ansible-freeipa ipasmartcard_client 모듈을 사용하여 특정 IdM(Identity Management) 클라이언트를 구성하려면 다음 절차를 따르십시오. 다음 절차를 실행하여 IdM에 액세스하는 데 다음을 사용하는 IdM 사용자의 스마트 카드 인증을 활성화합니다.
ssh프로토콜자세한 내용은 스마트 카드 인증을 사용하여 SSH 액세스 구성 을 참조하십시오.
- 콘솔 로그인
- GNOME 디스플레이 관리자(GDM)
-
su명령
이 절차는 IdM 웹 UI를 인증하는 데 필요하지 않습니다. IdM 웹 UI에 인증에는 두 개의 호스트가 있으며, 둘 다 IdM 클라이언트여야 합니다.
- 브라우저가 실행 중인 시스템입니다. 시스템이 IdM 도메인 외부에 있을 수 있습니다.
-
httpd가 실행 중인 IdM 서버입니다.
사전 요구 사항
- Ansible을 사용하여 스마트 카드 인증을 위해 IdM 서버를 구성하는 데 설명된 대로 IdM 서버는 스마트 카드 인증을 위해 구성되어 있습니다.
- IdM 서버와 IdM 클라이언트에 루트 액세스 권한이 있습니다.
- 루트 CA 인증서, IdM CA 인증서 및 모든 중간 CA 인증서가 있습니다.
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.13 이상을 사용하고 있습니다.
-
ansible-freeipa패키지가 설치되어 있습니다. - 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
-
이 예제에서는 secret.yml Ansible 자격 증명 모음이
ipaadmin_password를 저장하는 것으로 가정합니다.
-
ansible-freeipa모듈이 실행되는 노드인 대상 노드는 IdM 도메인의 일부인 IdM 클라이언트, 서버 또는 복제본입니다.
절차
CA 인증서가
DER와 같은 다른 형식의 파일에 저장된 경우PEM형식으로 변환합니다.openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM
# openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEMCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM CA 인증서는
PEM형식이며/etc/ipa/ca.crt파일에 있습니다.선택 사항:
openssl x509유틸리티를 사용하여PEM형식의 파일 내용을 보고발급자 및주체값이 올바른지 확인합니다.openssl x509 -noout -text -in root-ca.pem | more
# openssl x509 -noout -text -in root-ca.pem | moreCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 제어 노드에서 ~/MyPlaybook/ 디렉터리로 이동합니다.
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA 인증서 전용 하위 디렉터리를 생성합니다.
mkdir SmartCard/
$ mkdir SmartCard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 편의를 위해 필요한 모든 인증서를 ~/MyPlaybook/SmartCard/ 디렉터리에 복사합니다. 예를 들면 다음과 같습니다.
cp /tmp/root-ca.pem ~/MyPlaybooks/SmartCard/ cp /tmp/intermediate-ca.pem ~/MyPlaybooks/SmartCard/ cp /etc/ipa/ca.crt ~/MyPlaybooks/SmartCard/ipa-ca.crt
# cp /tmp/root-ca.pem ~/MyPlaybooks/SmartCard/ # cp /tmp/intermediate-ca.pem ~/MyPlaybooks/SmartCard/ # cp /etc/ipa/ca.crt ~/MyPlaybooks/SmartCard/ipa-ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 인벤토리 파일에서 다음을 지정합니다.
- 스마트 카드 인증을 위해 구성할 IdM 클라이언트입니다.
- IdM 관리자 암호입니다.
다음 순서로 CA 인증서의 경로입니다.
- 루트 CA 인증서 파일
- 중간 CA 인증서 파일
- IdM CA 인증서 파일
파일은 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여
install-smartcard-clients.yml플레이북을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 파일을 저장합니다.
Ansible 플레이북을 실행합니다. Playbook 및 인벤토리 파일을 지정합니다.
ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-clients.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory install-smartcard-clients.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ipasmartcard_clientAnsible 역할은 다음 작업을 수행합니다.- 스마트 카드 데몬을 구성합니다.
- 시스템 전체 신뢰 저장소를 설정합니다.
- 사용자가 사용자 이름 및 암호 또는 스마트 카드로 인증할 수 있도록 SSSD(System Security Services Daemon)를 구성합니다. 스마트 카드 인증에 대한 SSSD 프로필 옵션에 대한 자세한 내용은 RHEL의 스마트 카드 인증 옵션을 참조하십시오.
인벤토리 파일의 ipaclients 섹션에 나열된 클라이언트가 스마트 카드 인증을 위해 구성됩니다.
--mkhomedir 옵션을 사용하여 IdM 클라이언트를 설치한 경우 원격 사용자가 홈 디렉터리에 로그인할 수 있습니다. 그렇지 않으면 기본 로그인 위치는 디렉터리 구조의 루트입니다. /.
2.5. IdM 웹 UI의 사용자 항목에 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
IdM 웹 UI의 사용자 항목에 외부 인증서를 추가할 수 있습니다.
전체 인증서를 업로드하는 대신, 인증서 매핑 데이터를 IdM의 사용자 항목에 업로드할 수도 있습니다. 전체 인증서 또는 인증서 매핑 데이터를 포함하는 사용자 항목을 해당 인증서 매핑 규칙과 함께 사용하여 시스템 관리자를 위한 스마트 카드 인증 구성을 용이하게 할 수 있습니다. 자세한 내용은 인증 구성을 위한 인증서 매핑 규칙을 참조하십시오.
IdM 인증 기관에서 사용자 인증서를 발급한 경우 인증서가 이미 사용자 항목에 저장되어 있으며 이 절차를 따를 필요가 없습니다.
사전 요구 사항
- 사용자 항목에 추가할 인증서가 있습니다.
절차
- 다른 사용자에게 인증서를 추가하려면 IdM 웹 UI에 관리자로 로그인합니다. 자체 프로필에 인증서를 추가하는 데 관리자의 자격 증명이 필요하지 않습니다.
-
사용자 →→활성 사용자sc_user로 이동합니다. -
Certificate(인증서) 옵션을 찾아Add(추가)를 클릭합니다. 명령줄에서
cat유틸리티 또는 텍스트 편집기를 사용하여PEM형식으로 인증서를 표시합니다.cat testuser.crt
[user@client SmartCard]$ cat testuser.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow - CLI에서 인증서를 복사하여 웹 UI에서 연 창에 붙여넣습니다.
-
추가를 클릭합니다.
이제 sc_user 항목에 외부 인증서가 포함됩니다.
2.6. IdM CLI의 사용자 항목에 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
IdM CLI의 사용자 항목에 외부 인증서를 추가할 수 있습니다.
전체 인증서를 업로드하는 대신, 인증서 매핑 데이터를 IdM의 사용자 항목에 업로드할 수도 있습니다. 전체 인증서 또는 인증서 매핑 데이터를 포함하는 사용자 항목을 해당 인증서 매핑 규칙과 함께 사용하여 시스템 관리자를 위한 스마트 카드 인증 구성을 용이하게 할 수 있습니다. 자세한 내용은 인증 구성을 위한 인증서 매핑 규칙을 참조하십시오.
IdM 인증 기관에서 사용자 인증서를 발급한 경우 인증서가 이미 사용자 항목에 저장되어 있으며 이 절차를 따를 필요가 없습니다.
사전 요구 사항
- 사용자 항목에 추가할 인증서가 있습니다.
절차
다른 사용자에게 인증서를 추가하려면 IdM CLI에 관리자로 로그인합니다.
kinit admin
[user@client SmartCard]$ kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 자체 프로필에 인증서를 추가하는 데 관리자의 자격 증명이 필요하지 않습니다.
kinit <smartcard_user>
[user@client SmartCard]$ kinit <smartcard_user>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa user-add-cert명령에서 필요한 형식인 헤더와 바닥글이 제거되고 한 줄로 연결된 인증서가 포함된 환경 변수를 생성합니다.export CERT=`openssl x509 -outform der -in testuser.crt | base64 -w0 -`
[user@client SmartCard]$ export CERT=`openssl x509 -outform der -in testuser.crt | base64 -w0 -`Copy to Clipboard Copied! Toggle word wrap Toggle overflow testuser.crt파일의 인증서는PEM형식이어야 합니다.ipa user-add-cert명령을 사용하여 < smartcard_user >의 프로필에 인증서를 추가합니다.ipa user-add-cert <smartcard_user> --certificate=$CERT
[user@client SmartCard]$ ipa user-add-cert <smartcard_user> --certificate=$CERTCopy to Clipboard Copied! Toggle word wrap Toggle overflow
& lt;smartcard_user& gt; 항목에 외부 인증서가 포함되어 있습니다.
2.7. 스마트 카드 관리 및 사용을 위한 도구 설치 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 구성하려면 인증서를 생성하고 pscd 서비스를 시작할 수 있는 해당 툴을 설치해야 합니다.
사전 요구 사항
-
root권한이 있습니다.
절차
opensc및gnutls-utils패키지를 설치합니다.yum -y install opensc gnutls-utils
# yum -y install opensc gnutls-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcscd서비스를 시작합니다.systemctl start pcscd
# systemctl start pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
pcscd서비스가 실행 중인지 확인합니다.systemctl status pcscd
# systemctl status pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.8. 스마트 카드 준비 및 스마트 카드에 인증서와 키 업로드 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 구성하는 데 도움이 되는 pkcs15-init 도구를 사용하여 스마트 카드를 구성합니다.
- 스마트 카드 삭제
- 새로운 PIN 및 선택적 PIN 잠금 해제 키 (PUK) 설정
- 스마트 카드에서 새 슬롯 생성
- 인증서, 개인 키 및 공개 키 저장
- 필요한 경우 특정 스마트 카드에 따라 스마트 카드 설정을 잠금하려면 이러한 유형의 최종화가 필요합니다.
pkcs15-init 툴은 모든 스마트 카드에서 작동하지 않을 수 있습니다. 사용 중인 스마트 카드로 작업하는 도구를 사용해야 합니다.
사전 요구 사항
pkcs15-init툴이 포함된opensc패키지가 설치됩니다.자세한 내용은 스마트 카드 관리 및 사용을 위한 툴 설치를 참조하십시오.
- 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
-
개인 키, 공개 키 및 스마트 카드에 저장할 인증서가 있습니다. 이 절차에서
testuser.key,testuserpublic.key및testuser.crt는 개인 키, 공개 키 및 인증서에 사용되는 이름입니다. - 현재 스마트 카드 사용자 Pin and Security Officer Pin (SO-PIN)이 있습니다.
절차
스마트 카드를 지우고 PIN으로 인증하십시오:
pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:
$ pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 카드가 지워졌습니다.
스마트 카드를 초기화하고 사용자 PIN 및 PUK, 보안 책임자 PIN 및 PUK를 설정합니다.
pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader name$ pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcks15-init툴은 스마트 카드에 새 슬롯을 생성합니다.슬롯의 라벨 및 인증 ID를 설정합니다.
pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader name$ pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 레이블은 사람이 읽을 수 있는 값(이 경우
testuser)으로 설정됩니다.auth-id는 16진수 2개 값이어야 합니다(이 경우01로 설정됨).스마트 카드의 새 슬롯에 개인 키 저장 및 레이블을 지정합니다.
pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고--id에 지정하는 값은 개인 키를 저장하고 다음 단계에 인증서를 저장할 때 동일해야 합니다. 도구에서 더 복잡한 값을 계산하므로--id에 대해 자체 값을 지정하는 것이 좋습니다.스마트 카드의 새 슬롯에 인증서를 저장하고 레이블을 지정합니다.
pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 스마트 카드의 새 슬롯에 공개 키를 저장하고 레이블을 지정합니다.
pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고공개 키가 개인 키 또는 인증서에 해당하는 경우 개인 키 또는 인증서의 ID와 동일한 ID를 지정합니다.
선택 사항: 특정 스마트 카드에서는 설정을 잠그는 방식으로 카드를 완료해야합니다.
pkcs15-init -F
$ pkcs15-init -FCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 단계에서 스마트 카드에 새로 생성된 슬롯에 인증서, 개인 키 및 공개 키가 포함되어 있습니다. 사용자 PIN 및 PUK, 보안 책임자 PIN 및 PUK도 생성했습니다.
2.9. 스마트 카드로 IdM에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 사용하여 IdM 웹 UI에 로그인할 수 있습니다.
사전 요구 사항
- 웹 브라우저는 스마트 카드 인증을 사용하도록 구성됩니다.
- IdM 서버는 스마트 카드 인증을 위해 구성됩니다.
- 스마트 카드에 설치된 인증서는 IdM 서버에서 발행하거나 IdM의 사용자 항목에 추가되었습니다.
- 스마트 카드 잠금을 해제하는 데 필요한 pin을 알고 있습니다.
- 스마트 카드가 리더에 삽입되었습니다.
절차
- 브라우저에서 IdM 웹 UI를 엽니다.
- 인증서를 사용하여 로그인을 클릭합니다.
Password Required(암호 필요 ) 대화 상자가 열리면 PIN을 추가하여 스마트 카드 잠금을 해제하고 OK (확인) 버튼을 클릭합니다.
사용자 식별 요청 대화 상자가 열립니다.
스마트 카드에 인증서가 두 개 이상 포함된 경우 아래의 드롭다운 목록에서 인증에 사용할 인증서를 선택하십시오. 식별으로 표시할 인증서를 선택하십시오.
- OK(확인) 버튼을 클릭합니다.
이제 IdM 웹 UI에 성공적으로 로그인되었습니다.
2.10. IdM 클라이언트에서 스마트 카드 인증을 사용하여 GDM에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
GNOME 데스크탑 관리자(GDM)에는 인증이 필요합니다. 암호를 사용할 수 있지만 인증에 스마트 카드를 사용할 수도 있습니다.
smart 카드 인증을 사용하여 GDM에 액세스하려면 다음 절차를 따르십시오.
사전 요구 사항
- 이 시스템은 스마트 카드 인증을 위해 구성되었습니다. 자세한 내용은 스마트 카드 인증을 위한 IdM 클라이언트 구성을 참조하십시오.
- 스마트 카드에는 인증서와 개인 키가 포함되어 있습니다.
- 사용자 계정은 IdM 도메인의 멤버입니다.
스마트 카드의 인증서는 다음을 통해 사용자 항목에 매핑됩니다.
- 특정 사용자 항목에 인증서 할당. 자세한 내용은 IdM 웹 UI의 사용자 항목에 인증서 추가 또는 IdM CLI의 사용자 항목에 인증서 추가를 참조하십시오.
- 계정에 적용되는 인증서 매핑 데이터입니다. 자세한 내용은 스마트 카드에 대한 인증을 구성하기 위한 인증서 매핑 규칙을 참조하십시오.
절차
- 리더에 스마트 카드를 삽입합니다.
- 스마트 카드 PIN을 입력합니다.
- Sign In (로그인)을 클릭합니다.
RHEL 시스템에 성공적으로 로그인했으며 IdM 서버에서 TGT를 제공합니다.
검증
터미널 창에서
klist를 입력하고 결과를 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.11. su 명령으로 스마트 카드 인증 사용 링크 복사링크가 클립보드에 복사되었습니다!
다른 사용자로 변경하려면 인증이 필요합니다. 암호 또는 인증서를 사용할 수 있습니다. su 명령과 함께 스마트 카드를 사용하려면 다음 절차를 따르십시오. su 명령을 입력한 후 스마트 카드 PIN을 묻는 메시지가 표시됩니다.
사전 요구 사항
스마트 카드 인증을 위해 IdM 서버 및 클라이언트가 구성되어 있습니다.
- 스마트 카드 인증을 위한 IdM 서버 구성을참조하십시오.
- 스마트 카드 인증을 위한 IdM 클라이언트 구성을참조하십시오.
- 스마트 카드에는 인증서와 개인 키가 포함되어 있습니다. 스마트 카드의 인증서 저장을참조하십시오.
- 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
절차
터미널 창에서
su명령을 사용하여 다른 사용자로 변경합니다.su - <user_name> PIN for smart_card
$ su - <user_name> PIN for smart_cardCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구성이 올바르면 스마트 카드 Pin을 입력하라는 메시지가 표시됩니다.
3장. IdM의 스마트 카드 인증을 위해 ADCS에서 발급한 인증서 구성 링크 복사링크가 클립보드에 복사되었습니다!
AD(Active Directory) 인증서 서비스에서 인증서를 발급한 사용자에 대해 IdM에서 스마트 카드 인증을 구성하려면 다음을 수행합니다.
- 배포는 IdM(Identity Management)과 AD(Active Directory) 간의 교차 포리스트 신뢰성을 기반으로 합니다.
- 계정이 AD에 저장된 사용자에 대해 스마트 카드 인증을 허용하려고 합니다.
- 인증서는 ADCS(Active Directory Certificate Services)에 생성 및 저장됩니다.
사전 요구 사항
IdM(Identity Management) 및 AD(Active Directory) 신뢰가 설치되어 있습니다.
자세한 내용은 IdM과 AD 간 신뢰 설치를 참조하십시오.
- ADCS(Active Directory Certificate Services)가 설치되어 사용자를 위한 인증서가 생성됩니다.
3.1. 신뢰 구성 및 인증서 사용에 필요한 Windows Server 설정 링크 복사링크가 클립보드에 복사되었습니다!
Windows Server에서 다음을 구성해야 합니다.
- ADCS(Active Directory Certificate Services)가 설치되어 있습니다.
- 인증 기관이 생성됨
- 선택 사항: 인증 기관 웹 등록(IIS)을 사용하는 경우 인터넷 정보 서비스(IIS)를 구성해야 합니다.
내보낸 인증서는 다음 기준을 충족해야 합니다.
-
키에는
2048비트 이상이 있어야 합니다 - 개인 키 포함
다음 형식의 인증서가 필요합니다. 개인 정보
교환기 - PKCS #12(.PFX)- 인증서 개인 정보 보호 활성화
3.2. sftp를 사용하여 Active Directory에서 인증서 복사 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드 인증을 사용하려면 다음 인증서 파일을 복사해야 합니다.
-
CER형식의 루트 CA 인증서: IdM 서버의adcs-winserver-ca.cer입니다. -
PFX형식의 개인 키가 있는 사용자 인증서: IdM 클라이언트의aduser1.pfx.
이 절차에서는 SSH 액세스가 허용되어야 합니다. SSH를 사용할 수 없는 경우 사용자는 AD 서버에서 IdM 서버 및 클라이언트에 파일을 복사해야 합니다.
절차
IdM 서버에서 연결하고
adcs-winserver-ca.cer루트 인증서를 IdM 서버에 복사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 클라이언트에서 연결하고
aduser1.pfx사용자 인증서를 클라이언트에 복사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 CA 인증서가 IdM 서버에 저장되고 사용자 인증서가 클라이언트 시스템에 저장됩니다.
3.3. ADCS 인증서를 사용하여 스마트 카드 인증을 위해 IdM 서버 및 클라이언트 구성 링크 복사링크가 클립보드에 복사되었습니다!
IdM 환경에서 스마트 카드 인증을 사용할 수 있도록 IdM(ID 관리) 서버 및 클라이언트를 구성해야 합니다. IdM에는 필요한 모든 변경을 수행하는 ipa-advise 스크립트가 포함되어 있습니다.
- 필요한 패키지 설치
- IdM 서버 및 클라이언트 구성
- CA 인증서를 예상 위치에 복사
IdM 서버에서 ipa-advise 를 실행할 수 있습니다.
스마트 카드 인증을 위해 서버 및 클라이언트를 구성하려면 다음 절차를 따르십시오.
-
IdM 서버에서 다음을 수행합니다. 스마트 카드 인증을 위해 IdM 서버를 구성하기 위해
ipa-advise스크립트 준비. -
IdM 서버에서 다음을 수행합니다. 스마트 카드 인증을 위해 IdM 클라이언트를 구성하기 위해
ipa-advise스크립트를 준비합니다. -
IdM 서버에서 다음을 수행합니다. AD 인증서를 사용하여 IdM 서버에
ipa-advise서버 스크립트를 적용합니다. - 클라이언트 스크립트를 IdM 클라이언트 시스템으로 이동.
-
IdM 클라이언트에서 다음을 수행합니다. AD 인증서를 사용하여 IdM 클라이언트에
ipa-advise클라이언트 스크립트를 적용합니다.
사전 요구 사항
- 인증서가 IdM 서버에 복사되었습니다.
- Kerberos 티켓을 받습니다.
- 관리 권한이 있는 사용자로 로그인합니다.
절차
IdM 서버에서
ipa-advise스크립트를 사용하여 클라이언트를 구성합니다.ipa-advise config-client-for-smart-card-auth > sc_client.sh
[root@idmserver ~]# ipa-advise config-client-for-smart-card-auth > sc_client.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 서버에서
ipa-advise스크립트를 사용하여 서버를 구성합니다.ipa-advise config-server-for-smart-card-auth > sc_server.sh
[root@idmserver ~]# ipa-advise config-server-for-smart-card-auth > sc_server.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow IdM 서버에서 스크립트를 실행합니다.
sh -x sc_server.sh adcs-winserver-ca.cer
[root@idmserver ~]# sh -x sc_server.sh adcs-winserver-ca.cerCopy to Clipboard Copied! Toggle word wrap Toggle overflow - IdM Apache HTTP 서버를 구성합니다.
- KDC(키 배포 센터)에서 Kerberos(PKINIT)의 초기 인증에 대한 공개 키 암호화를 활성화합니다.
- 스마트 카드 권한 부여 요청을 수락하도록 IdM 웹 UI를 구성합니다.
sc_client.sh스크립트를 클라이언트 시스템에 복사합니다.scp sc_client.sh root@client1.idm.example.com:/root Password: sc_client.sh 100% 2857 1.6MB/s 00:00
[root@idmserver ~]# scp sc_client.sh root@client1.idm.example.com:/root Password: sc_client.sh 100% 2857 1.6MB/s 00:00Copy to Clipboard Copied! Toggle word wrap Toggle overflow Windows 인증서를 클라이언트 시스템에 복사합니다.
scp adcs-winserver-ca.cer root@client1.idm.example.com:/root Password: adcs-winserver-ca.cer 100% 1254 952.0KB/s 00:00
[root@idmserver ~]# scp adcs-winserver-ca.cer root@client1.idm.example.com:/root Password: adcs-winserver-ca.cer 100% 1254 952.0KB/s 00:00Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클라이언트 시스템에서 클라이언트 스크립트를 실행합니다.
sh -x sc_client.sh adcs-winserver-ca.cer
[root@idmclient1 ~]# sh -x sc_client.sh adcs-winserver-ca.cerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 CA 인증서가 IdM 서버 및 클라이언트 시스템에 올바른 형식으로 설치됩니다. 다음 단계는 사용자 인증서를 스마트 카드 자체에 복사하는 것입니다.
3.4. PFX 파일 변환 링크 복사링크가 클립보드에 복사되었습니다!
PFX (PKCS#12) 파일을 스마트 카드에 저장하기 전에 다음을 수행해야 합니다.
- 파일을 PEM 형식으로 변환합니다.
- 개인 키와 인증서를 두 개의 다른 파일로 추출합니다.
사전 요구 사항
- PFX 파일은 IdM 클라이언트 시스템에 복사됩니다.
절차
IdM 클라이언트에서 파일을 PEM 형식으로 변환합니다.
openssl pkcs12 -in aduser1.pfx -out aduser1_cert_only.pem -clcerts -nodes Enter Import Password:
[root@idmclient1 ~]# openssl pkcs12 -in aduser1.pfx -out aduser1_cert_only.pem -clcerts -nodes Enter Import Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 키를 별도의 파일에 추출합니다.
openssl pkcs12 -in adduser1.pfx -nocerts -out adduser1.pem > aduser1.key
[root@idmclient1 ~]# openssl pkcs12 -in adduser1.pfx -nocerts -out adduser1.pem > aduser1.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 공용 인증서를 별도의 파일에 추출합니다.
openssl pkcs12 -in adduser1.pfx -clcerts -nokeys -out aduser1_cert_only.pem > aduser1.crt
[root@idmclient1 ~]# openssl pkcs12 -in adduser1.pfx -clcerts -nokeys -out aduser1_cert_only.pem > aduser1.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 aduser1.key 및 를 스마트 카드로 저장할 수 있습니다.
aduser1. crt
3.5. 스마트 카드 관리 및 사용을 위한 도구 설치 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 구성하려면 인증서를 생성하고 pscd 서비스를 시작할 수 있는 해당 툴을 설치해야 합니다.
사전 요구 사항
-
root권한이 있습니다.
절차
opensc및gnutls-utils패키지를 설치합니다.yum -y install opensc gnutls-utils
# yum -y install opensc gnutls-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcscd서비스를 시작합니다.systemctl start pcscd
# systemctl start pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
pcscd서비스가 실행 중인지 확인합니다.systemctl status pcscd
# systemctl status pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6. 스마트 카드 준비 및 스마트 카드에 인증서와 키 업로드 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 구성하는 데 도움이 되는 pkcs15-init 도구를 사용하여 스마트 카드를 구성합니다.
- 스마트 카드 삭제
- 새로운 PIN 및 선택적 PIN 잠금 해제 키 (PUK) 설정
- 스마트 카드에서 새 슬롯 생성
- 인증서, 개인 키 및 공개 키 저장
- 필요한 경우 특정 스마트 카드에 따라 스마트 카드 설정을 잠금하려면 이러한 유형의 최종화가 필요합니다.
pkcs15-init 툴은 모든 스마트 카드에서 작동하지 않을 수 있습니다. 사용 중인 스마트 카드로 작업하는 도구를 사용해야 합니다.
사전 요구 사항
pkcs15-init툴이 포함된opensc패키지가 설치됩니다.자세한 내용은 스마트 카드 관리 및 사용을 위한 툴 설치를 참조하십시오.
- 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
-
개인 키, 공개 키 및 스마트 카드에 저장할 인증서가 있습니다. 이 절차에서
testuser.key,testuserpublic.key및testuser.crt는 개인 키, 공개 키 및 인증서에 사용되는 이름입니다. - 현재 스마트 카드 사용자 Pin and Security Officer Pin (SO-PIN)이 있습니다.
절차
스마트 카드를 지우고 PIN으로 인증하십시오:
pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:
$ pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 카드가 지워졌습니다.
스마트 카드를 초기화하고 사용자 PIN 및 PUK, 보안 책임자 PIN 및 PUK를 설정합니다.
pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader name$ pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcks15-init툴은 스마트 카드에 새 슬롯을 생성합니다.슬롯의 라벨 및 인증 ID를 설정합니다.
pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader name$ pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 레이블은 사람이 읽을 수 있는 값(이 경우
testuser)으로 설정됩니다.auth-id는 16진수 2개 값이어야 합니다(이 경우01로 설정됨).스마트 카드의 새 슬롯에 개인 키 저장 및 레이블을 지정합니다.
pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고--id에 지정하는 값은 개인 키를 저장하고 다음 단계에 인증서를 저장할 때 동일해야 합니다. 도구에서 더 복잡한 값을 계산하므로--id에 대해 자체 값을 지정하는 것이 좋습니다.스마트 카드의 새 슬롯에 인증서를 저장하고 레이블을 지정합니다.
pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 스마트 카드의 새 슬롯에 공개 키를 저장하고 레이블을 지정합니다.
pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고공개 키가 개인 키 또는 인증서에 해당하는 경우 개인 키 또는 인증서의 ID와 동일한 ID를 지정합니다.
선택 사항: 특정 스마트 카드에서는 설정을 잠그는 방식으로 카드를 완료해야합니다.
pkcs15-init -F
$ pkcs15-init -FCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 단계에서 스마트 카드에 새로 생성된 슬롯에 인증서, 개인 키 및 공개 키가 포함되어 있습니다. 사용자 PIN 및 PUK, 보안 책임자 PIN 및 PUK도 생성했습니다.
3.7. sssd.conf에서 시간 제한 설정 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드 인증서를 사용한 인증은 SSSD에서 사용하는 기본 시간 초과보다 오래 걸릴 수 있습니다. 시간 초과 만료는 다음과 같이 발생할 수 있습니다.
- 느린 리더
- 물리적 장치에서 가상 환경으로 전달
- 스마트 카드에 저장된 인증서가 너무 많습니다.
- OCSP가 인증서를 확인하는 데 사용되는 경우 OCSP(Online Certificate Status Protocol) 응답 속도 저하
이 경우 sssd.conf 파일에서 다음 시간 제한을 초과할 수 있습니다(예: 60초).
-
p11_child_timeout -
krb5_auth_timeout
사전 요구 사항
- root로 로그인해야 합니다.
절차
sssd.conf파일을 엽니다.vim /etc/sssd/sssd.conf
[root@idmclient1 ~]# vim /etc/sssd/sssd.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow p11_child_timeout값을 변경합니다.[pam] p11_child_timeout = 60
[pam] p11_child_timeout = 60Copy to Clipboard Copied! Toggle word wrap Toggle overflow krb5_auth_timeout값을 변경합니다.[domain/IDM.EXAMPLE.COM] krb5_auth_timeout = 60
[domain/IDM.EXAMPLE.COM] krb5_auth_timeout = 60Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 설정을 저장합니다.
이제 시간 초과로 인증이 실패하기 전에 스마트 카드와의 상호 작용은 1분(60초) 동안 실행할 수 있습니다.
3.8. 스마트 카드 인증을 위한 인증서 매핑 규칙 생성 링크 복사링크가 클립보드에 복사되었습니다!
AD(Active Directory) 및 IdM(Identity Management)에 계정이 있는 사용자에 대해 하나의 인증서를 사용하려는 경우 IdM 서버에서 인증서 매핑 규칙을 생성할 수 있습니다.
이러한 규칙을 만든 후 사용자는 두 도메인에서 스마트 카드로 인증할 수 있습니다.
인증서 매핑 규칙에 대한 자세한 내용은 인증 구성을 위한 인증서 매핑 규칙을 참조하십시오.
4장. 인증을 구성하기 위한 인증서 매핑 규칙 링크 복사링크가 클립보드에 복사되었습니다!
다음 시나리오에서는 인증서 매핑 규칙을 구성해야 할 수 있습니다.
- 인증서는 IdM 도메인이 신뢰 관계에 있는 AD(Active Directory)의 인증서 시스템에서 발급되었습니다.
- 인증서는 외부 인증 기관에서 발급했습니다.
- IdM 환경은 스마트 카드를 사용하는 많은 사용자에게 큽니다. 이 경우 전체 인증서를 추가하는 것은 복잡할 수 있습니다. 제목과 발행자는 대부분의 시나리오에서 예측할 수 있으므로 전체 인증서보다 미리 추가하기가 더 쉽습니다.
시스템 관리자는 인증서 매핑 규칙을 생성하고 인증서를 특정 사용자에게 발급하기 전에도 사용자 항목에 인증서 매핑 데이터를 추가할 수 있습니다. 인증서가 발급되면 전체 인증서가 사용자 항목에 아직 업로드되지 않았더라도 사용자는 인증서를 사용하여 로그인할 수 있습니다.
또한 인증서가 정기적으로 갱신되므로 인증서 매핑 규칙이 관리 오버헤드를 줄일 수 있습니다. 사용자의 인증서가 갱신되면 관리자는 사용자 항목을 업데이트할 필요가 없습니다. 예를 들어 매핑이 주체 및 발급자 값을 기반으로 하고 새 인증서에 이전 인증서와 동일한 제목과 발급자가 있는 경우 매핑이 계속 적용됩니다. 반대로 전체 인증서가 사용된 경우 관리자는 새 인증서를 사용자 항목에 업로드하여 이전 인증서를 교체해야 합니다.
인증서 매핑을 설정하려면 다음을 수행합니다.
- 관리자는 인증서 매핑 데이터 또는 전체 인증서를 사용자 계정으로 로드해야 합니다.
- 관리자는 인증서의 정보와 일치하는 인증서 매핑 데이터 항목이 포함된 사용자에 대해 IdM에 성공적으로 로그인할 수 있도록 인증서 매핑 규칙을 생성해야 합니다.
인증서 매핑 규칙이 생성되면 최종 사용자가 인증서를 제공할 때 파일 시스템 또는 스마트 카드에 저장된 인증이 성공적으로 수행됩니다.
KMS(Key Distribution Center)에는 인증서 매핑 규칙에 대한 캐시가 있습니다. 캐시는 첫 번째 certauth 요청에 채워지고 하드 코딩된 시간 제한은 300초입니다. KDC는 재시작되거나 캐시가 만료되지 않는 한 인증서 매핑 규칙에 대한 변경 사항을 볼 수 없습니다.
인증서 매핑 규칙은 인증서를 사용하는 사용 사례에 따라 달라질 수 있습니다. 예를 들어 인증서가 포함된 SSH를 사용하는 경우 인증서에서 공개 키를 추출하려면 전체 인증서가 있어야 합니다.
5장. 중앙 관리 사용자를 위해 웹 콘솔을 사용하여 스마트 카드 인증 설정 링크 복사링크가 클립보드에 복사되었습니다!
다음을 통해 중앙 집중식으로 관리되는 사용자를 위해 RHEL 웹 콘솔에서 스마트 카드 인증을 구성할 수 있습니다.
- IdM (Identity Management)
- Identity Management를 사용하여 가장 간 신뢰에 연결된 Active Directory
스마트 카드 인증은 아직 관리 권한을 에스컬레이션하지 않으며 웹 콘솔은 읽기 전용 모드에서 웹 브라우저에서 열립니다.
sudo 를 사용하여 기본 제공 터미널에서 관리 명령을 실행할 수 있습니다.
사전 요구 사항
스마트 카드 인증을 사용하려는 시스템은 Active Directory 또는 Identity Management 도메인의 멤버여야 합니다.
웹 콘솔을 사용하여 RHEL 8 시스템을 도메인에 추가하는 방법에 대한 자세한 내용은 웹 콘솔을 사용하여 RHEL 시스템에 IdM 도메인에 가입을 참조하십시오.
스마트 카드 인증에 사용되는 인증서는 ID 관리 또는 Active Directory의 특정 사용자와 연결되어 있어야 합니다.
ID 관리에서 사용자와 인증서를 연결하는 방법에 대한 자세한 내용은 IdM 웹 UI의 사용자 항목에 인증서 추가를 참조하거나 IdM CLI의 사용자 항목에 인증서 추가를 참조하십시오.
5.1. 중앙 관리 사용자를 위한 스마트 카드 인증 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드는 물리적 장치이며 카드에 저장된 인증서를 사용하여 개인 인증을 제공할 수 있습니다. 개인 인증은 사용자 암호와 동일한 방식으로 스마트 카드를 사용할 수 있음을 의미합니다.
개인 키 및 인증서 형식으로 스마트 카드에 사용자 자격 증명을 저장할 수 있습니다. 특수 소프트웨어 및 하드웨어가 액세스하는 데 사용됩니다. 스마트 카드를 reader 또는 USB 소켓에 삽입하고 암호를 제공하는 대신 스마트 카드의 Pin 코드를 제공합니다.
IdM(Identity Management)은 다음을 사용하여 스마트 카드 인증을 지원합니다.
- IdM 인증 기관에서 발급한 사용자 인증서. 자세한 내용은 스마트 카드 인증에 대한 ID 관리 구성 을 참조하십시오.
- ADCS(Active Directory 인증서 서비스) 인증 기관에서 발급한 사용자 인증서입니다. 자세한 내용은 IdM의 스마트 카드 인증에 대해 ADCS에서 발급한 인증서 구성 을 참조하십시오.
스마트 카드 인증을 사용하려면 하드웨어 요구 사항을 참조하십시오. RHEL8+에서 스마트 카드 지원
5.2. 스마트 카드 관리 및 사용을 위한 도구 설치 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 구성하려면 인증서를 생성하고 pscd 서비스를 시작할 수 있는 해당 툴을 설치해야 합니다.
사전 요구 사항
-
root권한이 있습니다.
절차
opensc및gnutls-utils패키지를 설치합니다.yum -y install opensc gnutls-utils
# yum -y install opensc gnutls-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcscd서비스를 시작합니다.systemctl start pcscd
# systemctl start pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
pcscd서비스가 실행 중인지 확인합니다.systemctl status pcscd
# systemctl status pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. 스마트 카드 준비 및 스마트 카드에 인증서와 키 업로드 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 구성하는 데 도움이 되는 pkcs15-init 도구를 사용하여 스마트 카드를 구성합니다.
- 스마트 카드 삭제
- 새로운 PIN 및 선택적 PIN 잠금 해제 키 (PUK) 설정
- 스마트 카드에서 새 슬롯 생성
- 인증서, 개인 키 및 공개 키 저장
- 필요한 경우 특정 스마트 카드에 따라 스마트 카드 설정을 잠금하려면 이러한 유형의 최종화가 필요합니다.
pkcs15-init 툴은 모든 스마트 카드에서 작동하지 않을 수 있습니다. 사용 중인 스마트 카드로 작업하는 도구를 사용해야 합니다.
사전 요구 사항
pkcs15-init툴이 포함된opensc패키지가 설치됩니다.자세한 내용은 스마트 카드 관리 및 사용을 위한 툴 설치를 참조하십시오.
- 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
-
개인 키, 공개 키 및 스마트 카드에 저장할 인증서가 있습니다. 이 절차에서
testuser.key,testuserpublic.key및testuser.crt는 개인 키, 공개 키 및 인증서에 사용되는 이름입니다. - 현재 스마트 카드 사용자 Pin and Security Officer Pin (SO-PIN)이 있습니다.
절차
스마트 카드를 지우고 PIN으로 인증하십시오:
pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:
$ pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 카드가 지워졌습니다.
스마트 카드를 초기화하고 사용자 PIN 및 PUK, 보안 책임자 PIN 및 PUK를 설정합니다.
pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader name$ pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcks15-init툴은 스마트 카드에 새 슬롯을 생성합니다.슬롯의 라벨 및 인증 ID를 설정합니다.
pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader name$ pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 레이블은 사람이 읽을 수 있는 값(이 경우
testuser)으로 설정됩니다.auth-id는 16진수 2개 값이어야 합니다(이 경우01로 설정됨).스마트 카드의 새 슬롯에 개인 키 저장 및 레이블을 지정합니다.
pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고--id에 지정하는 값은 개인 키를 저장하고 다음 단계에 인증서를 저장할 때 동일해야 합니다. 도구에서 더 복잡한 값을 계산하므로--id에 대해 자체 값을 지정하는 것이 좋습니다.스마트 카드의 새 슬롯에 인증서를 저장하고 레이블을 지정합니다.
pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 스마트 카드의 새 슬롯에 공개 키를 저장하고 레이블을 지정합니다.
pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고공개 키가 개인 키 또는 인증서에 해당하는 경우 개인 키 또는 인증서의 ID와 동일한 ID를 지정합니다.
선택 사항: 특정 스마트 카드에서는 설정을 잠그는 방식으로 카드를 완료해야합니다.
pkcs15-init -F
$ pkcs15-init -FCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 단계에서 스마트 카드에 새로 생성된 슬롯에 인증서, 개인 키 및 공개 키가 포함되어 있습니다. 사용자 PIN 및 PUK, 보안 책임자 PIN 및 PUK도 생성했습니다.
5.4. 웹 콘솔에 대한 스마트 카드 인증 활성화 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔에서 스마트 카드 인증을 사용하려면 cockpit.conf 파일에서 이 인증 방법을 활성화합니다.
또한 동일한 파일에서 암호 인증을 비활성화할 수 있습니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 터미널 을 클릭합니다.
/etc/cockpit/cockpit.conf에서ClientCertAuthentication을yes로 설정합니다.[WebService] ClientCertAuthentication = yes
[WebService] ClientCertAuthentication = yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 다음을 사용하여
cockpit.conf에서 암호 기반 인증을 비활성화합니다.[Basic] action = none
[Basic] action = noneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 설정은 암호 인증을 비활성화하고 항상 스마트 카드를 사용해야 합니다.
웹 콘솔을 다시 시작하여
cockpit.service에서 변경 사항을 수락하는지 확인합니다.systemctl restart cockpit
# systemctl restart cockpitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.5. 스마트 카드를 사용하여 웹 콘솔에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 사용하여 웹 콘솔에 로그인할 수 있습니다.
사전 요구 사항
- Active Directory 또는 Identity Management 도메인에서 생성된 사용자 계정에 연결된 스마트 카드에 저장된 유효한 인증서입니다.
- 스마트 카드의 잠금을 해제하는 unique입니다.
- 스마트 카드가 리더에 배치되었습니다.
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
브라우저는 스마트 카드에 저장된 인증서를 보호하는 pin을 추가하도록 요청합니다.
- Password Required 대화 상자에서 Pin을 입력하고 확인을 클릭합니다.
- 사용자 식별 요청 대화 상자에서 스마트 카드에 저장된 인증서를 선택합니다.
Remember this decision 을 선택합니다.
다음 번에 이 창을 열지 않습니다.
참고이 단계는 Google Chrome 사용자에게 적용되지 않습니다.
- OK를 클릭합니다.
이제 연결되고 웹 콘솔에 해당 콘텐츠가 표시됩니다.
5.6. DoS 공격을 방지하기 위해 사용자 세션 및 메모리 제한 링크 복사링크가 클립보드에 복사되었습니다!
인증서 인증은 다른 사용자를 가장하려는 공격자로부터 cockpit-ws 웹 서버의 인스턴스를 분리하여 격리하여 보호됩니다. 그러나 이로 인해 잠재적인 서비스 거부(DoS) 공격이 발생합니다. 원격 공격자는 다수의 인증서를 생성하고 서로 다른 인증서를 사용하여 각각 cockpit-ws 에 다수의 HTTPS 요청을 보낼 수 있습니다.
이러한 DoS 공격을 방지하기 위해 이러한 웹 서버 인스턴스의 공동 리소스가 제한됩니다. 기본적으로 연결 및 메모리 사용량 수에 대한 제한은 200 스레드 및 75 % (soft) 또는 90 % (하드) 메모리 제한으로 설정됩니다.
예제 절차에서는 연결 및 메모리 수를 제한하여 리소스 보호를 보여줍니다.
절차
터미널에서
system-cockpithttps.slice구성 파일을 엽니다.systemctl edit system-cockpithttps.slice
# systemctl edit system-cockpithttps.sliceCopy to Clipboard Copied! Toggle word wrap Toggle overflow TasksMax를 100 으로 제한하고CPUQuota를 30% 로 제한합니다.[Slice] # change existing value TasksMax=100 # add new restriction CPUQuota=30%
[Slice] # change existing value TasksMax=100 # add new restriction CPUQuota=30%Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 적용하려면 시스템을 다시 시작하십시오.
systemctl daemon-reload systemctl stop cockpit
# systemctl daemon-reload # systemctl stop cockpitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 새 메모리 및 사용자 세션에서 cockpit-ws 웹 서버에서 DoS 공격의 위험을 줄일 수 있습니다.
6장. 로컬 인증서를 사용하여 스마트 카드 인증 구성 링크 복사링크가 클립보드에 복사되었습니다!
로컬 인증서를 사용하여 스마트 카드 인증을 구성하려면 다음을 수행합니다.
- 호스트가 도메인에 연결되어 있지 않습니다.
- 이 호스트의 스마트 카드로 인증하려고 합니다.
- 스마트 카드 인증을 사용하여 SSH 액세스를 구성하려고 합니다.
-
authselect를 사용하여 스마트 카드를 구성하려고 합니다.
이 시나리오를 수행하려면 다음 구성을 사용합니다.
스마트 카드로 인증하려는 사용자의 사용자 인증서를 가져옵니다. 인증서는 도메인에서 사용되는 신뢰할 수 있는 인증 기관에서 생성해야 합니다.
인증서를 가져올 수 없는 경우 테스트를 위해 로컬 인증 기관에서 서명한 사용자 인증서를 생성할 수 있습니다.
- 인증서 및 개인 키를 스마트 카드에 저장합니다.
- SSH 액세스를 위한 스마트 카드 인증을 구성합니다.
호스트가 도메인의 일부일 수 있는 경우, 호스트를 도메인에 추가하고 Active Directory 또는 Identity Management Certification Authority에서 생성한 인증서를 사용합니다.
스마트 카드의 IdM 인증서를 생성하는 방법에 대한 자세한 내용은 스마트 카드 인증에 대한 ID 관리 구성을 참조하십시오.
사전 요구 사항
Authselect가 설치됨
authselect 도구는 Linux 호스트에서 사용자 인증을 구성하며 이를 사용하여 스마트 카드 인증 매개 변수를 구성할 수 있습니다. authselect에 대한 자세한 내용은 authselect 설명에서 참조하십시오.
RHEL 8에서 지원하는 스마트 카드 또는 USB 장치
자세한 내용은 RHEL8의 스마트 카드 지원을 참조하십시오.
6.1. 로컬 인증서 생성 링크 복사링크가 클립보드에 복사되었습니다!
다음 작업을 수행하려면 다음 절차를 따르십시오.
- OpenSSL 인증 기관 생성
- 인증서 서명 요청 만들기
다음 단계는 테스트 목적으로만 사용됩니다. 자체 서명된 로컬 인증 기관에서 생성한 인증서는 AD, IdM 또는 RHCS 인증 기관을 사용하는 것만큼 안전하지 않습니다. 호스트가 도메인에 속하지 않더라도 엔터프라이즈 인증 기관에서 생성한 인증서를 사용해야 합니다.
절차
인증서를 생성할 수 있는 디렉터리를 생성합니다. 예를 들면 다음과 같습니다.
mkdir /tmp/ca cd /tmp/ca
# mkdir /tmp/ca # cd /tmp/caCopy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서를 설정합니다(이 텍스트를
ca디렉토리의 명령줄에 복사).Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 디렉터리를 생성합니다.
mkdir certs crl newcerts
# mkdir certs crl newcertsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 파일을 생성합니다.
touch index.txt crlnumber index.txt.attr
# touch index.txt crlnumber index.txt.attrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 일련 파일에 숫자 01을 작성합니다.
echo 01 > serial
# echo 01 > serialCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 직렬 파일에 숫자 01을 작성합니다. 인증서의 일련 번호입니다. 이 CA에서 새로 릴리스하는 각각의 새 인증서에서는 수가 1씩 증가합니다.
OpenSSL 루트 CA 키를 생성합니다.
openssl genrsa -out rootCA.key 2048
# openssl genrsa -out rootCA.key 2048Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자체 서명된 루트 인증 기관 인증서를 생성합니다.
openssl req -batch -config ca.cnf \ -x509 -new -nodes -key rootCA.key -sha256 -days 10000 \ -set_serial 0 -extensions v3_ca -out rootCA.crt
# openssl req -batch -config ca.cnf \ -x509 -new -nodes -key rootCA.key -sha256 -days 10000 \ -set_serial 0 -extensions v3_ca -out rootCA.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 이름에 대한 키를 생성합니다.
openssl genrsa -out example.user.key 2048
# openssl genrsa -out example.user.key 2048Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 키는 안전하지 않은 로컬 시스템에서 생성되므로 키가 카드에 저장될 때 시스템에서 키를 제거합니다.
스마트 카드에서도 직접 키를 생성할 수 있습니다. 이를 위해 스마트 카드 제조업체가 생성한 지침을 따르십시오.
인증서 서명 요청 구성 파일을 만듭니다(이 텍스트를 ca 디렉토리의 명령줄에 복사).
Copy to Clipboard Copied! Toggle word wrap Toggle overflow example.user 인증서에 대한 인증서 서명 요청을 생성합니다.
openssl req -new -nodes -key example.user.key \ -reqexts req_exts -config req.cnf -out example.user.csr
# openssl req -new -nodes -key example.user.key \ -reqexts req_exts -config req.cnf -out example.user.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 인증서를 구성합니다. 만료 기간은 1년으로 설정됩니다.
openssl ca -config ca.cnf -batch -notext \ -keyfile rootCA.key -in example.user.csr -days 365 \ -extensions usr_cert -out example.user.crt
# openssl ca -config ca.cnf -batch -notext \ -keyfile rootCA.key -in example.user.csr -days 365 \ -extensions usr_cert -out example.user.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이때 인증 기관과 인증서가 성공적으로 생성되어 스마트 카드로 가져올 준비가 되었습니다.
6.2. SSSD 디렉터리에 인증서 복사 링크 복사링크가 클립보드에 복사되었습니다!
GNOME 데스크탑 관리자(GDM)에는 SSSD가 필요합니다. GDM을 사용하는 경우 PEM 인증서를 /etc/sssd/pki 디렉터리에 복사해야 합니다.
사전 요구 사항
- 로컬 CA 기관 및 인증서가 생성되었습니다.
절차
시스템에 SSSD가 설치되어 있는지 확인합니다.
rpm -q sssd sssd-2.0.0.43.el8_0.3.x86_64
# rpm -q sssd sssd-2.0.0.43.el8_0.3.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sssd/pki디렉토리를 만듭니다.file /etc/sssd/pki /etc/sssd/pki/: directory
# file /etc/sssd/pki /etc/sssd/pki/: directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sssd/pki/디렉터리에서rootCA.crt를 PEM 파일로 복사합니다.cp /tmp/ca/rootCA.crt /etc/sssd/pki/sssd_auth_ca_db.pem
# cp /tmp/ca/rootCA.crt /etc/sssd/pki/sssd_auth_ca_db.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 인증 기관 및 인증서를 성공적으로 생성했으며 /etc/sssd/pki 디렉터리에 저장했습니다.
인증 기관 인증서를 다른 애플리케이션과 공유하려면 sssd.conf의 위치를 변경할 수 있습니다.
-
SSSD PAM 응답자:
[pam]섹션의pam_cert_db_path -
SSSD ssh 응답자:
[ssh]섹션의ca_db
자세한 내용은 sssd.conf 의 도움말 페이지를 참조하십시오.
Red Hat은 기본 경로를 유지하고 SSSD에 전용 인증 기관 인증서 파일을 사용하여 인증 기관만 여기에 나열되어 있는지 확인하는 것이 좋습니다.
6.3. 스마트 카드 관리 및 사용을 위한 도구 설치 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 구성하려면 인증서를 생성하고 pscd 서비스를 시작할 수 있는 해당 툴을 설치해야 합니다.
사전 요구 사항
-
root권한이 있습니다.
절차
opensc및gnutls-utils패키지를 설치합니다.yum -y install opensc gnutls-utils
# yum -y install opensc gnutls-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcscd서비스를 시작합니다.systemctl start pcscd
# systemctl start pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
pcscd서비스가 실행 중인지 확인합니다.systemctl status pcscd
# systemctl status pcscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4. 스마트 카드 준비 및 스마트 카드에 인증서와 키 업로드 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 구성하는 데 도움이 되는 pkcs15-init 도구를 사용하여 스마트 카드를 구성합니다.
- 스마트 카드 삭제
- 새로운 PIN 및 선택적 PIN 잠금 해제 키 (PUK) 설정
- 스마트 카드에서 새 슬롯 생성
- 인증서, 개인 키 및 공개 키 저장
- 필요한 경우 특정 스마트 카드에 따라 스마트 카드 설정을 잠금하려면 이러한 유형의 최종화가 필요합니다.
pkcs15-init 툴은 모든 스마트 카드에서 작동하지 않을 수 있습니다. 사용 중인 스마트 카드로 작업하는 도구를 사용해야 합니다.
사전 요구 사항
pkcs15-init툴이 포함된opensc패키지가 설치됩니다.자세한 내용은 스마트 카드 관리 및 사용을 위한 툴 설치를 참조하십시오.
- 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
-
개인 키, 공개 키 및 스마트 카드에 저장할 인증서가 있습니다. 이 절차에서
testuser.key,testuserpublic.key및testuser.crt는 개인 키, 공개 키 및 인증서에 사용되는 이름입니다. - 현재 스마트 카드 사용자 Pin and Security Officer Pin (SO-PIN)이 있습니다.
절차
스마트 카드를 지우고 PIN으로 인증하십시오:
pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:
$ pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 카드가 지워졌습니다.
스마트 카드를 초기화하고 사용자 PIN 및 PUK, 보안 책임자 PIN 및 PUK를 설정합니다.
pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader name$ pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcks15-init툴은 스마트 카드에 새 슬롯을 생성합니다.슬롯의 라벨 및 인증 ID를 설정합니다.
pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader name$ pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 레이블은 사람이 읽을 수 있는 값(이 경우
testuser)으로 설정됩니다.auth-id는 16진수 2개 값이어야 합니다(이 경우01로 설정됨).스마트 카드의 새 슬롯에 개인 키 저장 및 레이블을 지정합니다.
pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고--id에 지정하는 값은 개인 키를 저장하고 다음 단계에 인증서를 저장할 때 동일해야 합니다. 도구에서 더 복잡한 값을 계산하므로--id에 대해 자체 값을 지정하는 것이 좋습니다.스마트 카드의 새 슬롯에 인증서를 저장하고 레이블을 지정합니다.
pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 스마트 카드의 새 슬롯에 공개 키를 저장하고 레이블을 지정합니다.
pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name$ pkcs15-init --store-public-key testuserpublic.key \ --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고공개 키가 개인 키 또는 인증서에 해당하는 경우 개인 키 또는 인증서의 ID와 동일한 ID를 지정합니다.
선택 사항: 특정 스마트 카드에서는 설정을 잠그는 방식으로 카드를 완료해야합니다.
pkcs15-init -F
$ pkcs15-init -FCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 단계에서 스마트 카드에 새로 생성된 슬롯에 인증서, 개인 키 및 공개 키가 포함되어 있습니다. 사용자 PIN 및 PUK, 보안 책임자 PIN 및 PUK도 생성했습니다.
6.5. 스마트 카드 인증을 사용하여 SSH 액세스 구성 링크 복사링크가 클립보드에 복사되었습니다!
SSH 연결에는 인증이 필요합니다. 암호 또는 인증서를 사용할 수 있습니다. 스마트 카드에 저장된 인증서를 사용하여 인증을 활성화하려면 다음 절차를 따르십시오.
authselect를 사용하여 스마트 카드를 구성하는 방법에 대한 자세한 내용은 authselect 를 사용하여 스마트 카드 구성을 참조하십시오.
사전 요구 사항
- 스마트 카드에는 인증서와 개인 키가 포함되어 있습니다.
- 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
pcscd서비스가 로컬 시스템에서 실행되고 있습니다.자세한 내용은 스마트 카드를 관리하고 사용하기 위한 툴 설치를 참조하십시오.
절차
스마트 카드 인증을 사용하는 사용자의 홈 디렉터리에 SSH 키에 대한 새 디렉터리를 생성합니다.
mkdir /home/<example_user>/.ssh
# mkdir /home/<example_user>/.sshCopy to Clipboard Copied! Toggle word wrap Toggle overflow opensc라이브러리와 함께ssh-keygen -D명령을 실행하여 스마트 카드의 개인 키와 쌍된 기존 공개 키를 검색하고 SSH 키 디렉터리의authorized_keys목록에 스마트 카드 인증을 사용하여 SSH 액세스를 활성화합니다.ssh-keygen -D /usr/lib64/pkcs11/opensc-pkcs11.so >> ~<example_user>/.ssh/authorized_keys
# ssh-keygen -D /usr/lib64/pkcs11/opensc-pkcs11.so >> ~<example_user>/.ssh/authorized_keysCopy to Clipboard Copied! Toggle word wrap Toggle overflow SSH를 사용하려면
/.ssh디렉토리 및authorized_keys파일에 대한 올바른 구성이 필요합니다. 액세스 권한을 설정하거나 변경하려면 다음을 입력합니다.chown -R <example_user:example_user> ~<example_user>/.ssh/ chmod 700 ~<example_user>/.ssh/ chmod 600 ~<example_user>/.ssh/authorized_keys
# chown -R <example_user:example_user> ~<example_user>/.ssh/ # chmod 700 ~<example_user>/.ssh/ # chmod 600 ~<example_user>/.ssh/authorized_keysCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
키를 표시합니다.
cat ~<example_user>/.ssh/authorized_keys
# cat ~<example_user>/.ssh/authorized_keysCopy to Clipboard Copied! Toggle word wrap Toggle overflow 터미널에 키가 표시됩니다.
다음 명령을 사용하여 SSH 액세스를 확인할 수 있습니다.
ssh -I /usr/lib64/opensc-pkcs11.so -l <example_user> localhost hostname
# ssh -I /usr/lib64/opensc-pkcs11.so -l <example_user> localhost hostname
구성이 성공적으로 수행되면 스마트 카드 PIN을 입력하라는 메시지가 표시됩니다.
이제 구성이 로컬로 작동합니다. 이제 공개 키를 복사하여 SSH를 사용하려는 모든 서버에 있는 authorized_keys 파일에 배포할 수 있습니다.
6.6. 스마트 카드를 사용할 때 인증서 매핑 규칙 생성 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드에 저장된 인증서를 사용하여 로그인하려면 인증서 매핑 규칙을 생성해야 합니다.
사전 요구 사항
- 스마트 카드에는 인증서와 개인 키가 포함되어 있습니다.
- 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
-
pcscd서비스가 로컬 시스템에서 실행되고 있습니다.
절차
-
/etc/sssd/conf.d/sssd_certmap.conf와 같은 인증서 매핑 구성 파일을 만듭니다. sssd_certmap.conf파일에 인증서 매핑 규칙을 추가합니다.[certmap/shadowutils/otheruser] matchrule = <SUBJECT>.*CN=certificate_user.*<ISSUER>^CN=Example Test CA,OU=Example Test,O=EXAMPLE$
[certmap/shadowutils/otheruser] matchrule = <SUBJECT>.*CN=certificate_user.*<ISSUER>^CN=Example Test CA,OU=Example Test,O=EXAMPLE$Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 인증서 매핑 규칙을 별도의 섹션에 정의해야 합니다. 각 섹션을 다음과 같이 정의합니다.
[certmap/<DOMAIN_NAME>/<RULE_NAME>]
[certmap/<DOMAIN_NAME>/<RULE_NAME>]Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSSD가 프록시 공급자를 사용하여 AD, IPA 또는 LDAP 대신 로컬 사용자에게 스마트 카드 인증을 허용하도록 구성된 경우 < RULE_NAME >은 단순히
matchrule에 제공된 데이터와 일치하는 카드가 있는 사용자의 사용자 이름이 될 수 있습니다.
검증
스마트 카드로 SSH 액세스를 확인하려면 SSH 액세스를 구성해야 합니다. 자세한 내용은 스마트 카드 인증을 사용하여 SSH 액세스 구성 을 참조하십시오.
다음 명령을 사용하여 SSH 액세스를 확인할 수 있습니다.
ssh -I /usr/lib64/opensc-pkcs11.so -l otheruser localhost hostname
# ssh -I /usr/lib64/opensc-pkcs11.so -l otheruser localhost hostnameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구성이 성공적으로 수행되면 스마트 카드 PIN을 입력하라는 메시지가 표시됩니다.
7장. authselect를 사용하여 스마트 카드 인증 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 중 하나를 수행하도록 스마트 카드를 구성할 수 있습니다.
- 암호와 스마트 카드 인증 모두 활성화
- 암호를 비활성화하고 스마트 카드 인증을 활성화합니다.
- 제거 시 잠금 활성화
사전 요구 사항
authselect툴이 시스템에 설치되어 있습니다.authselect툴은 Linux 호스트에서 사용자 인증을 구성하고 이를 사용하여 스마트 카드 인증 매개 변수를 구성할 수 있습니다.authselect에 대한 자세한 내용은 authselect를 사용하여 사용자 인증 구성 을 참조하십시오.RHEL 8에서 지원하는 스마트 카드 또는 USB 장치
자세한 내용은 RHEL8의 스마트 카드 지원을 참조하십시오.
7.1. 스마트 카드 이용 자격 인증서 링크 복사링크가 클립보드에 복사되었습니다!
authselect 를 사용하여 스마트 카드를 구성하려면 인증서를 카드로 가져와야 합니다. 다음 도구를 사용하여 인증서를 생성할 수 있습니다.
- Active Directory (AD)
IdM(Identity Management)
IdM 인증서를 생성하는 방법에 대한 자세한 내용은 새 사용자 인증서 요청 및 클라이언트로 내보내기를 참조하십시오.
RHCS(Red Hat Certificate System)
자세한 내용은 Enterprise Security Client를 사용하여 스마트 카드 관리를 참조하십시오.
- 타사 CA(인증 기관)
로컬 인증 기관. 사용자가 도메인에 속하지 않거나 테스트 목적으로 로컬 인증 기관에서 생성한 인증서를 사용할 수 있습니다.
로컬 인증서를 스마트 카드로 생성 및 가져오는 방법에 대한 자세한 내용은 로컬 인증서를 스마트 카드로 구성 및 가져오는 것입니다.
7.2. 스마트 카드 및 암호 인증을 둘 다 사용하도록 시스템 구성 링크 복사링크가 클립보드에 복사되었습니다!
시스템에서 스마트 카드 및 암호 인증을 모두 활성화하려면 다음 절차를 따르십시오.
사전 요구 사항
- 스마트 카드에는 인증서와 개인 키가 포함되어 있습니다.
- 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
-
authselect도구가 시스템에 설치되어 있습니다.
절차
스마트 카드 및 암호 인증을 허용하려면 다음 명령을 입력합니다.
authselect select sssd with-smartcard --force
# authselect select sssd with-smartcard --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이 시점에서 스마트 카드 인증이 활성화되어 있지만, 가정에서 스마트 카드를 잊어버리면 암호 인증이 작동합니다.
7.3. 스마트 카드 인증을 적용하도록 시스템 구성 링크 복사링크가 클립보드에 복사되었습니다!
authselect 도구를 사용하면 시스템에서 스마트 카드 인증을 구성하고 기본 암호 인증을 비활성화할 수 있습니다. authselect 명령에는 다음 옵션이 포함됩니다.
-
with-smartcardhiera-octetsenables 스마트 카드 인증 및 암호 인증 사용 -
with-smartcard-requiredhiera-octets-enables 스마트 카드 인증을 사용하고 암호 인증을 비활성화합니다.
with-smartcard-required 옵션은 로그인 서비스(예: 로그인 ,gdm,xdm,kdm, xdm , xscreensdockerfile ,gnome- screens diff , 및 )와 같은 kscreensaver 로그인 서비스에 대해 전용 스마트 카드 인증을 시행합니다. 사용자 전환에 su 또는 sudo 와 같은 기타 서비스는 기본적으로 스마트 카드 인증을 사용하지 말고 계속 암호를 입력하라는 메시지를 표시합니다.
사전 요구 사항
- 스마트 카드에 인증서 및 개인 키가 포함되어 있습니다.
- 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
-
authselect툴이 로컬 시스템에 설치되어 있습니다.
절차
다음 명령을 입력하여 스마트 카드 인증을 적용합니다.
authselect select sssd with-smartcard with-smartcard-required --force
# authselect select sssd with-smartcard with-smartcard-required --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이 명령을 실행하면 암호 인증이 더 이상 작동하지 않으며 스마트 카드로만 로그인할 수 있습니다. 이 명령을 실행하기 전에 스마트 카드 인증이 작동하는지 확인하거나 시스템에서 잠길 수 있습니다.
7.4. 잠금 제거를 통한 스마트 카드 인증 구성 링크 복사링크가 클립보드에 복사되었습니다!
authselect 서비스를 사용하면 리더에서 스마트 카드를 제거한 후 즉시 화면을 잠그도록 스마트 카드 인증을 구성할 수 있습니다. authselect 명령에는 다음 변수가 포함되어야 합니다.
-
with-smartcard메세지- 스마트 카드 인증 지원 -
스마트카드를 사용하는 경우전용 스마트 카드 인증이 필요합니다(암호를 사용한 인증은 비활성화됨) with-smartcard-lock-on-removalapache-kubeenforcing 스마트 카드 제거 후 로그아웃참고with-smartcard-lock-on-removal옵션은 GNOME 데스크탑 환경의 시스템에서만 작동합니다.tty또는 콘솔 기반 시스템을 사용하고 있으며 리더에서 스마트 카드를 제거하는 경우 시스템에서 자동으로 잠기지 않습니다.
사전 요구 사항
- 스마트 카드에 인증서 및 개인 키가 포함되어 있습니다.
- 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
-
authselect툴이 로컬 시스템에 설치되어 있습니다.
절차
다음 명령을 입력하여 스마트 카드 인증을 활성화하고, 암호 인증을 비활성화하고, 제거 시 잠금을 적용합니다.
authselect select sssd with-smartcard with-smartcard-required with-smartcard-lock-on-removal --force
# authselect select sssd with-smartcard with-smartcard-required with-smartcard-lock-on-removal --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 카드를 제거하면 화면이 잠깁니다. 잠금을 해제하려면 스마트 카드를 다시 삽입해야 합니다.
8장. 스마트 카드를 사용하여 sudo에 인증 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 사용하여 sudo 에 원격으로 인증할 수 있습니다. ssh-agent 서비스가 로컬에서 실행되고 ssh-agent 소켓을 원격 시스템으로 전달할 수 있는 후 sudo PAM 모듈의 SSH 인증 프로토콜을 사용하여 사용자를 원격으로 인증할 수 있습니다.
스마트 카드를 사용하여 로컬로 로그인한 후 SSH를 통해 원격 시스템에 로그인하고 스마트 카드 인증의 SSH 전달을 사용하여 암호를 입력하라는 메시지 없이 sudo 명령을 실행할 수 있습니다.
이 예제의 목적을 위해 클라이언트는 SSH를 통해 IPA 서버에 연결하고 스마트 카드에 저장된 자격 증명을 사용하여 IPA 서버에서 sudo 명령을 실행합니다.
8.1. IdM에서 sudo 규칙 생성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 IdM에 sudo 규칙을 생성하여 < idm_user > 권한을 부여하여 원격 호스트에서 sudo 를 실행할 수 있는 권한을 부여합니다.
이 예제의 목적을 위해 절차를 테스트하기 위해 less 및 whoami 명령이 sudo 명령으로 추가됩니다.
사전 요구 사항
-
IdM 사용자가 생성되었습니다. 이 예제의 목적을 위해 사용자는 <
idm_user> 입니다. -
sudo를 원격으로 실행하는 시스템의 호스트 이름이 있습니다. 이 예제의 목적을 위해 호스트는server.ipa.test입니다.
절차
사용자가 명령을 실행할 수 있도록 <
sudorule_name >이라는 sudo 규칙을 만듭니다. & lt;sudorule_name >을 생성하려는 sudo 규칙의 실제 이름으로 바꿉니다.ipa sudorule-add <sudorule_name>
# ipa sudorule-add <sudorule_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo명령으로더 적고whoami를 추가합니다.ipa sudocmd-add /usr/bin/less ipa sudocmd-add /usr/bin/whoami
# ipa sudocmd-add /usr/bin/less # ipa sudocmd-add /usr/bin/whoamiCopy to Clipboard Copied! Toggle word wrap Toggle overflow < sudorule_name> :에
less및whoami명령을 추가합니다.ipa sudorule-add-allow-command <sudorule_name> --sudocmds /usr/bin/less ipa sudorule-add-allow-command <sudorule_name> --sudocmds /usr/bin/whoami
# ipa sudorule-add-allow-command <sudorule_name> --sudocmds /usr/bin/less # ipa sudorule-add-allow-command <sudorule_name> --sudocmds /usr/bin/whoamiCopy to Clipboard Copied! Toggle word wrap Toggle overflow <
idm_user> 사용자를 < sudorule_name > :에 추가합니다.ipa sudorule-add-user <sudorule_name> --users <idm_user>
# ipa sudorule-add-user <sudorule_name> --users <idm_user>Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo를 실행 중인 호스트를 <
sudorule_name > :에 추가합니다.ipa sudorule-add-host <sudorule_name> --hosts server.ipa.test
# ipa sudorule-add-host <sudorule_name> --hosts server.ipa.testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2. sudo에 대한 PAM 모듈 설정 링크 복사링크가 클립보드에 복사되었습니다!
sudo 를 실행 중인 모든 호스트에서 스마트 카드로 sudo 인증을 위해 pam_ssh_agent_auth.so PAM 모듈을 설치하고 설정하려면 다음 절차를 따르십시오.
절차
PAM SSH 에이전트를 설치합니다.
dnf -y install pam_ssh_agent_auth
# dnf -y install pam_ssh_agent_authCopy to Clipboard Copied! Toggle word wrap Toggle overflow pam_ssh를 다른_agent_auth.so에 대해 authorized_keys_commandauth항목 전에/etc/pam.d/sudo파일에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo명령을 실행할 때 SSH 에이전트 전달이 작동하도록 하려면/etc/sudoers파일에 다음을 추가합니다.Defaults env_keep += "SSH_AUTH_SOCK"
Defaults env_keep += "SSH_AUTH_SOCK"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이를 통해 IPA/SSSD에 저장된 스마트 카드에서 공개 키를 가진 사용자가 암호를 입력하지 않고
sudo에 인증할 수 있습니다.sssd서비스를 다시 시작하십시오.systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.3. 스마트 카드를 사용하여 sudo에 원격으로 연결 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 사용하여 sudo 에 원격으로 연결하도록 SSH 에이전트 및 클라이언트를 구성하려면 다음 절차를 따르십시오.
사전 요구 사항
-
IdM에
sudo규칙이 생성되어 있습니다. -
sudo를 실행할 원격 시스템에서sudo인증을 위해pam_ssh_agent_authPAM 모듈을 설치하고 설정했습니다.
절차
SSH 에이전트를 시작합니다(아직 실행되지 않은 경우).
eval `ssh-agent`
# eval `ssh-agent`Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSH 에이전트에 스마트 카드를 추가합니다. 메시지가 표시되면 PIN을 입력합니다.
ssh-add -s /usr/lib64/opensc-pkcs11.so
# ssh-add -s /usr/lib64/opensc-pkcs11.soCopy to Clipboard Copied! Toggle word wrap Toggle overflow ssh-agent 전달이 활성화된 SSH를 사용하여 원격으로
sudo를 실행해야 하는 시스템에 연결합니다.-A옵션을 사용합니다.ssh -A ipauser1@server.ipa.test
# ssh -A ipauser1@server.ipa.testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
sudo를 사용하여whoami명령을 실행합니다.sudo /usr/bin/whoami
# sudo /usr/bin/whoamiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
스마트 카드가 삽입될 때 generated 또는 password를 입력하라는 메시지가 표시되지 않습니다.
SSH 에이전트가 GNOME 키링과 같은 다른 소스를 사용하도록 구성되어 있고 스마트 카드를 제거한 후 sudo 명령을 실행하는 경우, 다른 소스 중 하나가 유효한 개인 키에 대한 액세스를 제공할 수 있으므로, smart 카드를 제거한 후 sudo 명령을 실행하지 못할 수 있습니다. SSH 에이전트에서 알려진 모든 ID의 공개 키를 확인하려면 ssh-add -L 명령을 실행합니다.
9장. 스마트 카드로 PKINIT를 사용하여 Active Directory 사용자로 인증 링크 복사링크가 클립보드에 복사되었습니다!
AD(Active Directory) 사용자는 IdM에 연결된 데스크탑 클라이언트 시스템에 스마트 카드로 인증하고 TGT(Kerberos ticket-granting ticket)를 가져올 수 있습니다. 이러한 티켓은 클라이언트의 SSO(Single Sign-On) 인증에 사용할 수 있습니다.
사전 요구 사항
- IdM 서버는 스마트 카드 인증을 위해 구성됩니다. 자세한 내용은 스마트 카드 인증을 위한 IdM 서버 구성 또는 Ansible을 사용하여 스마트 카드 인증을 위한 IdM 서버 구성 을 참조하십시오.
- 클라이언트는 스마트 카드 인증을 위해 구성됩니다. 자세한 내용은 스마트 카드 인증을 위한 IdM 클라이언트 구성 또는 Ansible을 사용하여 스마트 카드 인증을 위한 IdM 클라이언트 구성 을 참조하십시오.
-
krb5-pkinit패키지가 설치되어 있습니다. - AD 서버는 스마트 카드 인증서를 발급한 CA(인증 기관)를 신뢰하도록 구성됩니다. CA 인증서를 NTAuth 저장소로 가져오고( Microsoft 지원참조) CA를 신뢰할 수 있는 CA로 추가합니다. 자세한 내용은 Active Directory 설명서를 참조하십시오.
절차
스마트 카드 인증서를 발급한 CA를 신뢰하도록 Kerberos 클라이언트를 구성합니다.
-
IdM 클라이언트에서
/etc/krb5.conf파일을 엽니다. 파일에 다음 행을 추가합니다.
[realms] AD.DOMAIN.COM = { pkinit_eku_checking = kpServerAuth pkinit_kdc_hostname = adserver.ad.domain.com }[realms] AD.DOMAIN.COM = { pkinit_eku_checking = kpServerAuth pkinit_kdc_hostname = adserver.ad.domain.com }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
IdM 클라이언트에서
사용자 인증서에 CRL(Certificate Revocation list) 배포 지점 확장이 포함되어 있지 않은 경우 취소 오류를 무시하도록 AD를 구성합니다.
다음 REG 형식의 콘텐츠를 일반 텍스트 파일에 저장하고 Windows 레지스트리로 가져옵니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는
regedit.exe애플리케이션을 사용하여 값을 수동으로 설정할 수 있습니다.- Windows 시스템을 재부팅하여 변경 사항을 적용합니다.
Identity Management 클라이언트에서
kinit유틸리티를 사용하여 인증합니다. 사용자 이름과 도메인 이름을 사용하여 Active Directory 사용자를 지정합니다.kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' ad_user@AD.DOMAIN.COM
$ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' ad_user@AD.DOMAIN.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow -X옵션은opensc-pkcs11.so 모듈을pre-authentication 속성으로 지정합니다.
10장. 스마트 카드로 인증 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 스마트 카드 인증을 설정할 때 발생할 수 있는 일부 문제를 해결하는 방법을 설명합니다.
10.1. 시스템에서 스마트 카드 액세스 테스트 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드에 액세스할 수 있는지 확인하려면 다음 절차를 따르십시오.
사전 요구 사항
- 스마트 카드에서 사용할 IdM 서버 및 클라이언트를 설치하고 구성했습니다.
-
nss-tools패키지에서certutil툴을 설치했습니다. - 스마트 카드의 Pin 또는 암호가 있습니다.
절차
lsusb명령을 사용하여 스마트 카드 리더가 운영 체제에 표시되는지 확인합니다.lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 072f:b100 Advanced Card Systems, Ltd ACR39U Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 072f:b100 Advanced Card Systems, Ltd ACR39U Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubCopy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL에서 테스트 및 지원되는 스마트 카드 및 리더에 대한 자세한 내용은 RHEL 8의 스마트 카드 지원을 참조하십시오.
pcscd서비스 및 소켓이 활성화되어 실행되고 있는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow p11-kit list-modules명령을 사용하여 스마트 카드에 구성된 스마트 카드 및 토큰에 대한 정보를 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스마트 카드의 콘텐츠에 액세스할 수 있는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil명령을 사용하여 스마트 카드에 인증서 내용을 표시합니다.다음 명령을 실행하여 인증서의 올바른 이름을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스마트 카드의 인증서 내용을 표시합니다.
참고인증서 이름이 이전 단계에 표시된 출력에 대한 정확한 일치 항목인지 확인합니다(이 예에서는
MyEID(sctest):Certificate).Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.2. SSSD를 사용하여 스마트 카드 인증 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드를 사용하여 SSSD로 인증 문제를 해결하려면 다음 절차를 따르십시오.
사전 요구 사항
- 스마트 카드에서 사용할 IdM 서버 및 클라이언트를 설치하고 구성했습니다.
-
sssd-tools패키지가 설치되어 있습니다. - 스마트 카드 리더를 감지하고 스마트 카드의 내용을 표시할 수 있습니다. 시스템의 스마트 카드 액세스 테스트를 참조하십시오.
절차
su를 사용하여 스마트 카드로 인증할 수 있는지 확인하십시오.su - idmuser1 -c ‘su - idmuser1 -c whoami’ PIN for MyEID (sctest): idmuser1
$ su - idmuser1 -c ‘su - idmuser1 -c whoami’ PIN for MyEID (sctest): idmuser1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스마트 카드 PIN을 입력하라는 메시지가 표시되지 않고 암호 프롬프트 또는 권한 부여 오류가 반환되는 경우 SSSD 로그를 확인합니다. SSSD 로그인 에 대한 자세한 내용은 IdM의 SSSD로 인증 문제 해결을 참조하십시오. 다음은 인증 오류의 예입니다.
su - idmuser1 -c ‘su - idmuser1 -c whoami’ PIN for MyEID (sctest): su: Authentication failure
$ su - idmuser1 -c ‘su - idmuser1 -c whoami’ PIN for MyEID (sctest): su: Authentication failureCopy to Clipboard Copied! Toggle word wrap Toggle overflow SSSD 로그가 다음과 유사한 KnativeServing
5_hiera 에서 문제를 나타내는 경우 CA 인증서에 문제가 있을 수 있습니다. 인증서 문제를 해결하려면 IdM Kerberosmtls에서 Pkinit를 사용할 수 있고 CA 인증서가 올바르게 위치하는지 확인합니다.[Pre-authentication failed: Failed to verify own certificate (depth 0): unable to get local issuer certificate: could not load the shared library]
[Pre-authentication failed: Failed to verify own certificate (depth 0): unable to get local issuer certificate: could not load the shared library]Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSSD 로그에서
p11_octets 또는octetsoctets 로부터 시간 초과를 나타내는 경우 SSSD 시간 제한을 늘리고 스마트 카드로 다시 인증해야 할 수 있습니다. 시간 제한을 늘리는 방법에 대한 자세한 내용은 SSSD 시간 초과를 참조하십시오.5_GDM 스마트 카드 인증 구성이 올바른지 확인합니다. 다음과 같이 PAM 인증에 대한 성공 메시지를 반환해야 합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 유사한 인증 오류가 반환되면 SSSD 로그를 확인하여 문제의 원인이 되는 항목을 확인합니다. SSSD 로그인 에 대한 자세한 내용은 IdM의 SSSD로 인증 문제 해결을 참조하십시오.
pam_authenticate for user [idmuser1]: Authentication failure PAM Environment: - no env -
pam_authenticate for user [idmuser1]: Authentication failure PAM Environment: - no env -Copy to Clipboard Copied! Toggle word wrap Toggle overflow PAM 인증이 계속 실패하면 캐시를 지우고 명령을 다시 실행합니다.
sssctl cache-remove SSSD must not be running. Stop SSSD now? (yes/no) [yes] yes Creating backup of local data… Removing cache files… SSSD needs to be running. Start SSSD now? (yes/no) [yes] yes
# sssctl cache-remove SSSD must not be running. Stop SSSD now? (yes/no) [yes] yes Creating backup of local data… Removing cache files… SSSD needs to be running. Start SSSD now? (yes/no) [yes] yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.3. IdM Kerberos 6443이 PKINIT를 사용하고 CA 인증서가 올바르게 있는지 확인 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 IdM Kerberos KDC가 PKINIT를 사용할 수 있는지 확인하고 CA 인증서가 올바르게 배치되었는지 확인하는 방법도 설명합니다.
사전 요구 사항
- 스마트 카드에서 사용할 IdM 서버 및 클라이언트를 설치하고 구성했습니다.
- 스마트 카드 리더를 감지하고 스마트 카드의 내용을 표시할 수 있습니다. 시스템의 스마트 카드 액세스 테스트를 참조하십시오.
절차
kinit유틸리티를 실행하여 스마트 카드에 저장된 인증서를 사용하여idmuser1로 인증합니다.kinit -X X509_user_identity=PKCS11: idmuser1 MyEID (sctest) PIN:
$ kinit -X X509_user_identity=PKCS11: idmuser1 MyEID (sctest) PIN:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 스마트 카드 Pin을 입력합니다. Pin을 묻지 않은 경우 스마트 카드 리더를 감지하고 스마트 카드의 내용을 표시할 수 있는지 확인하십시오. 스마트 카드 인증 테스트를 참조하십시오.
PIN이 수락되고 암호를 입력하라는 메시지가 표시되면 CA 서명 인증서가 누락되었을 수 있습니다.
openssl명령을 사용하여 CA 체인이 기본 인증서 번들 파일에 나열되어 있는지 확인합니다.openssl crl2pkcs7 -nocrl -certfile /var/lib/ipa-client/pki/ca-bundle.pem | openssl pkcs7 -print_certs -noout subject=O = IDM.EXAMPLE.COM, CN = Certificate Authority issuer=O = IDM.EXAMPLE.COM, CN = Certificate Authority
$ openssl crl2pkcs7 -nocrl -certfile /var/lib/ipa-client/pki/ca-bundle.pem | openssl pkcs7 -print_certs -noout subject=O = IDM.EXAMPLE.COM, CN = Certificate Authority issuer=O = IDM.EXAMPLE.COM, CN = Certificate AuthorityCopy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서의 유효성을 확인합니다.
idmuser1의 사용자 인증 인증서 ID를 찾습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow DER 형식의 스마트 카드에서 사용자 인증서 정보를 읽습니다.
pkcs11-tool --read-object --id 01 --type cert --output-file cert.der Using slot 0 with a present token (0x0)
$ pkcs11-tool --read-object --id 01 --type cert --output-file cert.der Using slot 0 with a present token (0x0)Copy to Clipboard Copied! Toggle word wrap Toggle overflow DER 인증서를 PEM 형식으로 변환합니다.
openssl x509 -in cert.der -inform DER -out cert.pem -outform PEM
$ openssl x509 -in cert.der -inform DER -out cert.pem -outform PEMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서에 CA까지 유효한 발행자 서명이 있는지 확인합니다.
openssl verify -CAfile /var/lib/ipa-client/pki/ca-bundle.pem <path>/cert.pem cert.pem: OK
$ openssl verify -CAfile /var/lib/ipa-client/pki/ca-bundle.pem <path>/cert.pem cert.pem: OKCopy to Clipboard Copied! Toggle word wrap Toggle overflow
스마트 카드에 여러 인증서가 포함된 경우
kinit에서 인증을 위해 올바른 인증서를 선택하지 못할 수 있습니다. 이 경우certid=<ID>옵션을 사용하여kinit명령에 대한 인수로 인증서 ID를 지정해야 합니다.스마트 카드에 저장된 인증서 수를 확인하고 사용 중인 인증서의 인증서 ID를 가져옵니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서 ID 01을 사용하여
kinit를 실행합니다.kinit -X kinit -X X509_user_identity=PKCS11:certid=01 idmuser1 MyEID (sctest) PIN:
$ kinit -X kinit -X X509_user_identity=PKCS11:certid=01 idmuser1 MyEID (sctest) PIN:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
klist를 실행하여 Kerberos 인증 정보 캐시의 내용을 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 완료되면 활성 Kerberos 티켓을 삭제합니다.
kdestroy -A
$ kdestroy -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4. SSSD 시간 초과 늘리기 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드로 인증하는 데 문제가 있는 경우, 다음과 유사한 시간 초과 항목이 있는지 KnativeServing 5 파일을 확인하십시오.
_hiera.log 및 p11_octets.log
krb5_child: Timeout for child [9607] reached.....consider increasing value of krb5_auth_timeout.
krb5_child: Timeout for child [9607] reached.....consider increasing value of krb5_auth_timeout.
로그 파일에 시간 초과 항목이 있는 경우 이 프로세스에 설명된 대로 SSSD 시간 제한을 늘립니다.
사전 요구 사항
- 스마트 카드 인증을 위해 IdM 서버 및 클라이언트를 구성했습니다.
절차
IdM 클라이언트에서
sssd.conf파일을 엽니다.vim /etc/sssd/sssd.conf
# vim /etc/sssd/sssd.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 도메인 섹션에서
[domain/idm.example.com]과 같이 다음 옵션을 추가합니다.krb5_auth_timeout = 60
krb5_auth_timeout = 60Copy to Clipboard Copied! Toggle word wrap Toggle overflow [pam]섹션에서 다음을 추가합니다.p11_child_timeout = 60
p11_child_timeout = 60Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSSD 캐시를 지웁니다.
sssctl cache-remove SSSD must not be running. Stop SSSD now? (yes/no) [yes] yes Creating backup of local data… Removing cache files… SSSD needs to be running. Start SSSD now? (yes/no) [yes] yes
# sssctl cache-remove SSSD must not be running. Stop SSSD now? (yes/no) [yes] yes Creating backup of local data… Removing cache files… SSSD needs to be running. Start SSSD now? (yes/no) [yes] yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
시간 초과를 늘리면 스마트 카드를 사용하여 다시 인증하십시오. 자세한 내용은 스마트 카드 인증 테스트를 참조하십시오.
10.5. 인증서 매핑 및 일치 규칙 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드로 인증하는 데 문제가 있는 경우 스마트 카드 인증서를 사용자에게 올바르게 연결했는지 확인합니다. 기본적으로 사용자 항목에 usercertificate 속성의 일부로 전체 인증서가 포함된 경우 인증서가 사용자와 연결됩니다. 그러나 인증서 매핑 규칙이 정의된 경우 인증서와 사용자 연결 방식이 변경될 수 있습니다.
스마트 카드를 사용하여 SSH를 사용하여 인증하는 경우 전체 인증서를 IdM(Identity Management)의 사용자 항목에 추가해야 합니다. SSH를 사용하여 인증하기 위해 스마트 카드를 사용하지 않는 경우 ipa user-add-certmapdata 명령을 사용하여 인증서 매핑 데이터를 추가할 수 있습니다.
10.5.1. 인증서가 사용자에게 매핑되는 방법 확인 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 사용자 항목에 usercertificate 속성의 일부로 전체 인증서가 포함된 경우 인증서가 사용자와 연결됩니다. 그러나 인증서 매핑 규칙이 정의된 경우 인증서와 사용자 연결 방식이 변경될 수 있습니다. 인증서 매핑 규칙을 확인하려면 다음 절차를 따르십시오.
사전 요구 사항
- 스마트 카드에서 사용할 IdM(Identity Management) 서버 및 클라이언트를 설치하고 구성했습니다.
- 스마트 카드 리더를 감지하고 스마트 카드의 내용을 표시할 수 있습니다. 시스템의 스마트 카드 액세스 테스트를 참조하십시오.
- 스마트 카드 인증서를 IdM 사용자에게 매핑했습니다. 스마트 카드에서 인증을 구성하기 위한 인증서 매핑 규칙을 참조하십시오.
절차
현재 IdM에 대해 구성된 인증서 매핑 규칙을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같은 매핑 규칙 중 하나가 정의된 것을 확인할 수 있습니다.
-
ipacertmapdata는 IdM 사용자 항목certmapdata특성이 사용되었음을 나타냅니다. -
altSecurityIdentities는 Active Directory의 사용자 항목 이름 매핑 특성이 사용되도록 지정합니다. -
userCertificate;binary=는 IdM 또는 AD의 전체 인증서가 사용됨을 나타냅니다.
다양한 일치 옵션을 정의할 수 있지만 일반적으로 구성된 옵션 중 일부는 다음과 같습니다.
-
<ISSUER>CN=[…]는 사용 중인 인증서의 issuer 속성을 확인하여 이 값과 일치하는지 확인합니다. -
<SUBJECT>.*,DC=MY,DC=DOMAIN은 인증서의 제목을 확인합니다.
-
IdM 서버의
/etc/sssd/sssd.conf파일에debug_level = 9를 추가하여 SSSD(System Security Services Daemon) 로깅을 활성화합니다.[domain/idm.example.com] ... debug_level = 9
[domain/idm.example.com] ... debug_level = 9Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSSD를 다시 시작하십시오.
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 매핑이 올바르게 표시되면
/var/log/sssd/sssd_idm.example.com.log파일에 다음 항목이 표시됩니다.[be[idm.example.com]] [sdap_setup_certmap] (0x4000): Trying to add rule [smartcardrule][-1][<ISSUER>CN=Certificate Authority,O=IDM.EXAMPLE.COM][(|(userCertificate;binary={cert!bin})(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500}))].[be[idm.example.com]] [sdap_setup_certmap] (0x4000): Trying to add rule [smartcardrule][-1][<ISSUER>CN=Certificate Authority,O=IDM.EXAMPLE.COM][(|(userCertificate;binary={cert!bin})(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500}))].Copy to Clipboard Copied! Toggle word wrap Toggle overflow 매핑 규칙에 잘못된 구문이 포함된 경우 다음과 유사한 항목을 로그 파일에서 확인할 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 매핑 규칙 구문을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 경우 인증서 매핑 규칙을 수정합니다.
ipa certmaprule-mod smartcardrule --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'# ipa certmaprule-mod smartcardrule --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.5.2. 스마트 카드 인증서와 관련된 사용자 확인 링크 복사링크가 클립보드에 복사되었습니다!
스마트 카드로 인증하는 데 문제가 있는 경우 올바른 사용자가 스마트 카드 인증서와 연결되어 있는지 확인합니다.
사전 요구 사항
- 스마트 카드에서 사용할 IdM(Identity Management) 서버 및 클라이언트를 설치하고 구성했습니다.
- 스마트 카드 리더를 감지하고 스마트 카드의 내용을 표시할 수 있습니다. 시스템의 스마트 카드 액세스 테스트를 참조하십시오.
- 스마트 카드 인증서를 IdM 사용자에게 매핑했습니다. 스마트 카드에서 인증을 구성하기 위한 인증서 매핑 규칙을 참조하십시오.
-
스마트 카드의 인증서 사본 (예:
cert.pem)이 있습니다.
절차
사용자가 스마트 카드 인증서와 연결되어 있는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 또는 도메인이 올바르지 않으면 인증서가 사용자에게 매핑되는 방법을 확인합니다. 인증서가 사용자에 매핑되는 방법 확인을 참조하십시오.
사용자 항목에 인증서가 포함되어 있는지 확인합니다.
ipa user-show idmuser1 User login: idmuser1 [...] Certificate:MIIEejCCAuKgAwIBAgIBCzANBgkqhkiG9w0BAQsFADAzMREwDwYDVQQKDAhJUEEuVEVTVDEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XD
# ipa user-show idmuser1 User login: idmuser1 [...] Certificate:MIIEejCCAuKgAwIBAgIBCzANBgkqhkiG9w0BAQsFADAzMREwDwYDVQQKDAhJUEEuVEVTVDEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 항목에 인증서가 없으면 사용자 항목에 base-64로 인코딩된 인증서를 추가합니다.
ipa user-add-cert명령에서 필요한 형식인 헤더와 바닥글이 제거되고 한 줄로 연결된 인증서가 포함된 환경 변수를 생성합니다.export CERT=`openssl x509 -outform der -in idmuser1.crt | base64 -w0 -`
$ export CERT=`openssl x509 -outform der -in idmuser1.crt | base64 -w0 -`Copy to Clipboard Copied! Toggle word wrap Toggle overflow idmuser1.crt파일의 인증서가 PEM 형식이어야 합니다.ipa user-add-cert명령을 사용하여idmuser1의 프로필에 인증서를 추가합니다.ipa user-add-cert idmuser1 --certificate=$CERT
$ ipa user-add-cert idmuser1 --certificate=$CERTCopy to Clipboard Copied! Toggle word wrap Toggle overflow SSSD(System Security Services Daemon) 캐시를 지웁니다.
sssctl cache-remove SSSD must not be running. Stop SSSD now? (yes/no) [yes] yes Creating backup of local data… Removing cache files… SSSD needs to be running. Start SSSD now? (yes/no) [yes] yes
# sssctl cache-remove SSSD must not be running. Stop SSSD now? (yes/no) [yes] yes Creating backup of local data… Removing cache files… SSSD needs to be running. Start SSSD now? (yes/no) [yes] yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
ipa certmap-match를 다시 실행하여 사용자가 스마트 카드 인증서와 연결되어 있는지 확인합니다.