본문 바로가기
서버

[아파치] Response Header에서 Server 노출 해결방안

by snow_hong 2024. 1. 17.

 

Apache Tomcat(이하 톰캣)8 버전 이하에서는 응답 헤더(Resposne Header)에 Server값을 노출한다.

톰캣은 기본적으로 Apache-Coyote라는 값이 쓰여져 있어 공격자는 해당 취약점을 악용할 수 있다.

Response Header에서 Server 노출을 방지하려고 한다.

 

톰캣8.5 버전부터는 해당 설정을 보여주지 않으므로 수정할 필요는 없다.

 

1. Tomcat의 server.xml을 수정

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               server="-"/>

<connector> 태그를 찾아야 한다. 2개를 찾을 수 있는데 port 속성값이 명시되어 있는 <connector> 태그에다가 server 속성과 임의의 값을 추가한다. ( server="-"

저장 후 서버를 재실행한다.

윈도우에 톰캣 서버를 설치하여 사용하는 경우에도 홈 디렉토리에서 conf 의 server.xml 동일하게 수정하면 된다.

 

Server : - 로 변경된 걸 확인할 수 있다.

 

2. Apache의 httpd.conf를 수정

$ find / -name httpd.conf

 

 

서버에서 httpd.conf 파일 찾기

 

ServerTokens Prod
ServerSignature Off

 

해당 httpd.conf 파일을 열어서 ServerTokensServerSignature 설정을 아무곳에나 넣어두면 된다.

주의할 점 -  httpd.conf 내에 httpd-default.conf가 있는지 확인하기

httpd-default.conf 있을 경우, ServerTokens  ServerSignature 설정은 해당 httpd-default.conf 에 설정하기

 

 

ServerTokens 뒤에 있는 Prod는 등급으로 총 6가지이다.

 

ServerSignature On/Off 있는데 브라우저상에서 아파치 서버 정보를 노출한다/안한다를 결정한다

 

 

# 중지
$ systemctl stop httpd

# 시작
$ systemctl start httpd

# 재실행
$ systemctl restart httpd

httpd.conf 혹은 httpd-default.conf에 추가한 후 아파치를 재기동한다

 

 

나의 경우는 1번은 로컬에서 잘되었지만 서버단에서 잘 되지않아 2번으로 문제를 해결하였지만, 웹서버의 이름(Apache)조차 노출 제거가 원칙이라 추가로 mod_security 설치 및 설정을 하였다.

 

https://hong42.tistory.com/152

 

[아파치] mod_security 설치하여 서버정보 제거방법

Apache Tomcat(이하 톰캣)8 버전 이하에서는 응답 헤더(Resposne Header)에 Server값을 노출하는 보안취약점이 있다. ※ 톰캣8.5 버전부터는 해당 설정을 보여주지 않으므로 수정할 필요 없음 https://hong42.tist

hong42.tistory.com

모듈 설치 및 설정은 해당 url주소에 상세히 작성하였으니 참고하세요.

 

728x90

댓글