Как смоделировать исходный IP-адрес, чтобы проверить, какие правила iptables активны / не срабатывают? [closed]

У нас есть довольно сложная конфигурация iptables / ipchains, которая генерируется APF ]. Трафик на порт 80 должен быть заблокирован, но наши журналы Apache показывают, что кто-то смог проверить веб-страницы:

[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

Есть ли способ имитировать исходный IP-адрес в iptables для отладки, почему пакет из 50.57.125.169 ] не заблокировали? -C | Параметр --check , кажется, только сообщает, существует ли правило, которое явно соответствует IP, но я бы хотел сделать ( псевдокод )

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

Есть ли способ сделать это ?

[edit] Одним из частичных решений было включение отладки TRACE в iptables (см. https: / /serverfault.com/a/126078/67472 ) и используйте hping3 (спасибо Тренту), который может подменить исходный IP-адрес. Однако результаты не отображаются, когда тест запускается с другого сервера, а при запуске с того же сервера он проходит через интерфейс Loopback.

7
задан 13 April 2017 в 15:14
3 ответа

Не могли бы вы просто использовать hping для имитации исходного IP-адреса трафика а затем проверьте, продолжается ли трафик? Возможно, это не совсем то, что вы ищете, но вы могли бы сделать что-то вроде

hping3 --syn --destport 80 --count 3 -a test.ip.address webserver.ip.address
6
ответ дан 2 December 2019 в 23:35

Вы можете использовать scapy для подделки своего IP-адреса.

1
ответ дан 2 December 2019 в 23:35

Я знаю, что не отвечаю на заданный вами вопрос напрямую, но, использовав APF в течение некоторого времени, я мог бы посоветовать вам, как заблокировать IP, если вы использовали другой подход.

пример: чтобы заблокировать порт 80 для хоста 1.2.3.4 - добавьте следующую строку /etc/apf/deny_hosts.rules

    tcp:in:d=80:s=1.2.3.4

В дополнение к этому, вместо того, чтобы пройти через хлопот с подменой IP-адреса источника , почему бы не попробовать заблокировать IP-адрес какого-нибудь клиентского компьютера под вашим контролем и попытаться подключиться с него.

1
ответ дан 2 December 2019 в 23:35

Теги

Похожие вопросы