Seite 1 von 1

Kein Eintrag im Livelog

Verfasst: Di 01.10.2013, 12:10
von O_Gruen
Hallo
bei Kunden habe ich folgendes Problem zugriff von Extern auf SFTP:

Regel:
Qulle:Gruppe --> Ziele Interner Server Dienst: SFTP Aktion: Accept Zone DMZ3

Mit dem zuerst angeleten Gruppenmitglied funktioniert der Zugriff auf den Zielserver einwandfrei.
Ich sehe im Livelog eine Grün hiterlegten eintrag das die Regelgezogen hat. Nun soll der Zugriff vom
einen weiteren Gruppenmitglied erfolgen. Da sehe ich im Live Log keinen Eintrag zu diesem Zugriff.
Und der Zugriff schlägt fehl.

Per TCPDUMP habe ich aber gesehnen das die Anfrage an die Firewall gestellt wird.

Gruß Ove

Re: Kein Eintrag im Livelog

Verfasst: Di 01.10.2013, 13:20
von Erik
Sehen Sie denn im Livelog ein geDROPtes Paket?

TL;DR: Rufen Sie einfach an und halten Sie die Zugangsdaten für die Firewall bereit.

Wenn nicht: prüfen Sie, ob das Paket überhaupt an der FW ankommt:

Code: Alles auswählen

# tcpdump -i <EXTERNES-INTERFACE> -nnp host <IP-DER-GEGENSTELLE>
Möglichkeit 1: Nichts kommt an -> fertig
Möglichkeit 2: SYN-Paket ist zu sehen -> weiter gehts
Möglichkeit 3: SYN+SYNACK zu sehen -> fertig


die Reihenfolge beim Portforwarding in den iptables ist (grob gesagt):
nat-Table/PREROUTING-Chain -> filter-Table/FORWARD-Chain

Um zu sehen, an welcher Stelle das Paket verloren geht, prüfen Sie zuerst die nat/PREROUTING-Chain:

Code: Alles auswählen

# iptables -t nat -nvL PREROUTING | grep <INTERNE-IP-DES-SERVERS>
Die erste Spalte ist die Anzahl der Pakete, die von dieser Regel gematcht wurden. Steht da "0"... nunja... dann hat das Paket andere Eigenschaften, als Sie annehmen, dass es hat.

Sollte diese Regel schonmal gematcht haben, geht es weiter mit der filter/FORWARD-Chain:

Code: Alles auswählen

# iptables -t filter -nvL FORWARD | grep <INTERNE-IP-DES-SERVER>
Gleiches Spiel... steht in Spalte 1 eine "0" ist die FW-Regel inkorrekt.

Traf diese Regel hingegeben zu, schauen Sie mit tcpdump auf dem Internen Interface, ob das Paket da rausgeht:

Code: Alles auswählen

# tcpdump -i <INTERNES-INTERFACE> -nnp host <INTERNE-IP-DES-SERVERS>
gibt vier Möglichkeiten:
1. Nichts zu sehen -> passt nicht mit der matchenden FORWARD-Regel zusammen -> EVIL THINGS ARE HAPPENING -> Appliance mit Weihwasser besprühen -> fertig
2. ARP-Requests zu sehen -> der Server ist "aus" oder auf Layer 2 unsichtbar -> fertig
3. SYN-Pakete () zum Server sichtbar, kein SYNACK ([S.]) sichtbar -> der Server antwortet nicht -> fertig
4. SYN + SYNACK sichtbar -> weiter gehts

Es kommt also ein Antwortpaket an der FW an, aber die Verbindung kommt trotzdem nicht zustande. Es gilt zu prüfen, wo das Paket hin geroutet wird. Jetzt wird es anstrengend...

Code: Alles auswählen

# ip route get <IP-DER-GEGENSTELLE>
Da steht im Idealfall, dass über das Interface geroutet wird, über dass die Verbindung auch rein kam.

Code: Alles auswählen

# ip route
Hier muss geprüft werden, ob der Server (entweder die Quell-IP der Verbindung ODER die Interne IP des Servers [unwahrscheinlich]) vielleicht irgendwo anders hin geroutet wird.

Code: Alles auswählen

# ip rule
Hier sind die eingerichteten Rule-Routen und Source-Routen hinterlegt. Wohin geroutet wird, kann man mit folgendem Befehl geprüft werden. Die <TABLE-ID> ist dabei die letzte Zahl in der jeweiligen Zeile (ip rule).

Code: Alles auswählen

# ip route show table <TABLE-ID>
Finden Sie auf diese Art und Weise auch keinen Fehler bleibt nur noch die EVIL TRACE MAGIC!!!1111
Dazu aktivieren Sie das Tracing der Pakete mittels

Code: Alles auswählen

# iptables -t raw -I PREROUTING -s <IP-DER-GEGENSTELLE> -j TRACE
(Tauschen Sie das "-s" gegen ein "-d" sehen Sie entsprechend die Antwort-Pakete)

ACHTUNG: Vergessen Sie die Einschränkung auf die Quell-IP oder passiert da zu viel, wird das Syslog sehr voll werden...

Der Befehl um das Tracing zu deaktivieren ist:

Code: Alles auswählen

# iptables -t raw -F PREROUTING
Bei aktiviertem Tracing wird für jedes (!) Paket, welches auf die TRACE-Regel matcht jede (!) durchlaufene iptables-Regel ins Syslog geschrieben. Das ist viel Output. Sehr viel. Aber spätestens dort sieht man dann, an welcher Stelle das Paket verloren geht oder aus welchem Interface es fälschlicherweise geroutet wird.

Problem Gelöst

Verfasst: Mi 02.10.2013, 09:00
von O_Gruen
Danke für die Hilfe!

Fehler war vor der Tastatur! Vergessen die Portweiterleitungen zu Aktiviern!

Pr