Wie simuliere ich eine Quell-IP, um zu testen, welche iptables-Regeln ausgelöst werden / nicht? [geschlossen]


7

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.169nicht blockiert wurde? Die -C | --checkOption 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 TRACEDebuggen 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.


Überprüfen Sie über IP-Spoofing für Ihr Betriebssystem
Hex

Es gibt keine aktuelle Regel Nr. 17. Das war der "Pseudocode" (dh meine Wunschliste) des Befehls, den ich suche. Ich habe die Frage bearbeitet, um klarer zu machen, dass "Regel 17" Fiktion ist.
Herr

3
Wow ... frage mich, warum diese Frage als keine echte Frage geschlossen wurde. Es ist wirklich offensichtlich, was gefragt wird, und IMO ist eine echte Frage.
Matt

Danke, Matt, das ist nett von dir. Ich konnte auch nicht herausfinden warum. Leider habe ich nicht genug Karma, um es wieder zu öffnen.
Herr

Antworten:


6

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

hping3 --syn --destport 80 --count 3 -a test.ip.address webserver.ip.address

Gute Idee. Ich dachte -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?
Herr

Sie würden bei Ihnen Anwendungsprotokolle sehen suchen müssen , wenn die Verbindung der Anwendung wurde erreicht
trent

1

Sie können verwenden scapy, um Ihre IP-Adresse zu fälschen.


Sieht nach einer Möglichkeit aus, aber ein Beispiel für das Spoofing der Quell-IP wäre erforderlich.
Mivk

1

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

    tcp:in:d=80:s=1.2.3.4

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.


Danke für die Hilfe, Daniel. Ich habe viele solcher Regeln, das Problem ist, ich versuche herauszufinden, warum sich jemand anderes durchgeschlichen hat. Ich werde die Verweigerungsregeln noch einmal untersuchen, um sicherzugehen.
Herr
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.