반응형
-
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
반응형
'Programming > Bash Shell Script' 카테고리의 다른 글
[Bash Shell Script] 쉘 스크립트 2진수 계산 구현 예제 (if문을 이용한 비트 OR 연산자 구현) (0) | 2020.07.03 |
---|---|
[Bash Shell Script] 쉘 스크립트 df -h 명령어 특정 사용률 이상 디렉토리 가져오기 (0) | 2020.06.25 |
[Bash Shell Script] zabbix-agent, modsecurity, rsyslog 자동 설치/설정 쉘 스크립트 (1) | 2020.06.08 |
[Bash Shell Script] 쉘 스크립트 일부 문자열 비교하기 (0) | 2020.06.01 |
[Bash Shell Script] zabbix-agent 자동 설치 쉘 스크립트 (0) | 2020.05.28 |