오늘날 빠르게 발전하는 디지털 세계에서 사용자 계정과 액세스 제어를 추적하는 것은 쉬운 일이 아닙니다. 하지만 걱정하지 마십시오! OpenLDAP은 여러분의 고민의 해결책입니다. 이것은 Lightweight Directory Access Protocol (LDAP)의 널리 사용되는 오픈 소스 구현입니다.
이 자습서에서는 Ubuntu 머신에 OpenLDAP 서버를 설정하는 방법에 대해 안내합니다. 분산된 사용자 데이터와 이제는 중앙 집중식 관리, 인증 및 권한 부여를 환영하세요.
사용자 관리를 최적화하고 IT 워크플로를 간소화하기 위해 계속 읽어보세요!
전제 조건
이 자습서에는 OpenLDAP 서버를 설정하는 실습이 포함되어 있습니다. 따라오려면 다음 사항이 있는지 확인하세요:
- Ubuntu 20.04 이상을 실행하는 서버 및 클라이언트 각각 한 대의 머신.
- A non-root user with
sudo
privileges on both machines.
Ubuntu에 OpenLDAP 서버 설치 시스템이 준비되었는지 확인한 후에 이제 설정의 핵심으로 이동하여 OpenLDAP 서버를 설치합니다. LDAP은 특히 조직의 네트워크 내에서 사용자 계정과 액세스 제어를 관리할 때 서버 관리에서 중요한 역할을 합니다.
시스템의 준비 상태를 보장한 후, 이제 설정의 핵심으로 들어가서 OpenLDAP 서버를 설치하게 됩니다. LDAP는 서버 관리, 특히 조직 네트워크 내의 사용자 계정 및 액세스 제어 관리에 있어 상당한 무게를 둡니다.
OpenLDAP 서버를 시스템에 설치하려면 다음을 진행하세요:
? 이 가이드를 따르는 동안 ata.com을 사용하여 도메인 이름을 대체해야 합니다.
1. 터미널을 열고 다음 명령어를 실행하여 기계의 호스트 이름을 설정하세요 (예: ldap.ata.com
). 이 명령어는 터미널에 출력되지 않지만 네트워크의 다른 기기가 기계를 인식하는 데 도움이 됩니다.
2. 다음으로, apt update
명령어를 실행하여 시스템의 패키지 인덱스를 업데이트하세요.

3. 업데이트가 완료되면 아래 apt install
명령어를 실행하여 Apache 웹 서버와 필수 구성 요소(PHP 모듈)를 설치하세요. 이러한 구성 요소는 OpenLDAP의 정상적인 작동을 위해 필요합니다.

4. 이제 OpenLDAP 서버와 LDAP 계정 관리자 (LAM)를 설치하기 위해 이 명령어를 호출하세요. 이는 편리한 웹 기반 관리 도구입니다.

5. 설치 중 묻는 메시지가 나타나면 LDAP 서버의 관리자 암호를 제공하세요.

6. 설치가 완료되면 OpenLDAP 서버 (slapd
)의 상태
를 확인하기 위해 다음 systemctl
명령어를 실행하세요.

7. 마지막으로 LDAP 데이터베이스 내용을 확인하기 위해 아래 slapcat
명령어를 실행하세요.
A list of default schemas and configurations below indicates that OpenLDAP has been installed correctly.

UFW 방화벽으로 OpenLDAP 서버 안전하게 유지하기
OpenLDAP 서버를 성공적으로 설치했지만, 네트워크를 보호하기 전에 방어를 강화해야 합니다. 어떻게 할까요? UFW라는 Ubuntu의 신뢰할 수 있는 기본 방화벽의 도움을 받아 보세요.
UFW 방화벽 구성은 성을 둘러싼 디지털 성문구를 설정하는 것과 같습니다. 서버를 보호하기 위해 방화벽을 맞춤화하여 중요한 트래픽만 통과시키고 디지털 건달들을 막아낼 것입니다.
OpenLDAP 서버에서 안전한 연결을 보장하려면 다음과 같이 OpenLDAP 서버에 대한 특정 포트를 열어야 합니다.
다음 ufw
명령어를 실행하여 HTTP(80
), HTTPS(443
), LDAP(389
) 포트에 대한 인바운드 트래픽을 허용
하세요.

