반응형
HBAC(Host-Based Access Control)는 서버나 시스템의 접근 제어를 설정하기 위한 기능으로, 특정 사용자가 특정 호스트(서버)에 접속할 수 있는 권한을 제한하거나 허용하는 방식입니다. 이는 특히 SSSD(System Security Services Daemon)와 함께 사용되어, 기업 환경에서 사용자를 효율적으로 관리하고 보안을 강화하는 데 활용됩니다.
HBAC의 주요 특징
- 중앙 집중식 접근 관리
- 사용자가 어떤 호스트(서버)에 접근할 수 있는지 집중적으로 관리할 수 있습니다.
- LDAP(예: FreeIPA, Active Directory)와 같은 디렉토리 서비스와 통합됩니다.
- 유연한 정책 설정
- 사용자가 특정 서버, 시간, 위치에서만 접근할 수 있도록 세부 정책을 설정 가능.
- 보안 강화
- 불필요한 사용자 접속을 차단하여 권한 오남용 방지.
- 잘못된 접근 시 로그 기록 및 모니터링 가능.
- SSSD와 통합
- SSSD는 다양한 인증 소스(LDAP, Kerberos 등)와 통합되어 HBAC 규칙을 적용합니다.
HBAC의 동작 방식
- 규칙 정의
- HBAC 규칙은 사용자, 사용자 그룹, 호스트, 호스트 그룹, 서비스에 대해 설정됩니다.
- 예를 들어, 특정 사용자 그룹이 특정 호스트에 SSH를 통해 접근할 수 있도록 허용합니다.
- SSSD를 통한 규칙 적용
- 호스트는 SSSD를 통해 중앙 디렉토리 서비스에서 HBAC 규칙을 받아옵니다.
- 사용자가 접속을 시도하면, SSSD가 HBAC 규칙을 확인하여 허용 여부를 결정합니다.
- 접속 허용/거부 결정
- HBAC 규칙에 따라 사용자의 접근 요청이 허용되거나 차단됩니다.
- 모든 접근 시도는 로그로 기록되어 추적 가능합니다.
HBAC 구성 요소
- 사용자 및 사용자 그룹
- 특정 사용자 또는 그룹에 대해 접근 권한을 설정합니다.
- 호스트 및 호스트 그룹
- 서버 단위로 접근 권한을 제어할 수 있으며, 여러 서버를 그룹화하여 설정 가능.
- 서비스
- SSH, HTTP, FTP 등 특정 서비스에 대해서만 접근 권한을 부여할 수 있습니다.
- HBAC 규칙
- 위 요소를 조합하여 특정 사용자 그룹이 특정 호스트에서 특정 서비스를 사용할 수 있는 규칙을 정의합니다.
HBAC 설정 예시 (FreeIPA 사용)
- FreeIPA 서버에서 HBAC 규칙 생성
- ipa hbacrule-add --desc="Allow SSH for admins" Allow_SSH_Admins
- 사용자 그룹 추가
- ipa hbacrule-add-user --groups=admins Allow_SSH_Admins
- 호스트 그룹 추가
- ipa hbacrule-add-host --hostgroups=ssh_hosts Allow_SSH_Admins
- 서비스 추가
- ipa hbacrule-add-service --hbacsvcs=ssh Allow_SSH_Admins
HBAC의 사용 사례
- 서버별 권한 분리
- 개발팀은 개발 서버만 접근 가능, 운영팀은 운영 서버만 접근 가능.
- 보안 강화를 위한 접근 제한
- 특정 고위험 서버는 관리자만 접근 가능.
- 중앙 집중식 사용자 관리
- 디렉토리 서비스(LDAP, FreeIPA 등)와 연동하여 모든 서버의 접근 정책을 중앙에서 관리.
- 정책 기반 접근 제어
- 근무 시간 외에는 모든 사용자 접근 차단.
HBAC와 PAM(Pluggable Authentication Modules)의 차이점
항목HBACPAM
역할 | 호스트 및 사용자 기반 접근 제어 | 사용자 인증 및 서비스 접근 제어 |
적용 범위 | 사용자-호스트 간 접근 규칙 | 인증, 계정, 세션 관리 |
구성 방식 | FreeIPA, LDAP 등과 통합 | 로컬 파일(/etc/pam.d/) 설정 |
중앙 관리 | 가능 (디렉토리 서비스 기반) | 불가능 (서버별로 설정 필요) |
HBAC는 기업 내 서버 접근 관리를 체계적이고 안전하게 관리할 수 있는 강력한 도구로, 특히 FreeIPA 같은 중앙 인증 시스템과 함께 사용하면 효율성을 극대화할 수 있습니다.
반응형