Linux SELinux 주요 동작 모드 이해하기: Enforcing, Permissive, Disabled

Linux SELinux의 기본적인 이론은 블로그에 작성해두었습니다. 여기를 눌러서 참고 부탁드립니다.

SELinux의 주요 동작 모드는 크게 세 가지로, Enforcing, Permissive, Disabled입니다.

모드에 대한 자세한 설명과 함께, 각 모드를 설정하는 방법도 함께 알아보겠습니다.

  • Enforcing 모드 : 이 모드에서는 SELinux는 보안 정책을 강제하고, 정책에 위반하는 모든 접근을 차단합니다. 예를 들어, 웹 서버 프로세스가 사용자의 홈 디렉토리에 접근하려고 하면, SELinux는 이러한 접근을 차단하고 관련 정보를 로그에 기록합니다. 이 모드는 시스템 보안을 최대화하기 위한 것입니다. 이 모드로 설정하려면, /etc/selinux/config 파일에서 SELINUX=enforcing로 설정하면 됩니다.
  • Permissive 모드 : 이 모드에서는 SELinux는 보안 정책 위반을 감지하고 로그에 기록하지만, 실제로 접근을 차단하지는 않습니다. 즉, SELinux는 모니터링 도구의 역할을 하며, 보안 정책이 어떻게 적용되는지를 관찰하고 테스트할 수 있습니다. 이 모드는 SELinux 설정을 튜닝하거나 문제를 진단하는 데 유용합니다. 이 모드로 설정하려면, /etc/selinux/config 파일에서 SELINUX=permissive로 설정하면 됩니다.
  • Disabled 모드 : 이 모드에서는 SELinux는 완전히 비활성화되며, 보안 정책은 적용되지 않습니다. 이 모드는 SELinux를 사용하지 않을 때 사용하며, 가능한 한 이 모드를 사용하지 않는 것이 좋습니다. SELinux가 비활성화되면, 시스템은 SELinux가 제공하는 추가 보안 계층을 잃게 됩니다. 이 모드로 설정하려면, /etc/selinux/config 파일에서 SELINUX=disabled로 설정하면 됩니다.

SELinux의 대표적인 설정 파일은 /etc/selinux/config에 위치해 있습니다.

SELinux config 파일의 SELINUX=” ” 이 부분에 원하시는 모드를 설정하실 수 있습니다.

SELinux에서 추적되는 로그는 /var/log/audit/audit.log 파일에 기록이 됩니다.

이 로그 파일은 audit 데몬에 의해서 관리가 되며 SELinux 정책위반, 파일 접근 거부, 기타 보안 관련 이벤트를 포함하게 됩니다.

# cat /var/log/audit/audit.log 

위의 로그를 파일을 통해 확인이 가능한 여러가지 이벤트가 있지만 몇가지만 추려서 살펴보겠습니다.

  1. AVC(Access Vector Cache) : SELinux가 액세스를 허용하거나 거부한 결정을 나타냄
    • cat /var/log/audit/audit.log | grep AVC 명령어를 통해서 확인이 가능
  2. user_login : 사용자의 로그인 시도와 관련된 이벤트를 확인 가능
    • grep ‘user_login’ /var/log/audit/audit.log

막상 audit.log 파일을 열어보면 내용이 난해하여 확인 하기가 어려운 느낌이 많이듭니다.

ausearch, aureport를 사용하면 조금더 쉽게 확인이 가능합니다.

auserach는 audit에 의해서 기록된 로그를 검색하는 도구이며 특정 기준에 따라 로그를 검색할 수 있어 이벤트 타입, 날짜, 시간 범위 등에 따라 로그를 필터링이 가능

# ausearch -m AVC 
# ausearch -m user_login

# ausearch --start yesterday --end today -m AVC

aureport는 audit.log 파일에서 정보를 추출하여 보고서 형식으로 표시해주는 도구입니다.

# aureport -m

By Low ahn

One thought on “Linux SELinux 주요 동작 모드 이해하기: Enforcing, Permissive, Disabled”
  1. Automatic – Anti-spam Team Plug-in is being used to proactively prevent spam. For IPs that consistently comment on spam, we are blocking it.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다