본문 바로가기
  • Vetheuil in Summer
Tech/ETC ( IT.BIZ)

SSL(Secure Sockets Layer)을 통해 LDAP(Lightweight Directory Access Protocol)

by 눈꽃산행 2023. 11. 28.

https://learn.microsoft.com/ko-kr/troubleshoot/windows-server/identity/enable-ldap-over-ssl-3rd-certification-authority

 

SSL(Secure Sockets Layer)을 통해 LDAP(Lightweight Directory Access Protocol) 사용 - Windows Server

타사 인증 기관을 사용하여 SSL을 통한 LDAP를 사용하도록 설정하는 방법에 대해 설명합니다.

learn.microsoft.com

 

보안은 모든 곳에 있고 어디에서나 중요하다. 
엔터프라이즈의 환경에서는 계정 정보를 통합하여 관리하고 서비스 하는 경우가 많다. 
따라서 제공하는 솔루션에서 계정관리 시스템과 연계할 수 있도록 해야 하는데, 
이때 인증Authentication/인가Authorization는 매우 중요한 요소이다. 

그리고 일정 수준 이상으로 성숙한 솔루션들은 웹을 기반으로 제어할 수 있도록 기능을 제공한다. 
이때 민감한 시스템의 경우는 내부망에 구성했음에도 불구하고 SSL을 적용하는 경우가 더러 있다. 

이를 위해서 간단하게 간을 보았다. 

 


 

* LDAP

- LDAP의 기능은 무엇인가?
  > LDAP (Lightweight Directory Access Protocol)은 네트워크 상에서 어떠한 정보(전화번호, 주소, 조직, 파일, 프린터등 하드웨어 위치, 계정 등등)를 쉽게 찾아 볼 수 있게 하는 소프트웨어 프로토콜이다.
  > LDAP은 디렉토리 서비스를 의미하기도 하고 LDAP 프로토콜을 의미하기도 하는데, LDAP 디렉토리 서비스는 LDAP 프로토콜의 구현체이다. 
  > LDAP은 계층구조를 갖는 데이터를 네트워크를 통해서 교환할 수 있게 하는 프로토콜인데, 이는 인증을 위한 중앙 저장소의 프로토콜로 사용하는 것이다. 
  > 프로토콜이라는 것은 표준이기 때문에 각 어플리케이션 벤더들이 이를 기반으로 인증기능을 구현한다. 
  > 이러한 기능을 하는 서비스를 일반적으로 디렉토리 서비스라고 한다. 

- LDAP 이랑 비슷한 기능을 하는 서비스는 무엇이 있을까?
  > AD(Active Directory)는 windows server 2000 이상에서 제공하는 directory 서비스로, 그룹/사용자/네트워크 통합 관리 기능을 지원한다. 
  > Red Hat Directory Service
  > OpenLDAP 
  > Apache Directory Server 등이 있다. 

- AD, Kerberos와 차이점은 무엇인가? 
* AD (AD와 LDAP을 비교하는 것은 Apache와 http를 비교하는 것과 같다?) 
  > AD은 LDAP을 사용할 수도 있고 Kerberos를 사용하여 인증할 수도 있다. 
  < AD와 Kerberos는 cross-platform을 지원하지 않기 때문에 LDAP을 같이 제공한다. 
  > AD는 크게 Windows 사용자, 장치, 어플리케이션에 대한 디렉토리이다. 
  < LDAP은 반대로 Windows 구조가 아닌 Linux/Unix 환경에 대해서 동작하며 더 기술적인? 어플리케이션이다. 
  > AD는 MDC (Microsoft Domain Controller)가 필요하며 도메인 구조를 통해 SSO를 할 수도 있다. 
  < LDAP은 도메인이나 SSO와 같은 개념이 없다. 
  < LDAP은 OSS로 구현되어 있어서 AD에 비해서 유연하다. 

- Kerberos
  > Kerberos는 인증과 SSO를 위한 프로토콜이며, LDAP은 디렉토리 서비스를 위한 프로토콜이다. 
  > Kerberos는 티켓 기반의 메커니즘을 이용하여 인증을 수행한다. 

- LDAP의 아키텍처/구성요소는?
  > LDAP의 인증에는 2가지 옵션이 있다. 하나는 simple이고 또 다른 하나는 SASL(Simple Authentication and Security Layer)이다. 
  > Simple 옵션은 3가지에 대한 인증이 가능하다
    . Anonymous 인증 : client에게 anonymous 상태로 LDAP 에게 전달함
    . Unauthenticated 인증 : 오직 logging 목적으로 client에 대한 접근권한을 주지 않음. 
    . Name/Password 인증 : 자격을 기반으로 서버에대한 접근 권한을 부여함.  
    - 간단한 user/password 인증은 안전하    지 않으며, 기밀성 보호가 없는 인증에는 적합하지 않음(?)
  > SASL 인증은 LDAP 서버를 다른 인증 메커니즘(ex. Kerberos)와 연계한다. LDAP 서버는 LDAP 프로토콜을 통해 인증 서비스에 메세지를 보내고 그것에 대한 응답으로 인증 성공/실패를 반환한다. 



