Você precisa do equivalente a isso na sua distro:
$ apt-cache show xtables-addons-common Package: xtables-addons-common Description-en: Extensions targets and matches for iptables [tools, libs] Xtables-addons provides extra modules for iptables not present in the kernel, and is the successor of patch-o-matic. Extensions includes new targets like TEE, TARPIT, CHAOS, or modules like geoip and account.
Você está interessado no módulo geoip
.
Em seguida, adicione algumas regras ao seu iptables
.
Verifique o quarto ponto no HOWTO.
Um simples passo a passo pelas regras de exemplo:
# iptables -A INPUT -m geoip --src-cc A1,A2 -j DROP
O comando acima adiciona uma regra na cadeia INPUT
que usa o módulo geoip
para corresponder conexões originárias de um país específico, identificadas por seu código ISO 3661 . Nesse caso, A1 e A2 representam:
A1 => "Anonymous Proxy" ,
A2 => "Satellite Provider" ,
Este comando usa a negação ( !
) para inverter a correspondência, resultando em todo o tráfego não originário do país especificado (CA, neste caso) sendo descartado:
# iptables -A INPUT -m geoip ! --src-cc CA -j DROP
O último exemplo mostra como criar uma cadeia personalizada para analisar o tráfego para o seu sshd
server:
# iptables -N SSH_GEOIP
# iptables -A SSH_GEOIP -m geoip --src-cc CA
# iptables -A SSH_GEOIP -m geoip --src-cc DE
# iptables -A SSH_GEOIP -m geoip --src-cc US
# iptables -A SSH_GEOIP -m geoip --src-cc JP
# iptables -A SSH_GEOIP -m geoip --src-cc FR
# iptables -A SSH_GEOIP -m geoip ! --src-cc CA,DE,US,JP,FR
# iptables -A INPUT -p tcp --dport 22 -j SSH_GEOIP