Sou solicitado a gerenciar alguns servidores web sempre que meus clientes precisarem de alguma alteração.
Tudo o que quero é restringir HTTP
e HTTPS
temporariamente para mim mesmo, enquanto todas as outras conexões estão abertas para todos enquanto estou testando.
Eles não conseguiram iptables
, mas eu tenho acesso sudo.
Há muitos outros serviços em execução que não quero interromper. Também não quero me desconectar da minha sessão ssh, pois não tenho acesso ao console para revertê-la.
Se eu executar apenas esses 2 comandos, ele restringirá apenas HTTP
e HTTPS
enquanto outras portas estiverem funcionando?
iptables -I INPUT -p tcp -s 0.0.0.0/0 --match multiport --dport 80,443 -j DROP
iptables -I INPUT -p tcp -s 10.1.1.2 --match multiport --dport 80,443 -j ACCEPT
Editar: Alterada a ordem das regras.
Responder1
Sim, apenas o que está no iptables --list
é processado, a menos que DROP ALL
permita todo o resto.
Mas se estivermos usando -I (Insert)
, a ordem das regras deverá ser Drop
a primeira, o que significa que elas DROP
estarão no final, enquanto ACCEPT
as regras serão processadas primeiro.
[root@hostname ~]# iptables -I INPUT -p tcp -s 0.0.0.0/0 --match multiport --dport 80,443 -j DROP
[root@hostname ~]# iptables -I INPUT -p tcp -s 10.1.1.2 --match multiport --dport 80,443 -j ACCEPT
Agora corraiptables --list
[root@hostname ~]# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 10.1.1.2 anywhere multiport dports http,https
DROP tcp -- anywhere anywhere multiport dports http,https