In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
Dieses Dokument beschreibt verschiedene FTP- und TFTP-Prüfszenarien auf der Adaptive Security Appliance (ASA) und behandelt außerdem die ASA FTP/TFTP-Prüfkonfiguration und die grundlegende Fehlerbehebung.
Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:
Grundlegende Kommunikation zwischen den erforderlichen Schnittstellen
Konfiguration des FTP-Servers im DMZ-Netzwerk
Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:
ASA der Serie ASA 5500 oder ASA 5500-X, auf der das Software-Image der Serie 9.1(5) ausgeführt wird
Beliebiger FTP-Client
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Die Security Appliance unterstützt die Anwendungsprüfung über die Adaptive Security Algorithm-Funktion. Mithilfe der Stateful Application Inspection (Stateful-Anwendungsprüfung), die vom Adaptive Security Algorithm verwendet wird, verfolgt die Security Appliance jede Verbindung, die die Firewall passiert, und stellt sicher, dass sie gültig ist. Die Firewall überwacht durch Stateful Inspection auch den Verbindungsstatus, um Informationen zu kompilieren, die in einer Statustabelle gespeichert werden sollen. Bei Verwendung der Statustabelle werden zusätzlich zu vom Administrator definierten Regeln Filterentscheidungen basierend auf dem Kontext festgelegt, der von Paketen festgelegt wurde, die zuvor über die Firewall weitergeleitet wurden.
Die Durchführung von Anwendungsinspektionen umfasst folgende Maßnahmen:
Identifizieren des Datenverkehrs
Inspektionen des Datenverkehrs durchführen
Aktivieren von Inspektionen an einer Schnittstelle
Es gibt zwei Formen von FTP, wie im Bild gezeigt.
Aktiver Modus
Passiver Modus
Aktives FTP
Im aktiven FTP-Modus stellt der Client eine Verbindung zwischen einem zufälligen, nicht privilegierten Port (N>1023) und dem Befehlsport (21) des FTP-Servers her. Anschließend überwacht der Client den Port N>1023 und sendet den FTP-Befehlsanschluss N>1023 an den FTP-Server. Der Server stellt dann über seinen lokalen Datenport, Port 20, eine Verbindung zu den angegebenen Datenports des Clients her.
Passives FTP
Im passiven FTP-Modus initiiert der Client beide Verbindungen zum Server, wodurch das Problem einer Firewall gelöst wird, die die eingehende Datenport-Verbindung zum Client vom Server filtert. Wenn eine FTP-Verbindung geöffnet wird, öffnet der Client lokal zwei zufällige nicht privilegierte Ports. Der erste Port kontaktiert den Server an Port 21. Anstatt jedoch einen Port-Befehl auszuführen und dem Server die Verbindung zum Datenport zu ermöglichen, gibt der Client den PASV-Befehl aus. Dies führt dazu, dass der Server einen zufälligen nicht privilegierten Port (P>1023) öffnet und den Befehl port P zurück an den Client sendet. Der Client initiiert dann die Verbindung von Port N>1023 zum Port P auf dem Server, um Daten zu übertragen. Ohne die Konfiguration des Inspektionsbefehls auf der Security Appliance funktioniert der FTP-Datenverkehr von internen Benutzern, die in den ausgehenden Datenverkehr geleitet werden, nur im passiven Modus. Außerdem wird Benutzern außerhalb des FTP-Servers der Zugriff verweigert.
TFTP
TFTP, wie in RFC 1350 beschrieben, ist ein einfaches Protokoll zum Lesen und Schreiben von Dateien zwischen einem TFTP-Server und einem Client. TFTP verwendet UDP-Port 69.
Warum benötigen Sie eine FTP-Prüfung?
Einige Anwendungen erfordern eine besondere Handhabung durch die Cisco Security Appliance-Funktion zur Anwendungsprüfung. Diese Anwendungstypen betten IP-Adressierungsinformationen in das Benutzerdatenpaket ein oder öffnen sekundäre Kanäle an dynamisch zugewiesenen Ports. Die Anwendungsinspektionsfunktion arbeitet mit Network Address Translation (NAT) zusammen, um den Speicherort integrierter Adressinformationen zu ermitteln.
Neben der Identifizierung eingebetteter Adressinformationen überwacht die Anwendungsinspektionsfunktion Sitzungen, um die Portnummern für sekundäre Kanäle zu ermitteln. Viele Protokolle öffnen sekundäre TCP- oder UDP-Ports, um die Leistung zu verbessern. Die erste Sitzung an einem bekannten Port wird verwendet, um dynamisch zugewiesene Portnummern auszuhandeln.
Die Anwendungsinspektionsfunktion überwacht diese Sitzungen, identifiziert die dynamischen Portzuweisungen und ermöglicht den Datenaustausch auf diesen Ports für die Dauer der jeweiligen Sitzungen. Multimedia- und FTP-Anwendungen zeigen dieses Verhalten.
Wenn die FTP-Prüfung auf der Sicherheits-Appliance nicht aktiviert wurde, wird diese Anforderung verworfen, und die FTP-Sitzungen übertragen keine angeforderten Daten.
Wenn die FTP-Prüfung auf der ASA aktiviert ist, überwacht die ASA den Steuerungskanal und versucht, eine Anforderung zum Öffnen des Datenkanals zu erkennen. Das FTP-Protokoll integriert die Datenkanal-Port-Spezifikationen in den Kontrollkanalverkehr, sodass die Security Appliance den Kontrollkanal auf Änderungen an den Datenports überprüfen muss.
Sobald die ASA eine Anforderung erkennt, erstellt sie vorübergehend eine Öffnung für den Datenkanal-Datenverkehr, der für die gesamte Lebensdauer der Sitzung gültig ist. Auf diese Weise überwacht die FTP-Prüffunktion den Kontrollkanal, identifiziert eine Datenport-Zuweisung und ermöglicht den Datenaustausch auf dem Datenport für die Dauer der Sitzung.
ASA prüft standardmäßig Port 21-Verbindungen über die globale Inspection-Klassenzuordnung auf FTP-Datenverkehr. Die Security Appliance erkennt außerdem den Unterschied zwischen einer aktiven und einer passiven FTP-Sitzung.
Wenn die FTP-Sitzungen die passive FTP-Datenübertragung unterstützen, erkennt die ASA mit dem Befehl inspect ftp die Datenport-Anfrage des Benutzers und öffnet einen neuen Datenport größer als 1023.
Die FTP-Befehlsprüfung inspect überprüft FTP-Sitzungen und führt vier Aufgaben aus:
Die FTP-Anwendungsinspektion bereitet sekundäre Kanäle für die FTP-Datenübertragung vor. Die Kanäle werden als Reaktion auf einen Datei-Upload, einen Datei-Download oder eine Verzeichnislistenveranstaltung zugewiesen und müssen vorverhandelt werden. Der Port wird über den PORT oder PASV (227)-Befehl ausgehandelt.
Hinweis: Alle Netzwerkszenarien werden mit aktivierter FTP-Prüfung auf der ASA erklärt.
Client, der mit dem internen Netzwerk der ASA und dem Server im externen Netzwerk verbunden ist.
Hinweis: Die in dieser Konfiguration verwendeten IP-Adressierungsschemata sind im Internet nicht rechtlich routbar.
Wie in diesem Bild gezeigt, verfügt die verwendete Netzwerkeinrichtung über die ASA mit Client im internen Netzwerk mit IP 172.16.1.5. Der Server befindet sich im externen Netzwerk mit IP 192.168.1.15. Der Client hat eine zugeordnete IP 192.168.1.5 im Außennetzwerk.
Es ist nicht erforderlich, eine Zugriffsliste auf der externen Schnittstelle zuzulassen, wenn die FTP-Prüfung den Dynamic Port Channel (Dynamic Port Channel) öffnet.
Konfigurationsbeispiel:
ASA Version 9.1(5) ! hostname ASA domain-name corp.com enable password WwXYvtKrnjXqGbu1 encrypted names ! interface GigabitEthernet0/0
nameif Outside
security-level 0
ip address 192.168.1.2 255.255.255.0
!
interface GigabitEthernet0/1
nameif Inside
security-level 50
ip address 172.16.1.12 255.255.255.0
!
interface GigabitEthernet0/2
shutdown
no nameif
no security-level
no ip address
!
interface GigabitEthernet0/3
shutdown
no nameif
no security-level
no ip address
!
interface Management0/0
management-only
shutdown
no nameif
no security-level
no ip address
!--- Output is suppressed. !--- Object groups is created to define the host.
object network obj-172.16.1.5
subnet 172.16.1.0 255.255.255.0
!--- Object NAT is created to map Inside Client to Outside subnet IP.
object network obj-172.16.1.5
nat (Inside,Outside) dynamic 192.168.1.5
class-map inspection_default match default-inspection-traffic ! ! policy-map type inspect dns preset_dns_map parameters message-length maximum 512 policy-map global_policy class inspection_default inspect dns preset_dns_map inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp ! !--- This command tells the device to !--- use the "global_policy" policy-map on all interfaces. service-policy global_policy global prompt hostname context Cryptochecksum:4b2f54134e685d11b274ee159e5ed009 : end ASA(config)#
Überprüfen
Verbindung
Client in Inside Network running ACTIVE FTP:
Ciscoasa(config)# sh conn
3 in use, 3 most used
TCP Outside 192.168.1.15:20 inside 172.16.1.5:61855, idle 0:00:00, bytes 145096704, flags UIB <--- Dynamic Connection Opened
TCP Outside 192.168.1.15:21 inside 172.16.1.5:61854, idle 0:00:00, bytes 434, flags UIO
Hier initiiert der Client in Inside die Verbindung mit dem Quellport 61854 zum Zielport 21. Der Client sendet dann den Port-Befehl mit einem Wert von 6 Tupel. Der Server wiederum initiiert die Sekundär-/Datenverbindung mit dem Quell-Port 20, und der Ziel-Port wird anhand der Schritte berechnet, die nach dieser Erfassung erwähnt werden.
Capture Inside Interface (Interne Schnittstelle erfassen), wie in diesem Bild gezeigt.
Erfassen Sie die externe Schnittstelle, wie in diesem Bild gezeigt.
Der Port-Wert wird mit den letzten zwei von sechs Tupeln berechnet. Linke 4 Tupel sind IP-Adresse und 2 Tupel für Port. Wie in diesem Bild gezeigt, ist die IP-Adresse 192.168.1.5 und 241*256 + 159 = 61855.
Die Erfassung zeigt auch, dass die Werte mit Port-Befehlen geändert werden, wenn die FTP-Prüfung aktiviert ist. Die interne Schnittstellenerfassung zeigt den tatsächlichen Wert von IP an, und der vom Client für Server gesendete Port für die Verbindung mit dem Client für die Datenkanal- und Outside Interface Capture zeigt eine zugeordnete Adresse.
Client im internen Netzwerk der ASA und Server im externen Netzwerk.
Verbindung
Client in Inside Network running Passive Mode FTP:
ciscoasa(config)# sh conn
3 in use, 3 most used
TCP Outside 192.168.1.15:60142 inside 172.16.1.5:61839, idle 0:00:00, bytes 184844288, flags UI <--- Dynamic Connection Opened.
TCP Outside 192.168.1.15:21 inside 172.16.1.5:61838, idle 0:00:00, bytes 451, flags UIO
Hier initiiert der interne Client eine Verbindung mit dem Quellport 61838, dem Zielport von 21. Da es sich um ein passives FTP handelt, initiiert der Client beide Verbindungen. Daher antwortet der Server nach dem Befehl PASV vom Client sendet mit dem 6-Tupel-Wert, und der Client stellt eine Verbindung zu diesem Socket für die Datenverbindung her.
Capture Inside Interface (Interne Schnittstelle erfassen), wie in diesem Bild gezeigt.
Erfassen Sie die externe Schnittstelle, wie in diesem Bild gezeigt.
Die Berechnung für die Ports bleibt unverändert.
Wie bereits erwähnt, schreibt die ASA die eingebetteten IP-Werte neu, wenn die FTP-Prüfung aktiviert ist. Außerdem öffnet er einen dynamischen Port-Channel für die Datenverbindung.
Dies sind die Verbindungsdetails, wenn FTP-Prüfung ist deaktiviert
Verbindung:
ciscoasa(config)# sh conn
2 in use, 3 most used
TCP Outside 192.168.1.15:21 inside 172.16.1.5:61878, idle 0:00:09, bytes 433, flags UIO
TCP Outside 192.168.1.15:21 inside 172.16.1.5:61875, idle 0:00:29, bytes 259, flags UIO
Ohne FTP-Prüfung versucht sie nur immer wieder den Port-Befehl zu senden, aber es gibt keine Antwort, da außerhalb der PORT mit Original-IP, nicht NATTed, empfangen wird. Dasselbe wurde in der Speicherablage gezeigt.
Im Terminalmodus kann die FTP-Prüfung deaktiviert werden, ohne dass der Befehl fixup protocol ftp 21 erforderlich ist.
Ohne FTP-Prüfung funktioniert nur der PASV-Befehl, wenn sich der Client in Inside befindet, da es keinen Port-Befehl gibt, der von Inside aus eingebettet werden muss, und beide Verbindungen von Inside initiiert werden.
Client im externen Netzwerk der ASA und Server im DMZ-Netzwerk.
Konfiguration:
ASA(config)#show running-config ASA Version 9.1(5) ! hostname ASA domain-name corp.com enable password WwXYvtKrnjXqGbu1 encrypted names ! interface GigabitEthernet0/0
nameif Outside
security-level 0
ip address 192.168.1.2 255.255.255.0
!
interface GigabitEthernet0/1
nameif DMZ
security-level 50
ip address 172.16.1.12 255.255.255.0
!
interface GigabitEthernet0/2
shutdown
no nameif
no security-level
no ip address
!
interface GigabitEthernet0/3
shutdown
no nameif
no security-level
no ip address
!
interface Management0/0
management-only
shutdown
no nameif
no security-level
no ip address
!--- Output is suppressed.
!--- Permit inbound FTP control traffic.
access-list 100 extended permit tcp any host 192.168.1.5 eq ftp
!--- Object groups are created to define the hosts.
object network obj-172.16.1.5
host 172.16.1.5
!--- Object NAT is created to map FTP server with IP of Outside Subnet.
object network obj-172.16.1.5
nat (DMZ,Outside) static 192.168.1.5
access-group 100 in interface outside
class-map inspection_default match default-inspection-traffic ! ! policy-map type inspect dns preset_dns_map parameters message-length maximum 512 policy-map global_policy class inspection_default inspect dns preset_dns_map inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp ! !--- This command tells the device to !--- use the "global_policy" policy-map on all interfaces. service-policy global_policy global prompt hostname context Cryptochecksum:4b2f54134e685d11b274ee159e5ed009 : end ASA(config)#
Überprüfen
Verbindung:
Client in Outside Network running in Active Mode FTP:
ciscoasa(config)# sh conn
3 in use, 3 most used
TCP outside 192.168.1.15:55836 DMZ 172.16.1.5:21, idle 0:00:00, bytes 470, flags UIOB
TCP outside 192.168.1.15:55837 DMZ 172.16.1.5:20, idle 0:00:00, bytes 225595694, flags UI <--- Dynamic Port channel
Erfassen Sie die DMZ-Schnittstelle, wie in diesem Bild gezeigt.
Erfassen Sie die externe Schnittstelle, wie in diesem Bild gezeigt.
Hier wird der Client Active Mode Client 192.168.1.15 ausgeführt und initiiert die Verbindung zum Server in der DMZ an Port 21. Der Client sendet dann den Port-Befehl mit sechs Tupel-Werten an den Server, um eine Verbindung zu diesem spezifischen dynamischen Port herzustellen. Der Server initiiert dann die Datenverbindung mit dem Quellport als 20.
Client im externen Netzwerk der ASA und Server im DMZ-Netzwerk.
Verbindung
Client in Outside Network running in Passive Mode FTP:
ciscoasa(config)# sh conn
3 in use, 3 most used
TCP Outside 192.168.1.15:60071 DMZ 172.16.1.5:61781, idle 0:00:00, bytes 184718032, flags UOB <--- Dynamic channel Open
TCP Outside 192.168.1.15:60070 DMZ 172.16.1.5:21, idle 0:00:00, bytes 413,
flags UIOB
Erfassen Sie die DMZ-Schnittstelle, wie in diesem Bild gezeigt.
Erfassen Sie die externe Schnittstelle, wie in diesem Bild gezeigt.
Standardmäßig enthält die Konfiguration eine Richtlinie, die dem gesamten standardmäßigen Anwendungsinspektionsverkehr entspricht und die Überprüfung auf den Datenverkehr an allen Schnittstellen anwendet (eine globale Richtlinie). Der Standarddatenverkehr für die Anwendungsüberprüfung umfasst den Datenverkehr zu den Standardports für jedes Protokoll.
Sie können nur eine globale Richtlinie anwenden. Wenn Sie also beispielsweise die globale Richtlinie ändern möchten, um Prüfungen auf nicht standardmäßige Ports anzuwenden oder um standardmäßig nicht aktivierte Überprüfungen hinzuzufügen, müssen Sie die Standardrichtlinie entweder bearbeiten oder deaktivieren und eine neue Richtlinie anwenden. Eine Liste aller Standard-Ports finden Sie in der Standard-Überprüfungsrichtlinie.
Führen Sie den Befehl policy-map global_policy aus.
ASA(config)#policy-map global_policy
Führen Sie den Befehl class Inspection_default aus.
ASA(config-pmap)#class inspection_default
Führen Sie den Befehl inspect FTP aus.
ASA(config-pmap-c)#inspect FTP
Nachdem Sie die strikte Option für eine Schnittstelle aktiviert haben, erzwingt die FTP-Prüfung dieses Verhalten:
Ein FTP-Befehl muss bestätigt werden, bevor die Sicherheits-Appliance einen neuen Befehl zulässt
Die Sicherheits-Appliance verwirft eine Verbindung, die eingebettete Befehle sendet.
Die Befehle 227 und PORT werden überprüft, um sicherzustellen, dass sie nicht in einer Fehlerzeichenfolge angezeigt werden
Warnung: Die Verwendung der strict-Option kann zum Ausfall von FTP-Clients führen, die nicht streng mit FTP-RFCs kompatibel sind. Weitere Informationen zur Verwendung der strikten Option finden Sie unter Verwenden der strikten Option.
Sie können die FTP Protocol Inspection für nicht standardmäßige TCP-Ports mit folgenden Konfigurationslinien konfigurieren (XXXX durch neue Portnummer ersetzen):
access-list ftp-list extended permit tcp any any eq XXXX ! class-map ftp-class match access-list ftp-list ! policy-map global_policy class ftp-class inspect ftp
Um sicherzustellen, dass die Konfiguration erfolgreich abgeschlossen wurde, führen Sie den Befehl show service-policy aus. Beschränken Sie die Ausgabe auch auf die FTP-Prüfung, indem Sie den Befehl show service-policy inspect ftp ausführen.
ASA#show service-policy inspect ftp Global Policy: Service-policy: global_policy Class-map: inspection_default Inspect: ftp, packet 0, drop 0, reste-drop 0 ASA#
Die TFTP-Prüfung ist standardmäßig aktiviert.
Die Sicherheits-Appliance prüft den TFTP-Datenverkehr und erstellt bei Bedarf dynamisch Verbindungen und Übersetzungen, um die Dateiübertragung zwischen einem TFTP-Client und Server zu ermöglichen. Die Prüfungs-Engine überprüft insbesondere TFTP-Leseanforderungen (RRQ), Schreibanforderungen (WRQ) und Fehlerbenachrichtigungen (FEHLER).
Ein dynamischer sekundärer Kanal und ggf. eine PAT-Übersetzung werden bei Erhalt eines gültigen RRQ oder WRQ zugewiesen. Dieser sekundäre Kanal wird anschließend vom TFTP für die Dateiübertragung oder Fehlerbenachrichtigung verwendet.
Nur der TFTP-Server kann Datenverkehr über den sekundären Kanal initiieren, und es kann maximal ein unvollständiger sekundärer Kanal zwischen dem TFTP-Client und dem Server vorhanden sein. Eine Fehlerbenachrichtigung vom Server schließt den sekundären Kanal.
Die TFTP-Prüfung muss aktiviert werden, wenn zur Umleitung des TFTP-Datenverkehrs die statische PAT verwendet wird.
Standardmäßig enthält die Konfiguration eine Richtlinie, die dem gesamten standardmäßigen Anwendungsinspektionsverkehr entspricht und die Überprüfung auf den Datenverkehr an allen Schnittstellen anwendet (eine globale Richtlinie). Der Standarddatenverkehr für die Anwendungsüberprüfung umfasst den Datenverkehr zu den Standardports für jedes Protokoll.
Sie können nur eine globale Richtlinie anwenden. Wenn Sie die globale Richtlinie beispielsweise ändern möchten, um Prüfungen auf nicht standardmäßige Ports anzuwenden oder um standardmäßig nicht aktivierte Überprüfungen hinzuzufügen, müssen Sie die Standardrichtlinie entweder bearbeiten oder deaktivieren und eine neue Richtlinie anwenden. Eine Liste aller Standard-Ports finden Sie in der Standard-Überprüfungsrichtlinie.
Führen Sie den Befehl policy-map global_policy aus.
ASA(config)#policy-map global_policy
Führen Sie den Befehl class Inspection_default aus.
ASA(config-pmap)#class inspection_default
Führen Sie den Befehl inspect TFTP aus.
ASA(config-pmap-c)#inspect TFTP
Hier ist der Client in konfiguriert in Outside Network. Der TFTP-Server wird im DMZ-Netzwerk platziert. Der Server ist der IP-Adresse 192.168.1.5 zugeordnet, die sich im externen Subnetz befindet.
Konfigurationsbeispiel:
ASA(config)#show running-config ASA Version 9.1(5) ! hostname ASA domain-name corp.com enable password WwXYvtKrnjXqGbu1 encrypted names ! interface GigabitEthernet0/0
nameif Outside
security-level 0
ip address 192.168.1.2 255.255.255.0
!
interface GigabitEthernet0/1
nameif DMZ
security-level 50
ip address 172.16.1.12 255.255.255.0
!
interface GigabitEthernet0/2
shutdown
no nameif
security-level 100
ip address 10.1.1.1 255.255.255.0
!
interface GigabitEthernet0/3
shutdown
no nameif
no security-level
no ip address
!
interface Management0/0
management-only
shutdown
no nameif
no security-level
no ip address
!--- Output is suppressed. !--- Permit inbound TFTP traffic. access-list 100 extended permit udp any host 192.168.1.5 eq tftp ! !--- Object groups are created to define the hosts. object network obj-172.16.1.5
host 172.16.1.5
!--- Object NAT to map TFTP server to IP in Outside Subnet.
object network obj-172.16.1.5
nat (DMZ,Outside) static 192.168.1.5
access-group 100 in interface outside
class-map inspection_default
match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
parameters
message-length maximum 512
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
inspect ftp
inspect h323 h225
inspect h323 ras
inspect netbios
inspect rsh
inspect rtsp
inspect skinny
inspect esmtp
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
!
!--- This command tells the device to
!--- use the "global_policy" policy-map on all interfaces.
service-policy global_policy global
prompt hostname context
Cryptochecksum:4b2f54134e685d11b274ee159e5ed009
: end
ASA(config)#
Um sicherzustellen, dass die Konfiguration erfolgreich abgeschlossen wurde, führen Sie den Befehl show service-policy aus. Beschränken Sie außerdem die Ausgabe auf die TFTP-Prüfung, indem Sie den Befehl show service-policy inspect tftp ausführen.
ASA#show service-policy inspect tftp Global Policy: Service-policy: global_policy Class-map: inspection_default Inspect: tftp, packet 0, drop 0, reste-drop 0 ASA#
Dieser Abschnitt enthält Informationen, die Sie zur Fehlerbehebung bei Ihrer Konfiguration verwenden können.
Packet Tracer
FTP client Inside - Packet Tracer for Control Connection : Same Flow for Active and Passive.
# packet-tracer input inside tcp 172.16.1.5 12345 192.168.1.15 21 det
-----Omitted------
Phase: 5
Type: INSPECT
Subtype: inspect-ftp
Result: ALLOW
Config:
class-map inspection_default
match default-inspection-traffic
policy-map global_policy
class inspection_default
inspect ftp
service-policy global_policy global
Additional Information:
Forward Flow based lookup yields rule:
in id=0x76d9a120, priority=70, domain=inspect-ftp, deny=false
hits=2, user_data=0x76d99a30, cs_id=0x0, use_real_addr, flags=0x0, protocol=6
src ip/id=0.0.0.0, mask=0.0.0.0, port=0
dst ip/id=0.0.0.0, mask=0.0.0.0, port=21, dscp=0x0
input_ifc=inside, output_ifc=any
Phase: 6
Type: NAT
Subtype:
Result: ALLOW
Config:
object network obj-172.16.1.5
nat (inside,outside) static 192.168.1.5
Additional Information:
NAT divert to egress interface DMZ
translate 172.16.1.5/21 to 192.168.1.5/21
Phase: 7
Type: NAT
Subtype: rpf-check
Result: ALLOW
Config:
object network obj-172.16.1.5
nat (inside,outside) static 192.168.1.5
Additional Information:
Forward Flow based lookup yields rule:
out id=0x76d6e308, priority=6, domain=nat-reverse, deny=false
hits=15, user_data=0x76d9ef70, cs_id=0x0, use_real_addr, flags=0x0, protocol=0
src ip/id=0.0.0.0, mask=0.0.0.0, port=0
dst ip/id=172.16.1.5, mask=255.255.255.255, port=0, dscp=0x0
input_ifc=inside, output_ifc=outside
----Omitted----
Result:
input-interface: inside
input-status: up
input-line-status: up
output-interface: Outside
output-status: up
output-line-status: up
Action: allow
FTP client Outside - Packet Tracer for Control Connection : Same Flow for Active and Passive
# packet-tracer input outside tcp 192.168.1.15 12345 192.168.1.5 21 det
Phase: 1
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
object network obj-172.16.1.5
nat (DMZ,outside) static 192.168.1.5
Additional Information:
NAT divert to egress interface DMZ
Untranslate 192.168.1.5/21 to 172.16.1.5/21
-----Omitted-----
Phase: 4
Type: INSPECT
Subtype: inspect-ftp
Result: ALLOW
Config:
class-map inspection_default
match default-inspection-traffic
policy-map global_policy
class inspection_default
inspect ftp
service-policy global_policy global
Additional Information:
Forward Flow based lookup yields rule:
in id=0x76d84700, priority=70, domain=inspect-ftp, deny=false
hits=17, user_data=0x76d84550, cs_id=0x0, use_real_addr, flags=0x0, protocol=6
src ip/id=0.0.0.0, mask=0.0.0.0, port=0
dst ip/id=0.0.0.0, mask=0.0.0.0, port=21, dscp=0x0
input_ifc=outside, output_ifc=any
Phase: 5
Type: NAT
Subtype: rpf-check
Result: ALLOW
Config:
object network obj-172.16.1.5
nat (DMZ,outside) static 192.168.1.5
Additional Information:
Forward Flow based lookup yields rule:
out id=0x76d6e308, priority=6, domain=nat-reverse, deny=false
hits=17, user_data=0x76d9ef70, cs_id=0x0, use_real_addr, flags=0x0, protocol=0
src ip/id=0.0.0.0, mask=0.0.0.0, port=0
dst ip/id=172.16.1.5, mask=255.255.255.255, port=0, dscp=0x0
input_ifc=outside, output_ifc=DMZ
----Omitted-----
Result:
input-interface: Outside
input-status: up
input-line-status: up
output-interface: DMZ
output-status: up
output-line-status: up
Action: allow
Wie in beiden Paket-Tracern zu beobachten ist, trifft der Datenverkehr die jeweiligen NAT-Anweisungen und die FTP-Prüfrichtlinie. Sie verlassen auch die erforderlichen Schnittstellen.
Während der Fehlerbehebung können Sie versuchen, die ASA-Eingangs- und Ausgangs-Schnittstellen zu erfassen und festzustellen, ob die Umschreiben der integrierten ASA-IP-Adresse einwandfrei funktioniert, und die Verbindung überprüfen, ob der dynamische Port auf ASA zugelassen ist.