cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1828
Views
30
Helpful
24
Replies

No access to TCP services in DMZ

Trond Husoe
Level 1
Level 1

I see in my history that I had a similar problems a while back, unfortunately I had to nuke the setup and so I am sort of start of from the start again.

I have two servers set up in DMZ, one FTP and one WWW

FTP = 192.168.2.101

WWW = 192.168.2.100

Outside IP: Dynamic (currently, goal is to have a static public IP in the future)

When running packet-tracer input outside tcp current.ip.address 80 192.168.2.100 80 I get this message:

Phase: 8
Type: NAT
Subtype: rpf-check
Result: DROP
Config:
nat (dmz,outside) source static dmz-webserver interface service WWW WWW

My nats are like this:

1 (dmz) to (outside) source static dmz-webserver interface   service WWW WWW
    translate_hits = 0, untranslate_hits = 0
2 (dmz) to (outside) source static dmz-ftpserver interface   service FTP FTP
    translate_hits = 0, untranslate_hits = 4

 

Auto NAT Policies (Section 2)

1 (inside) to (outside) source dynamic inside-net interface  
    translate_hits = 16168, untranslate_hits = 1515
2 (inside) to (outside) source dynamic obj_any interface  
    translate_hits = 254, untranslate_hits = 0

 

Setup for dmz is like this:

object network dmz-webserver
 host 192.168.2.100
 description Web Server Host Object
object network dmz-ftpserver
 host 192.168.2.101
 description FTP Server Host Object

 

object network DMZ.net
 subnet 192.168.2.0 255.255.255.0
object service FTP
 service tcp source eq ftp 
object service WWW
 service tcp source eq www 

access-list outside_access_in extended permit tcp any host 192.168.2.101 eq ftp 
access-list outside_access_in extended permit tcp any host 192.168.2.100 eq www 
access-list inside_access_dmz extended permit tcp any object DMZ.net range 1 65535 

Hope for some assistance.

Best trond

 

 

2 Accepted Solutions

Accepted Solutions

Would you be able to post you full configuration (sanitised)?  Normally a RFP fail means that it is expecting that traffic to be entering the ASA on a different interface.

--

Please remember to select a correct answer and rate helpful posts

--
Please remember to select a correct answer and rate helpful posts

View solution in original post

You will not be able to reach the internet as you do not have NAT set up for the DMZ.

object network DMZ

  host 192.168.2.0 255.255.255.0

  nat (dmz,outside) dynamic interface

What about the connection to the webserver / FTP server?

--

Please remember to select a correct answer and rate helpful posts

--
Please remember to select a correct answer and rate helpful posts

View solution in original post

24 Replies 24

Marvin Rhoads
Hall of Fame
Hall of Fame

I believe you're saying your packet-tracer used the ASA's outside interface as the source address.

Try it instead with a public Internet address (i.e 8.8.8.8). When the source address is on the ASA itself, you will not get the NATting and thus see the rpf (reverse path forwarding) failure indicating an asymmetric NAT treatment.

When using this line:

 packet-tracer input outside tcp 8.8.8.8 80 192.168.2.100 80

(Which I believe means: send a packet from outside tcp 8.8.8.8 on port 80 to 192.168.2.100 on port 80)

 

I get this response:

Phase: 8
Type: NAT
Subtype: rpf-check
Result: DROP
Config:
nat (dmz,outside) source static dmz-webserver interface service WWW WWW
Additional Information:

Result:
input-interface: outside
input-status: up
input-line-status: up
output-interface: dmz
output-status: up
output-line-status: up
Action: drop
Drop-reason: (acl-drop) Flow is denied by configured rule

 

Would you be able to post you full configuration (sanitised)?  Normally a RFP fail means that it is expecting that traffic to be entering the ASA on a different interface.

--

Please remember to select a correct answer and rate helpful posts

--
Please remember to select a correct answer and rate helpful posts

Please reverse the addresses. Of course from outside to a private internal (DMZ) address will fail rpf as that address should never appear to outside hosts. If we initiate from the DMZ host address, then the packet-tracer should properly indicate the NAT.

So please input as follows to show DMZ host sending request originating on some random high tcp port (1024+) with destination being a public IP address on port 80:

 packet-tracer input DMZ tcp 192.168.2.100 1025 8.8.8.8 80

Dear Mavin,

Thanks for the valuable feedback.

As requested, output of packet-tracer-command:

packet-tracer input DMZ tcp 192.168.2.100 1025 8.8.8.8 80

