티스토리 뷰

Linux

[Rhel/CentOS] 5. SELinux

5_Clock 2021. 12. 10. 20:32
반응형

SELinux는 관리자가 시스템 엑세스 권한을 효과적으로 제어할 수 있게 하는 Linux시스템용 보안 아키텍쳐이다.

SELinux는 시스템의 애플리케이션, 프로세스, 파일에 대한 액세스 제어를 정의합니다. 

앞선 4장에서 엑세스가 보통 익숙하다. 이것을 보통 DAC(Discretionary Access Control)이라고 하는 모델이다. 하지만 SELinux는 MLS(Mandatory Access Control)이라는 추가 보안 레이어를 제공하게 됩니다.

 

간단하게 설명하자면 기존의 DAC에 프로세스가 어느 파일, 디렉터리, 포트에 access할지 결정하는 규칙을 추가하는 것이다.

 

# getenforce
# setenforce
usage:	setenforce [ Enforcing | Permissive | 1 | 0 ]
# serenforce 0

 

다음과 같이 설정을 하면 된다.

 


- SELinux 장점: syscall을 실제로 수행하기 전에 만약 위법적인 접근인 경우 메모리에 상주하기 전에 차단이 가능하다
- SELinux사용시 단점: context label(_t)이 올바르게 설정 및 구성이 되지 않으면, 프로그램이 바로 종료.
                    cpu, mem에 오버헤드가 발생(== disk 이벤트)
                    (FILE ---> LABEL --> DB Query --> SYSCALL == PROC)
                    SELinux사용 안할때,
                    (FILE --> SYSCALL == PROC

 

권한 변경시, /etc/selinux/config에서 

 

...
SELINUX=enforcing
...

 

다음과 같이 변경이 가능하다.

 

bool을 사용해서 SELinux 정책을 조정하는 것 또한 가능하다.

 

$ getsebool -a		# bool과 해당 상태를 나열하는 명령어
$ setsebool <NAME> on/off  	# 해당상태를 켜고 끄는 명령어

 

SELinux 문제 조사 및 해결

개인적으로 가장 중요하다고 생각하는 문제조사 부분이다. 

/var/log/audit/audit.log/var/log/messages를 모두 검사하면 찾아볼 수 있다.

$ tail -5 /var/log/audit/audit.log
..	
	sealert -l <UUID>
    
$ sealert -l <UUID> # 어디 로그에 어떤 문제가 있는지 보인다
728x90
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
250x250