nginx 로그 차단 공격 자 ip 분석
우선, nginx 의 설치 디 렉 터 리 아래 에 새 차단 ip 파일 을 만 듭 니 다. Blockip. conf 라 고 명명 되 었 습 니 다. 나중에 차단 ip 을 새로 추가 하려 면 이 파일 만 편집 하면 됩 니 다. 형식 은 다음 과 같 습 니 다.
deny 165.91.122.67;
nginx 설정 파일 nginx. conf 에 include website / blockip. conf 를 추가 합 니 다.
다음은 제 스 크 립 트 checklog.sh
#! /bin/bash
log_nginx="/var/log/nginx"
blockfile="/usr/local/nginx/conf/website"
# ip ip.txt,
grep "app/user/getCode" $log_nginx/access.log | awk '{print $1}' | sort -rn |uniq -c |awk '{print $2}' > /home/shell/ip.txt
for ip in `cat /home/shell/ip.txt`
do
result=$(grep $ip $blockfile/blockip.conf)
# ip
if [ -z "$result" ]; then
# ip
count=$(grep $ip $log_nginx/access.log|grep "app/user/getCode"|wc -l)
# 20
if [ $count -ge 20 ]; then
echo "deny $ip;" >> $blockfile/blockip.conf
fi
fi
done
# nginx
/usr/local/nginx/sbin/nginx -s reload
로그 분할 을 했 기 때문에 저 에 게 access. log 는 모두 당일 로그 입 니 다. 그렇지 않 으 면 전체 로 그 를 분석 하 는 것 이 시스템 자원 을 소모 하 는 것 (로그 가 큰 경우) 에 비해 좋 지 않 습 니 다.
분석 차단 자동 화 를 실현 하기 위해 서 여기에 계획 임 무 를 쓰 세 요.
*/15 * * * * /home/shell/check_log.sh 15 분 마다 분석
0 0 */3 * * cat /dev/null > /usr/local/nginx/conf/website/blockip.conf 3 일 마다 차단 한 IP 를 모두 실행 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.