어뷰징에는 404, 444중 어떤 응답을 해야할까?(+NGINX Bad Bot Blokcer)

Alex·2025년 2월 10일
0

Plaything

목록 보기
102/118

What is 444 Status Error Code?
The 444 error code is unique to Nginx, which is a program some websites use to run their servers. Unlike other common error codes, 444 doesn’t show up in your browser. Instead, when a website uses this code, it's like the server closes the door quietly without sending any message back to your computer.

444에러는 엔진엑스에서만 있는 상태 코드로, 444응답이 브라우저에 나타나지는 않는다. 서버는 어떠한 응답도 보내지 않고 문을 닫는 방식이다.

이 응답코드는 주로 bad, harmful 요청에 대응할 때 사용한다.
누군가 해킹을 하려고 하거나, 스팸을 보낼 때 웹사이트는 444로 응답해 요청을 멈추게 할 수 있다.

이를 통해서 해커가 자신들이 blocked됐다는 걸 알지 못하게 하면서, 공격에 대응할 수 있다고 한다.

다른 상태코드와 다르게, 클라이언트에게 어떠한 정보를 주지 않는다는 것이 다른 상태코드와의 차이점이다.

서버의 상태나 요청이 중단된 이유를 알려주지 않아서 보안적으로 더 안전하다고 할 수 있다.

444 상태코드는 보안 목적으로만 사용하는 게 좋다.

지금 이런 식으로 계속 401이 들어가는 것도 어쨌든 nginx를 거쳐서 스프링 서버에서 요청을 처리해야 한다. 401 응답을 내리기 위해서 로직을 처리하고, 응답을 만들어서 내리는 과정이 필요하다.

불필요한 부하가 생기는 셈이다. 444응답을 내리면 이러한 과정이 불필요하고, 네트워크를 타고 응답이 가지도 않아서 트래픽 부하가 덜할 것으로 보인다.

좀더 효율적으로 Bad Bot을 처리하기 위해서 Nginx Bad Bot Blokcer를 사용해서 배드봇을 좀더 확실하게 처리하려고 했다.

하지만, 기존 NGINX 설정과 충돌하는 탓에 대신에 Bad Bot Blocker에 있는

이 자료를 활용하기로 했다.


이렇게 user agent가 bad bot인 목록들이 있고


fake googlebot들 ip도 있다.

이 내용을 복사해서 nginx 설정파일에 활용했다.

map에 넣어놓고

if절로 걸러내고 있다.
이미 이렇게 하고 있었는데, Bad Blocker를 추가해서 좀더 많은 배드봇과 ip 주소를 저장할 수 있었다.

참고자료

444 Connection Closed Without Response

profile
답을 찾기 위해서 노력하는 사람

0개의 댓글