Kerberos 위임을 사용하면 서비스에서 인증 및 권한 부여의 보안 원칙을 유지하면서 사용자를 대신하여 리소스를 요청하거나 작업을 수행할 수 있습니다.
위임 범위 Kerberos 사용자를 대신하여 서비스 간의 안전하고 원활한 상호 작용을 촉진하는 데 중추적인 역할을 합니다.
최신 네트워크 보안 아키텍처의 초석인 Kerberos는 비보안 네트워크에서 사용자와 서비스를 인증하기 위한 강력한 프레임워크를 제공합니다. 신원을 증명하기 위해 암호화 티켓을 사용하는 대신 비밀번호를 직접 전송할 필요가 없습니다. 그러나 복잡한 IT 환경에서는 다른 서비스에 액세스하기 위해 서비스가 사용자를 대신하여 작동해야 하는 상황이 자주 발생합니다. 이러한 요구 사항으로 인해 Kerberos 위임이 개발되었습니다.
이 기능은 사용자가 시작한 프로세스에 여러 계층의 서비스가 포함되는 시나리오에서 매우 중요합니다. 인증. 개념은 간단해 보일 수 있지만 구현과 이에 수반되는 보안 고려 사항은 복잡하고 미묘합니다. IT 및 사이버 보안 전문가가 환경을 효과적으로 보호하려면 Kerberos 위임과 관련된 메커니즘, 애플리케이션 및 위험을 이해하는 것이 필수적입니다.
Kerberos 위임 작동 방식
Kerberos 프로토콜은 원래 직접 액세스할 수 있는 서비스에 대해 사용자를 인증하는 것을 목표로 보다 단순한 네트워크 환경을 위해 설계되었습니다. IT 인프라가 더욱 계층화되고 통합된 아키텍처로 발전함에 따라 사용자를 대신하여 통신하는 서비스의 필요성이 분명해졌습니다. 이러한 변화를 수용하기 위해 Kerberos는 보안 보증을 유지하면서 보다 복잡한 상호 작용을 허용하는 위임을 개발했습니다.
Kerberos의 위임 프로세스에는 다음과 같은 몇 가지 주요 단계가 포함됩니다.
- 사용자는 Kerberos KDC(키 배포 센터)에 인증하고 TGT(티켓 부여 티켓)를 받습니다.
- 위임이 필요한 서비스에 액세스할 때 서비스는 사용자를 대신하여 KDC에 서비스 티켓을 요청하여 다른 서비스 다운스트림에 액세스해야 함을 나타냅니다.
- KDC는 초기 서비스가 사용자를 대신하여 다운스트림 서비스에 대한 액세스를 요청하는 데 사용할 수 있는 서비스 티켓을 발급합니다.
이 메커니즘은 Kerberos의 보안 원칙을 준수하여 사용자 자격 증명이 서비스에 노출되지 않도록 보장합니다.
Kerberos 위임 유형
다양한 수준의 보안 요구 사항과 애플리케이션 아키텍처를 해결하기 위해 세 가지 유형의 Kerberos 위임이 개발되었습니다. 제한되지 않은 위임, 제한된 위임, 리소스 기반 제한된 위임 등의 이러한 유형은 각각 액세스할 수 있는 서비스에 대한 특정 제어 기능을 통해 서비스가 사용자를 대신하여 작동하는 다양한 메커니즘을 제공합니다.
무제한 위임
이는 Kerberos 내에서 가장 허용적인 위임 형식으로, 서비스가 사용자를 대신하여 다른 서비스에 대한 액세스를 요청할 수 있도록 합니다. 와 함께 무제한 위임, 사용자가 서비스에 인증하면 해당 서비스는 사용자를 위해 다른 서비스에 대한 티켓을 얻을 수 있습니다.
이러한 형태의 위임은 강력하지만 서비스에 사용자를 대신하여 행동할 수 있는 광범위한 권한을 부여하므로 신중하게 관리하지 않으면 상당한 보안 위험을 초래할 수 있습니다.
제한된 위임
무제한 위임과 관련된 위험을 완화하기 위해 도입된 제한 위임은 대리인이 사용자를 대신하여 액세스를 요청할 수 있는 서비스를 제한합니다. 위임이 허용되는 서비스를 미리 지정하여 위임이 발생하도록 통제되고 안전한 환경을 제공해야 합니다.
이 설정은 서비스가 사용자를 대신하여 특정 서비스에 대한 티켓을 얻을 수 있도록 하는 S4U2Proxy(사용자 대 프록시 서비스) 확장을 사용하지만 해당 서비스가 명시적으로 허용된 경우에만 가능합니다.
리소스 기반 제한 위임
제한 위임이 진화한 리소스 기반 제한 위임은 대상 서비스의 관리자가 어떤 서비스에 위임할 수 있는지 제어할 수 있도록 하여 보안과 유연성을 더욱 향상시킵니다.
에서 소개 된 윈도우 서버 2012, 이 유형은 위임 구성을 도메인 컨트롤러에서 리소스 자체로 전환합니다. 이는 S4U2Self(사용자 대 자체 서비스) 및 S4U2Proxy 확장을 활용하여 서비스가 도메인 전체가 아닌 리소스 수준에서 정의된 권한을 기반으로 사용자를 대신하여 액세스를 요청할 수 있도록 합니다.
각 위임 유형은 특정 보안 문제와 운영 요구 사항을 다룹니다.
- 무제한 위임 사용 편의성이 남용 가능성을 능가하는 신뢰도가 높은 환경에 적합합니다.
- 제한된 위임 특정 서비스에 대한 위임을 제한하여 오용 가능성을 크게 제한하는 동시에 유연성을 제공하는 균형 잡힌 접근 방식을 제공합니다.
- 리소스 기반 제한 위임 최고 수준의 제어 및 보안을 제공하므로 리소스 소유자가 자신을 대신하여 작업할 수 있는 서비스를 직접 관리할 수 있으므로 무단 위임의 위험이 최소화됩니다.
보안 고려 사항 및 위험
Kerberos 위임의 복잡한 세계에서는 보안 고려 사항과 위험이 가장 중요합니다. 각 위임 유형(비제약형, 제한형, 리소스 기반 제한형)에는 적절하게 관리되지 않을 경우 잠재적으로 악용될 수 있는 특정한 취약점이 있습니다. 이러한 위험과 이를 완화하기 위한 조치를 이해하는 것은 IT 환경의 무결성과 보안을 유지하는 데 필수적입니다.
무제한 위임 위험
- 제한되지 않은 위임의 가장 큰 위험은 서비스 계정 사용자를 대신하여 네트워크 내의 다른 서비스에 액세스하는 데 사용됩니다. 이는 다음으로 이어질 수 있습니다. 권한 에스컬레이션 공격자가 해당 계정에 대한 통제권을 획득하는 경우 네트워크 내 측면 이동이 가능합니다.
- 완화 전략에는 신뢰할 수 있는 서비스에 대한 무제한 위임 사용 제한, 가능한 경우 보다 안전한 위임 형식 사용, 비정상적인 활동 감지를 위한 엄격한 모니터링 및 감사 사용이 포함됩니다.
제한된 위임 위험
- 제한된 위임은 위임된 계정이 액세스할 수 있는 서비스 범위를 제한하지만 잘못된 구성이나 과도한 권한 설정은 여전히 공격자에게 기회를 제공할 수 있습니다. 예를 들어 서비스 계정이 민감한 서비스에 위임하도록 허용되었는데 해당 계정이 손상되면 그 영향은 상당할 수 있습니다.
- 이러한 위험을 완화하려면 msDS-AllowedToDelegateTo 특성에서 허용되는 서비스를 정기적으로 검토하고 필요한 서비스만 허용되는지 확인하는 것이 필요합니다.
리소스 기반 제한 위임 위험
- 리소스 소유자에게 위임 권한을 분산시키면 유연성이 향상되지만, 여러 리소스에 걸쳐 일관되지 않은 보안 정책이나 구성이 발생할 위험도 발생합니다. 리소스 소유자가 실수로 안전하지 않은 서비스의 위임을 허용하는 경우 리소스가 손상될 수 있습니다.
- 이러한 위험을 완화하려면 조직은 리소스 기반 제한 위임 구성을 위한 명확한 정책을 수립하고, 리소스 소유자에게 교육을 제공하고, 정기적인 감사를 실시하여 보안 모범 사례를 준수하는지 확인해야 합니다.
Kerberos가 사용되고 있는지 확인하는 방법
Kerberos의 존재를 식별하는 데 사용할 수 있는 몇 가지 방법이 있습니다.
- 시스템 로그를 확인하십시오.
- Linux 시스템에서 Kerberos 인증 이벤트는 일반적으로 /var/log/messages 또는 /var/log/syslog에 기록됩니다.
- Windows 시스템에서는 일반적으로 이벤트 뷰어의 "보안" 범주에 있습니다.
- Kerberos와 관련된 오류 또는 경고를 찾으십시오.
- 일반적인 오류 메시지는 다음과 같습니다.
- "KDC_ERR_SERVER_NOT_FOUND"
- "KDC_ERR_CLIENT_NOT_TRUSTED"
- "KDC_ERR_INVALID_CREDENTIAL"
- “KRB5KDC_ERR_ETYPE_NOSUPP”
- "KRB5KDC_ERR_PREAUTH_FAILED"
- Kerberos 구성 파일을 찾으십시오.
- Linux 시스템에서 Kerberos 구성 파일은 일반적으로 /etc/krb5.conf에 있습니다.
- Windows 시스템에서는 일반적으로 %WINDIR%\krb5.ini에 있습니다.
- 오류나 불일치가 있는지 구성 파일을 확인하십시오.
- Kerberos 영역이 올바른지, KDC 서버가 올바르게 나열되어 있는지 확인하십시오.
- 레지스트리를 확인하십시오.
- Windows 시스템에서는 Kerberos 구성도 레지스트리에 저장됩니다.
- 관련 레지스트리 키는 HKLM\SYSTEM\CurrentControlSet\Services\Kdc입니다.
- 오류나 불일치가 있는지 레지스트리 키를 확인하십시오.
- Kerberos 영역이 올바른지, KDC 서버가 올바르게 나열되어 있는지 확인하십시오.
- 네트워크 스니퍼를 사용하십시오:
- 네트워크 스니퍼를 사용하여 Kerberos 인증 트래픽을 캡처할 수 있습니다.
- 이는 Kerberos 문제를 해결하거나 Kerberos 활동을 모니터링하는 데 유용할 수 있습니다.
- Kerberos 트래픽에서 오류나 예외를 찾습니다.
- Kerberos 테스트 도구를 사용하십시오.
- Kerberos 구성 및 인증 프로세스를 테스트하는 데 사용할 수 있는 다양한 Kerberos 테스트 도구가 있습니다.
- 이러한 도구 중 일부는 다음과 같습니다.
- 키닛
- 클리스트
- kdcdiag
- krb5-테스트-클라이언트
- krb5-테스트-서버
- Kerberos 테스트 도구를 사용하여 Kerberos 구성 및 인증 프로세스를 테스트합니다.
- 테스트 결과에서 오류나 불일치를 찾아보세요.
구성 및 관리
Kerberos 위임을 구성하고 관리하는 것은 보안을 손상시키지 않고 의도한 목적을 달성하는 데 있어 중요한 단계입니다. 각 유형의 위임(무제한, 제한 및 리소스 기반 제한)에는 다음과 같은 특정 구성 단계가 필요합니다. Active Directory 환경 및 개별 서비스 설정.
무제한 위임:
- TRUSTED_FOR_DELEGATION 플래그를 설정하여 서비스 계정을 활성화합니다. Active Directory 사용자 계정 속성.
- 대리인이 사용자를 대신하여 티켓을 요청할 수 있는 서비스에는 제한이 없으므로 보안 위험을 방지하려면 이 위임 유형에 대한 계정을 신중하게 선택하는 것이 중요합니다.
제한된 위임(S4U2Proxy):
- 특정 서비스 계정이 위임된 자격 증명을 제공할 수 있는 서비스를 지정하여 구성합니다. 이는 서비스 계정의 msDS-AllowedToDelegateTo 속성을 수정하여 수행됩니다. Active Directory 목적.
- 프로토콜 전환(S4U2Self)도 사용되는 경우 서비스 계정에 TRUSTED_TO_AUTH_FOR_DELEGATION 플래그를 설정해야 서비스가 초기 Kerberos 인증 없이 사용자를 대신하여 티켓을 요청할 수 있습니다.
리소스 기반 제한 위임:
- 대상 서비스에 대한 권한을 설정하여 구성합니다. Active Directory 개체, 특히 msDS-AllowedToActOnBehalfOfOtherIdentity 특성에 있습니다. 이를 통해 리소스 소유자는 어떤 서비스가 직접 위임할 수 있는지 제어할 수 있습니다.
- 기존 제한 위임과 달리 리소스 기반 제한 위임은 위임 서비스 계정을 변경할 필요가 없으므로 관리가 단순화되고 유연성이 향상됩니다.
맺음말
Kerberos 위임은 사용자가 최신 네트워크 환경의 복잡한 보안 요구 사항을 탐색할 수 있는 강력한 프레임워크를 제공합니다. 위임을 통해 Kerberos는 비보안 네트워크에서 사용자를 인증하는 솔루션으로 발전했습니다. 이 기능이 강력하더라도 내재된 보안 위험을 완화하면서 효과적으로 활용하려면 포괄적인 이해와 세심한 관리가 필요합니다.
모든 형태의 Kerberos 위임에서는 보안 고려 사항이 가장 중요합니다. 남용이나 구성 오류의 가능성이 있으므로 주의 깊은 관리, 정기적인 감사 및 최소 특권 필수입니다. 각 위임 유형과 관련된 특정 위험을 이해하고 모범 사례를 채택함으로써 조직은 취약점을 크게 줄일 수 있습니다.