Phase: 1
Type: ACCESS-LIST
Subtype:
Result: ALLOW
Config:
Implicit Rule
Additional Information:
MAC Access list

Phase: 2
Type: ROUTE-LOOKUP
Subtype: input
Result: ALLOW
Config:
Additional Information:
in   0.0.0.0         0.0.0.0         outside

Phase: 3
Type: ACCESS-LIST
Subtype:
Result: DROP
Config:
Implicit Rule
Additional Information:
              
Result:
input-interface: dmz
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: drop
Drop-reason: (acl-drop) Flow is denied by configured rule

----

Added detail to the command as well:

fw# packet-tracer input DMZ tcp 192.168.2.100 1025 8.8.8.8 80 detail

Phase: 1
Type: ROUTE-LOOKUP
Subtype: input
Result: ALLOW
Config:
Additional Information:
in   0.0.0.0         0.0.0.0         outside

Phase: 2
Type: ACCESS-LIST
Subtype:
Result: DROP
Config:
Implicit Rule
Additional Information:
 Forward Flow based lookup yields rule:
 in  id=0xcb3dc420, priority=11, domain=permit, deny=true
    hits=1, user_data=0x5, cs_id=0x0, flags=0x0, protocol=0
    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=0, dscp=0x0
    input_ifc=dmz, output_ifc=any

Result:
input-interface: dmz
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: drop
Drop-reason: (acl-drop) Flow is denied by configured rule

 

Trond Husoe
Level 1
Level 1
Hi Marius,

This is my configuration. 

: Saved
:
ASA Version 8.4(2) 
!
hostname fw
domain-name inside-sport.no
enable password ************ encrypted
passwd **************** encrypted
names
!
interface Ethernet0/0
 switchport access vlan 2
 speed 100
 duplex full
!
interface Ethernet0/1
!
interface Ethernet0/2
!
interface Ethernet0/3
!
interface Ethernet0/4
!
interface Ethernet0/5
 switchport access vlan 300
 speed 100
 duplex full
!
interface Ethernet0/6
!
interface Ethernet0/7
!
interface Vlan1
 nameif inside
 security-level 100
 ip address 192.168.1.1 255.255.255.0 
!
interface Vlan2
 nameif outside
 security-level 0
 ip address dhcp 
!
interface Vlan300
 no forward interface Vlan1
 nameif dmz
 security-level 50
 ip address 192.168.2.1 255.255.255.0 
!
ftp mode passive
clock timezone CEST 1
clock summer-time CEDT recurring
dns domain-lookup inside
dns domain-lookup outside
dns domain-lookup dmz
dns server-group DefaultDNS
 name-server 192.168.1.8
 name-server 193.75.75.75
 name-server 193.75.75.193
 name-server 8.8.8.8
 domain-name inside-sport.no
same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
object network obj_any
 subnet 0.0.0.0 0.0.0.0
object network inside-net
 subnet 192.168.1.0 255.255.255.0
object network dmz-webserver
 host 192.168.2.100
 description Web Server Host Object
object network dmz-ftpserver
 host 192.168.2.101
 description FTP Server Host Object
object network DMZ.net
 subnet 192.168.2.0 255.255.255.0
object service FTP
 service tcp source eq ftp 
object service WWW
 service tcp source eq www 
object network NETWORK_OBJ_192.168.1.0_24
 subnet 192.168.1.0 255.255.255.0
object network VPNUSERS
 subnet 10.10.10.0 255.255.255.248
object-group network obj_10.10.10.0_16
 network-object 10.10.10.0 255.255.255.248
object-group network obj_192.168.1.0_24
 network-object 192.168.1.0 255.255.255.0
access-list outside_access_in extended permit tcp any host 192.168.2.101 eq ftp 
access-list outside_access_in extended permit tcp any host 192.168.2.100 eq www 
access-list inside_access_dmz extended permit tcp any object DMZ.net range 1 65535 
access-list split_tunnel_acl standard permit 192.168.1.0 255.255.255.0 
pager lines 24
logging enable
logging asdm informational
mtu inside 1500
mtu outside 1500
mtu dmz 1500
ip local pool client_pool 10.10.10.1-10.10.10.10 mask 255.255.255.248
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
nat (dmz,outside) source static dmz-webserver interface service WWW WWW
nat (dmz,outside) source static dmz-ftpserver interface service FTP FTP
nat (inside,outside) source static obj_192.168.1.0_24 obj_192.168.1.0_24 destination static obj_10.10.10.0_16 obj_10.10.10.0_16 no-proxy-arp route-lookup
nat (inside,outside) source static any any destination static NETWORK_OBJ_192.168.1.0_24 NETWORK_OBJ_192.168.1.0_24 no-proxy-arp route-lookup
!
object network obj_any
 nat (inside,outside) dynamic interface
