본문 바로가기
카테고리 없음

[계정/권한 관리] freeIPA - IPA Client 설치 및 연동하기

by 이뫼장 2024. 2. 6.

이전글

 

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 통제 설정