Como posso permitir conexões somente de certos nomes de host (os IPs podem mudar devido ao DNS dinâmico)?

0

Eu quero permitir conexões apenas de certos nomes de hosts em vez de por IP específico (os nomes de host são definidos pelo DNS dinâmico).

Por exemplo, home.no-ip.org, mobile.no-ip.org, etc.

Isso é possível com algo como ufw ou firewalld ? Se não, como pode ser uma solução - se algum script fizer um nslookup no nome do host a cada X com frequência, solte & amp; adicionar regras de firewall?

    
por warren 19.07.2017 / 14:15

1 resposta

1

Você pode fazer isso com tabelas ip.

Um conjunto de comandos será algo como isto

limpar correntes existentes

sudo iptables --flush
sudo iptables --delete-chain

permitir loopback

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

permitir todo o ICMP

sudo iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
sudo iptables -A OUTPUT -p icmp -j ACCEPT

permite conexões estabelecidas

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

acesso a partir de home.no-ip.org e porta 80

sudo iptables -A INPUT -p tcp --dport 80 -m string --string "Host: home.something.com" --algo bm -j ACCEPT

em seguida, regra para todo o tráfego de entrada de mobile.no-ip.org

sudo iptables -A INPUT -m state --state NEW -s mobile.no-ip.org -j ACCEPT

permite o SSH para qualquer

sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

nega que todos aceitem as regras acima

sudo iptables -A INPUT -j DROP

políticas padrão

sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT

salvar

sudo service iptables save

Não tenho certeza se isso funcionará, mas você pode tentar :) Este é apenas um exemplo de regras e pode usá-las como modelo.

    
por 2707974 19.07.2017 / 14:43