object network inside-net
 nat (inside,outside) dynamic interface
object network VPNUSERS
 nat (outside,outside) dynamic interface
access-group outside_access_in in interface outside
access-group inside_access_dmz in interface dmz
route outside 0.0.0.0 0.0.0.0 173.194.32.34 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
dynamic-access-policy-record DfltAccessPolicy
user-identity default-domain LOCAL
aaa authentication ssh console LOCAL 
aaa authentication enable console LOCAL 
aaa authentication http console LOCAL 
aaa authorization command LOCAL 
aaa authorization exec authentication-server
http server enable
http 192.168.1.0 255.255.255.0 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart warmstart
crypto ipsec ikev1 transform-set set1 esp-3des esp-sha-hmac 
crypto dynamic-map dyn_map 65535 set ikev1 transform-set set1
crypto map outside_map 65535 ipsec-isakmp dynamic dyn_map
crypto map outside_map interface outside
crypto ca trustpoint _SmartCallHome_ServerCA
 crl configure
crypto ca certificate chain _SmartCallHome_ServerCA
 certificate ca 6ecc7aa5a7032009b8cebcf4e952d491
    308205ec 308204d4 a0030201 0202106e cc7aa5a7 032009b8 cebcf4e9 52d49130 
    0d06092a 864886f7 0d010105 05003081 ca310b30 09060355 04061302 55533117 
    30150603 55040a13 0e566572 69536967 6e2c2049 6e632e31 1f301d06 0355040b 
    13165665 72695369 676e2054 72757374 204e6574 776f726b 313a3038 06035504 
    0b133128 63292032 30303620 56657269 5369676e 2c20496e 632e202d 20466f72 
    20617574 686f7269 7a656420 75736520 6f6e6c79 31453043 06035504 03133c56 
    65726953 69676e20 436c6173 73203320 5075626c 69632050 72696d61 72792043 
    65727469 66696361 74696f6e 20417574 686f7269 7479202d 20473530 1e170d31 
    30303230 38303030 3030305a 170d3230 30323037 32333539 35395a30 81b5310b 
    30090603 55040613 02555331 17301506 0355040a 130e5665 72695369 676e2c20 
    496e632e 311f301d 06035504 0b131656 65726953 69676e20 54727573 74204e65 
    74776f72 6b313b30 39060355 040b1332 5465726d 73206f66 20757365 20617420 
    68747470 733a2f2f 7777772e 76657269 7369676e 2e636f6d 2f727061 20286329 
    3130312f 302d0603 55040313 26566572 69536967 6e20436c 61737320 33205365 
    63757265 20536572 76657220 4341202d 20473330 82012230 0d06092a 864886f7 
    0d010101 05000382 010f0030 82010a02 82010100 b187841f c20c45f5 bcab2597 
    a7ada23e 9cbaf6c1 39b88bca c2ac56c6 e5bb658e 444f4dce 6fed094a d4af4e10 
    9c688b2e 957b899b 13cae234 34c1f35b f3497b62 83488174 d188786c 0253f9bc 
    7f432657 5833833b 330a17b0 d04e9124 ad867d64 12dc744a 34a11d0a ea961d0b 
    15fca34b 3bce6388 d0f82d0c 948610ca b69a3dca eb379c00 48358629 5078e845 
    63cd1941 4ff595ec 7b98d4c4 71b350be 28b38fa0 b9539cf5 ca2c23a9 fd1406e8 
    18b49ae8 3c6e81fd e4cd3536 b351d369 ec12ba56 6e6f9b57 c58b14e7 0ec79ced 
    4a546ac9 4dc5bf11 b1ae1c67 81cb4455 33997f24 9b3f5345 7f861af3 3cfa6d7f 
    81f5b84a d3f58537 1cb5a6d0 09e4187b 384efa0f 02030100 01a38201 df308201 
    db303406 082b0601 05050701 01042830 26302406 082b0601 05050730 01861868 
    7474703a 2f2f6f63 73702e76 65726973 69676e2e 636f6d30 12060355 1d130101 
    ff040830 060101ff 02010030 70060355 1d200469 30673065 060b6086 480186f8 
    45010717 03305630 2806082b 06010505 07020116 1c687474 70733a2f 2f777777 
    2e766572 69736967 6e2e636f 6d2f6370 73302a06 082b0601 05050702 02301e1a 
    1c687474 70733a2f 2f777777 2e766572 69736967 6e2e636f 6d2f7270 61303406 
    03551d1f 042d302b 3029a027 a0258623 68747470 3a2f2f63 726c2e76 65726973 
    69676e2e 636f6d2f 70636133 2d67352e 63726c30 0e060355 1d0f0101 ff040403 
    02010630 6d06082b 06010505 07010c04 61305fa1 5da05b30 59305730 55160969 
    6d616765 2f676966 3021301f 30070605 2b0e0302 1a04148f e5d31a86 ac8d8e6b 
    c3cf806a d448182c 7b192e30 25162368 7474703a 2f2f6c6f 676f2e76 65726973 
    69676e2e 636f6d2f 76736c6f 676f2e67 69663028 0603551d 11042130 1fa41d30 
    1b311930 17060355 04031310 56657269 5369676e 4d504b49 2d322d36 301d0603 
    551d0e04 1604140d 445c1653 44c1827e 1d20ab25 f40163d8 be79a530 1f060355 
    1d230418 30168014 7fd365a7 c2ddecbb f03009f3 4339fa02 af333133 300d0609 
    2a864886 f70d0101 05050003 82010100 0c8324ef ddc30cd9 589cfe36 b6eb8a80 
    4bd1a3f7 9df3cc53 ef829ea3 a1e697c1 589d756c e01d1b4c fad1c12d 05c0ea6e 
    b2227055 d9203340 3307c265 83fa8f43 379bea0e 9a6c70ee f69c803b d937f47a 
    6decd018 7d494aca 99c71928 a2bed877 24f78526 866d8705 404167d1 273aeddc 
    481d22cd 0b0b8bbc f4b17bfd b499a8e9 762ae11a 2d876e74 d388dd1e 22c6df16 
    b62b8214 0a945cf2 50ecafce ff62370d ad65d306 4153ed02 14c8b558 28a1ace0 
    5becb37f 954afb03 c8ad26db e6667812 4ad99f42 fbe198e6 42839b8f 8f6724e8 
    6119b5dd cdb50b26 058ec36e c4c875b8 46cfe218 065ea9ae a8819a47 16de0c28 
    6c2527b9 deb78458 c61f381e a4c4cb66
  quit
