이전글
2024.02.05 - [분류 전체보기] - [계정/권한 관리] freeIPA - IPA Server 이중화 구성하기(Replication)
이번글에서는 관리서버와 연동할 Client 설치 및 연동에 대해 알아보고자 한다.
기본적인 설치 및 설정은 이전글에서 설명한 1.호스트 설정, 2. IPA Client 설치/설정하기와 동일하다.
1. 호스트 설정
이전글에서 설명했듯이 FreeIPA는 도메인 기반으로 동작한다.
이를 위해서 아래와 같이 /etc/hosts 파일에 Master, Slave의 도메인이 들어가있어야 한다.
10.101.110.100 rocky-test-001.mystie.local
10.101.110.101 rocky-test-002.mystie.local
- Master, Slave 서버 둘 다 설정해야 한다.
2. IPA Client 설치/설정 하기
Client를 먼저 설치 해준다.
dnf install ipa-client
3. Firewall 설정하기
Linux 8버전부터는 firewall이 기본이기 때문에 등록한 서비스의 네트워크 통신을 위해 firewall에 등록 해주어야 한다.
firewall을 사용하지 않는다면 3번은 스킵하면 된다.
방화벽에 서비스 등록
firewall-cmd --permanent --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps}
- --permanet : rule에 영구적으로 등록
- --add-service : 등록할 서비스
방화벽 정책 reload
firewall-cmd --reload
서비스 등록 확인
[root@rocky-test-001 ~]# firewall-cmd --permanent --add-service={dns,ntp,freeipa-ldap,freeipa-ldaps}
success
[root@rocky-test-001 ~]# firewall-cmd --reload
success
[root@rocky-test-001 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: cockpit dhcpv6-client dns freeipa-ldap freeipa-ldaps http https ntp ssh
ports:
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
- public zone 하위 services에 등록한 서비스가 포함되어 있으면 정상이다.
- --permanet 옵션으로 등록하였기 때문에 "/etc/firewalld/zones/public.xml" 파일에 해당 서비스가 설정되어 있어야 한다.
4. IPA Client 설정
IPA Client Install
IPA Client도 Server처럼 맨 처음에 install을 해주어야 설정이 적용된다.
ipa-client-install \
--unattended \
--principal=admin@MYSITE.LOCAL \
--domain=mysite.local \
--server=rocky-test-001.mysite.local \
--server=rocky-test-002.mysite.local \
--realm=MYSITE.LOCAL \
--hostname=rocky-test-003.mysite.local \
--password='yourpassword' \
--mkhomedir \
--no-ntp
- --unattended : prompt를 출력하지 않는다.
- --principal : IPA Realm에 가입하는데 사용할 계정
- --server : IPA Server의 FQDN
- --hostname : 자신의 FQDN
- --password : IPA Realm에 가입하는데 사용할 계정의 팻흐워드
- --mkhomedir : 신규 계정 생성 시 홈 디렉토리 자동생성 옵션
- --no-ntp : ntp 자동 설정 제외
mkhomedir 옵션 pam에 적용하기
신규 생성한 계정으로 첫 로그인 시 home 디렉토리를 자동으로 생성해주는 옵션을 적용하기 위해서는 pam 설정에 mkhomedir 관련 설정을 해주어야 한다.
RockyLinux8 에서 mkhomedir 관련 옵션을 추가하는 방법은 아래와 같다.
authconfig --enablemkhomedir --update
/etc/pam.d/system-auth 파일에서 확인하면 아래 설정이 추가되어 있다.
systemctl로 확인해보면 oddjobd도 실행되어 있다. 해당 데몬을 통해 관리하는 것으로 추정된다.
5. SSSD 설정
SSSD(System Security Services Daemon)은 원격 디렉토리 및 인증 매커니즘에 대한 액서스를 관리하는 데몬이다.
즉, 로컬에서 다양한 인증을 통합 관리하는 데몬으로 이해하면 된다.
IPA-Client는 로컬시스템의 SSSD를 통해 인증/인가를 수행한다고 보면 된다. (아래 흐름도 참고)
IPA-Client가 SSSD를 사용하기 때문에 설치 시 SSSD 관련 패키지도 같이 설치가 된다.
sssd.conf 설정
vi /etc/sssd/sssd.conf
#아래 (추가) 부분만 추가하면 된다.
[sssd]
(추가)debug_level = 2
services = nss, sudo, pam, ssh
domains = mysite.local
[domain/nicednb.local]
(추가)debug_level = 2
ipa_domain = mysite.local
ipa_hostname = rocky-test-003.mysite.local
ipa_server = rocky-test-001.mysite.local, rocky-test-002.mysite.local
(추가)account_cache_expiration = 1
cache_credentials = True
krb5_store_password_if_offline = True
id_provider = ipa
auth_provider = ipa
access_provider = ipa
chpass_provider = ipa
ldap_tls_cacert = /etc/ipa/ca.crt
[nss]
(추가)debug_level = 2
(추가)fd_limit = 65535
homedir_substring = /home
[sudo]
(추가)debug_level = 2
(추가)fd_limit = 65535
msswitch.conf 설정 변경
vi /etc/nsswitch.conf
#약 40번째줄 부근 아래 내용 추가
hosts: files dns (추가)myhostname
SSSD 재시작
systemctl restart sssd
이제 관리 웹에서 Identity > Hosts 메뉴에 진입하면 추가한 호스트가 확인될 것이다.
이후 HBAC, Sudo 설정등을 진행하면 된다.
마치며...
본 글까지 잘 따라왔다면 관리서버 및 이중화, Client 연동까지 잘 되었을 것이다.
이제 각 사이트에 맞게 통제설정을 하면된다.
(아래 다음글 참고하면 된다.)
다음글
2023.12.20 - [분류 전체보기] - [계정/권한 관리] freeIPA - HBAC, Sudo 통제 설정