home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-04-21 | 72.0 KB | 1,102 lines |
- <HTML>
- <HEAD>
- </HEAD>
- <BODY>
- <!-- Generated by EloEdit v3.0.0.29 on Tuesday, April 07, 1998 06:33 PM -->
- <!-- File: C:\WINDOWS\DESKTOP\CHRIST~1\NWK06A\NWK06A.EML -->
- <!--$v=0000000 (0001)-->Hi, I'm Chris Lonvick. Welcome to
- <!--$v=0003481 (0002)-->Designing Secure Enterprise Network Infrastructures.
- <!--$v=0007053 (0003)-->What I'd like to do here
- <!--$v=0010122 (0004)-->is get you all started thinking not
- <!--$v=0012596 (0005)-->so much about network security or network infrastructures,
- <!--$v=0015985 (0006)-->but let's take a bit of an analogy and think about
- <!--$v=0019329 (0007)-->that and see if we can't get our hands around the whole problem here.
- <!--$v=0022765 (0008)-->What I've got is a picture of the USS Constitution.
- <!--$v=0026154 (0009)-->It has tons of cannons all over it. It has
- <!--$v=0029498 (0010)-->guns. The Marines are stationed on the thing.
- <!--$v=0032658 (0011)-->We've got - oh, the sailors with the neat little swords and all sorts of
- <!--$v=0036140 (0012)-->things there. If you're the captain of this,
- <!--$v=0038796 (0013)-->what possibly could be your
- <!--$v=0041316 (0014)-->security concerns for this?
- <!--$v=0043835 (0015)-->Obviously not much. Well, what about
- <!--$v=0047408 (0016)-->drinking water? What about food?
- <!--$v=0049790 (0017)-->All of these things are also essential
- <!--$v=0053133 (0018)-->for you to be able to accomplish your mission,
- <!--$v=0055836 (0019)-->whatever that might be. If you run out of any of these things,
- <!--$v=0059134 (0020)-->of course you're going to have to put back into port and replenish those
- <!--$v=0062386 (0021)-->supplies before you can go out and accomplish your mission.
- <!--$v=0065638 (0022)-->So you could have a failure just
- <!--$v=0068157 (0023)-->because of these simple little things.
- <!--$v=0071547 (0024)-->The paramount thing to have
- <!--$v=0074020 (0025)-->is a written policy. We've discussed
- <!--$v=0076998 (0026)-->that in many other Networkers' presentations
- <!--$v=0079609 (0027)-->and you can find this also anywhere else you look about
- <!--$v=0082632 (0028)-->network security. First have a
- <!--$v=0085517 (0029)-->policy, a written-down policy. We've also got
- <!--$v=0089090 (0030)-->three elements that are very well identified
- <!--$v=0092342 (0031)-->and you'll see these also in several other Networkers'
- <!--$v=0095228 (0032)-->presentations: the identity,
- <!--$v=0097931 (0033)-->the integrity, and the audit functions here.
- <!--$v=0101229 (0034)-->I'm not going to go through these in this
- <!--$v=0103839 (0035)-->presentation. But what I want to do is show you
- <!--$v=0107046 (0036)-->how to go through and apply these things
- <!--$v=0109519 (0037)-->to your policies or your procedures
- <!--$v=0112359 (0038)-->and operations. I've identified
- <!--$v=0114741 (0039)-->four areas here that we really need to
- <!--$v=0117443 (0040)-->spend some time with, or you need to spend some time with
- <!--$v=0120512 (0041)-->to make sure you have a secure network.
- <!--$v=0123902 (0042)-->First one is training. This is all the way from
- <!--$v=0127108 (0043)-->the captain all the way down to the lowest
- <!--$v=0129765 (0044)-->deck swabbie there. You continually need to be trained
- <!--$v=0133200 (0045)-->in new areas or to make sure you're
- <!--$v=0136453 (0046)-->up to date with what's going on in
- <!--$v=0139155 (0047)-->the current technologies. The rules -
- <!--$v=0142224 (0048)-->again, they must be applied to everyone
- <!--$v=0145522 (0049)-->and they really need to go -
- <!--$v=0149003 (0050)-->they need to be agreed upon by everyone
- <!--$v=0151751 (0051)-->on the whole ship or in your whole network
- <!--$v=0154271 (0052)-->in order to be effective. Periodic review
- <!--$v=0157706 (0053)-->of your procedures and operations
- <!--$v=0160821 (0054)-->is also critical. People need to come back and
- <!--$v=0163340 (0055)-->take a look and make sure that you're meeting
- <!--$v=0165768 (0056)-->your business objectives.
- <!--$v=0168562 (0057)-->Delegation of authority - of course the captain is
- <!--$v=0171951 (0058)-->fully responsible for everything that goes on
- <!--$v=0174608 (0059)-->on the ship there, but
- <!--$v=0176990 (0060)-->the captain can't be awake and he can't be
- <!--$v=0179555 (0061)-->everywhere at all times. He's got to rely upon
- <!--$v=0183036 (0062)-->officers, the officers have got to rely upon the men under them
- <!--$v=0186426 (0063)-->to make sure that all the procedures or the
- <!--$v=0189449 (0064)-->policies are being met at all times.
- <!--$v=0192976 (0065)-->What we're going to go
- <!--$v=0195633 (0066)-->through here in this session - I want you all to think about
- <!--$v=0198839 (0067)-->this a little bit, or this is what I want you to think about
- <!--$v=0201679 (0068)-->during this session - defining
- <!--$v=0204839 (0069)-->what to protect.
- <!--$v=0207267 (0070)-->Essentially it's going to be anything that could
- <!--$v=0209878 (0071)-->cause problems if you were to lose it
- <!--$v=0212855 (0072)-->or if it were to become corrupted,
- <!--$v=0215375 (0073)-->or to malfunction,
- <!--$v=0218214 (0074)-->and decide how to protect it.
- <!--$v=0220596 (0075)-->There's various ways, and you can think about what is
- <!--$v=0224078 (0076)-->good enough to meet your business needs
- <!--$v=0226551 (0077)-->versus what is the absolute protection
- <!--$v=0229253 (0078)-->of that resource or device.
- <!--$v=0231864 (0079)-->One other thing - think about the cost
- <!--$v=0234429 (0080)-->of the protection versus the cost
- <!--$v=0236903 (0081)-->of the loss or corruption of that resource.
- <!--$v=0240247 (0082)-->The analogy I like to use with this one is a newspaper.
- <!--$v=0243728 (0083)-->You're probably paying
- <!--$v=0246293 (0084)-->25, 50 cents for home delivery
- <!--$v=0249270 (0085)-->of that newspaper.
- <!--$v=0251835 (0086)-->If it doesn't come some day, what's going to happen? You're going to be
- <!--$v=0255179 (0087)-->out that amount of money. You can go buy one or
- <!--$v=0257653 (0088)-->you can call up and complain and they'll deliver another one later on.
- <!--$v=0260721 (0089)-->It's just not quite the same if it doesn't get there first thing in the morning.
- <!--$v=0264248 (0090)-->What if someone actually came through
- <!--$v=0266951 (0091)-->and maliciously replaced your newspaper
- <!--$v=0269974 (0092)-->with one that they had printed up? Let's say it had
- <!--$v=0272768 (0093)-->the title on it of Cisco's stock
- <!--$v=0275379 (0094)-->selling at $800 per share. We hope that happens next week,
- <!--$v=0278585 (0095)-->by the way, but what if the
- <!--$v=0281288 (0096)-->attacker could predict your reaction
- <!--$v=0284219 (0097)-->to reading that headline?
- <!--$v=0286601 (0098)-->You might go out and do something, in which case
- <!--$v=0289258 (0099)-->the attacker could take advantage of that and
- <!--$v=0292281 (0100)-->his attack could succeed no matter what that could be.
- <!--$v=0295442 (0101)-->
- <!--$v=0297824 (0102)-->We've gone through the introduction here.
- <!--$v=0300709 (0103)-->What we're going to get into next is
- <!--$v=0303320 (0104)-->thinking about the router or the switch
- <!--$v=0306160 (0105)-->self-protection. We're going to start small here and work our way
- <!--$v=0309321 (0106)-->progressively outward throughout this talk.
- <!--$v=0312252 (0107)-->The next - beyond that is resource
- <!--$v=0315184 (0108)-->protection, thinking about how to protect
- <!--$v=0317657 (0109)-->individual resources throughout your enterprise.
- <!--$v=0320909 (0110)-->Moving beyond that we're going to talk about the entire
- <!--$v=0323795 (0111)-->perimeter of your network.
- <!--$v=0326177 (0112)-->Then we're going to come back and take a look at the whole thing at a plane above it,
- <!--$v=0329750 (0113)-->thinking about how to sustain
- <!--$v=0332452 (0114)-->that network security.
- <!--$v=0334834 (0115)-->Come back after that and talk about how to validate
- <!--$v=0337536 (0116)-->that you actually are sustaining your network
- <!--$v=0340239 (0117)-->security there as well, and we'll wrap the whole
- <!--$v=0342667 (0118)-->thing up with some conclusions in the final section.
- <!--$v=0345369 (0119)-->Let's go ahead and get into this a little bit -
- <!--$v=0348530 (0120)-->The Router/Switch Self-Protection.
- <!--$v=0351507 (0121)-->I had originally wanted the graphics artist
- <!--$v=0354713 (0122)-->people to get that - the Zena,
- <!--$v=0357233 (0123)-->the Warrior Princess thing with the swords up there and,
- <!--$v=0360485 (0124)-->you know, I looked around for that one on the Internet as well and
- <!--$v=0363645 (0125)-->found out that all those photos were copyrighted.
- <!--$v=0366485 (0126)-->Got to respect that and actually
- <!--$v=0368867 (0127)-->I asked around and found out, no, we're not planning to buy that company anytime
- <!--$v=0371753 (0128)-->soon, so I'm stuck with the sword and the hatchet
- <!--$v=0375280 (0129)-->thing there. Let's talk about first,
- <!--$v=0378807 (0130)-->the intruder attack points.
- <!--$v=0381738 (0131)-->Of course any burglar is going to know
- <!--$v=0384624 (0132)-->where the security weaknesses
- <!--$v=0387235 (0133)-->of your house could be if they target your house
- <!--$v=0390487 (0134)-->to get into. Of course they're going to try the front door.
- <!--$v=0393602 (0135)-->They're going to go around and try the back door. They're going to try
- <!--$v=0396487 (0136)-->possibly some windows or any other point
- <!--$v=0399877 (0137)-->that could potentially let them into
- <!--$v=0402625 (0138)-->your house. There are some well-known
- <!--$v=0406107 (0139)-->attack points with the routers as well.
- <!--$v=0408855 (0140)-->We're going to go through these things one at a time,
- <!--$v=0411649 (0141)-->step through them so you can see how to
- <!--$v=0414122 (0142)-->barricade each of these attack points.
- <!--$v=0416642 (0143)-->First off let's talk
- <!--$v=0419619 (0144)-->about the administrative interface. This is essentially the
- <!--$v=0422871 (0145)-->front door. We're going to talk about the password
- <!--$v=0425528 (0146)-->protection and password encryption.
- <!--$v=0427910 (0147)-->First thing, the banners. No, this is not
- <!--$v=0430750 (0148)-->the banners you wave around. These are the login
- <!--$v=0433910 (0149)-->banners, what gets displayed when you log into
- <!--$v=0436842 (0150)-->the router. Think about these,
- <!--$v=0440094 (0151)-->spend some time with it. There is an RFC,
- <!--$v=0443575 (0152)-->I think it's 2096, that talks about the site
- <!--$v=0447148 (0153)-->security handbook. In this it goes
- <!--$v=0449896 (0154)-->through and tells you what is an appropriate login
- <!--$v=0452965 (0155)-->banner on your network devices.
- <!--$v=0455668 (0156)-->There's a lot of legal discussions about these things.
- <!--$v=0459240 (0157)-->Please don't use the word "Welcome."
- <!--$v=0461622 (0158)-->This is defined in that RFC.
- <!--$v=0465058 (0159)-->Let's talk about the native
- <!--$v=0467668 (0160)-->passwords on the routers here.
- <!--$v=0470463 (0161)-->As you see here, the configuration snip,
- <!--$v=0473669 (0162)-->we've got line console 0. The next
- <!--$v=0477013 (0163)-->command or the next configuration command
- <!--$v=0480265 (0164)-->is login. What we're saying here is that the -
- <!--$v=0483838 (0165)-->if you access the console port
- <!--$v=0486632 (0166)-->you must authenticate. Without that line there,
- <!--$v=0490204 (0167)-->anyone coming up and pressing the enter will automatically get
- <!--$v=0493457 (0168)-->to the router prompt. This is probably not what you want to
- <!--$v=0496938 (0169)-->happen. Put that login command there.
- <!--$v=0499778 (0170)-->The next line defines the password
- <!--$v=0503259 (0171)-->for that console port.
- <!--$v=0506145 (0172)-->Right after that is the exec-timeout,
- <!--$v=0509122 (0173)-->one minute and 30 seconds. If you
- <!--$v=0512008 (0174)-->apply this to any of the
- <!--$v=0514481 (0175)-->lines or the VTYs,
- <!--$v=0516863 (0176)-->then if you let that session sit there idle
- <!--$v=0520436 (0177)-->for a minute and 30 seconds, the router will automatically
- <!--$v=0523963 (0178)-->time the thing out. This is probably a very good practice to get into.
- <!--$v=0527307 (0179)-->What we see there when the console
- <!--$v=0530467 (0180)-->comes up is someone's pressed the
- <!--$v=0533399 (0181)-->enter key, comes up with
- <!--$v=0536284 (0182)-->user access verification and requires a
- <!--$v=0539307 (0183)-->password. If you type it incorrectly
- <!--$v=0542056 (0184)-->you will get the router prompt.
- <!--$v=0544438 (0185)-->
- <!--$v=0546865 (0186)-->We can talk about now the service
- <!--$v=0549980 (0187)-->password-encryption command. This is going to
- <!--$v=0553049 (0188)-->encrypt the
- <!--$v=0555614 (0189)-->password. What you saw before was that that password was
- <!--$v=0559004 (0190)-->in cleartext. What this command does
- <!--$v=0561569 (0191)-->is it takes that cleartext, runs it
- <!--$v=0564225 (0192)-->through an algorithm to flip some bits on it
- <!--$v=0567569 (0193)-->and it comes out and it won't display in cleartext any longer.
- <!--$v=0571004 (0194)-->Now this one is a Cisco proprietary
- <!--$v=0574394 (0195)-->encryption method. It can be reversed
- <!--$v=0577967 (0196)-->so that it can come back to the cleartext password.
- <!--$v=0580944 (0197)-->There's several reasons for that. Let's take a look at
- <!--$v=0584013 (0198)-->how this can work in your network.
- <!--$v=0587082 (0199)-->We've got a before and we've got an after
- <!--$v=0589601 (0200)-->type scenario here. And the first one starts out with
- <!--$v=0592624 (0201)-->hostname Router and the enable password
- <!--$v=0595419 (0202)-->is displayed in cleartext.
- <!--$v=0597846 (0203)-->If we go through and just add
- <!--$v=0600320 (0204)-->service password-encryption command to the configuration,
- <!--$v=0603709 (0205)-->we now look down. The enable password
- <!--$v=0606503 (0206)-->has that 7 appended to it
- <!--$v=0609435 (0207)-->and then a totally different string.
- <!--$v=0612458 (0208)-->Again, logging in using the password
- <!--$v=0615619 (0209)-->one4all will get you into the router,
- <!--$v=0618458 (0210)-->but at least now if someone is looking over your shoulder
- <!--$v=0621940 (0211)-->they won't be able to see what the cleartext
- <!--$v=0624505 (0212)-->password is. It's always a good idea
- <!--$v=0627665 (0213)-->not to let someone you don't trust look over your shoulder.
- <!--$v=0631146 (0214)-->They might be able to memorize this thing or write it down.
- <!--$v=0633986 (0215)-->What could be better than that?
- <!--$v=0637239 (0216)-->The enable secret 5 password.
- <!--$v=0640033 (0217)-->This uses an MD5 hash
- <!--$v=0643514 (0218)-->to take the cleartext password,
- <!--$v=0646262 (0219)-->run it through an encryption algorithm or a hashing algorithm
- <!--$v=0649835 (0220)-->to come out with the signature of that
- <!--$v=0652354 (0221)-->password. This is one way. There's no way you can
- <!--$v=0655927 (0222)-->take that signature and come back to the
- <!--$v=0659317 (0223)-->cleartext password. We use this
- <!--$v=0662202 (0224)-->so that you can be fairly well
- <!--$v=0665729 (0225)-->assured that the password you put in will not be readable
- <!--$v=0669073 (0226)-->by anyone else, even
- <!--$v=0671455 (0227)-->if they can get hold of it. We can
- <!--$v=0674524 (0228)-->use, just like with the password 7,
- <!--$v=0677868 (0229)-->cut that from some other window if you have a
- <!--$v=0681165 (0230)-->multiwindow terminal, and then paste it into the
- <!--$v=0684005 (0231)-->configuration of the router.
- <!--$v=0686708 (0232)-->We'll see how this works in just a couple of minutes,
- <!--$v=0689410 (0233)-->but let's see how this works
- <!--$v=0691884 (0234)-->in an actual configuration here.
- <!--$v=0695044 (0235)-->We start out with hostname Router. This is, again, a
- <!--$v=0697747 (0236)-->before and after scenario, and we have the enable
- <!--$v=0700907 (0237)-->password 1forAll here. If we go through
- <!--$v=0704297 (0238)-->and we have to - in the actual
- <!--$v=0707000 (0239)-->configuration you have to say, "No enable password"
- <!--$v=0709748 (0240)-->and then come back and say, "Enable secret 5,"
- <!--$v=0713046 (0241)-->you type in your cleartext password
- <!--$v=0715473 (0242)-->and it will come up with - I'm sorry, you type in
- <!--$v=0718222 (0243)-->enable secret and then your cleartext password,
- <!--$v=0721336 (0244)-->it will appear in the configuration snip
- <!--$v=0724222 (0245)-->like this, an extremely long signature
- <!--$v=0727795 (0246)-->of that password.
- <!--$v=0731001 (0247)-->Okay, a couple of things to think about here.
- <!--$v=0734528 (0248)-->Physical security is always required with
- <!--$v=0737872 (0249)-->this. Someone can
- <!--$v=0740437 (0250)-->take your router away, or if they can access your router
- <!--$v=0743506 (0251)-->they can get into it and they can change
- <!--$v=0746117 (0252)-->the passwords to see - to meet whatever they
- <!--$v=0749094 (0253)-->put in, or they can read the configurations.
- <!--$v=0752575 (0254)-->We've published these methods so that
- <!--$v=0754957 (0255)-->people can get into their routers if the administrator
- <!--$v=0758484 (0256)-->gets hit by a truck or whatever.
- <!--$v=0761049 (0257)-->So, always make sure
- <!--$v=0763660 (0258)-->that you guard your passwords
- <!--$v=0766363 (0259)-->pretty jealously, you lock up your routers.
- <!--$v=0769019 (0260)-->There is a certain type of attack, the
- <!--$v=0772043 (0261)-->replace-the-router attack where someone could actually come in,
- <!--$v=0775615 (0262)-->take your router
- <!--$v=0778776 (0263)-->out, look at the configuration,
- <!--$v=0781662 (0264)-->put it into their own router there,
- <!--$v=0784547 (0265)-->cut that password string, the enable 5
- <!--$v=0788120 (0266)-->password, paste it into the new router
- <!--$v=0791647 (0267)-->after, let's say, they've turned on debugging for something,
- <!--$v=0794716 (0268)-->put that router back in service.
- <!--$v=0797190 (0269)-->The administrators are going to know that that router was down for some time.
- <!--$v=0800762 (0270)-->They'll be able to log back into it using
- <!--$v=0803831 (0271)-->the correct password. They're going to start
- <!--$v=0806351 (0272)-->thinking, "Hey, maybe everything's all right with this,"
- <!--$v=0808870 (0273)-->where, in fact, the attacker is now getting
- <!--$v=0811893 (0274)-->debug information. Again, just
- <!--$v=0814366 (0275)-->a word of caution here. Always
- <!--$v=0817298 (0276)-->lock down the routers, make sure the wiring
- <!--$v=0819726 (0277)-->closets are locked so that attackers cannot
- <!--$v=0822886 (0278)-->get physical access to the routers.
- <!--$v=0825314 (0279)-->Also,
- <!--$v=0828795 (0280)-->I'm sure that everyone's gone through this a time or two before.
- <!--$v=0831864 (0281)-->You're sitting there, you're bringing up a new router.
- <!--$v=0834337 (0282)-->What? You've got everything written down
- <!--$v=0837040 (0283)-->perfectly on a piece of paper. You're going through it. You've got
- <!--$v=0840384 (0284)-->addresses, interface, subnet masks, everything else,
- <!--$v=0843911 (0285)-->and then all of a sudden it asks you for the enable password.
- <!--$v=0847025 (0286)-->Your mind locks up.
- <!--$v=0849682 (0287)-->You can't think of anything. What do you do?
- <!--$v=0852430 (0288)-->You type in <i>Cisco </i>or <i>Pancho
- <!--$v=0855866 (0289)--></i>or something else. Of course
- <!--$v=0858293 (0290)-->the attackers are going to try these just as well.
- <!--$v=0861546 (0291)-->Please don't use these passwords.
- <!--$v=0864798 (0292)-->Use something that you sit and think about. It's a well-known fact
- <!--$v=0868004 (0293)-->that Rodin was actually thinking, trying to come up with a
- <!--$v=0871394 (0294)-->good password when he came up with his idea for this
- <!--$v=0874829 (0295)-->sculpture called The Thinker.
- <!--$v=0877623 (0296)-->We've got some authentication mechanisms here.
- <!--$v=0881196 (0297)-->First, what we've talked about in the past
- <!--$v=0884173 (0298)-->has been the local database.
- <!--$v=0886876 (0299)-->This is the passwords that are locally stored
- <!--$v=0889716 (0300)-->on the router. If we take
- <!--$v=0892601 (0301)-->these passwords or the authentication mechanism
- <!--$v=0896082 (0302)-->and shift them out to a central
- <!--$v=0899151 (0303)-->location, we call this a centralized database.
- <!--$v=0902724 (0304)-->This is what Kerberos, TACACS, RADIUS,
- <!--$v=0905793 (0305)-->and the one-time passwords will all use.
- <!--$v=0908679 (0306)-->There are some good reasons to keep
- <!--$v=0911152 (0307)-->localized databases on the routers.
- <!--$v=0913946 (0308)-->There's a lot of other good reasons to move it off to a centralized
- <!--$v=0917015 (0309)-->database. If you have a lot of routers, or
- <!--$v=0920542 (0310)-->perhaps you have a very complex configuration,
- <!--$v=0923565 (0311)-->or you absolutely are required to use one-time passwords,
- <!--$v=0927092 (0312)-->then it's always very good to have a centralized database
- <!--$v=0930574 (0313)-->of your authentication.
- <!--$v=0933001 (0314)-->Let's take a look at this. I'm going to go through some
- <!--$v=0935933 (0315)-->examples here and I'm going to use TACACS+.
- <!--$v=0938910 (0316)-->This is just what I had working for me. All of these
- <!--$v=0941887 (0317)-->configurations will work very well also with RADIUS
- <!--$v=0945414 (0318)-->or Kerberos, and you can get into the one-time passwords as well.
- <!--$v=0948850 (0319)-->What I've got here is an
- <!--$v=0951781 (0320)-->authentication mechanism for IOS,
- <!--$v=0955217 (0321)-->and I'm using IOS Version 11.2.
- <!--$v=0958286 (0322)-->Let's walk through this configuration and make sure that everyone's
- <!--$v=0960988 (0323)-->familiar with this. First thing, we've got that
- <!--$v=0964424 (0324)-->service password-encryption. This is
- <!--$v=0967126 (0325)-->going to, wherever it finds a cleartext
- <!--$v=0970378 (0326)-->password, run it through that encryption type 7
- <!--$v=0973859 (0327)-->so it'll come out not cleartexted any longer.
- <!--$v=0976562 (0328)-->Hostname Router -
- <!--$v=0979356 (0329)-->yeah, my mind was in brain-lock when I came up with this
- <!--$v=0982746 (0330)-->configuration, a aaa new-model.
- <!--$v=0985631 (0331)-->Last year Lowell Grant went through a very good
- <!--$v=0988609 (0332)-->explanation why you need this aaa new-model
- <!--$v=0991678 (0333)-->in order to come up with TACACS+ or use
- <!--$v=0994105 (0334)-->TACACS+ in the IOS. The next three
- <!--$v=0997449 (0335)-->lines are pretty much the meat of this configuration snip,
- <!--$v=0999831 (0336)-->this part: the aaa authentication
- <!--$v=1003083 (0337)-->login billy. What we're doing here,
- <!--$v=1006518 (0338)-->we're defining a list of authentication
- <!--$v=1009587 (0339)-->mechanisms that the router will use
- <!--$v=1012336 (0340)-->and the order that it will try them out in. The first
- <!--$v=1015542 (0341)-->element of this list
- <!--$v=1017924 (0342)-->is TACACS+.
- <!--$v=1020535 (0343)-->If that fails - this is not if it returns a negative
- <!--$v=1024107 (0344)-->response, this is if TACACS+,
- <!--$v=1027268 (0345)-->the TACACS+ server cannot be found,
- <!--$v=1030703 (0346)-->then the router's going to flip on and use
- <!--$v=1033726 (0347)-->the next mechanism, and this is what we call enable.
- <!--$v=1037116 (0348)-->We'll go through exactly where
- <!--$v=1040093 (0349)-->this applies and how it gets used just a few minutes here.
- <!--$v=1042750 (0350)-->The second line there of these three,
- <!--$v=1045407 (0351)-->the aaa authentication
- <!--$v=1048063 (0352)-->login bobby. Okay, this is a different
- <!--$v=1051316 (0353)-->list that we're setting up here. First it's going to, again, try TACACS+.
- <!--$v=1054797 (0354)-->If it cannot establish a session with
- <!--$v=1057637 (0355)-->the TACACS server, then it'll move over to a local
- <!--$v=1061072 (0356)-->database authentication mechanism.
- <!--$v=1063546 (0357)-->The third line is the enable secret 5,
- <!--$v=1067027 (0358)-->and, again, the very, very long string. I cut that out
- <!--$v=1070279 (0359)-->because it just kept on going and going and going.
- <!--$v=1073073 (0360)-->Down at the bottom, the last line of this
- <!--$v=1075959 (0361)-->configuration, username bill,
- <!--$v=1079211 (0362)-->and, again, it's been encrypted with
- <!--$v=1082417 (0363)-->the type 7 and some string out there.
- <!--$v=1084982 (0364)-->I think I used junk there so you can see how
- <!--$v=1088326 (0365)-->that thing gets sort of convoluted as it gets thrown in here.
- <!--$v=1091853 (0366)-->Let's take a look
- <!--$v=1094510 (0367)-->at the rest of the configuration and see how we can apply
- <!--$v=1098082 (0368)-->this. The TACACS-server host
- <!--$v=1100922 (0369)-->10.1.1.2 - I have a very simple network that I'm setting this up
- <!--$v=1104220 (0370)-->in - it's going to define where the TACACS
- <!--$v=1106969 (0371)-->server is, and, of course, you can have multiple of these
- <!--$v=1110129 (0372)-->and then you're going to need to keep these things synchronized across your network.
- <!--$v=1113610 (0373)-->TACACS-server key - this is very
- <!--$v=1117183 (0374)-->specific for TACACS. The - If
- <!--$v=1120435 (0375)-->you put this command in, the session
- <!--$v=1123229 (0376)-->from the router to the TACACS+ server
- <!--$v=1126207 (0377)-->will be encrypted. It's not a very strong encryption
- <!--$v=1129734 (0378)-->method, but at least it'll give a attacker who can
- <!--$v=1133215 (0379)-->capture this some pause.
- <!--$v=1135597 (0380)-->They might or might not be able to decrypt it
- <!--$v=1137979 (0381)-->depending upon how much of a string they get or
- <!--$v=1141185 (0382)-->how far they are able to capture
- <!--$v=1143796 (0383)-->this string throughout.
- <!--$v=1146315 (0384)-->Now we're going down to the last set of lines here
- <!--$v=1149476 (0385)-->and we're going to apply our authentication
- <!--$v=1152636 (0386)-->mechanisms. Let's look at line con 0 here first.
- <!--$v=1156072 (0387)-->We've got login authentication billy.
- <!--$v=1159186 (0388)-->This is the one - oh, we also do
- <!--$v=1161568 (0389)-->this with the line auxiliary 0 here.
- <!--$v=1163996 (0390)-->So both of these things we're applying this -
- <!--$v=1166378 (0391)-->the list billy to
- <!--$v=1168989 (0392)-->the console and the auxiliary lines.
- <!--$v=1171874 (0393)-->Again, first it's going to try
- <!--$v=1174439 (0394)-->to use TACACS+. If it cannot
- <!--$v=1177004 (0395)-->establish a session with the TACACS+ server,
- <!--$v=1179707 (0396)-->it will come back and try - it will prompt
- <!--$v=1183051 (0397)-->the person trying to log in to just enter the
- <!--$v=1186395 (0398)-->enable password. The VTYs
- <!--$v=1189509 (0399)-->are now set up differently. They're going to use that
- <!--$v=1192120 (0400)-->list bobby, which is first. Again, going to try
- <!--$v=1195143 (0401)-->to use TACACS+. If that fails
- <!--$v=1197846 (0402)-->then they're going to try and use that local password, which
- <!--$v=1201052 (0403)-->we defined bill, and the password for that.
- <!--$v=1204258 (0404)-->Where could you apply this?
- <!--$v=1207144 (0405)-->Let's say that you don't want
- <!--$v=1209572 (0406)-->anyone to send the enable password
- <!--$v=1212778 (0407)-->in the clear across the wide area network,
- <!--$v=1215801 (0408)-->but you know that sometimes this router's going to be
- <!--$v=1218458 (0409)-->yanked out of service, all the
- <!--$v=1221298 (0410)-->connections to it are going to be disconnected.
- <!--$v=1223680 (0411)-->So in that case, if the thing is
- <!--$v=1226062 (0412)-->yanked out of service, it will not be able to establish the session to
- <!--$v=1229634 (0413)-->the TACACS+ server. One of the
- <!--$v=1232932 (0414)-->local administrators, one of the
- <!--$v=1235956 (0415)-->delegated people, the people who locally administrate
- <!--$v=1239437 (0416)-->this router, might be able to set up a local area network
- <!--$v=1242826 (0417)-->to it and just telnet into it and use
- <!--$v=1245987 (0418)-->that password for bill
- <!--$v=1248827 (0419)-->to get into the thing. Otherwise, if they're sitting at the console
- <!--$v=1252262 (0420)-->then they could use the enable password.
- <!--$v=1255652 (0421)-->Let's take a look at this very similar
- <!--$v=1258858 (0422)-->for the PIX. It's important
- <!--$v=1261927 (0423)-->to keep in mind that the PIX does not support a local database.
- <!--$v=1265500 (0424)-->It is all remote database here, so
- <!--$v=1268431 (0425)-->if you turn on an authentication mechanism,
- <!--$v=1271363 (0426)-->and you don't have to on the PIX, then you're going to need to set up
- <!--$v=1274890 (0427)-->a remote - a centralized
- <!--$v=1277730 (0428)-->authentication device out there,
- <!--$v=1281165 (0429)-->a TACACS+ or a RADIUS server.
- <!--$v=1284188 (0430)-->Let's take a look at this configuration
- <!--$v=1286707 (0431)-->snip. I'm using the PIX version 4.0.7.
- <!--$v=1289410 (0432)-->There's a couple of differences between
- <!--$v=1292158 (0433)-->the 4.0.7 or the 4.0 version and
- <!--$v=1294815 (0434)-->the 4.1. Not too many for what we're getting into
- <!--$v=1298113 (0435)-->here, but be aware of them, and you've got a lot more
- <!--$v=1301090 (0436)-->options and stuff in 4.1.
- <!--$v=1304022 (0437)-->Let's take a look here. The enable password,
- <!--$v=1307045 (0438)-->and I've got this - sorry, I've got this flipped here and
- <!--$v=1310205 (0439)-->telnet password and enable password on the side
- <!--$v=1312633 (0440)-->should be flipped of course. Enable password,
- <!--$v=1315519 (0441)-->some crazy string there, and, again,
- <!--$v=1319092 (0442)-->encrypted. This is pretty much the same mechanism.
- <!--$v=1322664 (0443)-->This password, you enter it in cleartext
- <!--$v=1326100 (0444)-->and it gets encrypted so that you can
- <!--$v=1329169 (0445)-->- no one's going to be able to look over your shoulder.
- <!--$v=1332650 (0446)-->Same thing with the - just the password. That
- <!--$v=1335902 (0447)-->password is going to apply to the console port
- <!--$v=1338421 (0448)-->and to the telnet sessions that are permitted into the
- <!--$v=1341673 (0449)-->PIX. Looking down at that TACACS server,
- <!--$v=1344513 (0450)-->again, we're just defining the location of the TACACS server
- <!--$v=1347903 (0451)-->and optionally behind it use the key.
- <!--$v=1350468 (0452)-->This, again, if you use the
- <!--$v=1352850 (0453)-->optional key it will encrypt
- <!--$v=1355232 (0454)-->the session to the TACACS server using that key.
- <!--$v=1358530 (0455)-->Again, not a real strong encryption mechanism, but
- <!--$v=1362057 (0456)-->it might be good for something out there.
- <!--$v=1364897 (0457)-->Next couple of lines here, aaa authentication
- <!--$v=1368378 (0458)-->telnet. What you're doing with this one
- <!--$v=1371355 (0459)-->is anyone attempting to
- <!--$v=1374332 (0460)-->set up a session through the PIX using telnet
- <!--$v=1377905 (0461)-->will get an instream challenge.
- <!--$v=1380608 (0462)-->It's saying that anyone going outbound
- <!--$v=1383219 (0463)-->and the challenge is going to be done via
- <!--$v=1386379 (0464)-->TACACS+. So you have to make sure your TACACS+ server
- <!--$v=1389723 (0465)-->is out there and working before
- <!--$v=1392654 (0466)-->anyone's going to be allowed to use telnet outbound.
- <!--$v=1395219 (0467)-->Same thing with FTP and the same thing with
- <!--$v=1398151 (0468)-->HTTP. Telnet and FTP,
- <!--$v=1400853 (0469)-->these are console sessions,
- <!--$v=1404289 (0470)-->so you're typing in things and getting responses back
- <!--$v=1407037 (0471)-->on a console. HTTP, it's going to come
- <!--$v=1410106 (0472)-->up with a browser screen and
- <!--$v=1412580 (0473)-->prompt you for putting in your username and your password there.
- <!--$v=1415923 (0474)-->All three of these can be
- <!--$v=1418580 (0475)-->compressed down into one line. Rather than using the telnet,
- <!--$v=1421649 (0476)-->FTP, and HTTP keywords, you can use the
- <!--$v=1424809 (0477)-->"any" keyword. The downside of that is
- <!--$v=1428107 (0478)-->before you could use any
- <!--$v=1430856 (0479)-->protocol, let's say SMTP or POP-3
- <!--$v=1433283 (0480)-->or anything else, you've got to be authenticated.
- <!--$v=1436169 (0481)-->There is no instream
- <!--$v=1439055 (0482)-->authentication for POP-3, SMTP or
- <!--$v=1442215 (0483)-->any of the other protocols out there.
- <!--$v=1444780 (0484)-->So your users would have to first go through,
- <!--$v=1447804 (0485)-->establish a telnet session -
- <!--$v=1450277 (0486)-->sort of going through the thing, they don't care if they get there or not -
- <!--$v=1453621 (0487)-->but at least they'll get authenticated and the PIX will put
- <!--$v=1456736 (0488)-->them in the user authentication table,
- <!--$v=1460308 (0489)-->the UATH table there. Once that happens
- <!--$v=1463148 (0490)-->then they will be able to use the SMTP or
- <!--$v=1466217 (0491)-->POP-3 or whatever else they want to.
- <!--$v=1469286 (0492)-->This seems to be quite a bit of a, oh,
- <!--$v=1472630 (0493)-->negative influence on the people that are trying to get through
- <!--$v=1475928 (0494)-->these things who are starting out with
- <!--$v=1478676 (0495)-->non-telnet, FTP or HTTP sessions.
- <!--$v=1481424 (0496)-->Many people just like to go ahead and use
- <!--$v=1484173 (0497)-->specifically these three.
- <!--$v=1486829 (0498)-->Okay, I've got no SNMP information
- <!--$v=1489944 (0499)-->out there. That's just because telnet
- <!--$v=1492647 (0500)-->10.1.1.2 255.255.255.255.
- <!--$v=1495395 (0501)-->
- <!--$v=1497777 (0502)-->That's going to lock it down and say the only
- <!--$v=1500388 (0503)-->device that can telnet into
- <!--$v=1503869 (0504)-->the PIX is going to be that 10.1.1.2
- <!--$v=1506892 (0505)-->device. No one else will be able to
- <!--$v=1509411 (0506)-->telnet to the PIX.
- <!--$v=1512389 (0507)-->Okay, let's talk about the Centri
- <!--$v=1515183 (0508)-->authentication. Primarily
- <!--$v=1517794 (0509)-->it uses Windows NT
- <!--$v=1520634 (0510)-->domains to authenticate people
- <!--$v=1523611 (0511)-->to be able to go through the Centri.
- <!--$v=1526955 (0512)-->I don't want to say this is the only one.
- <!--$v=1529474 (0513)-->This is the primary method. There's also a
- <!--$v=1532818 (0514)-->centralized database on the Centri
- <!--$v=1535337 (0515)-->so that if people coming from, let's say, a
- <!--$v=1537948 (0516)-->UNIX machine or someone that's just not logged into
- <!--$v=1540742 (0517)-->the NT domain, if they
- <!--$v=1543215 (0518)-->want to establish a session going through the Centri
- <!--$v=1546468 (0519)-->they'll be prompted, again, in those same three
- <!--$v=1549445 (0520)-->instream mechanisms, telnet,
- <!--$v=1552285 (0521)-->FTP, and HTTP, they'll be
- <!--$v=1554941 (0522)-->challenged to provide their username and password.
- <!--$v=1557461 (0523)-->Those can be locally set up in the Centri
- <!--$v=1560255 (0524)-->and then if they meet that they'll be allowed to go through.
- <!--$v=1563828 (0525)-->Otherwise, like I said, the primary mechanism
- <!--$v=1566759 (0526)-->is to use the NT domain.
- <!--$v=1569141 (0527)-->They'll be able to log into the domain and their credentials will be
- <!--$v=1572347 (0528)-->passed from the primary or the backup domain controller
- <!--$v=1575279 (0529)-->all the way through to the Centri if they try
- <!--$v=1578256 (0530)-->and establish a session outbound through the Centri.
- <!--$v=1581737 (0531)-->Okay, a couple
- <!--$v=1584440 (0532)-->things. This is not designed - don't design with these in mind - but
- <!--$v=1587829 (0533)-->it's a couple things to be aware of in the future.
- <!--$v=1590486 (0534)-->IOS at some version in 11.3
- <!--$v=1594059 (0535)-->will use better
- <!--$v=1596807 (0536)-->mechanisms for the enable password. It'll be very
- <!--$v=1600243 (0537)-->similar to what you can use for the login
- <!--$v=1602899 (0538)-->passwords right now. This is -
- <!--$v=1606243 (0539)-->what, take the - use
- <!--$v=1608991 (0540)-->TACACS+, RADIUS, or Kerberos to
- <!--$v=1611602 (0541)-->actually set up - or the one-time passwords for the enable
- <!--$v=1615083 (0542)-->password. Also the PIX, they're changing
- <!--$v=1617786 (0543)-->that so that it will start using additional
- <!--$v=1620351 (0544)-->authentication mechanisms for the
- <!--$v=1623053 (0545)-->console and the enable
- <!--$v=1625756 (0546)-->passwords as well.
- <!--$v=1628458 (0547)-->Let's talk about Kerberos for just a second.
- <!--$v=1631115 (0548)-->There's a lot of people that are using this.
- <!--$v=1633497 (0549)-->They're very satisfied with it. It takes a
- <!--$v=1636932 (0550)-->lot to get this thing going. I attempted to do it on
- <!--$v=1640139 (0551)-->a couple of SPARC workstations where the
- <!--$v=1643437 (0552)-->- I got the KDC running on
- <!--$v=1645819 (0553)-->those SPARC workstations. This worked out fairly well.
- <!--$v=1649071 (0554)-->It was pretty easy to set this thing up.
- <!--$v=1651865 (0555)-->It came back and told me everything was working properly,
- <!--$v=1654751 (0556)-->things were going at the logs as I
- <!--$v=1657224 (0557)-->expected them to be. I set up a
- <!--$v=1659789 (0558)-->router to use Kerberos authentication first
- <!--$v=1662904 (0559)-->and I finally got that thing working.
- <!--$v=1665286 (0560)-->It was very, very heavily dependent upon
- <!--$v=1668538 (0561)-->DNS and the correct time throughout the network.
- <!--$v=1671744 (0562)-->First, DNS -
- <!--$v=1674767 (0563)-->I had tried on the KDC to get some things
- <!--$v=1677882 (0564)-->going a little bit fast, so I just used the host's table and
- <!--$v=1680951 (0565)-->it said, "No, it's not going to do that." So I had to go
- <!--$v=1683562 (0566)-->back on the router and align things properly with what the DNS was
- <!--$v=1687089 (0567)-->saying was correct. The time - I found out that the
- <!--$v=1690570 (0568)-->SPARC workstation's time
- <!--$v=1693043 (0569)-->was set to Central and the
- <!--$v=1695471 (0570)-->router's time was set to Pacific.
- <!--$v=1698632 (0571)-->So I went through and changed the skew
- <!--$v=1701472 (0572)-->on the clock on the KDC, made it something like
- <!--$v=1704495 (0573)-->500,000 seconds, ten years' worth
- <!--$v=1707289 (0574)-->of slew on the thing, and it started working okay after that.
- <!--$v=1710724 (0575)-->Beyond that - that's an
- <!--$v=1713610 (0576)-->authentication mechanism. Beyond that you can also use
- <!--$v=1716908 (0577)-->it to encrypt your telnet sessions to the
- <!--$v=1720435 (0578)-->router. This is not only telnet, but also the
- <!--$v=1723046 (0579)-->R login, the R shell, and all the other
- <!--$v=1725886 (0580)-->mechanisms that you can use to get to and control a router.
- <!--$v=1729413 (0581)-->It's a very, very good, strong
- <!--$v=1732024 (0582)-->encryption mechanism. Strong is a
- <!--$v=1735551 (0583)-->relative term today, but it is
- <!--$v=1738207 (0584)-->good and strong, uses 56-bit DES right now,
- <!--$v=1741414 (0585)-->and the -
- <!--$v=1744666 (0586)-->it will go through
- <!--$v=1747093 (0587)-->this instream. That means that
- <!--$v=1750117 (0588)-->it protects the authentication and protects
- <!--$v=1753140 (0589)-->the session so you can be confident
- <!--$v=1755521 (0590)-->of confidentiality, integrity,
- <!--$v=1758453 (0591)-->and strong authentication through this.
- <!--$v=1760881 (0592)-->Okay, one-time passwords -
- <!--$v=1763492 (0593)-->this you can use to
- <!--$v=1766331 (0594)-->set up a session to the router or to any
- <!--$v=1769904 (0595)-->network device, and you'll be prompted.
- <!--$v=1772607 (0596)-->I'm sure you've all seen the key
- <!--$v=1775721 (0597)-->cards, the little token cards that have either a number
- <!--$v=1778699 (0598)-->displayed across them all the time or something that
- <!--$v=1781401 (0599)-->you punch in a number that you get as a challenge -
- <!--$v=1784470 (0600)-->you punch in the number and it comes up with a
- <!--$v=1786990 (0601)-->response. You can put these things in. We support
- <!--$v=1789738 (0602)-->these in CiscoSecure. So it's a
- <!--$v=1792303 (0603)-->additional mechanism. If someone's
- <!--$v=1795097 (0604)-->tapping the wire they're not going to see
- <!--$v=1797662 (0605)-->this password go across in cleartext.
- <!--$v=1801189 (0606)-->Okay, restricting telnet access.
- <!--$v=1804166 (0607)-->Let's talk about this for a few minutes here. We talked about that on the
- <!--$v=1807648 (0608)-->PIX. Let's take a look on IOS and see how that does
- <!--$v=1811129 (0609)-->also. Access-list 12
- <!--$v=1814198 (0610)-->permit - what we're going through here is saying -
- <!--$v=1816717 (0611)-->specifying exactly who can telnet
- <!--$v=1819694 (0612)-->into the router. We're defining
- <!--$v=1822488 (0613)-->that to be the 172.17.55
- <!--$v=1825970 (0614)-->network. Hopefully this is where you've got all your
- <!--$v=1829359 (0615)-->administrators set up so they can
- <!--$v=1831924 (0616)-->telnet into the router. Now we go through and apply
- <!--$v=1834856 (0617)-->that to the VTYs, all the VTY ports.
- <!--$v=1837512 (0618)-->Access-class, special
- <!--$v=1840215 (0619)-->command for who can telnet in. Access-class 12
- <!--$v=1843330 (0620)-->in. We've also got another keyword
- <!--$v=1846215 (0621)-->"out" so that once a person establishes a
- <!--$v=1849651 (0622)-->session on the router, they will not be able to go
- <!--$v=1852628 (0623)-->out with another telnet session
- <!--$v=1855147 (0624)-->unless it meets a different access list.
- <!--$v=1858262 (0625)-->So that's something that you can think about to further
- <!--$v=1861652 (0626)-->confine the authorized administrators.
- <!--$v=1864904 (0627)-->Let's talk about
- <!--$v=1867560 (0628)-->SNMP access control. It's very similar to what we just
- <!--$v=1870858 (0629)-->talked about with the telnet control into the router.
- <!--$v=1873927 (0630)-->Access-list 13 - we're permitting
- <!--$v=1877500 (0631)-->specifically this one device. Again,
- <!--$v=1880340 (0632)-->we're permitting in that second line, permitting another
- <!--$v=1883180 (0633)-->specific device, and with that
- <!--$v=1886432 (0634)-->third line we're now saying
- <!--$v=1889822 (0635)-->snmp-server community
- <!--$v=1892753 (0636)-->public. Public is the
- <!--$v=1895364 (0637)-->community string. That's the password for SNMP.
- <!--$v=1898708 (0638)-->This is the default password
- <!--$v=1901090 (0639)-->that is specified in the RFC. Beyond that,
- <!--$v=1904067 (0640)-->RO is for read only. The
- <!--$v=1906724 (0641)-->other option there is read/write.
- <!--$v=1909243 (0642)-->It's a good thing to make this thing read only.
- <!--$v=1911625 (0643)-->And then finally the final keyword out there
- <!--$v=1914282 (0644)-->is 13, which matches back to your access list.
- <!--$v=1917809 (0645)-->So only these two devices
- <!--$v=1920878 (0646)-->that you've defined will be able to
- <!--$v=1923763 (0647)-->send SNMP queries to
- <!--$v=1927244 (0648)-->the router. The router will look at that and see,
- <!--$v=1930588 (0649)-->"Yeah, this matches. It goes back to
- <!--$v=1934069 (0650)-->or it matches the access list so I can send the responses
- <!--$v=1937092 (0651)-->back to them." If it doesn't, the sessions will be
- <!--$v=1940482 (0652)-->ignored and dropped. Using
- <!--$v=1943826 (0653)-->"public" as your community string
- <!--$v=1946391 (0654)-->is not a very good thing to do. I've seen a lot of
- <!--$v=1949414 (0655)-->articles in <i>Frac Magazine
- <!--$v=1951796 (0656)--></i>specify or telling people go ahead and try
- <!--$v=1955094 (0657)-->public. Again, try Cisco, Pancho,
- <!--$v=1957751 (0658)-->several of the other well-known
- <!--$v=1960361 (0659)-->passwords, community strings to try
- <!--$v=1963339 (0660)-->and take access - or try to take control
- <!--$v=1965950 (0661)-->of the router there. Version 1 of
- <!--$v=1969522 (0662)-->SNMP does send these passwords in cleartext.
- <!--$v=1972546 (0663)-->It also sends the responses back in cleartext.
- <!--$v=1975843 (0664)-->This is a known problem with
- <!--$v=1978546 (0665)-->SNMP Version 1. Version 2 addresses
- <!--$v=1981890 (0666)-->these things. It also puts in a policy reference
- <!--$v=1985371 (0667)-->saying, "This device can do read/write.
- <!--$v=1988944 (0668)-->That device can only do read only.
- <!--$v=1991417 (0669)-->This device can only do read only and is
- <!--$v=1994028 (0670)-->limited to these certain things." Unfortunately
- <!--$v=1997234 (0671)-->SNMP Version 2 has not been
- <!--$v=2000578 (0672)-->widely accepted. People are pretty much waiting for version 3
- <!--$v=2004151 (0673)-->and then they're going to throw all their efforts at that when it comes
- <!--$v=2007632 (0674)-->about. I guess we can say that the SNMP
- <!--$v=2011022 (0675)-->effort has been going on for a long time.
- <!--$v=2013404 (0676)-->A lot of people have a lot of great
- <!--$v=2016243 (0677)-->ideas to go into that thing, and they're trying to pull it all together now.
- <!--$v=2019816 (0678)-->The identification
- <!--$v=2023068 (0679)-->protocol - several times a year we get some questions about this.
- <!--$v=2028977 (0680)-->On paper at first glance it looks really neat.
- <!--$v=2032321 (0681)-->Let me say some negative things about this at the end.
- <!--$v=2035115 (0682)-->Let's go through it here real quick. You might see this on
- <!--$v=2038138 (0683)-->UNIX machines as the ident D
- <!--$v=2041345 (0684)-->process. First, a device
- <!--$v=2043726 (0685)-->is going to telnet into the router, and if you turn this
- <!--$v=2047024 (0686)-->on - proofing this thing I found out, I realized I did not
- <!--$v=2050231 (0687)-->include the command in here, which
- <!--$v=2052796 (0688)-->is just as well. I'd recommend not using this.
- <!--$v=2055453 (0689)-->First, a device is going to try and telnet
- <!--$v=2057972 (0690)-->into the router. The router
- <!--$v=2061316 (0691)-->is going to put that thing on hold, come back, and
- <!--$v=2064614 (0692)-->establish a ident process or
- <!--$v=2068003 (0693)-->ident session back to that host
- <!--$v=2070431 (0694)-->because it knows the source of the session
- <!--$v=2073820 (0695)-->and the source and destination port numbers.
- <!--$v=2076523 (0696)-->So it's going to send back a query to that thing saying,
- <!--$v=2079454 (0697)-->"Who is this?" If everything's working correctly
- <!--$v=2083027 (0698)-->that device is going to send back, "Well, that's
- <!--$v=2086371 (0699)-->Chris. So hey, it's okay."
- <!--$v=2088753 (0700)-->If everything gets satisfied correctly
- <!--$v=2091180 (0701)-->the router will take that telnet process that it had on hold
- <!--$v=2094707 (0702)-->and then allow
- <!--$v=2097593 (0703)-->it to proceed. It's the syn - after everything
- <!--$v=2101074 (0704)-->happens it'll send back the syn/ack and things will go from there.
- <!--$v=2104556 (0705)-->Within the RFC, and this is RFC
- <!--$v=2107670 (0706)-->1413, I've included the
- <!--$v=2110052 (0707)-->security concerns as a
- <!--$v=2112526 (0708)-->- in the speaker notes
- <!--$v=2114999 (0709)-->of this presentation. You might want to go through that
- <!--$v=2117381 (0710)-->or you might want to get a copy of RFC 1413.
- <!--$v=2120450 (0711)-->It starts out by saying, "The information
- <!--$v=2123656 (0712)-->returned by this protocol is at most as trustworthy
- <!--$v=2127183 (0713)-->as the host providing it." It
- <!--$v=2129611 (0714)-->pretty much goes downhill from there, saying you -
- <!--$v=2132313 (0715)-->it can be spoofed fairly easily.
- <!--$v=2135062 (0716)-->So this is something you can use.
- <!--$v=2138085 (0717)-->I don't know, I've never seen anyone actually using this
- <!--$v=2141108 (0718)-->in a real network before.
- <!--$v=2143994 (0719)-->Okay, let's talk about some resource deprivation attacks.
- <!--$v=2147566 (0720)-->Within the
- <!--$v=2150681 (0721)-->IP protocol there are four different
- <!--$v=2153704 (0722)-->applications, if you will, that have been defined.
- <!--$v=2156773 (0723)-->The first one is the Echo protocol,
- <!--$v=2159338 (0724)-->and these things apply to both TCP and UDP.
- <!--$v=2162865 (0725)-->So the first one, Echo -
- <!--$v=2165247 (0726)-->if you establish a TCP
- <!--$v=2168133 (0727)-->session to a router or some other network
- <!--$v=2171064 (0728)-->device on port number 7,
- <!--$v=2174042 (0729)-->every key that you type in
- <!--$v=2176927 (0730)-->will be echoed back to you.
- <!--$v=2179676 (0731)-->This is a great thing, okay. The
- <!--$v=2182332 (0732)-->Discard protocol - if you establish a TCP or
- <!--$v=2185356 (0733)-->UDP session over to a router,
- <!--$v=2188424 (0734)-->every key you type in will be discarded
- <!--$v=2191402 (0735)-->by the router. I usually bundle up all
- <!--$v=2194837 (0736)-->my excess e-mail and start up that session number 9 and just
- <!--$v=2198410 (0737)-->sort of dump it down there. Number 13
- <!--$v=2201479 (0738)-->is the Daytime. If you set up a TCP or
- <!--$v=2204502 (0739)-->UDP session to a router
- <!--$v=2207571 (0740)-->on port number 13, the router's going
- <!--$v=2210273 (0741)-->to respond back with what it thinks
- <!--$v=2212930 (0742)-->the date and time are. Okay.
- <!--$v=2215358 (0743)-->None of these things are pretty
- <!--$v=2218060 (0744)-->dangerous by themselves unless something like
- <!--$v=2221404 (0745)-->you and 50,000 of your closest friends
- <!--$v=2223923 (0746)-->all establish these sessions to the router at the same time.
- <!--$v=2227084 (0747)-->The router will pretty much just sit there
- <!--$v=2230107 (0748)-->and think about how to handle all of these sessions
- <!--$v=2233405 (0749)-->coming to it. The
- <!--$v=2236153 (0750)-->- one of the nastier ones here is this fourth
- <!--$v=2239131 (0751)-->one, character generation, or Chargen.
- <!--$v=2241741 (0752)-->If you establish a
- <!--$v=2244673 (0753)-->TCP session on port number 19
- <!--$v=2247879 (0754)-->to a router, the router will
- <!--$v=2250765 (0755)-->take all those e-mail messages that I shoved to it on the Discard
- <!--$v=2254338 (0756)-->port and will continually send you back
- <!--$v=2257773 (0757)-->one character at a time.
- <!--$v=2260247 (0758)-->This is actually an ordered progression of characters.
- <!--$v=2263178 (0759)-->If you start it up,
- <!--$v=2265560 (0760)-->the only way to stop it is by
- <!--$v=2268354 (0761)-->killing the TCP session there. If you
- <!--$v=2271377 (0762)-->allow it to go, the router's going to spend a lot of
- <!--$v=2274309 (0763)-->cycles continually sending you back one packet,
- <!--$v=2277286 (0764)-->one character at a time. Okay.
- <!--$v=2280218 (0765)-->The really nasty thing about
- <!--$v=2282600 (0766)-->this is that in a UDP datagram
- <!--$v=2285623 (0767)-->there's no response, there is no
- <!--$v=2288234 (0768)-->implied session about the thing.
- <!--$v=2290844 (0769)-->Attackers have been able to craft packets. Let's say they
- <!--$v=2293959 (0770)-->come from this router over here and they're going to this router over here
- <!--$v=2297257 (0771)-->and they say "UDP Chargen." So this router now
- <!--$v=2300830 (0772)-->continually sends back
- <!--$v=2303258 (0773)-->packets to the other router, which is just going,
- <!--$v=2305868 (0774)-->"Hey, where did this stuff come from?" It's pretty easy to
- <!--$v=2309350 (0775)-->turn these things off. Why would we
- <!--$v=2311960 (0776)-->have these things turned on to begin with? It's required in
- <!--$v=2315258 (0777)-->RFC 1812. To be a real
- <!--$v=2318098 (0778)-->Internet-compliant router you've got to support certain
- <!--$v=2321213 (0779)-->things. Go through, turn these things off. No
- <!--$v=2324603 (0780)-->service udp-small-servers and no
- <!--$v=2327305 (0781)-->service tcp-small-servers as well.
- <!--$v=2330832 (0782)-->This will make the router not listen
- <!--$v=2334222 (0783)-->on these ports. It won't deal with this stuff anymore.
- <!--$v=2337336 (0784)-->Another one is the finger
- <!--$v=2339810 (0785)-->service, TCP and UDP 79,
- <!--$v=2342238 (0786)-->although it is pretty much just used on
- <!--$v=2344894 (0787)-->TCP 79. Turn this one off with the no
- <!--$v=2348146 (0788)-->service finger as well. Attackers can use
- <!--$v=2351170 (0789)-->this to find out who is logged in to
- <!--$v=2354330 (0790)-->a network device at any given time.
- <!--$v=2356987 (0791)-->If they can get the information about
- <!--$v=2359964 (0792)-->usernames, they'll be able to try those things
- <!--$v=2363400 (0793)-->first. It is usually good to do
- <!--$v=2366010 (0794)-->no service finger on the routers.
- <!--$v=2369263 (0795)-->ARP control -
- <!--$v=2371736 (0796)-->this is something - it's for the control
- <!--$v=2375217 (0797)-->freaks out there. If you have a
- <!--$v=2378240 (0798)-->very small network and you don't
- <!--$v=2380989 (0799)-->want anything to happen without you knowing about
- <!--$v=2383554 (0800)-->it, you can go through and statically define the IP
- <!--$v=2386806 (0801)-->address with the Mac address. In this example here
- <!--$v=2390241 (0802)-->the router is going to know always that that
- <!--$v=2393081 (0803)-->device, 172.1.1.99,
- <!--$v=2396471 (0804)-->is at that Mac address. It won't have
- <!--$v=2399127 (0805)-->to ARP for it. It won't have to go searching for it.
- <!--$v=2401738 (0806)-->Someone else can, yes,
- <!--$v=2404349 (0807)-->turn on their machine with the same IP
- <!--$v=2407601 (0808)-->address, ostensibly a different Mac address,
- <!--$v=2410029 (0809)-->and there will be conflicts between these two
- <!--$v=2413373 (0810)-->devices. The router won't see that conflict because he's not
- <!--$v=2416625 (0811)-->looking for it. It's not doing anything, but it will know for sure
- <!--$v=2420152 (0812)-->that that one device is the only one and true
- <!--$v=2423267 (0813)-->172.1.1.99.
- <!--$v=2426107 (0814)-->We've gotten some
- <!--$v=2428992 (0815)-->requests periodically also, "I want
- <!--$v=2431695 (0816)-->these people to be able to do this,
- <!--$v=2434260 (0817)-->but the real administrators to be able to do this." This is quite often
- <!--$v=2437833 (0818)-->operations people. You want them to come in,
- <!--$v=2440306 (0819)-->clear the interfaces or do something
- <!--$v=2443192 (0820)-->else. Yes, we've got 16 levels of administration
- <!--$v=2446765 (0821)-->on the router. Let's take a look at
- <!--$v=2449925 (0822)-->this configuration snip here. Privilege
- <!--$v=2453406 (0823)-->level -or privilege exec level 9 show.
- <!--$v=2456796 (0824)-->What we're doing here is we're defining
- <!--$v=2459407 (0825)-->the level 9 administrators
- <!--$v=2461880 (0826)-->and we're applying the command "show" to
- <!--$v=2464949 (0827)-->that level. That means it will not be available to
- <!--$v=2468156 (0828)-->anyone below level 9. It'll be available
- <!--$v=2471087 (0829)-->to level 9 and above administrators.
- <!--$v=2474202 (0830)-->This means if you normally just log in
- <!--$v=2476675 (0831)-->at the level 0, the user level,
- <!--$v=2479698 (0832)-->you will not be able to enter the command "show."
- <!--$v=2482401 (0833)-->Right after that,
- <!--$v=2484966 (0834)-->enable secret level 9, then the password,
- <!--$v=2488493 (0835)-->and finally the enable secret 5.
- <!--$v=2491150 (0836)-->This is the level 15 password, the
- <!--$v=2494356 (0837)-->default-authorized
- <!--$v=2496829 (0838)-->administrator into the IOS. Looking at a
- <!--$v=2500311 (0839)-->session to that router, starts out
- <!--$v=2503288 (0840)-->with you're in enable mode, show priv.
- <!--$v=2506219 (0841)-->Comes back and says your current level is 15.
- <!--$v=2508785 (0842)-->You are the top-level administrator
- <!--$v=2511212 (0843)-->on the router at that time. If you disable and
- <!--$v=2514739 (0844)-->come back in enable 9, now it's going to
- <!--$v=2517900 (0845)-->ask you for the level 9 password and you can enter
- <!--$v=2520969 (0846)-->that and you'll be at level 9.
- <!--$v=2523351 (0847)-->You can do show priv because
- <!--$v=2526190 (0848)-->that show command has been applied to
- <!--$v=2529259 (0849)-->you. It will tell you that the
- <!--$v=2532053 (0850)-->current privilege level is 9, and,
- <!--$v=2534664 (0851)-->again, this is very effective for operations people
- <!--$v=2537229 (0852)-->that you want to be able to clear interfaces or
- <!--$v=2539840 (0853)-->clear counters or something like that, but not get into
- <!--$v=2543321 (0854)-->the configuration.
- <!--$v=2546528 (0855)-->Audit Trail - let's take a look at the
- <!--$v=2549001 (0856)-->IOS syslog audit trail
- <!--$v=2551887 (0857)-->here. Let's start in that middle box, the actual
- <!--$v=2554681 (0858)-->configuration snippet there. Version 11.2,
- <!--$v=2558117 (0859)-->service timestamps log datetime
- <!--$v=2561598 (0860)-->localtime show-timezones. And you've got options out there, you might as well throw
- <!--$v=2565079 (0861)-->them into the thing. The last line there, logging 10.1.1.2.
- <!--$v=2568652 (0862)-->This defines where the syslog server is
- <!--$v=2571721 (0863)-->that the router will bundle up these messages to
- <!--$v=2574423 (0864)-->and send them to it. Moving up to that top box
- <!--$v=2577996 (0865)-->on the UNIX machine, this comes up
- <!--$v=2581523 (0866)-->and it says, let's go ahead and take
- <!--$v=2584088 (0867)-->a look at the log file there and I've called it
- <!--$v=2587523 (0868)-->cisco.log. Comes up, says February 17 -
- <!--$v=2590180 (0869)-->this is looking at the syslog file on the UNIX
- <!--$v=2593707 (0870)-->machine. February 17 21:48 -
- <!--$v=2596501 (0871)-->sure enough, that was the date that I did this. Gives the address that
- <!--$v=2599433 (0872)-->the message came from,
- <!--$v=2602318 (0873)-->has a star or an asterisk out there, March 2,
- <!--$v=2605662 (0874)-->11:51 and that's kind of
- <!--$v=2608960 (0875)-->strange, and then after that it comes up with the actual
- <!--$v=2612304 (0876)-->message saying that it was configured. Checking the date on
- <!--$v=2615739 (0877)-->my UNIX machine, sure enough, couple of seconds later
- <!--$v=2618533 (0878)-->it gives me the correct time.
- <!--$v=2620915 (0879)-->Going back and logging into the router, that lower
- <!--$v=2624213 (0880)-->blue box there - if you do a sho clock on that
- <!--$v=2627282 (0881)-->the router comes back and says, "Hey, look.
- <!--$v=2629710 (0882)-->I absolutely know that it's
- <!--$v=2632275 (0883)-->11:53 a.m. Central Standard Time, March
- <!--$v=2635848 (0884)-->2, 1993, by the way."
- <!--$v=2638275 (0885)-->This is a little bit off, of
- <!--$v=2641115 (0886)-->course. The two times are not synchronized and
- <!--$v=2644551 (0887)-->that's what that asterisk means right there, or actually
- <!--$v=2647848 (0888)-->in both places. The asterisk means
- <!--$v=2651101 (0889)-->that it does not have an authenticated time
- <!--$v=2653757 (0890)-->source, so it's just using its local
- <!--$v=2656506 (0891)-->clock on the router. Of course
- <!--$v=2659162 (0892)-->you want to synchronize these things. You want to run
- <!--$v=2662735 (0893)-->NTP across your network so that you're not left sitting
- <!--$v=2665987 (0894)-->there after the barn burns down trying to figure out
- <!--$v=2669148 (0895)-->well, you know, what happened first? Did the lantern fall
- <!--$v=2672308 (0896)-->over before the horses ran out or after the horses ran out?
- <!--$v=2675560 (0897)-->Synchronize your clocks across your entire network
- <!--$v=2679087 (0898)-->and you won't have to be thinking about, "Well, if I move
- <!--$v=2682614 (0899)-->this up and move that down, then the clock skews
- <!--$v=2685180 (0900)-->on these things are here and there." Don't do that. Synchronize
- <!--$v=2688752 (0901)-->the clocks and get your logging messages
- <!--$v=2691501 (0902)-->going. Again, pretty much similar thing
- <!--$v=2694707 (0903)-->on the PIX syslog looking down at the lower
- <!--$v=2698234 (0904)-->box, the configuration there. Down at the very bottom of that
- <!--$v=2701578 (0905)-->syslog output 20.6.
- <!--$v=2703960 (0906)-->This is facility and
- <!--$v=2706433 (0907)-->level. We're starting at level 6 here, we're defining
- <!--$v=2709548 (0908)-->level 6. That's everything
- <!--$v=2712708 (0909)-->except the debugging messages. This is quite often
- <!--$v=2715686 (0910)-->way too much information for
- <!--$v=2718113 (0911)-->everybody. Usually it's at level 3, which is informational,
- <!--$v=2721503 (0912)-->and above up to level 0, which is -
- <!--$v=2724297 (0913)-->I believe it's system unavailable.
- <!--$v=2727183 (0914)-->The facility there, if you
- <!--$v=2729931 (0915)-->add 16 or if you take away 16 from that number
- <!--$v=2732817 (0916)-->it'll tell you the actual facility.
- <!--$v=2735702 (0917)-->Like, it'll start out at facility 0 for
- <!--$v=2739000 (0918)-->a - using a 16.3 in there.
- <!--$v=2742573 (0919)-->Quite often the UNIX machines require that to come in
- <!--$v=2746146 (0920)-->at a specific level. So you need to think about that and match
- <!--$v=2749719 (0921)-->that up when going to a specific
- <!--$v=2752101 (0922)-->syslog server out there.
- <!--$v=2754712 (0923)-->Taking a look at the top of that thing, tail the
- <!--$v=2757414 (0924)-->PIX log. It says pretty much the same thing.
- <!--$v=2759796 (0925)-->One difference you'll note here is that the PIX
- <!--$v=2762727 (0926)-->is not keeping wall clock or day clock. It
- <!--$v=2765751 (0927)-->will just put in the clock - or the syslog mechanism
- <!--$v=2769323 (0928)-->will actually put in the clock right there.
- <!--$v=2771888 (0929)-->So what do we do with
- <!--$v=2774774 (0930)-->all of these syslog messages?
- <!--$v=2777660 (0931)-->Just like everyone else, once a month you go through and
- <!--$v=2780820 (0932)-->delete the things because they're taking up a heck of a lot of log
- <!--$v=2783523 (0933)-->space or disk space on your machines.
- <!--$v=2786271 (0934)-->No, that's the wrong answer.
- <!--$v=2788653 (0935)-->Get some automated tools to parse these
- <!--$v=2791630 (0936)-->things for you. Syslog messages,
- <!--$v=2794516 (0937)-->yes. They can take up a ton of log
- <!--$v=2796990 (0938)-->space and it's very tedious to try and go through these.
- <!--$v=2799967 (0939)-->There have been some real good efforts on
- <!--$v=2802669 (0940)-->some free products out there that will go through
- <!--$v=2805051 (0941)-->and munge through this to make a report for you, or
- <!--$v=2808258 (0942)-->we've got as an example here Cisco Resource Manager,
- <!--$v=2811693 (0943)-->which can show you
- <!--$v=2814258 (0944)-->in HTTP format - it can run on
- <!--$v=2816823 (0945)-->a UNIX machine and come up with HTTP
- <!--$v=2819892 (0946)-->session, which will go through and
- <!--$v=2822411 (0947)-->review the logs for you. It'll come up with
- <!--$v=2825480 (0948)-->summaries. It'll come up with reports and,
- <!--$v=2827908 (0949)-->in fact, summaries of the reports. This is
- <!--$v=2830565 (0950)-->pretty much like going to the admiral after you come back
- <!--$v=2833130 (0951)-->from your mission out on the ship
- <!--$v=2836107 (0952)-->and say, "Hey, you know, day one
- <!--$v=2838947 (0953)-->I did these things," and the admiral's going to go, "No, no, no. Just give me the summary
- <!--$v=2842428 (0954)-->of this." "Fine, here you go. For all the 30 days I did
- <!--$v=2845772 (0955)-->this." Comes up with some very nice reports on the
- <!--$v=2848520 (0956)-->things. By all means go through and
- <!--$v=2850994 (0957)-->review those reports. You've got an automated tool
- <!--$v=2854292 (0958)-->to munge the stuff down. At least pay attention to that.
- <!--$v=2857819 (0959)-->Okay, let's move outwards a little bit
- <!--$v=2861208 (0960)-->now. We've gone through how to
- <!--$v=2863865 (0961)-->protect the routers, the PIX, and the other devices out there.
- <!--$v=2867254 (0962)-->Let's take a look at how we can apply that and some other
- <!--$v=2870552 (0963)-->things to actually protecting
- <!--$v=2873209 (0964)-->some additional resources in your network.
- <!--$v=2875866 (0965)-->Let's start out with some of the more common threats here.
- <!--$v=2878980 (0966)-->First one is spoofing. This has gotten
- <!--$v=2881362 (0967)-->a lot of press lately. What
- <!--$v=2884843 (0968)-->happens in spoofing is we've got this device
- <!--$v=2887546 (0969)-->out there, 172.16.42.84,
- <!--$v=2890890 (0970)-->obviously the evil device out there. Who is
- <!--$v=2894234 (0971)-->crafting a packet and sending it
- <!--$v=2896661 (0972)-->in through your boundary
- <!--$v=2899318 (0973)-->router, through your first line of defense there
- <!--$v=2901700 (0974)-->towards that machine 10.1.1.2?
- <!--$v=2904173 (0975)-->And the crafting part of it is it's saying
- <!--$v=2907105 (0976)-->the source is 10.1.1.1. The router
- <!--$v=2910265 (0977)-->would normally only look at the
- <!--$v=2912876 (0978)-->destination of that packet. It's going to see
- <!--$v=2916403 (0979)-->yes, it is defined to go to
- <!--$v=2919197 (0980)-->10.1 network, so it will forward it all the way in there.
- <!--$v=2922633 (0981)-->This is not a good thing if you're not expecting
- <!--$v=2925839 (0982)-->this. A way around this is to put in an access
- <!--$v=2929412 (0983)-->list. We've got it down there at the bottom of the configuration
- <!--$v=2931885 (0984)-->snip, says access-list 111 deny
- <!--$v=2935458 (0985)-->ip 127. Should there ever be any
- <!--$v=2938160 (0986)-->packets coming from the 127 network? No, of course not.
- <!--$v=2941642 (0987)-->The second line of that deny
- <!--$v=2944344 (0988)-->ip, and then you put in the address
- <!--$v=2946726 (0989)-->for your protected network or networks
- <!--$v=2949932 (0990)-->there. Of course you're going to need -
- <!--$v=2952360 (0991)-->after everything else you're going to need an access-list
- <!--$v=2955750 (0992)-->111 permit any any just to fill that thing out.
- <!--$v=2959322 (0993)-->Then you're going to go back up and apply that as an inbound
- <!--$v=2962895 (0994)-->access list
- <!--$v=2965598 (0995)-->on the external interface, and that's going to be the serial interface
- <!--$v=2968987 (0996)-->there. It's going to look at packets such as the one that's been
- <!--$v=2972468 (0997)-->crafted, look at it and say, "No. This one
- <!--$v=2975492 (0998)-->does not - should not be coming in."
- <!--$v=2978057 (0999)-->So the packet's - or the router's going to drop that.
- <!--$v=2980530 (1000)-->There's also another line here, the no
- <!--$v=2983233 (1001)-->ip directed-broadcasts. This has gotten some
- <!--$v=2986760 (1002)-->press pretty recently. Packets can come
- <!--$v=2989462 (1003)-->in from the outside which tell a network
- <!--$v=2992943 (1004)-->device to split this up and
- <!--$v=2995463 (1005)-->send it to broadcast address on a
- <!--$v=2998440 (1006)-->destination network. Again, you probably
- <!--$v=3001600 (1007)-->don't want this all the time. Certain situations you do,
- <!--$v=3004807 (1008)-->especially if you have some multicast or
- <!--$v=3007601 (1009)-->multimedia applications going on, but as a
- <!--$v=3010487 (1010)-->resource protection if you know that's not
- <!--$v=3012914 (1011)-->going to happen on some internal network, turn it off.
- <!--$v=3016441 (1012)-->ICMP
- <!--$v=3018869 (1013)-->types of attacks -
- <!--$v=3022075 (1014)-->these have gotten some press recently,
- <!--$v=3024778 (1015)-->various things. We can get around
- <!--$v=3027434 (1016)-->this, again, with another access list. The example here
- <!--$v=3031007 (1017)-->is access-list 101 permit icmp
- <!--$v=3034534 (1018)-->any any, whatever you want to put in there,
- <!--$v=3037603 (1019)-->the type and the code.
- <!--$v=3040122 (1020)-->What I've got from RFC 792 right here are all the
- <!--$v=3043191 (1021)-->various types. The ICMP
- <!--$v=3045619 (1022)-->ping starts out with type number
- <!--$v=3048780 (1023)-->8 and then the
- <!--$v=3051299 (1024)-->response is type number 0, the echo reply.
- <!--$v=3054734 (1025)-->You can go through and
- <!--$v=3057162 (1026)-->figure out which of these you want to
- <!--$v=3059956 (1027)-->allow into your network and which ones -
- <!--$v=3062384 (1028)-->which responses you want to allow out. I've seen some people
- <!--$v=3065956 (1029)-->say, "Cut them all off. ICMP is just evil,
- <!--$v=3069254 (1030)-->especially at the perimeter. Cut it
- <!--$v=3071865 (1031)-->all off." A lot of things will
- <!--$v=3074476 (1032)-->not work in that instance. The pings will not
- <!--$v=3077179 (1033)-->work, the trace route will not work. Various other things
- <!--$v=3080614 (1034)-->won't either. It's your decision whether you want to turn this on or
- <!--$v=3084049 (1035)-->off. Mostly what I've seen are people going through
- <!--$v=3087210 (1036)-->there figuring out exactly which ones they want to have
- <!--$v=3090783 (1037)-->turned on, and specifically only turning those on.
- <!--$v=3093989 (1038)-->A couple of extra things right here.
- <!--$v=3096508 (1039)-->The - let's see,
- <!--$v=3100081 (1040)-->if you look at type number 3, destination unreachable
- <!--$v=3103654 (1041)-->messages, those are sent out from a
- <!--$v=3106173 (1042)-->router. When a packet comes in, the router knows
- <!--$v=3109242 (1043)-->that that destination, either a network or a specific
- <!--$v=3111807 (1044)-->host is unavailable, the router will send
- <!--$v=3115059 (1045)-->back, "No, can't send that packet. I can't
- <!--$v=3117670 (1046)-->complete this session for you, and here's why." It'll give you
- <!--$v=3121243 (1047)-->the type or the code with that.
- <!--$v=3123625 (1048)-->If you put this
- <!--$v=3126007 (1049)-->configuration command onto an interface, IOS
- <!--$v=3129396 (1050)-->is not going to send the IP unreachables out
- <!--$v=3132740 (1051)-->there. This is a piece of information that an attacker could
- <!--$v=3136267 (1052)-->use to exploit a known problem
- <!--$v=3139428 (1053)-->or a known hole in your
- <!--$v=3142726 (1054)-->network with - by knowing that
- <!--$v=3145840 (1055)-->some network is down or some specific host is
- <!--$v=3149001 (1056)-->down. So put that thing on and you can feel a little bit more comfortable with
- <!--$v=3152482 (1057)-->that. The other one there, no ip redirects -
- <!--$v=3155643 (1058)-->ip redirects are good in
- <!--$v=3158437 (1059)-->certain instances. For perimeter
- <!--$v=3161048 (1060)-->protection? No, they should probably be turned off as well.
- <!--$v=3163567 (1061)-->You apply that to an interface and now the
- <!--$v=3167048 (1062)-->IOS will not accept an ICMP
- <!--$v=3170300 (1063)-->redirect from external sources.
- <!--$v=3173827 (1064)-->Source routing - you've probably
- <!--$v=3176255 (1065)-->heard of this one in popular press as well recently.
- <!--$v=3178682 (1066)-->This is where
- <!--$v=3181248 (1067)-->a external device sends a packet
- <!--$v=3184820 (1068)-->in claiming to be some IP
- <!--$v=3187431 (1069)-->address that's not in the normal routing
- <!--$v=3190317 (1070)-->tables. There's good reasons for this. It was defined in
- <!--$v=3193478 (1071)-->RFC 792, the Internet protocol,
- <!--$v=3196409 (1072)-->to allow
- <!--$v=3199112 (1073)-->some host out there who's
- <!--$v=3201493 (1074)-->been moved - this is the first thoughts of IP
- <!--$v=3204471 (1075)-->mobility - some host that's out there
- <!--$v=3206853 (1076)-->can put together a packet saying,
- <!--$v=3209326 (1077)-->"I really am part of this
- <!--$v=3211754 (1078)-->network and here is the path to get back to
- <!--$v=3215143 (1079)-->me," and it'll loop around. In this situation here
- <!--$v=3218121 (1080)-->the private network is being protected by some router.
- <!--$v=3221373 (1081)-->Somewhere else we have the real network
- <!--$v=3224167 (1082)-->10.16. If you're not
- <!--$v=3227007 (1083)-->expecting source routing or source-routed
- <!--$v=3229434 (1084)-->packets to come into that network, apply the IP
- <!--$v=3232641 (1085)-->source - no IP source routing command
- <!--$v=3235664 (1086)-->to the external interface and that'll
- <!--$v=3238550 (1087)-->look at the IP options there,
- <!--$v=3241390 (1088)-->identify the source routing of that, and immediately
- <!--$v=3244871 (1089)-->kill those type of packets.
- <!--$v=3247894 (1090)-->In this configuration you see we are actually
- <!--$v=3251283 (1091)-->allowing 10.16 packets in, but
- <!--$v=3254398 (1092)-->not if they are source
- <!--$v=3256398 (1093)-->routed.
- </BODY>
- </HTML>
-