crypto ikev1 enable outside
crypto ikev1 policy 65535
 authentication pre-share
 encryption 3des
 hash sha
 group 2
 lifetime 86400
telnet timeout 5
ssh 192.168.1.0 255.255.255.0 inside
ssh 0.0.0.0 0.0.0.0 outside
ssh timeout 30
console timeout 0
management-access inside

dhcpd dns 192.168.1.1 193.75.75.75
dhcpd domain inside-sport.no
dhcpd auto_config outside
!
dhcpd address 192.168.1.50-192.168.1.79 inside
dhcpd dns 192.168.1.1 interface inside
dhcpd domain inside-sport.no interface inside
dhcpd enable inside
!
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
webvpn
group-policy ipsec_ra_policy internal
group-policy ipsec_ra_policy attributes
 split-tunnel-policy tunnelspecified
 split-tunnel-network-list value split_tunnel_acl
username admin password *************** encrypted privilege 15
username trond password *************** encrypted privilege 15
tunnel-group VPN-INSIDE-SPORT type remote-access
tunnel-group VPN-INSIDE-SPORT general-attributes
 address-pool client_pool
 default-group-policy ipsec_ra_policy
tunnel-group VPN-INSIDE-SPORT ipsec-attributes
 ikev1 pre-shared-key *****
!
class-map inspection_default
 match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
 parameters
  message-length maximum client auto
  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 rsh 
  inspect rtsp 
  inspect esmtp 
  inspect sqlnet 
  inspect skinny  
  inspect sunrpc 
  inspect xdmcp 
  inspect sip  
  inspect netbios 
  inspect tftp 
  inspect ip-options 
  inspect icmp 
!
service-policy global_policy global
prompt hostname context 
call-home reporting anonymous
Cryptochecksum:**************************
: end
no asdm history enable

 

On the server:

Output of route -n

0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

 

 

First off your DMZ ACL is incorrect, and also I am not sure why you have this there.  Was this an attempt at getting the DMZ to work as expected?

