소개
이 문서에서는 Cisco FMC(Firepower Management Center) 및 FTD(Firepower Threat Defense)를 사용하여 Microsoft LDAP(Lightweight Directory Access Protocol) 외부 인증을 활성화하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
Cisco에서는 이러한 주제에 대해 알고 있는 것이 좋습니다.
- Cisco FTD(Firepower Threat Defense)
- Cisco FMC(Firepower Management Center)
- Microsoft LDAP(Lightweight Directory Access Protocol)
사용되는 구성 요소
- Firepower Threat Defense 6.5.0-123
- Firepower Management Center 6.5.0-115
- Microsoft Server 2012
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
배경 정보
FMC 및 관리되는 디바이스에는 관리 액세스를 위한 기본 관리자 계정이 포함됩니다.Firepower Management Center 및 관리되는 디바이스에 사용자 지정 사용자 계정을 내부 사용자로 또는 모델에 대해 지원되는 경우 LDAP 또는 RADIUS 서버의 외부 사용자로 추가할 수 있습니다.외부 사용자 인증은 Firepower Management Center 및 Firepower Threat Defense에서 지원됩니다.
· 내부 사용자 - FMC/FTD 디바이스는 로컬 데이터베이스에서 사용자 인증을 확인합니다.
· 외부 사용자 - 사용자가 로컬 데이터베이스에 없는 경우 외부 LDAP 또는 RADIUS 인증 서버의 시스템 정보를 사용하여 사용자 데이터베이스를 채웁니다.
네트워크 다이어그램

구성
1. FMC GUI의 기본 LDAP 컨피그레이션
1단계. System(시스템) >> Users(사용자) >> External Authentication(외부 인증)으로 이동합니다.

2단계. Add External Authentication Object(외부 인증 개체 추가)를 선택합니다.

3단계. 필수 필드를 완료합니다.


4단계. 외부 인증 객체를 활성화하고 다음을 저장합니다.

2. 외부 사용자에 대한 셸 액세스
FMC는 두 가지 서로 다른 내부 관리자 사용자를 지원합니다.하나는 웹 인터페이스이고 다른 하나는 CLI 액세스입니다.즉, GUI에 액세스할 수 있는 사람과 CLI에 액세스할 수 있는 사용자 간에 명확한 차이가 있습니다.설치 시 기본 관리자 사용자의 비밀번호는 GUI와 CLI에서 모두 동일하도록 동기화되지만 서로 다른 내부 메커니즘으로 추적되므로 결국 다를 수 있습니다.
LDAP 외부 사용자에게도 셸 액세스 권한을 부여해야 합니다.
1단계. 이미지에 표시된 대로 System >> Users >> External Authentication >> Click on Shell Authentication 드롭다운 상자로 이동하여 저장합니다.

2단계. FMC에 변경 사항을 구축합니다.
외부 사용자에 대한 셸 액세스가 구성되면 이미지에 표시된 대로 SSH를 통해 로그인할 수 있습니다.

3. FTD에 대한 외부 인증
FTD에서 외부 인증을 활성화할 수 있음
1단계. Devices(디바이스) >> Platform Settings(플랫폼 설정) >> External Authentication(외부 인증) >> Select Enabled(활성화됨)로 이동하고 저장합니다.

4. 사용자 역할
사용자 권한은 지정된 사용자 역할을 기반으로 합니다.조직의 요구 사항에 맞는 액세스 권한을 가진 사용자 지정 사용자 역할을 생성하거나 보안 분석가 및 검색 관리자 등의 사전 정의 역할을 사용할 수도 있습니다.
두 가지 유형의 사용자 역할이 있습니다.
- 웹 인터페이스 사용자 역할
- CLI 사용자 역할
미리 정의된 역할의 전체 목록 및 자세한 내용은 다음을 참조하십시오.사용자 역할
모든 외부 인증 객체에 대한 기본 사용자 역할을 구성하려면 System >> Users >> External Authentication >> Select Default User Role로 이동합니다.할당할 기본 사용자 역할을 선택하고 저장을 선택합니다.

기본 사용자 역할을 선택하거나 특정 객체 그룹의 특정 사용자에게 특정 역할을 할당하려면 객체를 선택하고 이미지에 표시된 대로 그룹 제어 액세스 역할로 이동할 수 있습니다.

5. SSL 또는 TLS
DNS는 FMC에서 구성해야 합니다. 이는 인증서의 주체 값이 인증 객체 주 서버 호스트 이름과 일치해야 하기 때문입니다.보안 LDAP가 구성되면 패킷 캡처는 더 이상 일반 텍스트 바인딩 요청을 표시하지 않습니다.
·SSL은 기본 포트를 636으로 변경하고 TLS는 이를 389로 유지합니다.
참고:TLS 암호화에는 모든 플랫폼에 인증서가 필요합니다.SSL의 경우 FTD에는 인증서도 필요합니다.다른 플랫폼의 경우 SSL에는 인증서가 필요하지 않습니다.그러나 Man-in-the-middle 공격을 방지하기 위해 항상 SSL용 인증서를 업로드하는 것이 좋습니다.
1단계. Devices(디바이스) >> Platform Settings(플랫폼 설정) >> External Authentication(외부 인증) >> External authentication object(외부 인증 개체)로 이동하고 Advanced Options SSL/TLS 정보를 입력합니다.

2단계. 서버 인증서를 서명한 CA의 인증서를 업로드합니다.인증서는 PEM 형식이어야 합니다.

