안녕하세요! 넓은 스펙트럼을 바탕으로 전체적인 그림을 보는 Ops Engineer 이재하입니다.
이번 글에서는 Ubuntu 20.04 환경에서 LDAP Client를 설치하고 설정하는 글을 작성해볼까 합니다.
LDAP Server는 이미 구성되어있다고 생각하고 포스트를 작성하겠습니다.
LDAP(Lightweight Directory Access Protocol)는 디렉토리 서비스를 제공하기 위한 프로토콜입니다.
조직, 개인, 파일, 장치 등에 대한 정보를 저장하고 검색하는 데 사용하며, Client와 Server로 작동합니다.
주요 용도로느느 SSO 솔루션과 인증 시스템 중앙화 하는데 사용합니다.
Radius 서버와 AD의 그 어딘가의 포지션이라고 생각하시면 조금 이해하시는데 도움이 되지 않을까 싶습니다.
저는 현업에서 기존 Radius로 되어있던 무선 AP의 인증처리를 LDAP으로 대체하여 본부별 망분리 정책을 실행할 계획을 가지고 있었습니다.
자, 이제 LDAP Client 설치와 설정에 대해 알아볼까요? LDAP Server는 이미 설치되어있다는 가정하에 진행하겠습니다.
/etc/hosts
에 LDAP 서버 주소 등록/etc/hosts 파일은 Linux에서 로컬 DNS와 네트워크 접근 제어를 담당하고 있습니다.
/etc/hosts에 LDAP 서버 주소를 등록함으로 LDAP 서버로 네트워크 접속을 허용 해줍니다.
sudo vim /etc/hosts
# LDAP 서버 주소 추가
192.168.0.100 ldap.jaehai.com
sudo apt -y install libnss-ldap libpam-ldap ldap-utils nscd nslcd
패키지를 설치하고 나면 자동적으로 핑크색 명령어창이 뜨게 됩니다.
ldap://ldap.jaehai.com
제 LDAP 서버는 Synology NAS에 있습니다. LDAP 서버 앱을 켜게 되면 dc로 시작되는 주소가 분해되서 나오는데 그것을 작성해주시면 됩니다.
dc=ldap,dc=jaehai,dc=com
저는 Yes로 선택하겠습니다.
uid=root,cn=users,dc=ldap,dc=jaehai,dc=com
/etc/nsswitch.conf
시스템 auth 정보 설정/etc/nsswitch.conf는 시스템이 호스트, 사용자, 그룹 등의 정보를 어떤 순서로 어디에서 찾을지 지정합니다.
저는 compat 즉 로컬에서 먼저 찾은 다음에 LDAP에서 찾게 설정하겠습니다.
sudo vim /etc/nsswitch.conf
passwd: compat ldap
group: compat ldap
shadow: compat ldap
/etc/pam.d/common-session
home 폴더 자동 생성보통 저희가 리눅스에서 User를 생성할 때 home 폴더를 함께 생성합니다.
LDAP도 마찬가지로 리눅스 유저 중 한명을 생성하는 것이니 똑같이 home 폴더를 생성해주도록 하겠습니다.
sudo vim /etc/pam.d/common-session
session optional pam_mkhomedir.so skel=/etc/skel umask=077
session optional pam_exec.so seteuid /bin/chsh -s /bin/bash
자 이제 LDAP 실행까지 두 발자국 남았습니다.
/etc/ldap/ldap.conf
BASE와 URI 추가sudo vim /etc/ldap/ldap.conf
BASE dc=ldap,dc=jaehai,dc=com
URI ldap://ldap.jaehai.com
nscd
, nslcd
시작이제 LDAP 클라이언트를 진짜 실행해보겠습니다.
리눅스 환경에선 중괄호({}) 안에 명령어를 넣어주면 차례대로 전부 실행합니다.(약간의 꿀팁)
{
sudo systemctl restart nscd
sudo systemctl restart nslcd
}
LDAP이 잘 작동하는지 테스트 해야겠죠?
LDAP 루트 유저를 찾을 수 있는지 테스트해봅시다
ldapsearch -x -H ldap://ldap.jaehai.com -D "uid=root,cn=users,dc=ldap,dc=jaehai,dc=com" -w LDAP비밀번호 -b "dc=ldap,dc=jaehai,dc=com"
이번엔 LDAP 사용자를 한번 찾아보죠
getent passwd LDAP유저
마지막으로 LDAP 유저로 로그인 해보겠습니다.
sudo su - LDAP유저명
이렇게 Ubuntu 20.04에 LDAP Client를 설치하고 LDAP 유저로 로그인까지 해봤습니다.
저는 LDAP Client 설치를 잘못했다가 로그인 정보를 다 날려먹어서 무적의 Ubuntu 설치 USB로 복구했습니다.
다른분들께서는 정말 쉽게 하시는데 저만 항상 왜 이리 어려운지 모르겠습니다. ㅎㅎ;;
여러분들께서는 한번에 성공했길 바랍니다.
추후에 모든 기술 블로그는 jaehai.com/post에 업로드 될 예정입니다.
제 글이 도움이 되셨다면 ops-jaeha Github 팔로우 부탁드리겠습니다!