
중요한 데이터를 호스팅하거나 전송하는데 리눅스를 사용한다면 SE(Security-Enhanced)리눅스를 한번 검토해 볼만하다.미국 국가안전국(NSA)이 개발했으며 무료로 배포되고 있는 SE리눅스는 2001년 1월 최초로 공개됐으며 NSA가 오픈소스 리눅스 커널을 향상시키기 위해 탄생시킨 연구 프로젝트다.목적은 데이터 오염에 대한 대책을 강화하고 애플리케이션 보안절차를 우회하려는 시도를 방지하며 악성 혹은 불량 애플리케이션으로 인해 발생할 수 있는 파괴 현상을 완화하려는 것이다.일반 리눅스 vs. SE리눅스일반 리눅스 시스템의 보안은 커널, 그리고 setuid/setgid 바이너리를 통해 구축된 의존성을 통해 구축돼 있다.이와 같은 기존 보안 메커니즘 하에서는 특권을 가진 애플리케이션, 설정, 프로세스를 통해 결함을 악용하려 한다면 전체 시스템이 영향을 받는 경우가 다반사다. 이 문제는 대다수 최신 운영체제에 모두 적용되는데 더욱 복잡해지고 애플리케이션 호환성을 확보하려는 와중에 생긴 것이다.이에 비해 SE리눅스에서는 보안을 커널과 보안 설정 정책에만 의존하고 있다.보안 시스템을 올바로 설정했다면 잘못된 애플리케이션 설정이나 결함 있는 애플리케이션/데몬을 악용한다 해도 사용자 프로그램과 그 프로그램의 시스템 데몬에만 영향이 미치게 된다. 다른 사용자 프로그램과 데몬의 보안은 영향을 받지 않으며 기저에 깔린 보안 시스템 구조도 마찬가지다.즉 간단히 말하자면 SE리눅스에서는 단일 애플리케이션을 잘못 설정했거나 악용하더라도 전체 시스템에 영향을 주지 못한다는 것이다.SE리눅스의 커널과 유틸리티, 데몬/유틸리티 패치, 문서는 SE리눅스 웹사이트에서 다운로드할 수 있다. 새로운 커널을 컴파일하고 시스템 패키지 원본에 접근하려면 정상적으로 작동하는 리눅스 시스템을 갖고 있어야 한다.개발자들은 현재 레드햇 리눅스 배포판을 이용해 SE리눅스 최신 버전을 테스트하고 있다. 바이너리 파일들은 기존 리눅스 애플리케이션과 호환되며 보안 기능을 갖춘 애플리케이션에 쓰이는 시스템 콜이 포함돼 있다.또한 커널이 허용(permissive) 모드로 작동되도록 컴파일할 수도 있다. 허용 모드에서는 기설치된 사용자 애플리케이션, 그리고 시스템 운영에 필요한 권한을 결정하는 보안 설정 정책을 감사할 수 있다. 시스템을 재구축하지 않아도 허용모드에서 일반모드로 언제든지 전환할 수 있다.사용자·애플리케이션 별 권한 설정 가능SE리눅스를 구현하는 가장 큰 이유는 실행에 필요한 최소 권한만을 갖도록 사용자 프로그램을 제한함으로써 강제적인 접근 제어를 적용시키려는 것이다.이외에 일반 리눅스에 비해 눈에 띄는 개선점으로는 아래와 같은 것들이 있다.