Wir haben eine ziemlich komplizierte iptables / ipchains-Konfiguration, die von APF generiert wird . Der Datenverkehr zu Port 80 sollte blockiert sein, aber unsere Apache-Protokolle zeigen, dass jemand nach Webseiten suchen konnte:
[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
Gibt es eine Möglichkeit, eine Quell-IP in iptables zu simulieren, um zu debuggen, warum das Paket von 50.57.125.169
nicht blockiert wurde? Die -C | --check
Option scheint nur zu melden, ob es eine Regel gibt, die explizit mit der IP übereinstimmt, aber ich möchte ( Pseudocode )
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
Gibt es eine Möglichkeit, dies zu tun?
[Bearbeiten] Eine Teillösung bestand darin, das TRACE
Debuggen auf iptables (vgl. https://serverfault.com/a/126078/67472 ) zu aktivieren und hping3
(dank Trent) eine Quell-IP zu fälschen. Die Ergebnisse werden jedoch nicht angezeigt, wenn der Test von einem anderen Server ausgeführt wird und wenn er von demselben Server ausgeführt wird, über die Loopback-Schnittstelle.
Antworten:
Könnten Sie einfach hping verwenden, um die Quell-IP-Adresse des Datenverkehrs zu simulieren und dann zu überprüfen, ob der Datenverkehr noch durchkommt? Wahrscheinlich nicht ganz das, wonach Sie suchen, aber Sie könnten so etwas tun
quelle
-a
, wenn ich die Option zum Fälschen des Quellports verwende, bekomme ich keine Antworten. Wie würde es sich zeigen, wenn der Port erlaubt oder blockiert wäre?Sie können verwenden
scapy
, um Ihre IP-Adresse zu fälschen.quelle
Ich weiß, dass ich die von Ihnen gestellte Frage nicht direkt anspreche, aber nachdem ich APF einige Zeit verwendet habe, kann ich Ihnen raten, wie Sie die IP blockieren können, falls Sie einen anderen Ansatz verwenden.
Beispiel: Um Port 80 für den Host 1.2.3.4 zu blockieren, fügen Sie die folgende Zeile hinzu
/etc/apf/deny_hosts.rules
Versuchen Sie außerdem, die IP-Adresse eines Client-Computers unter Ihrer eigenen Kontrolle zu blockieren und eine Verbindung zu diesem herzustellen, anstatt sich um das Spoofing der Quell-IP zu kümmern.
quelle