5.5. Apache HTTP 서버 보안 강화

Apache HTTP 서버는 Red Hat Enterprise Linux에 포함된 서비스 중 가장 안정적이고 안전한 서비스 중 하나입니다. Apache HTTP 서버 보안을 강화하기 위해 사용 가능한 매우 다양한 옵션과 기술이 존재하지만 이 메뉴얼에서 깊게 다루기에는 너무 광범위합니다.

Apache HTTP 서버를 설정시 응용 프로그램의 문서 자료를 먼저 읽어보시기 바랍니다. Red Hat Enterprise Linux 참조 가이드Apache HTTP 서버 장과 Red Hat Enterprise Linux 시스템 관리 가이드Apache HTTP 서버 설정 장, 그리고 http://www.redhat.com/docs/manuals/stronghold/에서 Stronghold 메뉴얼을 읽어보십시오.

다음은 관리자가 사용시 신중을 기해야할 설정 옵션 목록입니다.

5.5.1. FollowSymLinks

이 지시자는 기본값으로 활성화되어 있습니다. 따라서 웹 서버의 문서 루트로 심볼릭 링크를 생성하실 때는 주의하시기 바랍니다. 예를 들어 /로 심볼릭 링크를 제공하는 것은 좋은 생각이 아닙니다.

5.5.2. Indexes 지시자

이 지시자는 기본 값으로 활성화되어 있지만, 그리 바람직하지 않습니다. 침입자가 서버에서 파일을 검색하는 것을 방지하기 위해 이 지시자를 삭제하시기 바랍니다.

5.5.3. UserDir 지시자

UserDir 지시자는 침입자가 시스템 상에 사용자 계정이 존재하는지 확인할 수 있기 때문에 비활성화되도록 기본 설정되어 있습니다. 서버에서 사용자 디렉토리 검색 기능을 활성화하시려면 다음 지시자를 사용하시기 바랍니다:

UserDir enabled 
UserDir disabled root

이 지시자는 사용자 디렉토리 검색 기능을 /root/를 제외한 모든 사용자 디렉토리에서 활성화할 것입니다. 비활성 계정 목록에 사용자를 추가하시려면 UserDir disabled 줄에 사용자 이름을 빈칸으로 구분하여 추가하십시오.

5.5.4. IncludesNoExec 지시자를 삭제하지 마십시오

서버에서는 명령을 실행하지 못하도록 기본 설정되어 있습니다. 만일 절대적으로 필요한 경우가 아니라면 이 설정을 변경하지 마십시오. 이 설정을 변경하시면 침입자가 시스템에서 명령을 실행할 위험이 높아집니다.

5.5.5. 실행 가능 디렉토리의 허가 제한하기

스크립트나 CGI를 포함한 디렉토리에는 루트 사용자에게만 쓰기 허가를 부여하셔야 합니다. 다음 명령을 입력하시기 바랍니다:

chown root <directory_name>
chmod 755 <directory_name>

또한 시스템 상에서 실행될 스크립트는 의도하는 대로 작동하는지 미리 확인하신 후 생산 환경에서 사용하셔야 합니다.