이제 시스템의 UFW 상태와 구성에 대한 상세한 개요를 확인하기 위해 아래 명령어를 실행하세요.
아래 출력은 추가한 방화벽 규칙이 성공적으로 적용되었음을 확인합니다.

LAM에 대한 Apache의 PHP 지원 활성화
UFW 방화벽으로 LDAP 서버의 보안을 강화한 후 Apache가 PHP 파일을 효과적으로 인식하고 처리하도록 해야 합니다. 이 중요한 단계는 Apache와 LAM 간의 원활한 통합을 위한 초석을 깔아 주며, LDAP 디렉토리의 효율적인 관리를 가능하게 합니다.
Apache에서 PHP 지원을 활성화하려면 다음을 수행하세요:
1. Apache의 PHP 공통 게이트웨이 인터페이스(CGI)용 구성 파일을 활성화하기 위해 다음 a2enconf
명령을 실행하세요.
이 구성 파일에는 일반적으로 Apache를 위해 PHP를 구성하는 관련 지시문이 포함되어 있습니다. 이는 핸들러를 설정하거나 PHP 실행을 위한 옵션을 정의하는 것과 관련이 있습니다. 이러한 구성 파일을 활성화하여 Apache가 CGI 인터페이스를 사용하여 PHP 스크립트를 처리할 수 있도록 보장합니다.

2. 활성화한 후에는 아래 명령을 실행하여 Apache 서비스(apache2
)를 다시로드
하여 변경 사항을 적용하십시오.
이 명령은 출력이 없지만 Apache 구성에 대한 모든 수정 사항이 적용되도록 보장합니다. 이 프로세스에는 전체 Apache 서비스를 다시 시작하지 않고도 PHP CGI 모듈을 활성화하는 것이 포함됩니다.
3. 이제 다음 명령을 호출하여 apache2
서비스의 상태
를 확인하여 모든 것이 원활하게 실행되는지 확인하십시오.
출력에서는 Apache 웹 서버의 현재 상태가 활성(실행 중)이며 오류가 없음을 표시합니다. 아래와 같습니다.

LAM 웹 인터페이스 설정
Apache에서 LAM을 지원하도록 설정한 후에는 이제 OpenLDAP 서버를 제어할 수 있는 중앙 집중식 허브에 초점을 맞추어야 합니다. 이것이 LAM 웹 인터페이스입니다. 이 웹 인터페이스는 관리자와 같은 사용자들이 디렉터리 서비스를 감독할 수 있는 직관적인 플랫폼을 제공합니다.
LAM 웹 인터페이스를 설정하려면 다음 단계를 따르십시오:
1. 아래 명령을 실행하여 네트워크 정보를 표시하십시오.
서버의 IP 주소(예: 192.168.1.7)를 찾아 메모하십시오. 일반적으로 inet.으로 표시됩니다.

