SELinux(Security-Enhanced Linux)는 Linux 시스템에서 MAC(Mandatory Access Control)를 구현하는 보안 모듈입니다. 보다 세분화된 액세스 제어를 위해 시스템 개체(파일, 프로세스 등)에 레이블을 적용하여 보안 정책을 시행합니다. SELinux에는 적용, 허용, 비활성화의 세 가지 작업 모드가 있습니다. 이 기사에서는 이 세 가지 모드를 자세히 소개하고 구체적인 코드 예제를 제공합니다.
1. 시행 모드
시행 모드는 SELinux 정책을 시행하고 위반을 거부하고 기록하는 가장 안전하고 권장되는 모드입니다. 강제 모드에서는 시스템이 무단 액세스를 거부하고 해당 로그 기록을 생성합니다. 적용 모드를 이해하기 위해 다음 코드 예제를 통해 파일의 SELinux 레이블을 설정하고 액세스하는 방법을 보여줄 수 있습니다.
# 创建测试文件 touch testfile # 查看文件的SELinux标签 ls -Z testfile # 修改文件的SELinux标签为httpd_sys_content_t类型 chcon -t httpd_sys_content_t testfile # 尝试访问文件 cat testfile
위 예제에서는 testfile이라는 파일을 만들고 SELinux 레이블을 설정했습니다. httpd_sys_content_t 유형으로. 이 파일을 읽으려고 하면 파일 레이블이 현재 프로세스 레이블과 일치하지 않기 때문에 액세스가 거부됩니다.
2. 허용 모드
허용 모드를 사용하면 시스템 관리자가 실제로 액세스 요청을 가로채지 않고 SELinux 정책을 테스트할 수 있습니다. 허용 모드에서 SELinux는 액세스 위반을 기록하지만 이를 거부하지는 않습니다. 이 모드는 일반적으로 새로운 SELinux 정책을 디버깅하고 테스트하는 데 사용됩니다. 다음은 허용 모드에서 로그 레코드를 보는 방법을 보여주는 예입니다.
# 查看当前SELinux模式 sestatus # 切换SELinux模式为Permissive setenforce 0 # 尝试访问被禁止的文件 cat /etc/shadow # 查看SELinux日志记录 cat /var/log/audit/audit.log
위의 예에서는 SELinux 모드를 허용으로 전환하고 /etc/shadow 파일을 읽으려고 시도합니다. 이때 로그 레코드에 정보가 표시됩니다. 정보에 대한 접근이 금지되어 있지만 실제 접근은 여전히 허용됩니다.
3. 비활성화 모드
비활성화 모드는 SELinux를 완전히 비활성화하고 SELinux와 관련된 모든 액세스 제어 및 보호 조치를 취소합니다. 이는 시스템 보안에 영향을 미치므로 가장 권장되지 않는 모드입니다. 비활성화 모드에서는 시스템이 SELinux 정책을 실행하지 않으며 불법 액세스를 기록하지 않습니다. 다음은 SELinux를 비활성화하는 방법을 보여주는 예입니다.
# 查看当前SELinux模式 sestatus # 禁用SELinux setenforce 0 # 查看当前SELinux模式 sestatus
위의 예에서는 setenforce 명령을 통해 SELinux를 비활성화하고 sestatus 명령을 통해 SELinux가 비활성화 모드에 있는지 확인했습니다.
요약: SELinux의 세 가지 작동 모드를 이해하는 것은 시스템 보안 및 액세스 제어에 중요합니다. 적용 모드는 최고 수준의 보호를 제공하고 허용 모드는 디버깅 및 테스트에 사용되며 비활성화 모드는 시스템 보안을 보장하기 위해 피해야 합니다. 위의 특정 코드 예제를 통해 독자들이 SELinux의 작동 모드와 그 장점과 단점을 더 깊이 이해할 수 있기를 바랍니다.
위 내용은 SELinux의 세 가지 작업 모드에 익숙함의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!