리눅스 커널에서의 보안 모듈인 SELinux는 어떤 기능을 제공하나요?
_____A: SELinux는 리눅스 커널에 통합된 강력한 보안 모듈로, 시스템의 접근 제어를 세밀하게 관리하여 권한 상승과 권한 남용으로부터 시스템을 보호합니다.
Q: SELinux의 주요 기능은 무엇인가요?
A: SELinux는 다음과 같은 기능을 제공합니다:
- 강제 접근 제어(MAC, Mandatory Access Control) : 사용자의 권한이나 프로세스가 아닌 정책에 의한 접근 허용/거부 결정
- 정책 기반 보안 관리 : 정의된 보안 정책에 따라 파일, 프로세스, 네트워크 등 자원 접근 통제
- 컨텍스트 기반 권한 분리 : 프로세스와 파일에 보안 컨텍스트를 할당해 권한을 세분화
- 침입 및 비정상 행위 차단 : 알려지지 않은 행위 또는 권한 초과 행위를 즉시 차단하여 시스템 보호
- 감사 로깅 지원 : 보안 관련 이벤트를 상세히 기록하여 추적과 문제 해결 지원
Q: SELinux가 일반적인 DAC(Discretionary Access Control)와 다른 점은 무엇인가요?
A: DAC는 사용자 및 소유자가 권한을 관리하는 반면 SELinux는 시스템 전체의 정책에 기반한 강제 접근 제어를 수행하여, 사용자가 권한을 임의로 변경하는 것을 방지합니다.
Q: SELinux가 제공하는 보안 이점은 무엇인가요?
A: SELinux를 사용하면 시스템 침해 시에도 권한 상승 공격을 방어하고, 프로세스 간 권한 격리를 강화하여 보안 사고 발생 범위를 최소화할 수 있습니다.
A: SELinux는 커널에서 동작하는 모듈이지만 최적화되어 있어 일반적인 사용 환경에서는 성능 저하가 크지 않으며, 보안 이점이 성능 감소보다 우선시됩니다.
Q: SELinux를 비활성화하면 어떤 위험이 있나요?
A: SELinux를 비활성화하면 정책 기반 강제 접근 제어가 작동하지 않아 공격자가 시스템 권한을 쉽게 획득하거나 중요 자원에 무단 접근할 가능성이 커집니다.
Q: SELinux 정책은 어떻게 구성되나요?
A: SELinux 정책은 텍스트 파일 형식으로 작성되며, 도메인(domain), 타입(type), 롤(role) 등의 개념을 통해 각 프로세스와 파일, 네트워크 등에 대해 허용되는 행위를 세분화합니다.
Q: SELinux가 적용된 시스템에서 접근 거부가 발생하면 어떻게 해결하나요?
A: 접근 거부 원인은 감사 로그(/var/log/audit/audit.log)를 통해 확인하며, 필요한 경우 정책을 수정하거나 예외 규칙을 추가하여 정상적인 작업이 가능하도록 조치합니다.
Q: SELinux는 어떤 상황에서 특히 유용한가요?
A: 다중 사용자 환경, 웹 서버, 네트워크 서비스 운영 서버 등 공격 표면이 넓은 환경에서 시스템 침해와 권한 상승 공격을 효과적으로 방지하는 데 유용합니다.
Q: SELinux와 AppArmor의 차이는 무엇인가요?
A: SELinux는 정교한 MAC 정책을 제공하며 보다 세밀한 권한 분리를 지원하는 반면 AppArmor는 경로 기반의 비교적 단순한 정책 구조를 가지고 있어 관리 난이도와 세부 제어 수준에 차이가 있습니다.
SELinux의 주요 기능은 다음과 같습니다: 1. 강력한 접근 제어 : SELinux는 주체(사용자, 프로세스)와 객체(파일, 디렉토리, 네트워크 포트 등) 간의 접근을 제어하기 위해 정책 기반 접근 제어를 사용합니다.
이를 통해 어떤 주체가 어떤 객체에 대해 어떤 행위를 할 수 있는지를 세밀하게 제어할 수 있습니다.
2. 정책 기반 관리 : SELinux는 세밀한 보안 정책을 정의할 수 있도록 허용합니다.
관리자는 정책을 작성하거나 조정하여 시스템 환경과 필요에 맞는 보안을 구현할 수 있습니다.
기본적으로 제공되는 정책 외에도 사용자가 정의한 맞춤형 정책을 적용할 수 있습니다.
3. 컨텍스트 기반 보안 : SELinux는 객체와 주체에 각각 '컨텍스트'를 부여하여 보안을 관리합니다.
이 컨텍스트는 주체와 객체가 어떤 관계를 맺고 있는지를 정의하며, 이를 통해 보다 정교한 보안 검사를 수행합니다.
4. 로그 및 감사 기능 : SELinux는 모든 접근 시도에 대한 로그를 남김으로써 시스템 관리자에게 정책 위반이나 이상 행동을 감시할 수 있는 기능을 제공합니다.
이를 통해 보안 사고를 탐지하고 대응할 수 있는 근거를 마련합니다.
5. 안전한 서비스 격리 : SELinux는 프로세스 간의 격리를 통해 서비스를 안전하게 실행할 수 있도록 지원합니다.
이를 통해 보안 취약점이 존재하는 서비스를 타겟으로 한 공격이 시스템 전체로 확산되는 것을 방지할 수 있습니다.
6. 상태 기반 보안 : SELinux는 시스템의 현재 상태와 각 구성 요소에 대한 정보를 바탕으로 보안 결정을 내리는 기능을 가지고 있습니다.
이는 실행 중인 프로세스가 예상하지 못한 행동을 하는 경우 이를 차단할 수 있는 능력을 부여합니다.
SELinux는 이러한 기능들을 통해 불법적인 접근이나 데이터 유출을 방지하고, 시스템의 전체적인 보안을 향상시키는 데 기여합니다.
관리자는 시스템 요구 사항에 따라 SELinux의 활성화 및 정책 적용을 조정할 수 있습니다.
작성자:
최윤재 [비회원]
| 작성일자: 1년 전
2025-03-03 12:21:00
조회수: 181 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 181 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.