본문 바로가기
소프트웨어 사용&설치 등/Apache (httpd)

[아파치 Apache] 헤더정보 server apache 를 없애기

by 언제나초심. 2016. 2. 14.
반응형

개요

Apache 를 이용하면, Request 쪽을 살펴봤을 때 헤더 정보에 server 가 어떤 것인지 정보가 적혀 있습니다. 이것을 없애고 싶어서 거의 하루종일 찾아보고 내린 결론입니다. 



본문

c 소스를 어찌어찌해서 가져오거나, 또는 컴파일 시키는 방법이 있습니다. 이 방법은 검색하다보면 나옵니다. 



그러나, 제가 말할 것은 이 방법이 아니고 다른 방법입니다. 



httpd.conf 에서 다음과 같은 설정을 추가해주는 방법입니다. 


<IfModule security2_module>
SecRuleEngine on
ServerTokens Minimal
SecServerSignature "myServer"
</IfModule>



쉽게 예상할 수 있듯이, 좀더 위쪽에서 다음과 같은 부분을 주석해제 하여야 합니다


LoadModule security2_module modules/mod_security2.so


ifModule 이라는 것은, 이 모듈이 동작할 만한 환경일 때에, 안의 블럭이 동작된다는 뜻입니다. 혹시 모르니 만약을 대비해서 저렇게 해두는게 좋습니다. 



결론적으로 말하자면, security_module 을 사용해서, Server의 헤더값을 변경하는 것입니다. 


myServer 라고 적어둔 값을 변경하시면 됩니다. 



올리려는 것을 고민했었는데. 

위의 설정 값에서, ServerTokens 가 문제가 되기 때문입니다. 


보통은  ServerTokens 값을 Prod 로 설정을 해놓습니다. 

문제는, 사용하려는 구문에서는. ServerTokens 를 Prod 로 했을 시에. 추가하기전과 마찬가지로 'Server Apache' 라는 값이 나온다는 점입니다. 

그래서, 해외의 글들을 검색한 결과로는 'Full' 로 지정하는 글이 있었습니다만은.

저의 경우는, 테스트를 해보니 Minimal 인 경우에도 원하는대로 표출이 되서, Minimal 로 설정했습니다. 







ServerTokens 설정

참고하시는데 도움이 되게끔, ServerTokens 설정에 대해서 첨부합니다.

  출처 : http://httpd.apache.org/docs/2.2/mod/core.html#servertokens



ServerTokens Prod[uctOnly]

Server sends (e.g.): Server: Apache


ServerTokens Major

Server sends (e.g.): Server: Apache/2


ServerTokens Minor

Server sends (e.g.): Server: Apache/2.0


ServerTokens Min[imal]

Server sends (e.g.): Server: Apache/2.0.41


ServerTokens OS

Server sends (e.g.): Server: Apache/2.0.41 (Unix)


ServerTokens Full (or not specified)

Server sends (e.g.): Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2





반응형