Hardened Gentoo/ko

강화 젠투(Gentoo Hardened)는 잘 알려진 젠투 리눅스 설치 결과 위에 여러가지 추가 보안 서비스를 제공하는 프로젝트입니다. 각각의 서비스를 따로 선택할 수 있지만, 강화 젠투에서는 PaX, grSecurity, SELinux, TPE 등을 지원하는 툴체인에서 위험성을 덜어주는 여러가지 옵션을 활성화 합니다.

인터넷망에 직접 연결된 서버를 쓰든 유연한 워크스테이션을 쓰든, 여러가지 위험성을 다룰때 최신 보안 패치를 자동으로 단순히 적용하기보단 시스템을 더욱 견고하게 하고 싶어할 것입니다. 시스템의 견고화는 공격이나 기타 위험에 대해 추가적인 대항조치를 취할 뿐만 아니라, 시스템에 취하는 여러 행동을 일반적으로 조합함을 의미합니다.

강화 젠투에는 젠투 시스템을 더욱 견고하게 구축하도록 도와주는 여러가지 활성 프로젝트가 있습니다
 * 위치 독립 실행(PIE), 스택 스매싱 보호, 컴파일 타임 버퍼 검사 등의 툴체인(컴파일러, 링커, 등...)의 몇가지 옵션을 활성화합니다.
 * 주소 공간 임의 배치, 비 실행 메모리 같은 추가 보호 조치를 지원하는 PaX 확장을 리눅스 커널에서 활성화합니다.
 * 추가 chroot 제한, 추가 감사, 프로세스 등...의 기능을 포함한 grSecurity 확장을 리눅스 커널에서 활성화합니다.
 * 표준 리눅스 권한 제한 기능을 대폭 향상한 필수 접근 제어 시스템을 제공하는 SELinux 확장을 리눅스 커널에서 활성화합니다.
 * 부당한 방법으로 변경된 시스템을 회복하는 무결성 검정 구조와 같은 Integrity 관련 기술을 활성화합니다.

물론 이들 확장을 관리하는데 필요한 사용자 영역 유틸리티도 포함됩니다.

강화 프로파일로의 전환
강화(hardened) profile을 선택해서 꾸러미 관리자가 강화 시스템으로 시스템을 빌드하도록 하십시오.

강화 프로파일을 선택하면 각각의 꾸러미 관리 설정(마스크, USE 플래그 등)이 시스템의 기본이 됩니다. 이를 통해 툴체인을 비롯한 많은 패키지에 적용됩니다. 툴체인은 프로그램을 빌드하고 컴파일하는데 사용하며 GNU 컴파일러 모음(GCC), binutils(linker 등), 그리고 GNU C라이브러리(glibc)를 포함합니다. 툴 체인을 다시 이머지하면 새 기본 설정을 툴체인에 적용하게 되며, 이 동작은 앞으로 꾸러미 컴파일을 강화 방식으로 허용합니다.

The above commands rebuilt GCC, which can now be used to compile hardened software. Make sure that the hardened option is selected for GCC.

위의 출력 예시에서와 같이, 강화 GCC 프로파일은 접미어가 없습니다. PIE나 SSP를 비활성화 하려면, 관련있는 hardenedno(pie|ssp) 또는 둘 다 적용하는 경우 hardenednopiessp를 선택하십시오. vanilla 프로파일은 물론 강화 방식을 비활성화 합니다. 따라서 새 프로파일 설정의 소스는 다음과 같습니다:

"미리 연결한" 패키지를 사용한다면 강화 프로파일과 호환되지 않으므로 제거하십시오:

이제 새로 강화한 툴체인으로 모든 패키지를 다시 설치할 수 있습니다:

강화 커널 소스를 설치하여, 커널이 강화된 방식(특히 PaX를 사용하여)으로 *실행중인 시스템을 관리*하도록 할 수 있습니다:

이제 이제 소스를 설정하고 컴파일 한 다음 부트 관리자(예: GRUB)에 새 커널을 추가하십시오.

강화 젠투/Grsecurity chroot
CONFIG_GRKERNSEC_CHROOT를 활성화 한 복사 환경에 chroot를 적용하려 한다면 cd grub을 사용하고 root(cd) kernel(cd) initr(cd) 설정을 (cd)에서 (hdx,y)로 바꾸어야 합니다.

이제 grub 환경을 설치할 수 있습니다.

패키지당 강화 설정
Changing the GCC profile to deal with specific packages can be a pain. A way to avoid this is to set per-package C(XX)FLAGS using package.env. Create the file and add to that:

PIE를 비활성화 하려면, 를 만들고 여기에 내용을 추가하십시오:

Finally add the package you want to disable either PIE or SSP for to and the relevant, for this example  is used here:

추가 참조
For more information, check out the following resources:
 * Gentoo Hardened Project
 * Gentoo Hardened SELinux Project
 * Project:Hardened/Grsecurity2_Quickstart
 * Project:Hardened/PaX_Quickstart

외부 자료

 * http://www.rockfloat.com/howto/gentoo-hardened.html#kernel