보안 강화 리눅스

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기
보안 강화 리눅스
SELinux
페도라 8의 SELinux 관리자 GUI
페도라 8의 SELinux 관리자 GUI
원저자 레드햇, 미국 국가안보국
발표일 1998년 1월 1일 (20년 전)(1998-01-01)
개발 상태 개발 중
프로그래밍 언어 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”. 

외부 링크[편집]