3단계. 컨피그레이션을 저장합니다.
다음을 확인합니다.
1. 테스트 검색 기준
LDAP가 구성된 Windows 명령 프롬프트 또는 PowerShell을 열고 다음 명령을 입력합니다.
dsquery user -name <known username>
예:
PS C:\Users\Administrator> dsquery user -name harry*
PS C:\Users\Administrator> dsquery user -name *

2. LDAP 통합 테스트
System >> Users >> External Authentication >> External Authentication Object로 이동합니다.페이지 하단에는 이미지에 표시된 대로 추가 테스트 매개변수 섹션이 있습니다.

결과를 보려면 테스트를 선택합니다.


문제 해결
1. FMC/FTD 및 LDAP가 사용자 다운로드를 위해 어떻게 상호 작용합니까?
FMC가 Microsoft LDAP 서버에서 사용자를 가져올 수 있도록 하려면 FMC가 먼저 포트 389 또는 SSL(636)에서 LDAP 관리자 자격 증명을 사용하여 bindRequest를 보내야 합니다.LDAP 서버가 FMC를 인증할 수 있게 되면 성공 메시지로 응답합니다.마지막으로, FMC는 다이어그램에 설명된 대로 searchRequest 메시지로 요청을 수행할 수 있습니다.
<< — FMC가 전송하는 메시지:bindRequest(1) "Administrator@SEC-LAB0" 단순
LDAP는 다음과 같이 응답해야 합니다.bindResponse(1) 성공 — >>
<< — FMC가 전송하는 메시지:searchRequest(2) "DC=SEC-LAB,DC=NET" 전체 하위 트리
인증은 기본적으로 비밀번호를 지우면서 전송합니다.

2. FMC/FTD 및 LDAP가 사용자 로그인 요청을 인증하기 위해 어떻게 상호 작용합니까?
LDAP 인증이 활성화된 동안 사용자가 FMC 또는 FTD에 로그인할 수 있도록 초기 로그인 요청이 Firepower로 전송되지만 성공/거부 응답을 위해 사용자 이름과 비밀번호가 LDAP에 전달됩니다.즉, FMC와 FTD는 데이터베이스에 비밀번호 정보를 로컬에 보관하지 않고 LDAP의 확인을 기다리는 대신 진행 방법에 대해 기다립니다.



사용자 이름 및 비밀번호가 수락되면 다음 이미지에 표시된 대로 웹 GUI에 항목이 추가됩니다.

FMC CLISH에서 show user 명령을 실행하여 사용자 정보를 확인합니다.
> show user
이 명령은 지정된 사용자에 대한 자세한 컨피그레이션 정보를 표시합니다. 다음 값이 표시됩니다.
로그인 — 로그인 이름
UID — 숫자 사용자 ID
인증(로컬 또는 원격) — 사용자 인증 방법
액세스(기본 또는 구성) — 사용자의 권한 레벨
Enabled(활성화됨) 또는 Disabled(비활성화됨) - 사용자가 활성 상태인지 여부
재설정(예 또는 아니요) — 사용자가 다음 로그인 시 비밀번호를 변경해야 하는지 여부
Exp (Never or a number) - 사용자 비밀번호를 변경해야 할 때까지의 일 수입니다.
Warn (N/A 또는 Number) - 비밀번호가 만료되기 전에 사용자가 비밀번호를 변경하도록 지정된 일 수
Str(Yes 또는 No) - 사용자 비밀번호가 강도 확인 기준을 충족해야 하는지 여부
잠금(예 또는 아니요) - 로그인 실패가 너무 많아 사용자 계정이 잠겼는지 여부
최대(N/A 또는 숫자) — 사용자 계정이 잠기기 전에 실패한 최대 로그인 수입니다.
3. SSL 또는 TLS가 예상대로 작동하지 않음
FTD에서 DNS를 활성화하지 않으면 LDAP에 연결할 수 없음을 나타내는 piggle 로그에서 오류를 확인할 수 있습니다.
root@SEC-FMC:/$ sudo cd /var/common
root@SEC-FMC:/var/common$ sudo pigtail
MSGS: 03-05 14:35:31 SEC-FTD sshd[10174]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.0.2.15 user=h.potter
MSGS: 03-05 14:35:31 SEC-FTD sshd[10174]: pam_ldap: ldap_starttls_s: Can't contact LDAP server
MSGS: 03-05 14:35:33 SEC-FTD sshd[10138]: error: PAM: Authentication failure for h.potter from 192.0.2.15
MSGS: 03-05 14:35:33 SEC-FTD sshd[10138]: Failed keyboard-interactive/pam for h.potter from 192.0.2.15 port 61491 ssh2
MSGS: 03-05 14:35:33 SEC-FTD sshd[10138]: error: maximum authentication attempts exceeded for h.potter from 192.0.2.15 port 61491 ssh2 [preauth]
MSGS: 03-05 14:35:33 SEC-FTD sshd[10138]: Disconnecting authenticating user h.potter 192.0.2.15 port 61491: Too many authentication failures [preauth]
Firepower에서 LDAP 서버 FQDN을 확인할 수 있는지 확인합니다.그렇지 않은 경우 이미지에 표시된 대로 올바른 DNS를 추가합니다.
FTD:FTD CLISH에 액세스하고 명령을 실행합니다.
> configure network dns servers <IP Address>

FMC:System(시스템) > Configuration(컨피그레이션)을 선택한 다음 이미지에 표시된 대로 Management Interfaces(관리 인터페이스)를 선택합니다.

FMC에 업로드된 인증서가 아래 이미지에 표시된 대로 LDAP 서버의 인증서에 서명한 CA의 인증서인지 확인합니다.

LDAP 서버가 올바른 정보를 전송하는지 확인하려면 패킷 캡처를 사용합니다.

관련 정보