[linux] SELinux 보안 기능
SELinux은 Security-Enhanced Linux의 약자로 리눅스 시스템의 보안을 강화하는 데 사용되는 기능이다. SELinux는 Linux 커널 모듈과 보안 정책을 통해 시스템에 대한 접근 제어 및 권한 부여를 관리한다.
SELinux의 주요 기능
- 강제 접근 제어: SELinux는 접근 제어 규칙을 적용하여 프로세스가 파일, 포트, 소켓 등에 접근하는 것을 허용 또는 거부한다.
- 관리자 정책 설정: 시스템 관리자는 SELinux 정책을 사용하여 시스템 자원에 대한 접근을 제한하고 보안을 강화할 수 있다.
- 다중 보안 정책 지원: SELinux는 MAC(Mandatory Access Control)을 기반으로 다양한 보안 정책을 지원한다.
SELinux 설정 및 관리
SELinux 정책은 enforcing
, permissive
, disabled
등의 모드로 설정할 수 있다. enforcing
모드에서는 정책을 엄격히 적용하고, permissive
모드에서는 접근을 허용하면서도 오류를 기록한다. disabled
모드는 SELinux를 비활성화한다.
SELinux 정책을 관리하기 위해서는 semanage
, setsebool
, getsebool
등의 명령어를 사용한다.
$ getenforce
Enforcing
$ semanage permissive -a httpd_t
$ setsebool -P httpd_can_network_connect 1
$ getsebool httpd_can_network_connect
httpd_can_network_connect --> on
SELinux의 이점
SELinux를 사용하면 시스템의 취약성을 줄이고 보안을 향상시킬 수 있다. 또한 다양한 보안 정책을 적용하여 시스템 리소스에 대한 접근을 제어할 수 있어 시스템의 안전성을 보장한다.
참고 문헌: