2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

SELinux에서 정책을 검토하는 방법은 무엇인가요?

_____
Q1: SELinux 정책을 어떻게 확인할 수 있나요?
A1: 현재 로드된 SELinux 정책은 `sestatus` 명령어로 상태를 확인할 수 있고, 정책 파일은 일반적으로 `/etc/selinux/` 디렉토리에 위치합니다. 정책 소스는 `/usr/share/selinux/` 아래에 저장됩니다.

---

Q2: 특정 프로세스의 SELinux 컨텍스트를 어떻게 확인하나요?
A2: `ps -eZ` 명령어를 사용하면 모든 프로세스의 SELinux 보안 컨텍스트를 볼 수 있습니다. 특정 PID의 경우 `ps -Z -p `를 이용할 수 있습니다.

---

Q3: SELinux 감사 로그를 어떻게 확인하나요?
A3: SELinux 관련 이벤트는 보통 `/var/log/audit/audit.log`에 저장됩니다. `ausearch -m avc` 명령어를 통해 SELinux 거부(denial) 메시지를 검색할 수 있습니다.

---

Q4: 어떤 SELinux 정책가 적용되어 있는지 어떻게 파악하나요?
A4: `semodule -l` 명령어를 사용하면 현재 로드된 SELinux 정책 모듈 목록과 이름을 확인할 수 있습니다.
---

Q5: 특정 도메인이나 타입의 정책 내용을 어떻게 볼 수 있나요?
A5: `sesearch` 도구를 이용해 정책 내에서 특정 도메인(domain), 타입(type), 또는 권한(permission) 관련 룰을 검색할 수 있습니다. 예: `sesearch -s httpd_t -t httpd_sys_content_t -c file -p read`는 httpd 프로세스가 파일 읽기 권한 여부를 검색합니다.

---

Q6: SELinux 정책 소스 코드를 어떻게 검토하나요?
A6: RHEL/CentOS 기준으로 정책 소스는 `selinux-policy` 패키지 내에 있으며, `/usr/share/selinux/targeted/src/policy` 경로에서 볼 수 있습니다. 모듈별로 `.te` (type enforcement) 파일을 열어 구체적인 룰을 확인할 수 있습니다.

---

Q7: 정책 수정 후 어떻게 적용하고 검토할 수 있나요?
A7: 정책 소스를 수정한 후 `make` 명령어로 컴파일하고, `semodule -i <모듈파일>`로 설치합니다. 이후 `seinfo`와 `sesearch` 도구로 변경 사항을 검토합니다.

---

Q8: SELinux 정책 관련 문서를 어디서 확인할 수 있나요?
A8: `man selinux`, `man semanage`, `man audit2allow` 등 관련 매뉴얼과 `/usr/share/doc/selinux-policy/` 아래 문서를 참고하거나, Red Hat 공식 문서를 이용하면 됩니다.
SELinux(보안 강화 리눅스)는 리눅스 커널의 보안 모듈로, 시스템의 보안을 강화하기 위해 프로세스와 파일에 대한 접근 제어를 제공합니다.

SELinux 정책은 시스템의 보안 요구 사항을 정의하며, 이를 검토하는 것은 시스템의 보안 상태를 이해하고 필요한 조치를 취하는 데 중요합니다.

SELinux 정책을 검토하는 방법에 대해 자세히 설명하겠습니다.

1. SELinux 상태 확인 SELinux 정책을 검토하기 전에, 먼저 SELinux가 활성화되어 있는지 확인해야 합니다.

이를 위해 다음 명령어를 사용할 수 있습니다: ```bash sestatus ``` 이 명령어는 SELinux의 현재 상태(활성화, 비활성화, 허용 모드 등)를 보여줍니다.



2. 현재 정책 확인 SELinux의 현재 정책을 확인하려면 다음 명령어를 사용할 수 있습니다: ```bash sepolicy current ``` 이 명령어는 현재 로드된 SELinux 정책의 정보를 제공합니다.

여기에는 정책의 버전, 모드, 정책 파일의 경로 등이 포함됩니다.



3. 정책 파일 검토 SELinux 정책은 일반적으로 `/etc/selinux/targeted/policy/` 디렉토리에 위치합니다.

이 디렉토리에서 정책 파일을 검토할 수 있습니다.

정책 파일은 `.pp` 확장자를 가지며, 이 파일들은 바이너리 형식으로 되어 있습니다.

이를 읽기 쉽게 변환하려면 `sepolicy` 도구를 사용할 수 있습니다.

```bash sepolicy ptype -a ``` 이 명령어는 시스템에서 사용되는 모든 타입을 나열합니다.



4. 로그 파일 검토 SELinux는 접근 거부와 같은 보안 이벤트를 `/var/log/audit/audit.log` 또는 `/var/log/messages`에 기록합니다.

이 로그 파일을 검토하여 SELinux가 차단한 이벤트를 확인할 수 있습니다.

다음 명령어를 사용하여 SELinux 관련 로그를 필터링할 수 있습니다: ```bash grep "avc: denied" /var/log/audit/audit.log ``` 이 명령어는 SELinux가 접근을 거부한 모든 이벤트를 나열합니다.

이를 통해 어떤 프로세스가 어떤 리소스에 접근하려고 했는지, 그리고 왜 거부되었는지를 파악할 수 있습니다.



5. 정책 모듈 검토 SELinux 정책은 여러 모듈로 구성되어 있으며, 각 모듈은 특정 서비스나 애플리케이션에 대한 규칙을 정의합니다.

현재 로드된 정책 모듈을 확인하려면 다음 명령어를 사용할 수 있습니다: ```bash semodule -l ``` 이 명령어는 시스템에 로드된 모든 SELinux 모듈의 목록을 보여줍니다.

각 모듈의 이름과 버전 정보를 확인할 수 있습니다.



6. 정책 수정 및 테스트 정책을 검토한 후, 필요에 따라 정책을 수정할 수 있습니다.

SELinux 정책을 수정하려면 `audit2allow` 도구를 사용할 수 있습니다.

이 도구는 로그 파일에서 수집한 정보를 바탕으로 새로운 정책 모듈을 생성합니다.

```bash cat /var/log/audit/audit.log | audit2allow -M mypol semodule -i mypol.pp ``` 이 명령어는 `audit.log`에서 수집한 정보를 기반으로 `mypol`이라는 이름의 정책 모듈을 생성하고 이를 로드합니다.



7. 정책 검증 정책을 수정한 후에는 시스템의 보안 상태를 검증해야 합니다.

이를 위해 `secheck` 도구를 사용할 수 있습니다.

이 도구는 시스템의 SELinux 정책이 올바르게 작동하는지 확인합니다.

```bash secheck ``` 이 명령어는 시스템의 SELinux 정책을 검증하고, 문제가 있는 경우 경고 메시지를 출력합니다.

결론 SELinux 정책을 검토하는 것은 시스템 보안을 유지하는 데 필수적입니다.

위에서 설명한 방법들을 통해 SELinux의 상태를 확인하고, 현재 정책을 검토하며, 로그 파일을 분석하고, 필요에 따라 정책을 수정할 수 있습니다.

SELinux의 복잡성을 이해하고 적절한 정책을 설정함으로써 시스템의 보안을 강화할 수 있습니다.

작성자: 정하린 [비회원] | 작성일자: 1년 전 2024-12-28 07:21:48
조회수: 211 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.