이번엔 http code가 노출된다는 취약점 결과가 날라왔다.
이전에 http code노출 막는 포스팅을 한 적이 있는데, 이와 다른 경우가 발생하였다.
2022.12.08 - [개발/취약점] - http 400 505 error code 노출 막기
1. web.xml에 error code별 html을 설정해줘도 안되서
2. server.xml설정을 해준 바 있다.(톰캣 8.5.82를 사용하고 있음)
분명히 http code와 tomcat 정보가 노출되지 않도록 설정을 했고 웹사이트에서 확인을 하였다.
(취약점을 내가 적용하기 전에 진단했나? 하며 확인해봤더니 날짜가 그렇지 않음을 확인... 주절주절)
curl --location --request GE@T 'https://url정보입력:포트'
터미널에서 이렇게 날려보니(GE@T :일부러 잘못된 요청을 해봄. 내가 위에 첨부한 이미지처럼 400이 발생하도록)
어? 그런데
취약점 보고서에 나온 내용대로 동일하게 위와 같이 오류가 나온다!
톰캣 access로그를 확인해보니 해당 요청(curl --location --request GE@T 'https://url정보입력:포트')에 대해선
로그가 안찍힌다. 들어오지 못하는걸까?
WAS로 가기전에 우리는 웹서버를 사용하지 않고 먼저, Haproxy에서 WAS로 로드밸런싱을 해준다.
Haproxy 설정에 대해서 찾아보니 HAProxy 구성 파일(haproxy.cfg)에 별도의 오류 페이지 설정이 없는 경우,
기본적으로 HAProxy는 내장된 오류 페이지를 사용한다고한다.
기본 오류 페이지에는 http code가 들어있기때문에, 각 코드별 파일을 아래와같이 수정하였다.
<html><body><h1>잘못된 접근입니다.</h1> Error Page </body></html>
또한, vi /etc/haproxy/haproxy.cfg 파일에서 443요청에 대해 아래와 같이 설정을 추가하였다.
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
혹시 error code별 http코드가 보이지 않는다면 find / -name *.http로 haproxy의 error code http를 찾아서 위의 디렉토리에 cp하자.
여기까지 끝났다면
systemctl restart haproxy 명령어를 날려주고
아까와 같이 curl 날려주면 아래와 같이 내가 만든 ERROR PAGE가 나오는 것을 확인할 수 있다.
우리는 apache를 별도로 web server를 사용하지 않고 haproxy를 사용하기에 이와같은 순서가 됬지만,
혹시 동일한 취약점의 경우인데 haproxy가 아니라면 사용하고있는 web server의 설정을 알아보고 설정하자.
'개발 > 리눅스' 카테고리의 다른 글
리눅스 su: 권한 부여 거부 해결방법 + 리눅스 계정 생성법 + root권한 부여법 (0) | 2023.06.22 |
---|---|
리눅스 마운트란? 윈도우 마운트와 다른점은? (0) | 2023.04.19 |
리눅스 FTP 접속 방법 & CMD창 FTP 접속 방법 (0) | 2022.11.15 |
리눅스 disk full이 참 (0) | 2022.10.07 |
리눅스 로그인 실패 이력 로그 보는방법/설정하는 방법 (0) | 2022.09.26 |