리눅스 서버에서 SELinux 설정 및 관리 방법
SELinux(Security-Enhanced Linux)는 리눅스 서버의 보안을 강화하는 강력한 접근 제어 시스템입니다. 이번 글에서는 SELinux의 기본 개념과 설정, 문제 해결 방법을 안내합니다.
1. SELinux 상태 확인
getenforce
sestatus
Enforcing
: 정책이 적용 중Permissive
: 경고만 표시, 정책 미적용Disabled
: 비활성화
2. SELinux 모드 변경
sudo setenforce 0 # Permissive 모드로 변경
sudo setenforce 1 # Enforcing 모드로 변경
- 영구적으로 변경하려면
/etc/selinux/config
파일에서SELINUX=enforcing
또는permissive
로 수정
3. SELinux 컨텍스트 확인 및 변경
ls -Z /var/www/html
sudo chcon -t httpd_sys_content_t /var/www/html/index.html
- 파일/디렉터리의 SELinux 컨텍스트를 확인하고, 필요에 따라 변경
4. 서비스가 SELinux로 인해 동작하지 않을 때
/var/log/audit/audit.log
에서 SELinux 관련 에러를 확인audit2why
,audit2allow
명령어로 원인 분석 및 정책 생성
sudo cat /var/log/audit/audit.log | audit2why
sudo cat /var/log/audit/audit.log | audit2allow -M mypolicy
sudo semodule -i mypolicy.pp
5. 보안 팁
- SELinux를 비활성화하지 말고, 정책을 수정하여 서비스가 정상 동작하도록 하세요.
- 정책 변경 시 반드시 로그를 분석하고 최소 권한 원칙을 지키세요.
SELinux를 올바르게 설정하면 리눅스 서버의 보안 수준을 크게 높일 수 있습니다!
댓글남기기