Apache 웹서버를 운영하다 보면, 없는 페이지가 지속적으로 호출이 되는 경우가 있다.
정상적인 호출 중간에 한번씩 진짜로 코딩 오류 등으로 없는 페이지가 요청이 되는 것은 별 문제는 없다.
하지만, 악성코드나 DOS 공격 등으로 인해 악의적인 호출이 계속 된다면 문제가 있는 것이다.
없는 페이지의 요청이 들어오면, 아파치는 기본적인 404 메시지 페이지를 보낸다.
물론, 기본 404 페이지는 웹서버 버전 등의 정보를 보내기 때문에, 보안에 문제가 될 수도 있다.
이때문에, 구글처럼 위와 같이 커스터마이징 된 페이지를 보내기도 하는데, 별다른 설정이 없으면, 아래와 같은 기본 페이지를 보낸다.
근데 이 페이지가 아파치 서버에서 만들어져서 클라이언트에 보내지는 페이지이기 때문에, 이것 또한, 많진 않지만 트래픽이 발생한다.
아파치 access_log 를 보면 아래와 같이 쌓인다.
xxx.xxx.xxx.xxx - - [날짜 시간] "GET /testpage HTTP/1.1" 404 295
없는 페이지(404) 이지만 295 만큼의 트래픽이 발생한 것이다.
여기서 문제가 발생할 수 있다.
위에서 예를 든 바와 같이 도스 공격이나 악성코드 등으로 없는 페이지가 지속적으로 호출 되는 경우, 트래픽이 과도하게 발생할 수 있다. 실제 그랬다.
큰 업체의 경우는 별 문제가 되지 않을 수 있으나, 작은 규모의 서버를 운영하는 입장에서는, 트래픽은 곧 돈 이기 때문에 한푼이라도 아껴야 한다. ㅎㅎ
404 페이지의 트래픽을 0 로 만들어 버리자.. ^^
아파치 설정파일 httpd.conf 에서 404 페이지 설정을 찾아서 blank.html 로 연결시키자.
blank.html 페이지는 기본적으로 없으므로, 특정 위치에 새로 생성한다.
ErrorDocument 404 /ServerError/blank.html
이제 access_log 를 살펴 보자
xxx.xxx.xxx.xxx - - [날짜 시간] "GET /testpage HTTP/1.1" 404 0
맨 마지막에 트래픽이 0 가 되었음을 볼 수 있다. ^^
티끌모아 태산이라 했던가?