Você poderia nullroute. Isso deve ignorar o iptables.
route add 89.163.146.25 gw 127.0.0.1 lo
Verifique isso
netstat -nr
OR
route -n
(movido do SO)
Eu tenho o iptables para proteger um servidor sip. Ele bloqueia todos os IPs, exceto aqueles que eu especificamente abri, e parece funcionar para quase todos. Eu testei de muitos endereços IP que não são listados em branco e todos são descartados como deveriam.
MAS, eu peguei um "hacker" que parece ser capaz de contornar as regras do iptables. Seus sondadores convidam a passar, e eu não tenho ideia de como, ou que isso era possível. Em 10 anos eu não vi isso antes.
Suponho que deve ser algo que fiz, mas não consigo ver.
iptables criados assim (MYIP definido no topo - redigido):
iptables -F
iptables -X
iptables -N ALLOWEDSIP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -d $MYIP --dport 22 -j ACCEPT
iptables -t filter -A INPUT -j ALLOWEDSIP
# This is my white list.
iptables -A ALLOWEDSIP -j RETURN
Agora, com NADA no ALLOWEDSIP, tudo que eu deveria ser capaz de fazer é o SSH (que eu posso). Se eu ligo para eles, todos são descartados. Mas wireshark me mostra isso (meu ip redigido):
89.163.146.25 -> x.x.x.x SIP/SDP 805 Request: INVITE sip:[email protected] |
x.x.x.x -> 89.163.146.25 SIP 417 Status: 100 Giving a try |
x.x.x.x -> 89.163.146.25 SIP 875 Status: 407 Proxy Authentication Required |
As chamadas dele me atingiram e, embora rejeitadas pela ACL, elas nunca deveriam chegar lá. Nada mais consegue passar. Puxando meu cabelo para fora. Alguém sabe?
Apenas pela perfeição, aqui está o resultado do iptables -L:
# iptables -L --line-numbers -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 10 640 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
2 0 0 ACCEPT all -- lo any anywhere anywhere
3 0 0 ACCEPT tcp -- any any anywhere <redacted>.com tcp dpt:6928
4 0 0 ALLOWEDSIP all -- any any anywhere anywhere
Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 6 packets, 544 bytes)
num pkts bytes target prot opt in out source destination
Chain ALLOWEDSIP (1 references)
num pkts bytes target prot opt in out source destination
1 0 0 RETURN all -- any any anywhere anywhere
EDITAR: Acabei de ver isso de wireshark. Eles poderiam estar fazendo algo horrível como se estabelecer de alguma outra maneira, em seguida, jogando na regra estabelecida? Talvez eles estão jogando em algum buraco no RELATED?
89.163.146.25 -> <redacted> RTCP 806 Source port: tag-pm Destination port: sip
EDIT 2: UDP é a chave aqui. Quando eu defino o OpenSIPS para escutar apenas o TCP, o problema parece ter desaparecido. Nenhuma de suas tentativas é superada, embora estejam enviando mais dessas mensagens "tag-pm". Não explica por que os pacotes estão chegando até mesmo a opensips embora. iptables deveria tê-los parado primeiro. Adoraria saber o que fiz de errado aqui.
EDIT 3: Se eu remover o RELATED, paro de responder a eles, então é algo a ver com isso. Mas eu acho que preciso de algo relacionado. Alguma dica sobre soluções alternativas?
Você poderia nullroute. Isso deve ignorar o iptables.
route add 89.163.146.25 gw 127.0.0.1 lo
Verifique isso
netstat -nr
OR
route -n