최대 1 분 소요

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를 올바르게 설정하면 리눅스 서버의 보안 수준을 크게 높일 수 있습니다!

카테고리: ,

업데이트:

댓글남기기