home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.dcom.sys.cisco
- Path: sparky!uunet!boulder!recnews
- From: John Bashinski <jbash@cisco.com>
- Subject: Re: ACLs (correction)
- Message-ID: <728164045.10589@news.Colorado.EDU>
- Sender: news
- Date: 27 Jan 93 09:18:35 -0800
- Approved: news
- X-Note1: message-id generated by recnews
- X-Note2: mail msgid was <9301271718.AA11293@wolf.cisco.com>
- Lines: 119
-
- Barry Margolin pointed out that I'd made a really stupid error in my
- posting answering Jason Haar's question about access lists for NNTP. I
- put a term that should have been on access list 101 on list 102, and
- vice-versa. The result would have been that no connections could ever have
- been initiated.
-
- A corrected copy of the entire message is below. My apologies to anybody
- who was confused.
-
- -- John B.
-
- To: Jason Haar <j.haar@csc.canterbury.ac.nz>
- Cc: cisco@spot.colorado.edu
- Subject: Re: ACLs
- In-reply-to: Your message of "Mon, 25 Jan 93 23:09:03 GMT."
- <C1FMz4.I4n@cantua.canterbury.ac.nz>
- Date: Mon, 25 Jan 93 21:39:45 -0800
- From: John Bashinski <jbash@cisco.com>
-
- > Currently I have configured our cisco (which is the gateway) to let anyone
- > talk to this host on the nntp port, and on any port over 1000 - and visa
- > versa for connections from the other direction. This works fine, but means
- > that the node is still open for connections over 1000 - which I don't want.
- >
- > (just enabling port 119 isn't enough as there are two ports to every
- > connection)
- >
- > Is there any other ACL set I could use to ensure that _only_ connections
- > to .OR. from port nntp were allowed?
-
- Let me restate the requirement to make sure I understand it. You want to
- allow incoming connections only to port 119 on this machine (from any port
- on a remote machine), and outgoing connections from this machine only to
- port 119 on remote machines. Presumably the incoming restriction is to
- protect yourself from ne'er-do-wells on the Internet, and the outgoing
- restriction is to protect the Internet from similar ne'er-do-wells inside
- your site.
-
- You can do this with the "established" keyword. What "established" does on
- an extended access list entry is to let that entry match any packet that's
- part of an already-created TCP connection, but not any packet that could
- serve to create a new connection. It does this by examining the SYN and RST
- bits in the TCP header.
-
- Suppose your internal net is on Ethernet 0, and the outside world is on
- Serial 0. Your NNTP host has address 1.2.3.4. You're using access list 101
- on Ethernet 0, and access 102 on serial 0. A partial view of your
- configuration file might look like this (untested) example:
-
- ! Access list 101 is applied to traffic coming in from the outside world
- ! to the internal network.
- !
- ! The first entry lets machines in the outside world connect to the NNTP
- ! port on our machine. Anything destined from anywhere to port 119 on
- ! that machine is allowed.
- !
- access-list 101 permit tcp 0.0.0.0 255.255.255.255 1.2.3.4 0.0.0.0 eq 119
- !
- ! The second entry lets machines that already have connections to the
- ! local machine continue to talk to it. Presumably they wouldn't have
- ! gotten those connections unless the local machine had initiated them.
- !
- access-list 101 permit tcp 0.0.0.0 255.255.255.255 1.2.3.4 0.0.0.0 established
- !
- ! In the real world, you'd probably want to permit more than the NNTP port,
- ! and/or allow connections to other machines. In particular, you'd probably
- ! want to allow ICMP from anywhere to anywhere, and you'd probably need to
- ! give the outside world TCP and UDP access to your DNS services. You might
- ! also have some mail hosts that needed to talk to outside hosts.
- !
- ! The second access list is very much like the first...
- access-list 102 permit tcp 1.2.3.4 0.0.0.0 0.0.0.0 255.255.255.255 eq 119
- access-list 102 permit tcp 1.2.3.4 0.0.0.0 0.0.0.0 255.255.255.255 established
- !
- interface ethernet 0
- ip access-group 101
- !
- interface serial 0
- ip access-group 102
-
- Another common configuration would be to leave out access list 102
- entirely, so that the outside world could only connect to port 119 on your
- NNTP server, but your own (presumably trusted) host could connect to
- anything in the outside world that would accept the connection.
-
- The "established" keyword was introduced in Release 8.2, but there's a
- problem with it in some versions. It's unlikely that anybody could actually
- exploit the bug to get unauthorized access to anything-- perhaps not
- impossible, but certainly very difficult, especially without knowing
- proprietary details of how Cisco routers work. The bug *will* sometimes
- make legitimate accesses fail.
-
- The bug in question is CSCdi07901. It's fixed in all shipping software,
- including 8.3(6-and-above), 9.0(3), and 9.1(2). It was present in 8.2,
- 8.3(1-5), 9.0(1-2), and 9.1(1). Even if your software has the bug, you can
- avoid any incorrect behavior by disabling IP fast switching on the involved
- interfaces using the command "no ip route-cache". This will increase the
- load on your CPU, but isn't usually a problem, especially for the
- relatively slow WAN links where access lists are most often used. If you're
- concerned about system load without fast-switching, you can use "show
- process" and "show interface" to check for CPU overloading and/or packet
- drops. If disabling fast switching causes a load problem for you, you can
- order a ROM upgrade from Cisco, or download new net-bootable software via
- anonymous FTP from ftp.cisco.com.
-
- The official release-note text for the bug follows--
-
- If extended access lists are used on an MCI, SCI or cBus interface,
- the IP route cache is enabled, and also the 'established' keyword
- is used, it can be improperly evaluated. This can permit packets
- which should be filtered and exclude packets which should be
- permitted. This behavior was first introduced in 8.2.
-
- If you have any further problems or questions, you should probably send
- mail to "tac@cisco.com".
-
- -- J. Bashinski
- Cisco Systems
-
-