보안 강화 리눅스

위키백과, 우리 모두의 백과사전.
(SELinux에서 넘어옴)

보안 강화 리눅스
원저자레드햇, 미국 국가안보국
발표일1998년 1월 1일(26년 전)(1998-01-01)
안정화 버전
3.3 / 2021년 10월 22일(2년 전)(2021-10-22)[1]
저장소
프로그래밍 언어C
운영 체제리눅스
종류보안, 리눅스 보안 모듈 (LSM)
라이선스GNU GPL
상태개발 중
웹사이트selinuxproject.org/page/Main_Page

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

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

사용법[편집]

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

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

사용 예[편집]

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

$ sudo setenforce 1

SELinux 상태를 확인하는 방법:

$ getenforce

기타 시스템[편집]

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

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

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

참조[편집]

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

외부 링크[편집]