보안 강화 리눅스

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
보안 강화 리눅스
SELinux
SELinux admin.png
페도라 8의 SELinux 관리자 GUI
발표일 1998년 01월 01일, 6452일 경과
프로그래밍 언어 C
운영 체제 리눅스
종류 보안, 리눅스 보안 모듈 (LSM)
라이선스 GNU GPL
웹사이트 selinuxproject.org/page/Main_Page

보안 강화 리눅스(Security-Enhanced Linux, 간단히 SELinux)는 미국 국방부 스타일의 강제 접근 제어(MAC)를 포함한 접근 제어 보안 정책을 지원하는 매커니즘을 제공하는 리눅스 커널 보안 모듈이다. 다양한 리눅스 배포판에 추가할 수 있는 커널 수정 및 사용자 공간 도구들의 모임이다. 보안 강화 리눅스는 보안 결정 진행을 보안 정책과는 별개로 함과 동시에 보안 정책의 영향을 받는 소프트웨어의 양을 간소화하는 것을 시도하는 구조를 이룬다.[1][2] 보안 강화 리눅스의 기반이 되는 주요 개념들은 미국 국가안보국의 일부 초기 프로젝트들로 거슬러 올라간다.

이 보안 모듈은 2003년 8월 8일 버전 2.6을 기점으로 주류 리눅스 커널에 통합되어 있다.

사용법[편집]

SELinux는 매우 정밀한 상세 설정을 포함하여 어떠한 활동을 시스템이 개별 사용자, 프로세스, 데몬에 허용할 것인지를 잠재적으로 제어할 수 있다. 일반적으로 사용자 프로세스는 주로 SELinux에 제한되지 않는 영역에서 실행되지만 고전적인 리눅스 접근 권한에 제한을 받는다.

명령 줄 유틸리티는 다음을 포함한다: chcon,[3] restorecon,[4] restorecond,[5] runcon,[6] secon,[7] fixfiles,[8] setfiles,[9] load policy,[10] booleans,[11] getsebool,[12] setsebool,[13] togglesebool[14] setenforce, load policy, setfiles,[15] semodule, postfix-nochroot, check-selinux-installation, semodule package, checkmodule, selinux-config-enforcing,[16] selinuxenabled,[17] selinux-policy-upgrade,[18] security set boolean.[19]

사용 예[편집]

SELinux를 강제 모드로 설정하는 방법:

$ sudo setenforce 1

SELinux 상태를 확인하는 방법:

$ getenforce

기타 시스템[편집]

여러 프로세스를 분리하는 일은 가상화와 같은 매커니즘을 통해 구현할 수 있는데, 예를 들어 OLPC의 경우 경량 V서버의 개별 응용 프로그램들을 샌드박스화한 최초의 구현 사례이다.[20]

보안 강화 안드로이드[편집]

미국 국가 안보국은 보안 강화 안드로이드에 SELinux의 개념들 가운데 일부를 채택하였다.[21]

참조[편집]

  1. “SELinux Frequently Asked Questions (FAQ) - NSA/CSS”. National Security Agency. 2013년 2월 6일에 확인함. 
  2. http://www.nsa.gov/research/_files/selinux/papers/slinux.pdf
  3. “chcon”. Linuxcommand.org. 2013년 2월 6일에 확인함. 
  4. “restorecon(8) - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  5. “restorecond(8) - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  6. “runcon(1) - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  7. “secon(1) - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  8. “fixfiles(8): fix file SELinux security contexts - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  9. “setfiles(8): set file SELinux security contexts - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  10. “load_policy(8) - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  11. “booleans(8) - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  12. “getsebool(8): SELinux boolean value - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  13. “setsebool(8): set SELinux boolean value - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  14. “togglesebool(8) - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  15. “setfiles(8): set file SELinux security contexts - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  16. “Ubuntu Manpage: selinux-config-enforcing - change /etc/selinux/config to set enforcing”. Canonical Ltd. 2013년 2월 6일에 확인함. 
  17. “Ubuntu Manpage: selinuxenabled - tool to be used within shell scripts to determine if”. Canonical Ltd. 2013년 2월 6일에 확인함. 
  18. “Ubuntu Manpage: selinux-policy-upgrade - upgrade the modules in the SE Linux policy”. Canonical Ltd. 2013년 2월 6일에 확인함. 
  19. “security_set_boolean(3) - Linux man page”. Linux.die.net. 2013년 2월 6일에 확인함. 
  20. OLPC/Sugar Rainbow
  21. “SE Android”. 

바깥 고리[편집]