Ddos

按國家/地區劃分的 Windows 和 Apache 阻止 IP

  • August 31, 2017

我有 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

當然編輯兩個腳本並輸入正確的值。

引用自:https://serverfault.com/questions/871533