가능한 한 안전한 서버를 설정해야합니다. SELinux, AppArmor 또는 grsecurity 중 어떤 보안 강화 기능을 사용합니까? 이 세 가지에 대한 몇 가지 팁, 힌트, 장단점을 알려주시겠습니까?
AFAIK :
- SELinux : 가장 강력하지만 가장 복잡한
- AppArmor : SELinux보다 간단한 구성 / 관리
- grsecurity : 자동 교육으로 인한 간단한 구성, 액세스 제어 이상의 기능
가능한 한 안전한 서버를 설정해야합니다. SELinux, AppArmor 또는 grsecurity 중 어떤 보안 강화 기능을 사용합니까? 이 세 가지에 대한 몇 가지 팁, 힌트, 장단점을 알려주시겠습니까?
AFAIK :
답변:
나는이 분야에서 많은 연구를 해왔다. 심지어 MySQL에 대한 AppArmor의 규칙 세트를 악용했습니다 . AppArmor는 가장 약한 형태의 프로세스 분리입니다. 내가 악용하는 속성은 모든 프로세스에 같은 같은 디렉토리 중 일부에 대한 쓰기 권한이 있다는 것 /tmp/
입니다. AppArmor의 장점은 사용자 / 관리자 방식으로 침입하지 않고 일부 악용을 차단한다는 것입니다. 그러나 AppArmor에는 조만간 수정되지 않을 몇 가지 근본적인 결함이 있습니다.
SELinux는 매우 안전하고 매우 성가시다. AppAmoror와 달리 SELinux가 재구성 될 때까지 대부분의 합법적 인 응용 프로그램은 실행되지 않습니다. 대부분의 경우 관리자가 SELinux를 잘못 구성하거나 함께 비활성화 할 수 있습니다.
grsecurity는 매우 큰 도구 패키지입니다. 내가 가장 좋아하는 것은 grsecuirty의 향상된 chroot입니다. SELinux와 AppAprmor가 "정상 작동"하는 chroot jail을 설정하는 데 약간의 기술과 시간이 필요하지만 SELinux보다 훨씬 안전합니다.
네 번째 시스템 인 가상 머신이 있습니다. VM 환경에서 공격자가 "브레이크"할 수있는 취약점이 발견되었습니다. 그러나 VM은 프로세스간에 적은 리소스를 공유하는 VM에서 chroot becuase보다 훨씬 더 분리되어 있습니다. VM에 사용 가능한 리소스는 가상이며 다른 VM간에 겹치지 않을 수도 있습니다 . 이는 <buzzword>
" 클라우드 컴퓨팅 " 과도 관련이 있습니다 </buzzword>
. 클라우드 환경에서는 데이터베이스와 웹 애플리케이션을 매우 명확하게 분리 할 수 있으며 이는 보안에 중요합니다. 또한 1 개의 익스플로잇이 전체 클라우드와 모든 VM을 실행하고있을 수 있습니다.
<buzzword>
태그 대신 "나의 엉덩이"라고 쓸 수 있습니다. 모두가 무슨 뜻인지 알 것입니다.)
개인적으로, 나는 SELinux를 사용할 것입니다. 왜냐하면 대부분 RHEL의 맛을 목표로하기 때문입니다. Red Hat에는 반응 형 관리자가 있으며 SELinux 구성에 대한 많은 훌륭한 문서가 있습니다. 아래의 유용한 링크.