ldap 설치

보안공부/기타|2024. 11. 18. 00:53

Log4j 취약점 실습을 위해 ldap 서버가 필요해서 설치하기로 했다.

 

1. openldap 설치

sudo apt update
sudo apt install slapd ldap-utils

 

ldap 서버 버전은 상관없는 것 같아 apt을 이용해서 설치하기로 했다.

 

 

2. 관리자 패스워드 설정

 

설치 중에 관리자 패스워드 설정하는 부분이 있으니 적당히 설정한다.

 

3. 재설정

sudo dpkg-reconfigure slapd

 

설치 후 domain name 같은 것을 설정하기 위해 재설정 명령을 친다.

 

나는 test.june으로 도메인 이름을 설정했다.

 

조직 이름은 myorg 이다.

 

관리자 패스워드를 입력한다.

 

 

slapd 패키지 제거 시 데이터베이스도 지우겠냐는 질문 같은데 혹시 모르니 No로 한다.

 

 

이거는 재설정 전에 설정을 한번 했을 때 나타나는데 깨끗한 상태에서 시작하고 싶다면 Yes를 선택하면 되는 것 같다.

 

4. 확인

 

sudo slapcat을 통해 확인하면 제대로 설정된 것 같다.

 

 

5. phpldapadmin 설치


Ubuntu 22.04 + php 8.1을 사용하는 경우 아래의 명령어로 설치하는 경우 phpldapadmin 1.2.6.3-0.2 버전이 설치되는데 해당 환경에서는 해당 버전이 실행이 잘 되지 않는다.

이런 경우는 8. 재설치 부분을 참조해서 1.2.6.3-0.3 버전으로 설치해야 한다.

 

sudo apt-get install phpldapadmin

 

ldap을 명령어를 통해서 설정해도 되지만 웹 ui를 통해서도 관리할 수 있다고 해서 관련 패키지를 설치하기로 했다.

 

6. 설정 파일 수정

sudo vi /etc/phpldapadmin/config.php

 

설치 후 수정이 좀 필요하다.

 

# 현재 내 서버에 맞게 값을 수정한다.
$servers->setValue('server','host','ldap.example.com');

->

$servers->setValue('server','host','192.168.0.14');

 

# 현재 내 서버에 맞게 값을 수정한다.
$servers->setValue('server','base',array('dc=example,dc=com'));

->

$servers->setValue('server','base',array('dc=test,dc=june'));

 

# 현재 내 서버에 맞게 값을 수정한다.
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');

->

$servers->setValue('login','bind_id','cn=admin,dc=test,dc=june');

 

sudo systemctl restart apache2

 

수정 후 apache2를 재시작한다.

 

 

7. 접속

http://192.168.0.14/phpldapadmin/

 

위 URL로 접속을 시도하면....

 

에러가 발생하였다....

찾아보니, apt으로 설치되는 1.2.6.3-0.2 버전은 Ubuntu 22.04 + php 8.1 에서는 뭔가 문제가 있는 것 같다.

 

https://stackoverflow.com/questions/74384236/unrecognized-error-number-8192-trim-passing-null-to-parameter-1-string

 

Unrecognized error number: 8192: trim(): Passing null to parameter #1 ($string) of type string is deprecated

New to the field can find specific answer in the web hope you can help me with this. I didn't write the code I just follow a documentation on how to install openldap on php8.1 ubuntu 22.04

stackoverflow.com

 

 

8. 삭제 후 재설치

 sudo apt-get --purge remove phpldapadmin

 

기존 패키지는 제거한다.

 

wget http://archive.ubuntu.com/ubuntu/pool/universe/p/phpldapadmin/phpldapadmin_1.2.6.3-0.3_all.deb
sudo dpkg -i phpldapadmin_1.2.6.3-0.3_all.deb
sudo apt-get -f install

 

다시 설치하였다.

 

9. 동작 확인

 

이번에는 잘 된다.

반응형

'보안공부 > 기타' 카테고리의 다른 글

Log4j 취약점 테스트-2  (0) 2024.11.23
Log4j 취약점 테스트-1  (0) 2024.11.22
Log4j 설치  (0) 2024.11.15
JSP 테스트  (0) 2024.11.15

댓글()