Como simular um IP de origem para testar quais regras do iptables estão / não estão sendo disparadas? [fechadas]

5

Temos uma configuração bastante complicada do iptables / ipchains, que é gerada pelo APF . O tráfego para a porta 80 deve ser bloqueado, mas nossos registros do Apache mostram que alguém conseguiu investigar as páginas da Web:

[Sun Feb 03 13:08:45 2013] [error] [client 50.57.125.169] File does not exist:     /var/www/w00tw00t.at.blackhats.romanian.anti-sec:)
[Sun Feb 03 13:08:45 2013] [error] [client 50.57.125.169] File does not exist: /var/www/phpMyAdmin
[Sun Feb 03 13:08:45 2013] [error] [client 50.57.125.169] File does not exist: /var/www/phpmyadmin

Existe uma maneira de simular um IP de origem no iptables para depurar porque o pacote de 50.57.125.169 não foi bloqueado? A opção -C | --check parece reportar apenas se existe uma regra que corresponda explicitamente ao IP, mas o que eu gostaria de fazer é ( pseudocódigo )

myserver% iptables --test --source_ip=50.57.125.169 --dest_port=80
Rule #17 matches (ALLOW)    // i.e. this would be the rule that matches

Existe uma maneira de fazer isso?

[editar] Uma solução parcial era permitir% debugging TRACE no iptables (cf. link ) e usar hping3 (obrigado Trent) que pode falsificar um IP de origem. No entanto, os resultados não são exibidos quando o teste é executado em um servidor diferente e, quando executado no mesmo servidor, ele passa pela interface Loopback.

    
por mrisher 09.02.2013 / 23:27

3 respostas

5

Você poderia usar o hping para simular o endereço IP de origem do tráfego e verificar se o tráfego ainda está sendo processado? Provavelmente não é bem o que você está procurando, mas você poderia fazer algo como

hping3 --syn --destport 80 --count 3 -a test.ip.address webserver.ip.address
    
por 09.02.2013 / 23:42
0

Você pode usar scapy para falsificar seu endereço IP.

    
por 09.02.2013 / 23:45
0

Eu sei que não estou abordando diretamente a pergunta que você fez, mas tendo usado o APF por algum tempo, eu poderia aconselhá-lo sobre como bloquear o IP, caso você tenha usado uma abordagem diferente.

exemplo: para bloquear a porta 80 para o host 1.2.3.4-adicione a seguinte linha /etc/apf/deny_hosts.rules

    tcp:in:d=80:s=1.2.3.4

Além disso, em vez de passar pelo incômodo de falsificar IP de origem, por que não tentar bloquear o endereço IP de algum computador cliente sob seu próprio controle e tentar se conectar a partir dele?

    
por 10.02.2013 / 01:06