반응형
Web Server를 운영하다보니, 해외에서 내 Web Server를 공격하는 시도가 많이 보인다.
그래서 이런 Web Server를 공격하는 Access를 몽땅 iptables 명령으로 drop(block)하는 스크립트를 만들었다.
아래와 같이 스크립트를 작성하고, 실행하면 이 시간 이후로 공격이 모두 차단된다.
## ## Block Some IP addresses ## #!/bin/bash LOG_FILE_NAME="/var/log/apache2/access.log" BLACK_LIST=$(awk '{ printf "%s\n", $1 }' $LOG_FILE_NAME | grep -v "192.168.0." | sort | uniq) for BLOCKING_IP in $BLACK_LIST do BLOCKING_CIDR="$BLOCKING_IP/16" echo "Blocking CIDR: $BLOCKING_CIDR" GEO_ADDRESS=$(whois $BLOCKING_IP | grep -i "address:") echo "$GEO_ADDRESS" echo "" iptables -A INPUT -s $BLOCKING_CIDR -p tcp --dport 80 -j DROP done iptables -L -n --line-numbers | grep "DROP" | awk '{ printf "%s\n", $5 }' | sort # iptables -D INPUT 1 # iptables -D INPUT 2 # ... ## ## If you would like to save the iptables rules, then run the following command. ## # service iptables save
만약, 위와 같이 수행했다가 다시 Rule을 지우고 싶다면, 아래와 같이 스크립트를 작성해서 실행한다.
## ## Remove rules of IP tables ## #!/bin/bash REMOVE_IP_LIST=$(iptables -L -n | grep "DROP" | awk '{ printf "%s\n", $4 }' | sort) for REMOVE_IP in $REMOVE_IP_LIST do echo "IP Address to be removed: $REMOVE_IP" iptables -D INPUT -s $REMOVE_IP -j DROP done
'Raspberry Pi' 카테고리의 다른 글
[ Raspberry Pi, 라즈베리 파이 ] VNC Server, Client(Viewer) 설치 (0) | 2023.12.22 |
---|---|
[ Raspberry Pi, 라즈베리 파이 ] 마우스 스크롤 방향 바꾸기 (Natural Scroll) (0) | 2023.12.20 |
[ Raspberry Pi 5 ] CPU 온도 및 Cooling Fan Speed 확인 + 제어 (0) | 2023.12.14 |
MPEG을 WEBM으로 변환 (0) | 2021.07.11 |
[ Raspberry Pi ] Wi-Fi AP 만들기 (라즈베리 파이, 무선 공유기 만들기) (0) | 2021.07.10 |