1. Apache 디렉토리 리스팅 제거
디렉토리 리스팅 기능 설정 시 외부사용자에게 디렉토리의 모든 파일을 노출되게 된다.
즉 해당 디렉토리 구조 및 파일정보까지 보여지기 때문에 해커들에게 중요 설정 정보들이 공개되는 것이다.
한국인터넷진흥원 안전 운영대책에도 올라와 있을 정도로 가장 기본적이면서, 중요한 설정이라 할 수 있다.
조치 방법
Apache conf 디렉토리로 이동하면, httpd.conf 웹서버 환경파일이 존재한다.
<Directory "DocumentRoot"> Options 항목에 Indexes를 제거하면 된다.
Ex)
<Directory "/home/apache/test">
Options Indexes
</Directory>
2. Apache 불필요한 파일 제거
Apache 설치 시 디폴트로 매뉴얼과 디폴트 정보 파일들이 설치가 된다
설치된 해당 파일들은 버전정보랑 각종 유용한 정보들이 포함되어 있기 때문에 외부 시스템으로부터 정보들을 노출될 수 있다.
조치 방법
Apache 기본 디렉토리로 이동하면, cgi-bin 디렉토리가 보일 것이다.
cgi-bin디렉토리 안에 모든 파일들을 제거 해줌으로써 해킹으로부터 안전해질 수 있다.
Ex)
/home/apache/cgi-bin
Dec 11 2004 test-cgi Dec 11 2004 printenv Oct 14 2013 . Oct 21 2013 .. |
3. Apache 심볼릭 링크 사용금지
유닉스/리눅스 계열은 심볼릭링크를 사용하여, 다른 위치에 있는 디렉토리 접근이 가능하도록 지원한다.
Apache에서 링크 설정 시 설정한 디렉토리 외에 타디렉토리에 접근하여 엑세스 할 수 있는 위험성이 발생될 수 있다
그러므로 업무서비스에 영향도가 없는지 파악 후 해당 옵션을 제거해야 한다.
조치 방법
Apache conf 디렉토리로 이동하면, httpd.conf 웹서버 환경파일이 존재한다.
<Directory "DocumentRoot"> Options 항목에 followSymLinks를 제거하면 된다.
Ex)
<Directory "/home/apache/test">
Options followSymLinks
</Directory>
4. Apache SSI 실행 권한 사용금지
Apache에서 SSI는 잠재적인 보안 위험을 갔고 있는데 대표적인게 exec cmd이다.
해당 옵션이 설정되어 있다면 Apache 사용자 및 그룹권한으로 CGI스크립트나 프로그램들을 실행할 수 있다.
악성스크립트가 숨겨져 있다면, Apache 사용자 권한으로 악성프로그램을 구동할 수 있게 된다.
조치방법
Apache conf 디렉토리로 이동하면, httpd.conf 웹서버 환경파일이 존재한다.
<Directory /> Options 항목에 Includes 를 제거하거나 IncludesNoExec를 포함시킨다.
Ex)
<Directory />
Options Includes
</Directory>
Tip 최적의 보안설정 방법 Indexes, followSymLinks, Includes, MultiViews를 삭제하고 IncludesNoExec만 추가한다.
5. Apache Method 제한
Apache 웹서버는 다양한 method를 제공하는데 불필요한 method를 제한을 걸고 사용할 method만 제공하는게 좋다.
Method 종류 : GET POST OPTIONS HEAD PUT DELETE TRACE
조치방법
Apache conf 디렉토리로 이동하면, httpd.conf 웹서버 환경파일이 존재한다.
아래 내용을 추가 입력하면 된다.
Ex)
<Directory />
<LimitExcept GET POST>
Order allow,deny
deny from all
</LimitExcept>
</Directory>
6. Apache 에러 페이지 등록
Apache 웹 서버에 잘못된 정보나 주소를 전달하면, 에러 메시지가 사용자 브라우저에 웹서버에 중요한 정보들이 출력되게 된다. 공격자가 고의적으로 에러메시지를 발생시켜 서버정보를 획득할 수 있기 때문에 반드시 에러페이지 출력이 가능하도록 설정을 해야 한다.
조치방법
Apache conf 디렉토리로 이동하면, httpd.conf 웹서버 환경파일이 존재한다.
에러페이지로 출력할 html 작성 및 환경설정에 추가 해주면 된다.
Ex)
ErrorDocument 403 /test/403.html
ErrorDocument 404 /test/404.html
ErrorDocument 500 /test/405.html
by 차규철
'1. 미들웨어이야기 > 02. Apache' 카테고리의 다른 글
Apache log 날짜 및 시간변경 (0) | 2014.06.30 |
---|---|
Apache favicon.ico 삭제 방법 (0) | 2014.06.22 |
Apache설치 (0) | 2014.05.07 |
Apache ssl 사설인증서 설치 방법 (0) | 2014.04.30 |
OpenSSL 취약점 (0) | 2014.04.23 |