당신이 Kerberos 구성 및 인증 실패로 인해 밤잠을 설친다면, 혼자가 아닙니다. 가장 경험이 많은 시스템 관리자들조차 Kerberos 인증을 설정할 때의 고유한 불만을 잘 알고 있습니다.
작은 오류를 무시할 수 없습니다. 왜냐하면 이것이 모든 규모의 조직을 위한 인증 프로토콜의 중추로서 기업 보안에서 중요한 역할을 한다는 것을 알기 때문입니다. 그래서 귀하의 개발 팀은 Kerberos 인증 API를 테스트할 플랫폼이 필요합니다. 이것은 도전 과제가 될 수 있으며, 불행히도 Postman과 같은 가장 인기 있는 테스트 플랫폼조차 아직 지원하지 않거나 SoapUI와 같은 경우 사용하기가 너무 복잡합니다.
그럴 때 Apidog이 등장하여 Kerberos와 NTLM 인증 프로토콜에 대한 네이티브 지원을 제공함으로써 Windows, Mac 및 Linux에서 Kerberos 인증 API를 테스트하는 것을 시작할 수 있게 해줍니다. 이제 우리가 당신의 관심을 끌었든 아니든, 블로그의 나머지 부분을 계속 읽어 주시기 바랍니다. 여기서 우리는 Kerberos에 대한 친숙함을 높이고, 그것의 중요성을 설명하며, 우리 플랫폼에서 사용하는 방법을 보여줄 것입니다.
단계에 들어가기 전에 Kerberos 인증 프로토콜에 대한 간략한 복습을 해보겠습니다—많은 기업 보안 시스템의 핵심입니다.
Kerberos 인증 프로토콜이란?
MIT에서 개발한 Kerberos는 사용자 신원 데이터를 네트워크를 통해 안전하게 전송하는 방법을 제공하는 네트워크 보안 인증 프로토콜입니다. Microsoft Windows 환경에서 특히 인기가 있으며, 싱글 사인온(SSO) 솔루션에 필수적입니다. 이를 통해 사용자는 한 번만 인증하고 비밀번호를 다시 입력할 필요 없이 여러 서비스에 접근할 수 있습니다.
Kerberos 인증은 어떻게 작동합니까?
Kerberos의 핵심에는 안전한 인증을 보장하기 위해 함께 작동하는 여러 주요 구성 요소가 있습니다:
- KDC (키 배포 센터): 인증 요청을 관리하는 중앙 서버입니다. 여기에는 두 가지 중요한 구성 요소가 포함됩니다:
- AS (인증 서버): 사용자의 신원을 확인하고 티켓 부여 티켓(TGT)을 발급합니다.
- TGS (티켓 부여 서비스): 사용자가 특정 리소스에 접근할 수 있도록 서비스 티켓을 발급합니다.
- TGS (티켓 부여 서비스): 사용자가 특정 리소스에 접근할 수 있도록 서비스 티켓을 발급합니다.
- 서비스 티켓: TGS에서 발급되며 특정 서비스에 대한 접근을 인증하는 데 사용됩니다.
Kerberos 인증 흐름은 간단하면서도 안전합니다:
- 사용자가 로그인하고 AS로부터 TGT를 요청합니다.
- AS는 사용자의 신원을 확인하고 TGT를 발급합니다.
- 서비스에 접근하기 위해 사용자는 자신의 TGT를 사용하여 TGS에 서비스 티켓을 요청합니다.
- TGS는 TGT를 확인하고 서비스 티켓을 발급합니다.
- 사용자는 서비스 티켓을 사용하여 요청한 서비스에 대한 접근을 인증합니다.
이 과정에서 KDC는 인증 서버(AS)와 티켓 부여 서비스(TGS)라는 두 가지 주요 구성 요소를 포함하는 중앙 기관으로 기능합니다. TGT(티켓 부여 티켓)과 서비스 티켓은 인증 흐름 전반에 걸쳐 신원을 확인하고 접근을 승인하는 필수 자격 증명 역할을 합니다.
이 설계는 사용자가 한 번만 인증(즉, TGT를 받음)하고 필요에 따라 여러 서비스 티켓을 요청할 수 있도록 하여 자격 증명을 다시 입력할 필요가 없습니다. 이 접근 방식은 싱글 사인온(SSO)을 지원하여 사용자 경험을 원활하게 하면서 시스템 내에서 강력한 보안을 유지합니다.

macOS에서 Apidog로 Kerberos 인증 API 테스트하기

