nginx 로 그 를 걸 러 내 고 방화벽 을 추가 하여 centos 7 에 접근 하지 않 습 니 다.

862 단어 nginx로그여과
\ # / bin / bash \ # 로그 파일 logfile = '/ var / log / nginx / access. log'
hours=1
\ # 시작 시간 starttime= date -d "-$hours hour" +"%H:%M:%S" #echo $start_time
\ # 종료 시간 stoptime= date +"%H:%M:%S"
#echo $stop_time \ # 단위 간 로 그 를 걸 러 내 고 최고 ip 수 array = ($(tac $logfile | awk - v st = "$start time" - v et = "$stop time" '{t = substr ($4, RSTART + 14, 21); if (t > = st & t < = et) {print $0}' \ | awk '{print $1}' | sort | uniq - c | sort - nr | awk '{if ($1 > 5000) {print $0}}' | awk '{print $2})
wait
for each in ${array[@]}do
echo $each
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='$each' reject"

done
firewall-cmd --reload

좋은 웹페이지 즐겨찾기