MrPrince
asked on
Cisco Router CBAC & PPTP
Hi,
Im having problems configuring CBAC on a Cisco 871 router - 12.4(22)T. Im getting traffic in and out of the box but certain protocols dont seem to work, specifically PPTP and ICMP. Below are the pertinent parts of my config:
ip inspect name Global_IE tcp
ip inspect name Global_IE udp
ip inspect name Global_IE icmp
ip inspect name Global_IE pptp
!
interface Vlan10
ip address 172.16.0.1 255.255.255.252
ip access-group Vestibule_Outbound in
no ip redirects
no ip unreachables
no ip proxy-arp
ip nbar protocol-discovery
ip flow ingress
ip flow egress
ip nat inside
ip virtual-reassembly
!
interface FastEthernet0
switchport access vlan 10
duplex full
speed 100
!
interface FastEthernet4
ip address dhcp
ip access-group Inbound in
no ip redirects
no ip unreachables
no ip proxy-arp
ip nbar protocol-discovery
ip flow ingress
ip flow egress
ip nat outside
ip ips Global_IPS in
ip ips Global_IPS out
ip inspect Global_IE out
ip virtual-reassembly
duplex auto
speed auto
!
ip access-list extended Vestibule_Outbound
permit ip any any
deny ip any any log
!
ip access-list extended Inbound
remark Permit DHCP
permit udp any eq bootps any eq bootpc
deny ip any any log
!
My understanding of the above configuration is that:
1. PPTP traffic is allowed by the Vestibule_Outbound ACL inbound to VLAN 10
2. The traffic leaves the fa4 interface since no Outbound ACL is applied.
3. CBAC opens a temporary ACE at the top of the Inbound ACL to allow the return traffic (GRE)
If I let SDM do the configuration I end up with an ACE of permit tcp any any eq gre on the Inbound ACL. The same for ICMP & NTP. Although this works doesnt this simply open up a hole in the network? Isnt CBAC supposed to allow return traffic dynamically rather than having a specific ACE? Im having the same problem with ICMP too.
Can anyone explain the processing rules that CBAC uses? Ive read conflicting statements that CBAC:
1. First checks the traffic against an ACL then inspects it, if configured to, and finally amends the corresponding ACL to allow the return traffic.
2. Inspects the traffic first then amends the corresponding ACL to allow the return traffic.
Im confused. What is the correct way to accomplish this?
Thanks.
Im having problems configuring CBAC on a Cisco 871 router - 12.4(22)T. Im getting traffic in and out of the box but certain protocols dont seem to work, specifically PPTP and ICMP. Below are the pertinent parts of my config:
ip inspect name Global_IE tcp
ip inspect name Global_IE udp
ip inspect name Global_IE icmp
ip inspect name Global_IE pptp
!
interface Vlan10
ip address 172.16.0.1 255.255.255.252
ip access-group Vestibule_Outbound in
no ip redirects
no ip unreachables
no ip proxy-arp
ip nbar protocol-discovery
ip flow ingress
ip flow egress
ip nat inside
ip virtual-reassembly
!
interface FastEthernet0
switchport access vlan 10
duplex full
speed 100
!
interface FastEthernet4
ip address dhcp
ip access-group Inbound in
no ip redirects
no ip unreachables
no ip proxy-arp
ip nbar protocol-discovery
ip flow ingress
ip flow egress
ip nat outside
ip ips Global_IPS in
ip ips Global_IPS out
ip inspect Global_IE out
ip virtual-reassembly
duplex auto
speed auto
!
ip access-list extended Vestibule_Outbound
permit ip any any
deny ip any any log
!
ip access-list extended Inbound
remark Permit DHCP
permit udp any eq bootps any eq bootpc
deny ip any any log
!
My understanding of the above configuration is that:
1. PPTP traffic is allowed by the Vestibule_Outbound ACL inbound to VLAN 10
2. The traffic leaves the fa4 interface since no Outbound ACL is applied.
3. CBAC opens a temporary ACE at the top of the Inbound ACL to allow the return traffic (GRE)
If I let SDM do the configuration I end up with an ACE of permit tcp any any eq gre on the Inbound ACL. The same for ICMP & NTP. Although this works doesnt this simply open up a hole in the network? Isnt CBAC supposed to allow return traffic dynamically rather than having a specific ACE? Im having the same problem with ICMP too.
Can anyone explain the processing rules that CBAC uses? Ive read conflicting statements that CBAC:
1. First checks the traffic against an ACL then inspects it, if configured to, and finally amends the corresponding ACL to allow the return traffic.
2. Inspects the traffic first then amends the corresponding ACL to allow the return traffic.
Im confused. What is the correct way to accomplish this?
Thanks.
I'll also note that PPTP first uses a TCP connection on port 1723 and then the GRE encapsulation. The "ip inspect name <name> pptp" might focus primarily on the TCP session.
Final note: I"ve had to put explicit access list entries in for DNS and SNTP as well.
ASKER
Oh Ok, so it's working as well as to be expected then. In the end i added the ACE for the GRE tunnel, i know the IP is genuine so it's not a massive security risk. Can you recommend any good protocol timeouts by any chance? I don't know the best practises on those.
Cheers.
Cheers.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks.
Allowing GRE in is not much of a security risk, because by definition, it is an encapsulation protocol. Something on the inside of your network has to decapsulate it.
I would use the GRE keyword, though: permit gre any any
Similarly, I've had to add ACL entries similar to:
deny icmp any any redirect
deny icmp any any timestamp-request
deny icmp any any echo
permit icmp any any
(Alternately, you can add permit statements for echo-reply, time exceeded, administratively prohibited, etc.)