이제 Kerberos가 어떻게 작동하는지 이해했으니, macOS에서 Apidog를 사용하여 Kerberos 인증 API 엔드포인트를 테스트하는 단계를 안내하겠습니다.
단계 1: 준비
시작하려면 귀하의 조직에서 Kerberos 인증을 사용할 때 일반적으로 제공하는 몇 가지 기본 Kerberos 관련 정보가 필요합니다:
- 계정: 귀하의 Kerberos 사용자 계정 (예: Scarlett@APIDOG.LOCAL).
- 비밀번호: 귀하의 Kerberos 로그인 비밀번호.
- Kerberos 영역: 대문자로 된 도메인 이름 (예: APIDOG.LOCAL).
- KDC 서버 주소: KDC의 완전한 도메인 이름(FQDN) 또는 IP 주소 (예: ills7i8hyt2.apidog.local).
시작하기 전에 Apidog의 최신 버전을 다운로드하고 설치했는지 확인하십시오. Apidog의 웹 버전은 Kerberos를 지원하지 않으므로 데스크톱 클라이언트를 사용해야 합니다.
단계 2: Kerberos 인증을 위한 지역 DNS 수정:
Kerberos 인증은 일반적으로 내부 네트워크 내에서 사용됩니다. 적절한 연결성을 보장하기 위해 DNS 서버를 Active Directory(AD) 서버 주소로 구성해야 합니다.
단계 3: macOS에서 /etc/krb5.conf
구성하기
krb5.conf
파일은 Kerberos에 대한 중앙 구성입니다. 이는 귀하의 Kerberos 영역과 KDC 서버 주소를 정의합니다. 이 파일을 생성하거나 수정해야 합니다.
- 터미널을 열고
krb5.conf
가 이미 존재하는지 확인합니다:
cat /etc/krb5.conf
- 파일이 존재하지 않는 경우 생성합니다:
nano /etc/krb5.conf
- 다음 내용을 추가하여 Kerberos 영역과 KDC 서버를 구성합니다:
[libdefaults]
default_realm = APIDOG.LOCAL # 귀하의 Kerberos 영역 이름, 일반적으로 귀하의 조직 도메인 이름의 대문자 형태
[realms]
EXAMPLE.COM = {
kdc = ills7i8hyt2.apidog.local # KDC 서버 주소, 여기서는 도메인 컨트롤러의 FQDN으로 가정합니다
admin_server = ills7i8hyt2.apidog.local # 일반적으로 KDC와 동일합니다
}
[domain_realm]
.apidog.local = APIDOG.LOCAL # 도메인 이름과 Kerberos 영역 이름 간의 매핑, 왼쪽은 소문자
apidog.local = APIDOG.LOCAL
- 파일을 저장하고 닫습니다.
단계 4: AD 계정에 로그인
Kerberos로 인증하려면 macOS에서 GUI 또는 CLI 도구를 사용할 수 있습니다.
GUI: 티켓 뷰어를 사용하여 신원을 추가합니다. Spotlight를 열고 티켓 뷰어를 검색한 다음 자격 증명을 추가합니다.

CLI: 또는 kinit
명령을 사용할 수 있습니다: bash kinit <username@domain>
Kerberos 티켓을 확인하려면: bash klist
# AD 계정에 대한 티켓 받기
kinit <username@domain>
# 로컬 티켓 확인
klist
단계 5: Apidog에서 Kerberos 인증 구성하기
이제 AD 계정에 로그인하고 Kerberos가 설정되었으므로 Apidog를 열고 다음 단계를 따르십시오:
- Apidog에서
새 요청
을 생성합니다.

- 인증 섹션에서 Kerberos를 인증 유형으로 선택합니다.

- 서비스 주체 이름 (SPN)을 입력합니다. 이는 KDC 서버와 영역 이름의 조합입니다. 예:
HTTP/ills7i8hyt2.apidog.local@APIDOG.LOCAL

- 전송을 클릭하여 API를 테스트합니다.

401 오류 문제 해결
만약 401 Unauthorized 오류가 발생하면 다음 사항을 확인하십시오:
- DNS 구성: DNS가 올바르게 설정되었는지 확인합니다.
- Kerberos 설정:
krb5.conf
에서 Kerberos 구성을 확인합니다. - 자격 증명 유효성: 사용자 이름과 비밀번호가 정확하고 활성화되어 있는지 확인합니다.
- API 접근 권한: API에 접근할 수 있는 권한이 있는지 확인합니다.
- 티켓 만료: Kerberos 티켓은 만료되므로 티켓이 여전히 유효한지 확인하십시오.
kinit
를 사용하여 갱신해야 할 수도 있습니다.

Windows에서 Kerberos 인증 구성하기
도메인에 가입된 Windows 시스템의 경우, Apidog는 기존 Kerberos 구성과 원활하게 통합됩니다. 시스템이 이미 도메인의 일부인 경우 Kerberos 인증 API 테스트를 시작하는 데 추가 구성이 필요하지 않습니다.
비도메인 시스템의 경우, 도메인에 가입하고 Kerberos를 설정하려면 관리 권한과 유효한 도메인 자격 증명이 필요합니다. 다음은 관련 단계입니다:
- DNS 설정을 구성하여 도메인의 DNS 서버를 가리킵니다.
- 시스템 설정 > 작업 또는 학교에 접근으로 이동하여 도메인 설정에 접근합니다.
- 필요한 인증 자격 증명을 제공하여 도메인 가입 프로세스를 완료합니다.
Apidog를 사용하여 NTLM 인증 API 테스트하기
Kerberos 외에도 Apidog는 레거시 시스템에서 일반적으로 사용되는 NTLM 인증도 지원합니다. NTLM은 Kerberos보다 빠르지만 보안성이 떨어지며, 작은 네트워크에서 이상적이거나 Kerberos를 사용할 수 없을 때 백업으로 사용됩니다.
NTLM 인증을 위해서는 Apidog의 인증 섹션에 사용자 이름과 비밀번호를 입력하고 전송을 클릭하면 됩니다—추가 설정이 필요하지 않습니다.
단계 1: 준비 및 지역 DNS 수정
NTLM 인증은 간단하며 회사에서 제공한 계정과 비밀번호만 필요합니다. Apidog의 최신 버전을 다운로드하여 등록했는지 확인하십시오.
이 NTLM 인증 엔드포인트는 내부 네트워크 내에서 자주 접근하므로 DNS 서버가 Active Directory(AD) 서버 주소를 가리키도록 구성되어 있는지 확인하십시오.
단계 2: Apidog에서 인증 구성하기
Apidog에서 NTLM 인증을 구성하는 것은 간단하며 추가 설정이 필요하지 않습니다.
Apidog의 인증
섹션에서 NTLM 인증
을 인증 유형으로 선택합니다. 해당 필드에 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.

자격 증명을 입력한 후 전송
버튼을 클릭하여 인증 프로세스를 완료합니다.
Kerberos 인증의 장점
Kerberos는 기업에 선호되는 인증 방법이 되도록 여러 가지 장점을 제공합니다:
- 중앙 집중식 인증: 모든 인증은 중앙 서버에 의해 처리되어 사용자 관리 및 정책 시행이 더 쉬워집니다.
- 상호 인증: 클라이언트와 서버 모두 서로의 신원을 확인하며, 추가적인 보안 계층을 제공합니다.
- 싱글 사인온(SSO): 인증이 완료되면 사용자는 다시 로그인할 필요 없이 여러 서비스에 접근할 수 있습니다.
- 티켓 기반 인증: 사용자 자격 증명(비밀번호)은 네트워크를 통해 전송되지 않습니다. 대신 암호화된 티켓을 사용하여 신원을 증명합니다.
- 제한된 티켓 유효성: 티켓은 타임스탬프가 붙어 있으며 설정된 기간 후에 만료되어, 유출된 자격 증명과 관련된 위험을 줄입니다.
- 서버 부담 감소: 서버는 사용자를 반복해서 인증할 필요가 없으므로 시스템 성능이 향상됩니다.
결론
현대의 기업 환경에서는 Kerberos와 NTLM이 인증에서 중요한 역할을 합니다. Kerberos는 대규모 배포를 위한 향상된 보안을 제공하는 반면, NTLM은 이전 시스템 및 소규모 네트워크와의 호환성을 제공합니다.
Apidog은 두 프로토콜에 대한 네이티브 지원을 통해 Kerberos 인증 서비스에서 Windows, Mac 또는 Linux 환경을 사용하는 경우에도 NTLM을 사용하여 레거시 시스템을 테스트하는 것이 간단합니다.
Apidog은 인증 설정을 효율적으로 테스트하고 검증하는 데 도움을 주며, 개발자와 QA 팀의 시간과 불만을 줄여줍니다. 오늘 Apidog를 시작하여 내장된 Kerberos 및 NTLM 지원으로 원활하고 안전한 API 테스트를 경험해 보십시오.