Development/Bash Shell Script
[Bash Shell Script] Apache ModSecurity audit Log 확인 스크립트 (IP 순위, 국가 순위, GET 순위, POST 순위, Requesy Body 순위)
KoreaNirsa
2020. 6. 24. 11:34
반응형
-
Apache ModSecurity audit Log 확인 스크립트
modsec_audit.log 경로만 변경해서 사용 하시면 됩니다.
#!/bin/bash
echo "***********************************"
echo "* 1. IP 요청 순위(TOP 10) *"
echo "* 2. 국가 요청 순위(TOP 10) *"
echo "* 3. GET 요청 순위(TOP 10) *"
echo "* 4. POST 요청 순위(TOP 10) *"
echo "* 5. Request BODY 순위(TOP 10) *"
echo "* 6. All Request BODY *"
echo "* 7. 프로그램 종료 *"
echo "***********************************"
echo -e " ==> 번호 입력: \c"
while read select
do
case $select in
1)
echo -e "\033[31m-----------------------IP 요청 순위(TOP 10)-----------------------\033[0m"
cat modsec_audit.log | grep X-Forwarded-For | sort | uniq -c | sort -nr | head -n 10
echo -e "\033[31m------------------------------------------------------------------\n\033[0m"
;;
2)
echo -e "\033[31m-----------------------국가 요청 순위(TOP 10)---------------------\033[0m"
cat modsec_audit.log | grep CF-IPCountry | sort | uniq -c | sort -nr | head -n 10
echo -e "\033[31m------------------------------------------------------------------\n\033[0m"
;;
3)
echo -e "\033[31m-----------------------GET 요청 순위(TOP 10)----------------------\033[0m"
cat modsec_audit.log | grep GET | sort | uniq -c | sort -nr | head -n 10
echo -e "\033[31m------------------------------------------------------------------\n\033[0m"
;;
4)
echo -e "\033[31m----------------------POST 요청 순위(TOP 10)----------------------\033[0m"
cat modsec_audit.log | grep POST | sort | uniq -c | sort -nr | head -n 10
echo -e "\033[31m------------------------------------------------------------------\n\033[0m"
;;
5)
echo -e "\033[31m---------------------Request BODY 순위(TOP 10)--------------------\033[0m"
#cat modsec_audit.log | grep -A1 "\-C--" | grep -v "\-C--" | grep -v "\-\-"
cat modsec_audit.log | grep -A1 "\-C--" | grep -v "\-\-" | sort | uniq -c | sort -nr | head -n 10
echo -e "\033[31m------------------------------------------------------------------\n\033[0m"
;;
6)
echo -e "\033[31m-------------------------All Request BODY-------------------------\033[0m"
#cat modsec_audit.log | grep -A1 "\-C--" | grep -v "\-C--" | grep -v "\-\-"
cat modsec_audit.log | grep -A1 "\-C--" | more
echo -e "\033[31m------------------------------------------------------------------\n\033[0m"
;;
7)
exit;;
*)
echo -e "\033[31m------------------------------------------------------------------\033[0m"
echo -e "\033[31m- 보기 숫자 중 하나를 선택 해주세요. -\033[0m"
echo -e "\033[31m------------------------------------------------------------------\n\033[0m"
;;
esac
echo "***********************************"
echo "* 1. IP 요청 순위(TOP 10) *"
echo "* 2. 국가 요청 순위(TOP 10) *"
echo "* 3. GET 요청 순위(TOP 10) *"
echo "* 4. POST 요청 순위(TOP 10) *"
echo "* 5. Request BODY 순위(TOP 10) *"
echo "* 6. All Request BODY *"
echo "* 7. 프로그램 종료 *"
echo "***********************************"
echo -e " ==> 번호 입력: \c"
done
반응형