SELinux 관련 참고자료 (설정 끄기, 설정 확인, 기타)
SELinux란 Security Enhanced Linux라고 불리는 놈으로, 무려 미국 국가 보안국 (U.S. National Security Agency) 씩이나 되는 곳에서 릴리즈한 Linux의 보안 강화 버전이라고 한다.
.. 물론 쓴다면 보안적으로 참 유용한 물건 되시겠지만 개인적으로는 쓸데 없는 짓을 해주셨다 싶다.
그러니까 그 본질은 주체 (사용자, 프로그램, 프로세스) 및 객체 (파일, 장치) 에 각각 다른 권한을 부여하게 해 주고, 이로써 좀 더 합리적으로 권한 할당을 해준다는 것이다.
특정 데몬 (ftp, http)의 버퍼 오버플로우 등으로 루트 쉘을 얻고 이 쉘을 통해 커맨드를 실행하거나 파일을 복사하는 등의 행동이 해킹의 기본 동작이라고 봤을때 이것을 막는 참 적절한 장치라는 것에는 동의한다.
.. 그치만 개인적으로는 참 쓸데 없는 짓이라고 생각한다니까.
각설하고 일단 이걸 꺼보자.
# system-config-securitylevel
요런 커맨드가 있고 SELinux 설정 변경이 가능하다고 들었는데, 일단 쓰고 있는 CentOS 5버전에서는 없다. 그로므로 패스.
# vi /etc/sysconfig/selinux
...
SELINUX=enfocing -> SELINUX=disabled
일단 고치긴 했으나 이것으로 실제 변경이 이루어졌는지는 확인하지 않음. (서버라는게 그리 자주 끄는 것이 아니니..)
# vi /boot/grub/grub/conf
...
kernel ....... selinux=0 (추가)
위와 동일.
# setenforce 0 (disable 시킴. 1이면 enable)
실제로 작동 중단됨. (운영중인 서버상에서) 리부팅에도 적용되는 것은 grub 설정이나 sysconfig의 selinux 설정으로 해결해야 할듯.
보안 문맥 스크립트같은 것이 있고 이게 자동으로 적용되게 할 수 있는 듯. 특정 어플리케이션을 자료 업로드용으로 설정해놓고 (vsftpd 같은 것) 이것으로 업로드 되는 것들은 특정 보안 문맥을 가지게 할 수도 있는 듯 하다. 뭐 쓴다면 쓰겠지만 여기 신경쓰기 싫다. 일단 패스.
아참. 보안 문맥용 커맨드 몇가지는 보관. (혹시 모르잖아?)
# ps -axZ (프로세스의 보안 문맥을 확인)
# ls -lZ (파일의 보안 문맥을 확인)
# chron -R -u [identify] -r [role] -t [type] [directory] (파일의 보안 문맥을 변경)
참고 사이트 : https://www.linux.co.kr/home/lecture/?leccode=10637
참고 사이트 : https://www.linux.co.kr/home/lecture/?leccode=10638