access-list inside_access_dmz extended permit tcp any object DMZ.net range 1 65535
access-group inside_access_dmz in interface dmz

As the DMZ can not forward traffic to VLAN 1 you do not need this ACL because the DMZ has a higher security level than the outside interface.  Remove those two commands from your configuration and test again with packet tracer as Marvin has indicated.

If you expect to access those servers from the internet use the following packet tracer to test:

packet-tracer input outside tcp 8.8.8.8 12345 <public IP> 80

packet-tracer input outside tcp 8.8.8.8 12345 <public IP> 21

--

Please remember to select a correct answer and rate helpful posts

--
Please remember to select a correct answer and rate helpful posts

Output of packet-tracer:

If I understand this correctly, the packet goes to the webserver in the DMZ-sone.

Kinda interestring that no webpage is coming up (It works-page at the moment...)

 

packet-tracer input outside tcp 8.8.8.8 12345 <public_IP> 80

Phase: 1
Type: CAPTURE
Subtype:
Result: ALLOW
Config:
Additional Information:
MAC Access list

Phase: 2
Type: ACCESS-LIST
Subtype:
Result: ALLOW
Config:
Implicit Rule
Additional Information:
MAC Access list

Phase: 3
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
nat (dmz,outside) source static dmz-webserver interface service WWW WWW
Additional Information:
NAT divert to egress interface dmz
Untranslate <public_IP>/80 to 192.168.2.100/80

Phase: 4
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group outside_access_in in interface outside
access-list outside_access_in extended permit tcp any host 192.168.2.100 eq www
Additional Information:

Phase: 5
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 6
Type: VPN
Subtype: ipsec-tunnel-flow
Result: ALLOW
Config:
Additional Information:

Phase: 7
Type: HOST-LIMIT
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 8
Type: NAT
Subtype: rpf-check
Result: ALLOW
Config:
nat (dmz,outside) source static dmz-webserver interface service WWW WWW
Additional Information:

Phase: 9
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 10    
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 61296, packet dispatched to next module

Result:
input-interface: outside
input-status: up
input-line-status: up
output-interface: dmz
output-status: up
output-line-status: up
Action: allow

 

How are you browsing to the webserver?  are you using the public IP or a URL?

Where are you testing from, do you have a computer located off the outside interface that you are testing from?

--

Please remember to select a correct answer and rate helpful posts

 

--
Please remember to select a correct answer and rate helpful posts

Hi Marius,

I am using the public IP. I am accessing it from a remote server in a totally different ip-range/domain.

I'll do some digging on this and reply when I find out what's going on.

I see apache is setup to listen on all IPs and only port 80.

Well according to the packet tracer traffic is permitted through the ASA on port 80...maybe there is something that was missed on the server?

--

Please remember to select a correct answer and rate helpful posts

--
Please remember to select a correct answer and rate helpful posts

Not sure.

When I use lynx on the host server to www to 192.168.2.100, I get the page, so the apache-server is running.

 

Do I maybe have to do some iptable stuff on the linux box.

 

I have now found out that if I run lynx on the host server (running the virtual servers in the dmz-sone (192.168.2.100 - connecting on eth1 (192.168.2.8))

I can get the default website on the dmz-webserver

When trying from any other computer in the network, I cannot get to 192.168.2.100 or 192.168.2.101.

Could this be the problem?

Or could the problem be that nic 2 (eth1) is set up with 192.168.2.8...

When trying from any other computer in the network, I cannot get to 192.168.2.100 or 192.168.2.101.

With this do you mean you can not reach the servers in the DMZ from a host on the inside network?  If so then this is expected.  You are running an ASA 5505 with a Base license.  This means that the DMZ VLAN is a restricted VLAN.  You will only be able to forward traffic to one other VLAN.  In your case, you (or the person who has configured the ASA) have configured the ASA to only forward traffic to VLAN 2, which is the outside interface.  Notice the command no forward interface Vlan1.

interface Vlan300
 no forward interface Vlan1
 nameif dmz
 security-level 50
 ip address 192.168.2.1 255.255.255.0 

To get around this you need to upgrade to a security plus license.

If that is not the issue, I do not believe that eth1 having an IP of 192.168.2.8 is the issue unless these are virtual machines that the servers are installed on?  If so then which port on the host server do they connect to?  If it is eth1 that connects the servers to the network, then yes this could be the problem.

--

Please remember to select a correct answer and rate helpful posts

--
Please remember to select a correct answer and rate helpful posts
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: