Ddos
按國家/地區劃分的 Windows 和 Apache 阻止 IP
我有 DDoS 攻擊和蠻力攻擊,我的客戶僅來自拉丁美洲國家,我沒有發現來自該國家的攻擊,所以我認為我的解決方案是找到一種方法來阻止除該國家/地區以外的所有國家/地區的 ip我的客戶,但我找不到任何正確的資訊,請幫助。
與其他人所說的不同,我有一些人問過同樣的問題。
您可以從http://www.ipdeny.com/ipblocks/獲取特定國家/地區的 IP 範圍
使用 Powerscript 根據下載的文件在 Windows 防火牆中自動創建防火牆規則。
可悲的是,我無法分享我使用的腳本。但是我發現一個部落格解釋了包含腳本的相同技術。https://www.gregsitservices.com/blog/2016/02/blocking-unwanted-countries-with-windows-firewall/
正如 eKKiM 所說,您可以使用http://www.ipdeny.com/ipblocks/作為國家區域的來源。您必須創建一個 shell 腳本來經常獲取您的區域並將其放在 crontab 中。就像是:
#!/bin/sh BGPEER_FILE="BGPEERING.IPs" BGPEER_URL="http://www.ipdeny.com/ipblocks/data/aggregated/br-aggregated.zone" PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin ### 下載 BG 對等 IP ### wget -T 10 -t 1 -nd -O "/etc/rc.d/firewall/$BGPEER_FILE.tmp" "$BGPEER_URL" >/dev/null 2>&1 如果 [ "x$?" != "x0" ]; 然後 rm "/etc/rc.d/firewall/$BGPEER_FILE.tmp" 退出 $? 是 egrep -v '^#' "/etc/rc.d/firewall/$BGPEER_FILE.tmp" > "/etc/rc.d/firewall/$BGPEER_FILE" rm "/etc/rc.d/firewall/$BGPEER_FILE.tmp" /etc/rc.d/rc.firewall
然後創建 iptables 規則以僅從您的國家/地區訪問。使用 iptable 要非常小心,我的防火牆腳本非常嚴格!
rc.firewall:
#!/bin/bash OutI="eth0" OutIP="192.168.0.150" iptables="/usr/sbin/iptables" 迴聲="/bin/echo" ma="/etc/rc.d/firewall/BGPEERING.IPs" 如果 [ -f $ma ] 然後 對於 `cat $ma` 中的 ip 做 $iptables -A INPUT -s $ip -d $OutIP -p tcp -j ACCEPT 完畢 是 ma2="/etc/rc.d/firewall/BGPEERING.IPs" 如果 [ -f $ma2 ] 然後 對於 `cat $ma2` 中的 ip 做 $iptables -A INPUT -s $ip -d $OutIP -p udp -j ACCEPT 完畢 是 # 丟棄所有其他傳入流量 $iptables -A INPUT -d $OutIP -p tcp -j DROP $iptables -A INPUT -d $OutIP -p udp -j DROP
當然編輯兩個腳本並輸入正確的值。