728x90
톰캣의 버전을 숨기는 이유는 대표적인 보안 취약점으로 안전한 서비스 운영을 위해서 방지가 필요합니다.
특정 URL의 헤더 정보 보기
아래 정보를 보면 제가 이전에 NGINX-PHP를 연동해두었던 웹서버로 헤더값을 조회하였습니다.
이렇게 웹서버에 NGINX의 버전을 몇버전을 사용하고 있는지 그리고 그 다음 서버로 프록시되는 PHP버전까지 나옵니다.
$ curl -v -I <AWS IP>
* Trying <AWS IP>:80...
* Connected to <AWS IP> (<AWS IP>) port 80
> HEAD / HTTP/1.1
> Host: <AWS IP>
> User-Agent: curl/8.6.0
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Server: nginx/1.26.1
Server: nginx/1.26.1
< Date: Fri, 28 Jun 2024 04:46:48 GMT
Date: Fri, 28 Jun 2024 04:46:48 GMT
< Content-Type: text/html
Content-Type: text/html
< Connection: keep-alive
Connection: keep-alive
< X-Powered-By: PHP/5.5.38
X-Powered-By: PHP/5.5.38
<
* Connection #0 to host <AWS IP> left intact
Apache 버전 정보 숨기기
아래와 같이 두줄을 추가합니다. 어디에 넣어도 상관없습니다.
$ vi <apache경로>/conf/httpd.conf
ServerTokens Prod
ServerSignature Off
Nginx 버전 정보 숨기기
# nginx 설치된 경로에 있는 설정 파일 수정
$ vi <nginx경로>/conf/nginx.conf
...
http {
server_tokens off;
...
..
}
PHP 버전 정보 숨기기
$ vi <php config 경로>/php.ini
# Off로 변경
expose_php = off
Tomcat 버전 정보 숨기기 방법 1
$ vi <tomcat경로>/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
# 내용 추가
Server="Apache" />
Tomcat 버전 정보 숨기기 방법 2
tomcat의 경우 에러가 발생하면 에러페이지를 별도로 커스텀하여 리다이렉트하지않는이상 에러페이지에 버전이 노출됩니다.
# 톰캣이 설치된 경로로 이동합니다.
$ cd <tomcat설치경로>/lib
$ jar xvf catalina.jar
# 풀린 jar파일 안에 내용 수정
$ vi org/apache/catalina/util/ServerInfo.properties
server.info=MyWAS
server.number=MyWAS
server.built=Oct 18 2013 01:07:38
Jar 다시 압축하기
저렇게 풀어놓고 그대로 남기면 보기안좋아서 다시 묶는 방법을 작성합니다.
# catalina.jar 가 있는 곳으로 이동
$ mv catalina.jar catalina.jar_Org_backup
$ jar cvf catalina.jar org
728x90
'Linux' 카테고리의 다른 글
[Nginx] Nginx에서 upstream을 이용해 부하 분산 하기 (0) | 2024.07.17 |
---|---|
[Jenkins] Gradle 버전 신규 추가 방법 (0) | 2024.07.16 |
[Server] Apache Permission denied 에러 (0) | 2024.06.28 |
[Server] Find Commend에서 -exec 활용 하기 (0) | 2024.06.28 |
[Server] tar를 이용하여 원하는 파일만 압축 해제 방법 (0) | 2024.06.28 |