* SSL, Secure Socket Layer (=TLS)

- CA, Certificate Authority 라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용된다. 
- 동작 방식 
> [browser->server] SSL로 암호화된 페이지를 요청함 (https://) 
> [server->browser] pulbic key를 인증서와 함께 전송한다. 
> [browser] 인증서가 자신이 신용하고 있다고 판단한 CA(certificate authority)로 부터 서명된 것인지, 날짜가 유효한지, 요청과 부합하는지 확인한다. 
> [browser->server] public key를 이용해서 랜덤 대칭 암호화키(Random Symmetric encryption key)를 비롯한 URL, http 데이터를 암호화해서 전송한다. 
> [server] 요청받은 URL에 대한 응답을 browser로 부터 받은 랜덤 대칭 암호화키를 이용하여 암호화해서 브라우저로 전송한다. 
> [browser] 대칭키를 이용해서 http 데이터와 html 문서를 복호화 하고, 화면에 정보를 뿌려준다. 

- 개인키/공개키 
> 개인키/공개키를 이용하여 하나의 키로 암호화 하면 다른 하나의 키로 복호화 할 수 있도록 구성되어 있다. 이러한 key-pair는 소수prime-number 로부터 생성되며, 길이에 따라 암호화 강도가 달라진다. 
> 개인키/공개키는 이러한 key-pair를 관리하는 방법인데 한개의 키는 안전한 장소에 보관하고(private key) 다른 하나는 모든 사람에게 공개하여(pulbic key) 나에게 메세지를 보낼때 암호화 해서 보내고, 
 나만 복호화 하여 보낼 수 있도록 한다.
 > 반대로 상대방에게 메세지를 보낼때 private key로 암호화하고 public key 를 보내면 되지만 이는 안전한 방법이 아니다. 
 
- 인증서 
> SSL의 기본구조는 당신이 인증서를 서명한 사람을 신뢰한다면, 서명된 인증서도 신뢰할 수 있다는 것이다. 
> Tree 구조를 이루면서 인증서는 하위 인증서에게 서명을 하게 된다. 
> 최상위 root 인증서는 root CA라고 하는데 root CA는 기본적으로 웹 브라우저에 설치되어 있다. 이러한 인증기관은 자신들의 서명한 인증서를 관리할 뿐 아니라 철회 인증서도 관리하고 있다. 
> 보통 모든 root CA 인증서는 자체 서명(self signed) 되어 있다. 

- 대칭키(The symmetric key) 
> 개인키/공개키는 좋은 알고리즘이지만 실용적이지 못하다. 
> 비대칭이란 하나의 키로 암호화를 하면 다른 하나로 복호화를 해야 한다는 것이고, 하나의 키로 암호화/복호화를 할 수 없다는 것이다. 
> 대칭키는 하나의 키로 암호화/복호화를 가능하게 한다. 하지만 이것만 사용하는 것은 안전한 방법이 아니다. 
> 이것을 해결하기 위해 대칭키를 비대칭키로 암호화 해서 전송한다.
> 그러면 상대방은 public key로 암호화된 대칭키를 이용하여 정보를 암호화 하여 전달한다. 
> 대칭키가 누출되어도 문제가 없도록 대칭키는 매번 랜덤으로 생성하여 암호화 후 전달한다. 

 

https://paulsmooth.tistory.com/166

 

[보안끄적] LDAP/AD/Kerberos 비교 + SSL 동작방식

보안은 모든 곳에 있고 어디에서나 중요하다. 엔터프라이즈의 환경에서는 계정 정보를 통합하여 관리하고 서비스 하는 경우가 많다. 따라서 제공하는 솔루션에서 계정관리 시스템과 연계할 수

paulsmooth.tistory.com

 

https://www.sectigo.com/resource-library/install-certificates-microsoft-active-directory-ldap-2012

 

Install Certificates On MS Active Directory LDAP 2012

Learn how to install certificates on MS Active Directory LDAP 2012 with Sectigo. Our instructions make cert installs easy on MS Active Directory LDAP 2012.

www.sectigo.com

 

'Tech > ETC ( IT.BIZ)' 카테고리의 다른 글

Gitlab  (0) 2023.12.19
OWASP ZAP  (0) 2023.09.11
Apache Jmeter  (0) 2023.09.04
공인 SSL 인증서  (0) 2023.07.31
Tools. 웹사이트  (0) 2023.05.08