SELinux

오픈소스 비즈니스 컨설팅
Pnuskgh (토론 | 기여)님의 2016년 5월 20일 (금) 13:02 판
둘러보기로 가기 검색하러 가기

SELinux (Security-Enhanced Lunux)를 정리 한다.

SELinux 개요

SELinux (Security-Enhanced Lunux)은 NSA (National Security Agency, 미국 국가 안보국)에서 개발한 MAC 기안의 보안 커널을 Linux에 이식한 커널 레벨의 보안 모듈 이다.


d187db34-c134-11e5-85e3-76a71fd3ea9a.png


Access Control (접근 통제)

Object (객체) 시스템 자원
Subject (주체) 사용자나 프로세스


DAC (Discretionary Access Control, 임의 접근 통제)

시스템 객체에 대한 접근을 사용자 또는 그룹을 기준으로 제한 한다.

setuid : 일반 사용자가 root 권한으로 프로그램을 실행할 수 있도록 허용 한다.

ls -alF /usr/bin/passwd

find /bin /usr/bin /sbin -perm -4000 -exec ls -ldb {} \;


MAC (Mandatory Access Control, 강제 접근 통제)

미리 정해진 정책과 보안 등급에 의거하여 주체에게 허용된 접근 권한과 객체에게 보여된 허용 등급을 비교하여 접근을 통제 한다.


Security Context (보안 컨텍스트)

User (사용자) 시스템과는 별도로 SELinx 사용자
Role (역할) 하나 이상의 Type과 연결
Type Type Enforcement
프로세스의 도메인이나 파일의 타입을 기반으로 접근 통제를 수행 한다.
Level MLS (Multi Level System)
강제 접근 통제보다 더 강력한 보안이 필요할 때 사용 한다.

SELinux 설정

상태 확인

sestatus

[root@manage001 selinux] sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          disabled
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28


SELinux 설정 변경

SELinux Mode

Mode int Description
enforce 1 기본 설정
위반시 차안
permissive 0 위반시 경고 메시지를 표시하지만 차단하지 않음
disable
SELinux를 사용하지 않음



setenforce 명령으로 설정 변경

setenforce 0       #--- permissive mode로 전환
setenforce 1       #--- enforce mode로 전환


vi /etc/selinux/config

SELINUX=disabled

참고 문헌