아파치와 PHP 버전 정보 숨기기 - 프록시도구에의한 패킷정보 누출 방지
페이지 정보
본문
보안은, 공격자에게 유용한 정보를 차단하는 것부터 시작합니다. 시스템을 공격하려고 하는 공격자는, 먼저 그 시스템이 어떤 OS와 어플리케이션을 쓰고 있는지그리고 그 버전은 어떻게 되는지에 대한 정보부터 수집하게 마련입니다. 소위 '해커들의 언더그라운드'에서는 각 OS의 커널 및 어플리케이션의 버전에 따른 취약점이공유되게 마련입니다. 따라서 어플리케이션을 어떤 것을 쓰는지, 버전은 어떻게 되는지 등의정보는 크래커들에게 아주 유용한 정보가 될 수 있으므로 반드시 차단해야 합니다. 그러면, 버전 정보를 그냥 냅뒀을 경우 어떤 상황이 발생하는지를 예를 들겠습니다.아래 표처럼, 포트 스캐너를 돌리면 그 시스템에 대한 매우 자세한 정보가 노출됩니다. 80World Wide Web HTTP
HTTP/1.1 200 OK Date: Fri, 29 Sep 2006 16:12:15 GMT Server: Apache/1.3.37 (Unix) PHP/4.4.4 X-Powered-By: PHP/4.4.4 Set-Cookie: PHPSESSID=f5bbd59d436d7c79a62a90e174d33f3c; path=/ Expires: Mon, 26 Jul 1997 05:00:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache cache-contril: no-cache,must-revalidate,max-age=0 Last-Modified: Wed 29 Jun 2005 07:42:36 GMT ETag: "Wed 29 Jun 2005 07:42:36" Connection: close Content-Type: text/html; charset=euc-kr이 글에서는 아파치와 PHP의 버전 정보를 숨기는 법에 대해 다루겠습니다. 1. 아파치 버전 정보 숨기기 아파치의 경우 httpd.conf 파일에 ServerTokens 라는 옵션이 있습니다.만약 httpd.conf 에 ServerTokens 옵션이 없을 경우에는 추가해 주면 됩니다. 이 옵션의 문법은 다음과 같습니다. ServerTokens Prod[uctOnly] ([] 안은 생략 가능함) 이 문법에서 사용할 수 있는 옵션은 다음과 같습니다. ServerTokens Prod[uctOnly] : Apache 라는 것만 보여줌 ServerTokens Min[imal] : Apache 버전만 보여줌 ServerTokens OS : 아파치 버전과 운영체제를 보여줌 ServerTokens Full (또는 지시하지 않았을 때) : 모두 보여줌 ServerTokens 옵션은 아파치 버전 1.3 이후에서 사용할수 있으며, ProductOnly 키워드는 아파치 버전 1.3.12 이후에 추가되었습니다. 원하는 옵션을 입력한 후 저장합니다. 2. PHP 버전 정보 숨기기 PHP 버전 정보를 숨기려면 php.ini 파일을 열고 아래 옵션을 찾아 바꾸어 주면 됩니다.디폴트 값은 아래와 같이 설정되어 있습니다. expose_php = On 여기서 On을 Off로 바꿔 저장한 후 아파치 데몬을 재시작합니다.그러면, 결과를 확인해 보도록 하겠습니다. 3. 결과 80World Wide Web HTTP
HTTP/1.1 200 OK Date: Fri, 29 Sep 2006 16:44:12 GMT Server: Apache Set-Cookie: PHPSESSID=70fe38030c4f8a4897941882b764f46e; path=/ Expires: Mon, 26 Jul 1997 05:00:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache cache-contril: no-cache,must-revalidate,max-age=0 Last-Modified: Wed 29 Jun 2005 07:42:36 GMT ETag: "Wed 29 Jun 2005 07:42:36" Connection: close Content-Type: text/html; charset=euc-kr이처럼, 웹 서버의 종류가 아파치라는 것까지만 나올 뿐, 아파치와 PHP 버전은 표시되지 않는 것을 확인할 수 있습니다. 출처 : http://cafe.naver.com/linuxcare/10046
관련링크
댓글목록
등록된 댓글이 없습니다.