2.즐겨 사용하는 웹 브라우저를 열고, 서버의 IP 주소 뒤에 /lam을 입력합니다 (예: http://192.168.1.7/lam). 그러면 브라우저가 아래와 같이 LAM의 웹 인터페이스로 리디렉션됩니다.

2. 로그인 페이지에서 LAM 구성 (오른쪽 상단)을 클릭하여 LDAP 계정 관리자 페이지에 액세스합니다 (4단계).

3. 이제 서버 프로필 수정을 클릭하여 LAM 설정을 수정합니다.

4. 두 번째 로그인 페이지에 기본 lam 비밀번호를 입력하고, 확인을 클릭하여 인증합니다.

5. 로그인하면 일반 설정 아래에서 다음 서버 및 언어 설정을 구성합니다:
- 트리 접미사 – 디렉토리의 기본 고유 이름(DN)을 입력합니다. 예를 들어 dc=ata,dc=com을 실제 도메인 구성 요소로 바꿔 입력합니다.
- 기본 언어 – LAM 웹 인터페이스의 언어를 선택합니다.
- 시간대 – 서버의 위치와 일치하는 시간대를 선택합니다. 이는 계정 만료를 정확하게 관리하는 데 중요합니다.

6. 아래로 스크롤하여 다음과 같이 보안 및 프로필 비밀번호 옵션을 설정합니다:
- 유효한 사용자 목록 – LDAP 관리자 사용자의 DN을 입력합니다. 예를 들어 cn=admin,dc=ata,dc=com.
- 새 비밀번호 및 비밀번호 재입력 – 초기 기본 비밀번호를 대체할 강력한 LAM 관리자 계정 비밀번호를 생성하고 확인합니다.
- 기타 설정은 기본값으로 유지하고, 구성을 적용하려면 저장을 클릭하세요. 저장이 완료되면 브라우저가 로그인 페이지로 리디렉션됩니다.

LAM에서 그룹 및 사용자 생성
LAM 대시보드를 준비한 후, 조직적이고 안전한 디렉토리 구조(그룹 및 사용자)를 구축하는 데 집중합니다. 그룹 및 사용자 생성을 통해 팀을 부서로 조직하고 모든 사람에게 ID 배지를 부여하는 것과 같습니다.
LAM에서 그룹 및 사용자를 생성하려면 다음을 수행하십시오:
1. “LAM 웹 인터페이스 설정” 섹션의 세 번째에서 다섯 번째 단계를 따르면서 LDAP Account Manager로 이동하십시오. 하지만 이번에는 새로 구성한 OpenLDAP 서버의 비밀번호를 입력하십시오.
2. LAM Account Manager에서 계정 유형 탭으로 이동하여 모든 액세스 유형 옵션을 확인하십시오.

3. 그런 다음 아래로 스크롤하여 LDAP 접미사를 설정하고 <base_DN> (즉, dc=ata,dc=com)를 다음과 같이 대체하십시오:
- 사용자 – ou=Departments,<base_DN>
- 그룹 – ou=Groups,<base_DN>
- 기타 설정은 기본값으로 유지하고 저장을 클릭하십시오.
저장 후 브라우저가 관리자 로그인 페이지(단계 4)로 리디렉션됩니다.

4. 이제 설치 중에 설정한 관리자 비밀번호를 입력하고 로그인을 클릭하여 OpenLDAP 서버에 액세스합니다.

5. 요청 시 생성을 클릭하여 누락된 두 접미사를 만듭니다.

6. 생성 후, 오른쪽 상단의 트리 보기를 클릭하여 새로운 LDAP 접미사(부서 및 그룹)가 계층 구조로 표시된 것을 확인합니다.

7. 계속해서 오른쪽 상단의 도구를 클릭하고 OU 편집기를 선택하여 다음과 같이 새로운 부서를 구성합니다:
- 상위 DN – 상위 DN으로 Department > ata > com을 선택합니다. 이 옵션은 새로운 부서가 LDAP 디렉토리 내 어디에 생성될지를 지정합니다.
- 이름 – 부서(OU) 이름으로 IT (임의의 이름)을 입력합니다.
구성이 완료되면 확인을 클릭하여 IT라는 이름의 새로운 부서를 추가합니다.

8. 이제 그룹 탭으로 이동하여 새 그룹을 클릭하여 새로운 그룹을 만듭니다.
그룹을 생성하면 관리가 단순화되고 협업이 촉진되며 정책이 시행되고 조직 확장이 용이해집니다.

9. 설명적인 그룹 이름(예: 내 IP 그룹)을 제공하고 저장을 클릭하여 새 그룹을 확인합니다.

10. 그룹이 생성되면 사용자 탭으로 이동하여 새 사용자를 클릭하여 새 사용자를 만듭니다.
사용자들을 역할, 부서 또는 기타 기준에 따라 그룹화하여 견고한 프레임워크를 구축하는 것은 중요합니다. 이 프레임워크는 자원 접근을 관리하고 조직 전반의 효율적인 협업을 촉진합니다.

11. 다음으로 사용자의 개인정보를 다음과 같이 설정하십시오:
- IT > 부서 > ata > com에서 접미사 드롭다운을 선택하여 사용자를 IT 부서에 배치하십시오.
- 개인 탭(왼쪽 창)에서 myituser(임의)을 성 이름 필드에 입력하십시오.

12. 새 사용자의 자격 증명을 다음과 같이 구성하십시오:
- 유닉스 탭(왼쪽 창)으로 이동하여 새로 생성된 그룹의 이름(예: My IP Group)이 기본 그룹으로 설정되어 있는지 확인하십시오.
- 비밀번호 설정을 클릭하면 새 사용자의 비밀번호를 설정할 수 있는 대화 상자가 열립니다(13단계).

13. 새 사용자에게 안전한 비밀번호를 제공하고 확인을 클릭하여 확인하십시오.

14. 다른 설정은 그대로 두고 저장을 클릭하여 새 사용자 계정 생성을 완료하십시오.

15. 트리 보기로 돌아가서 새로운 부서(IT), 그룹(My IP Group) 및 사용자 계정(myituser)이 포함된 업데이트된 구조를 확인하십시오.

OpenLDAP 클라이언트 설치 및 구성
이제 훌륭한 서버 설정이 완료되었으니, OpenLDAP 클라이언트를 설치하고 구성하여 서버와 상호작용할 수 있는 방법이 필요합니다. 이 클라이언트를 설정하는 것은 네트워크 전반에 걸쳐 중앙 집중식 인증 및 리소스 접근을 가능하게 하는 데 필수적입니다.
Ubuntu 시스템을 LDAP 디렉토리 서버와 통합하면 통합된 인증 메커니즘이 구축되어 보안이 강화되고 사용자 관리가 간소화됩니다.
OpenLDAP 클라이언트를 설치하고 구성하려면 다음 단계를 따르십시오:
1. sh
명령을 실행하여 OpenLDAP 서버의 호스트 이름과 IP 주소를 클라이언트 머신의 /etc/hosts
파일에 추가하여 호스트 이름 기반 통신을 가능하게 합니다.
192.168.1.7
및 ldap.ata.com
을 서버의 IP 주소와 호스트 이름으로 교체하는 것을 잊지 마십시오.

2. 추가한 후, 아래 ping
명령을 실행하여 시스템과 OpenLDAP 서버(ldap.ata.com
) 간의 연결을 확인하십시오.
아래 출력은 클라이언트 머신이 지정된 IP 주소와 호스트 이름을 사용하여 OpenLDAP 서버와 성공적으로 통신할 수 있음을 확인합니다.

3. 다음 명령을 실행하여 패키지 목록을 업데이트
하고 필요한 OpenLDAP 클라이언트 패키지들을 설치
하십시오:
libnss-ldap
– 시스템이 일반 구성 데이터베이스에 LDAP을 사용할 수 있게 합니다.libpam-ldap
– 시스템 인증을 LDAP 디렉터리에 대항하여 허용합니다.ldap-utils
– LDAP 디렉터리 항목을 관리하기 위한 명령줄 도구를 제공합니다.nscd
– NSS 조회를 캐시하여 LDAP 서버 쿼리를 줄여 성능을 향상시킵니다.
설치 중에는 OpenLDAP 클라이언트를 구성하는 일련의 프롬프트가 나타납니다 (4단계).

4. 이제 ldap://192.168.1.7을 LDAP 서버 통합 자원 식별자 필드에 입력하여 클라이언트를 OpenLDAP 서버로 안내합니다.

5. LDAP 작업을 위한 검색 기반의 DN (예: dc=ata,dc=com)을 입력합니다.

6. 향상된 보안 및 기능을 위해 사용할 LDAP 버전으로 3을 선택합니다.

7. 다음으로, 루트 사용자에게 데이터베이스 관리자 권한을 부여하기 위해 예를 선택합니다.

8. 이후, LDAP 데이터베이스 로그인을 비활성화하기 위해 루트 계정 관리를 아니오로 선택합니다.

9. 루트의 LDAP 계정 (예: cn=admin,dc=ata,dc=com)을 입력합니다. 이 구성은 LDAP을 관리하기 위한 관리자 계정을 지정합니다.

10. 강력한 LDAP 루트 계정 비밀번호(관리자 비밀번호)를 제공합니다.

11. 클라이언트 구성이 완료된 후, 시스템의 이름 서비스 스위치를 구성하기 위해 /etc/nsswitch.conf 파일을 선호하는 편집기(예: nano
또는 vim
)에서 엽니다.
이 파일은 시스템이 사용자 계정, 그룹, 호스트 및 서비스를 찾는 우선 순위를 결정합니다.
12. /etc/nsswitch.conf 파일의 다음 줄의 값을 다음과 같이 변경하십시오:
compat
– /etc/passwd와 같은 로컬 파일을 참조합니다.
ldap
– LDAP 사용을 지정합니다.
이 구성은 LDAP 사용자 인증 및 기타 시스템 기능의 사용을 허용합니다
passwd: compat systemd ldap
group: compat systemd ldap
shadow: compat

13. 이제 /etc/pam.d/common-password 파일을 열고, use_authtok 옵션을 찾아 제거하고, 변경 사항을 저장하고 파일을 닫습니다.
이 작업은 사용자가 제공한 비밀번호를 사용하도록 PAM 비밀번호 설정을 조정할 수 있게 합니다.

14. 추가적으로, /etc/pam.d/common-session 파일을 열고 다음 줄을 추가한 후 저장하고 파일을 닫습니다.
사용자가 로그인할 때 이 구성은 적절한 권한으로 사용자 홈 디렉토리가 자동으로 생성되도록 합니다.

마지막으로 아래 명령을 실행하여 이름 서비스 캐시 데몬(nscd
)을 재시작하고 구성 변경을 적용하세요.
OpenLDAP 설정 확인
모든 것이 준비되었으면, OpenLDAP 서버와 클라이언트 구성이 예상대로 작동하는지 확인해야 합니다. LDAP 디렉터리에 액세스할 수 있는지, 사용자가 성공적으로 인증되는지, 데이터가 올바르게 검색되고 업데이트되는지 확인할 것입니다.
OpenLDAP 서버 및 클라이언트 설정의 무결성과 기능성을 보장하려면 다음을 수행하십시오:
다음 ldapsearch
명령을 실행하여 LDAP 디렉터리에서 모든 사용자 계정을 쿼리합니다.
각 사용자의 세부 정보를 나열하는 다음과 같은 출력이 표시됩니다. 이 출력은 OpenLDAP 서버가 검색 쿼리에 올바르게 응답하는 것을 나타냅니다.

마지막으로 myituser
사용자 계정으로 로그인(su
)을 시도하세요.
성공적인 로그인은 OpenLDAP 서버에 대한 인증이 예상대로 작동하는 것을 나타냅니다.
? 성공적인 로그인 메시지가 항상 표시되지 않을 수 있습니다. 대신 새로운 명령 프롬프트가 표시될 수 있습니다. 오류가 있는 경우 표시되며 현재 사용자로 로그인한 상태가 유지됩니다.

결론
성공적으로 수행되었습니다! 이제 우분투 서버에 안전한 방화벽, PHP 활성화된 웹 서버 및 멋진 LDAP 계정 관리자 인터페이스가 있는 완전히 작동하는 OpenLDAP 시스템이 있습니다.
그룹과 사용자 계정이 설정되어 있으며 OpenLDAP 클라이언트가 연결할 준비가 되었습니다. 따라서 서버의 성능에 대해 자신감을 가질 수 있습니다.
이제 OpenLDAP의 공식 문서 페이지를 자세히 살펴보고 유용한 팁과 트릭을 확인해보세요. 또한 사용자 계정 및 설정의 안전을 보장하기 위해 OpenLDAP 서버를 백업하고 복원하는 방법을 배우는 것도 고려해보세요.