과도하게 자주 접속하는 아이피 찾아내어 막기

By | 2022-04-14

access_log를 보면 웹서버에 자주 + 빠르게 재접속하는 아이피들이 있는데, 이걸 자동으로 찾아주는 명령이 있었다.

Deny Connections From Bots/Attackers Using Apache

cd /opt/bitnami/apache2/logs/
tail -n 10000 access_log | awk '{print $1}'| sort| uniq -c| sort -nr| head -n 10

-n 10000은 access_log의 마지막 10000줄에서 찾으라는 이야기이므로 accrss_log의 줄 길이에 따라 적당히 늘려주면 된다.

wc -l accress_log 로 해당 파일의 라인 수를 알 수 있다.

맨 뒤 head -n 10 은 가장 잦은 접근을 한 상위 10개를 뽑아 오는 것이니 이 또한 적당한 숫자를 지정한다.

실제로 뽑아내보니 상위 10개라 하더라도 전체를 차단해서는 안되었다. 1~6위까지는 어뷰징 아이피들이 맞았으나 7~10위는 검색엔진의 봇 이었기 때문이다. 상위 20개정도씩 찾아서 조회해봐야할텐데. 일괄적으로 IP목록 넣으면 어뷰징 아이피와 봇 아이피를 선별해주는 서비스가 있으면 좋겠다.