보안 강화 리눅스

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
보안 강화 리눅스
SELinux
SELinux admin.png
페도라 8의 SELinux 관리자 GUI
발표일 1998년 01월 01일, 6088일 경과
프로그래밍 언어 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.

바깥 고리[편집]