RTR7200# show running-config | include banner

advertisement
Table of Contents
Introduction: ................................................................................................................................................. 3
Router Security Overview ............................................................................................................................. 4
Passwords.................................................................................................................................................. 4
Traffic Filtering .......................................................................................................................................... 4
Authentication .......................................................................................................................................... 4
Management ............................................................................................................................................. 4
Hardware................................................................................................................................................... 5
Physical...................................................................................................................................................... 5
Internetworking Operating System (IOS) .................................................................................................. 5
Harden the Router .................................................................................................................................... 5
GNS3 Network Basics .................................................................................................................................... 6
Management Plane Commands .................................................................................................................... 8
Filtering ....................................................................................................................................................... 17
Ingress & Egress Filters: .......................................................................................................................... 17
Ingress Access List: .................................................................................................................................. 18
Egress Access List: ................................................................................................................................... 18
ICMP: ....................................................................................................................................................... 19
Authentication ............................................................................................................................................ 20
Local ........................................................................................................................................................ 20
AAA .......................................................................................................................................................... 20
Routing ........................................................................................................................................................ 23
EIGRP Authentication .............................................................................................................................. 23
OSPF Authentication ............................................................................................................................... 24
Management Access ................................................................................................................................... 25
Configure Secure Shell (SSH): .................................................................................................................. 26
Changing Secure Shell (SSH) Defaults: .................................................................................................... 27
Allowing Access to Secure Shell (SSH):.................................................................................................... 27
Configure Secure HTTP (HTTPS): ............................................................................................................. 28
Restrict Access to HTTPS: ........................................................................................................................ 28
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Banners: .................................................................................................................................................. 29
Logging .................................................................................................................................................... 29
Configuration File Management ............................................................................................................. 31
Exclusive Configuration Access ............................................................................................................... 33
Software Resilience................................................................................................................................. 33
SNMP ...................................................................................................................................................... 34
Time ........................................................................................................................................................ 36
Network Timing Protocol (NTP): ............................................................................................................. 37
Interfaces ................................................................................................................................................ 39
2 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Introduction:
Not all options discussed in this document or the accompanying slide presentation are available
under all versions of the Cisco Internetwork Operating Systems (IOS). Before attempting to
determine the security posture of a Cisco device, research should be conducted on the
capabilities of the IOS installed using the Cisco Feature Navigator or similar Cisco-provided tool.
There are as many ways to secure networking devices as there are different devices. It is
technically and tactically impossible to spell out exactly what needs to be done to determine
whether or not a generic device is securely configured. What follows is a compilation of
recommendations from over a dozen sources. Generally, the commands illustrated here should
suffice to secure any network device in isolation. Once the device is incorporated into a viable
network, modifications will probably be necessary.
Cisco equipment, like most networking equipment, functions at three distinct operational
planes: management, control, and data. Each plane has different security requirements and is
configured using a unique set of security commands. This document attempts to group the
various commands into categories under each of the three planes of operation. Each plane
affects the other two. Should either the control plane or management plane be compromised,
the other, in addition to the data plane, will be adversely affected. It is therefore vitally
important that each plane be vigorously safeguarded against attack.
The Management Plane is a collection of protocols and functionality specifically concerned with
the management of the network. Protocols such as SSH, which is used for interactive
management; SNMP, which allows for remote management and statistics gathering; Syslog,
which provides a method for handling messages generated by the device; and, higher level
protocols and applications like NetFlow. Other management plane protocols include Telnet, File
Transfer Protocol (FTP), Trivial File Transfer Protocol (TFTP), Secure Copy Protocol (SCP),
Terminal Access Control Access Control Server (TACACS+), Remote Access Dial-In User Service
(RADIUS), and Network Timing Protocol (NTP). Also found on the management plane is
Authentication, Authorization, and Accounting (AAA). The AAA configuration is an essential
method of authenticating access to the hardware.
The control plane is a collection of protocols and functionality concerned with moving data
traffic from one device to another in the network. This includes routing protocols like Open
Shortest Path First (OSPF), Enhanced Interior Gateway Routing Protocol (EIGRP), and Border
Gateway Protocol (BGP). Also included in the group are Internet Control Message Protocol
(ICMP), Internet Group Management Protocol (IGMP), Proxy ARP, and Cisco Discovery Protocol
(CDP), among others. Access Control Lists (acl) used to filter traffic and select (or match) traffic
flows are also implemented on the control plane.
The data plane’s job is to move data from source to destination. From a security perspective, it
is the least important of the three planes. If the control and management planes are secure,
there is little left to do to secure the data plane. Most problems on the data plane originate
from information contained within IP packets: IP Options can alter data paths and force high
cpu usage, causing denials of service; IP source routing can also alter data paths; ICMP redirects
can be used by hackers to increase cpu usage; IP directed broadcast capabilities have been used
P a g e |3
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
as denial of service amplifiers or reflectors. The biggest problem with IP traffic at the data plane
is actually mitigated at the control plane: access control lists must be used to prevent s ome
ICMP message types. These same access lists must address fragmentation of IP packets.
Router Security Overview
Passwords
•
•
•
The first line of defense on a router, or any other networking device, is to require passwords
for simple authentication.
There are several rules which should be followed:
• Encrypt passwords using MD5 wherever possible.
• Where MD5 isn’t possible, hide the passwords from casual viewing.
• Configure lockouts to preclude password guessing.
• Enforce a minimum password length standard.
Related to password enforcement is ensuring that no one else can use a password
inappropriately left active. To enforce this, don’t leave connections up when idle.
Traffic Filtering
•
•
•
The best place to filter unwanted traffic (keep it from entering or exiting the LAN) is at the
entry interfaces. When filtered, the packet has been dropped.
Selectively filter icmp packets.
Use ingress and egress filtering.
Authentication
•
•
•
Use local usernames.
Implement AAA.
Set authentication for eigrp and ospf.
Management
•
•
•
•
•
•
•
•
•
•
•
•
•
•
set keepalives for management access sessions
restrict management access to authorized users
set exec timeouts
use ssh & https for management access
banners (login, motd, exec, incoming)
if used, snmp v3 only
configure centralized logging
config change notifications
set logging level
set logging source interface
set logging time-stamp
use AAA for accounting
replace and rollback for configuration files
exclusive configuration access
4 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
•
software resilience
Hardware
•
•
Set memory threshold levels.
Set cpu threshold levels.
Physical
•
•
•
The router should be secured in a locked room or protected area.
Access to the console port should be prevented.
An uninterruptible power supply (UPS) should be employed to protect the configuration of
the router in the event of a power outage.
Internetworking Operating System (IOS)
•
•
•
The most stable version of the IOS should be used. A visit to the Cisco.com web site should
provide the version of the most recent IOS for the router platform type.
Store a copy of the configuration file in an off-device location as well as in persistent
memory on the device itself.
Move the IOS to persistent memory so that it can be easily reinstalled.
Harden the Router
•
•
•
•
•
“Harden” is a term used to describe a process by which the router is configured so as to
make unauthorized access to it as difficult as possible.
Secure all methods of connection.
Disable unused services, interfaces, and ports. Disabled = inaccessible.
Authenticate access – allow only authorized users to have access to the device and/or
services on the device.
Authorize actions – restrict authenticated users from accessing everything. Allow
authenticated users to have access to only what is required.
• Account for the actions – generate, capture, and store log and audit messages depicting
every action taken by an authenticated user. Tag every message with identifying
information about the user including who, what, when.
• Display banners – Legal notifications and warnings.
• Encrypt everything that can be encrypted.
• Hide everything else.
P a g e |5
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
GNS3 Network Basics
Figure 1
•
Figure 1 illustrates the network configured in the
Graphic Network Simulator (GNS) software application
on your notebook. This network is not intended to be
representative of any specific configuration you may
encounter.
•
The section of the network in Figure 2 is the router on
which the search commands will be executed. The
symbol is for a generic router. The label “7200” was
added by the designer. The router being emulated is a
Figure 2
Cisco 7200 series with three configured interfaces. The
interface on the left is connected to network 10.1.40.0 and has the ip address 10.1.40.2
assigned to it. The line to which this interface is connected has been assigned the ip address
10.2.40.1.
•
You can determine all this from the information displayed on the diagram. The “/24” at the
end of each network ip address indicates that the network is using a 24-bit mask. The small
green ball indicates that the interface to which the line is attached is turned on – the line is
connected.
•
This presentation is concerned in its entirety with securing the edge router, defined as the
last router (or routing device) through which your traffic will pass on its way out of your
LAN. It is also the first device encountered by inbound traffic.
6 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
•
For this presentation, the router standing in as the border router is the 7200. The Pix
firewall and the two 2621 routers connected to it are standing in for the Internet Service
Provider (ISP). The configuration of the Pix is important only in so much as it interacts with
the 7200. The Pix is configured with EIGRP (Enhanced Interior Gateway Protocol) as is the
interface on the 7200 to which it is connected.
•
The other interfaces on the 7200 are configured with OSPF (Open Shortest Path First). Both
EIGRP and OSPF are interior routing protocols; but, they are both much easier to configure
and much easier on resources than is BGP, the most widely-used exterior protocol.
•
Checking the security posture of a Cisco router is largely an examination of the contents of
the configuration of the router. The majority of the commands you will be examining are
concerned with securing the Management Plane. A large part of the configuration of your
LAN edge router will be based on information supplied by the service provider to which you
are connecting.
P a g e |7
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Management Plane Commands
This section contains a listing of security support commands which are applied to the
management plane of the Cisco router. Each command includes a short explanation of what the
command (both active and negated versions) does and an example command you can execute
from the command line to see whether or not the command is configured on the device.
From inside GNS3, bring up a console window on the 7200 router and try out each of the
commands under the “Finding it in the configuration” section.
Command:
•
•
•
no ip source-route
Disables ip source routing
IP source routing allows the originator of a packet to dictate which routers the packet
should traverse along its way.
It is a very dangerous capability and is routinely disabled using this command
Finding it in the configuration:
RTR7200# show running-config | include ip source-route
RTR7200# no ip source-route
Command:
•
•
•
•
ip cef
Enables Cisco Express Forwarding
Required in order to enable Unicast Reverse-Path Forwarding
CEF creates a Forwarding Information Base (FIB) table containing the next hop
addresses. It also creates adjacencies with the source of the packet. When a packet is
received, CEF can determine if a next hop address exists based on whether or not a
relationship has already been established between the layer 3 (IP) data and the layer 2
(MAC) data. This saves the time required to perform Address Resolution Protocol (ARP)
searches on packets from known sources.
Its main function is to speed up the switching process in the router.
Finding it in the configuration:
RTR7200# show running-config | include cef
RTR7200# ip cef
8 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
no service tcp-small-servers
no service udp-small-servers
As of version 12.0 of the Cisco IOS, the services included under these commands are
disabled by default. The commands will not appear in the configuration file.
For earlier versions of the IOS, it is absolutely necessary to disable these and other
unused services because they can be used to launch DoS attacks.
Finding it in the configuration:
RTR7200# show running-config | include small-servers
(Prior to 12.0)
RTR7200# no service tcp-small-servers
RTR7200# no service udp-small-servers
Command:
•
•
no ip domain lookup
Disables Domain Naming System (DNS) name-to-address translations.
This service is sometimes needed, but not very often.
Finding it in the configuration:
RTR7200# show running-config | include ip domain lookup
RTR7200# no ip domain lookup
Command:
•
•
no ip finger
Disables the Finger service.
Finger is a very old service which provides information about users currently logged in to
a network or on to a device. In the ancient days of networking, it was the only way to
find out if a fellow user was available.
Finding it in the configuration:
RTR7200# show running-config | include finger
RTR7200# no ip finger
P a g e |9
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
•
no ip bootp server
Disables the Bootstrap Protocol (bootp) service.
BOOTP is typically used with diskless workstations and other devices which don’t
contain their own operating system, which would allow them to use the Device Host
Configuration Protocol (DHCP).
There are not a lot of devices like this anymore.
Finding it in the configuration:
RTR7200# show running-config | include bootp server
RTR7200# no ip bootp server
Command:
•
•
ip dhcp bootp ignore
At some point in the development of the Device Host Configuration Protocol (DHCP), it
was decided to include the capability of providing BOOTP capabilities for those few
devices which still required it.
If bootp is not required, this command leaves DHCP operational while configuring it to
ignore any BOOTP requests..
Finding it in the configuration:
RTR7200# show running-config | include bootp ignore
RTR7200# ip dhcp bootp ignore
Command:
•
no service dhcp
If DHCP relay services are not required, it is safe to disable the service
Finding it in the configuration:
RTR7200# show running-config | include service dhcp
RTR7200# no service dhcp
10 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
•
•
no mop enabled
Disables the Maintenance Operation Protocol (MOP) service.
MOP is a 30+ year old protocol developed by Digital Equipment Corporation which is no
longer in business.
From the original specifications: “MOP allows control of unattended remote systems
that are part of a DECnet network.”
If there’s no DECnet network, there’s no need for MOP.
Finding it in the configuration:
RTR7200# show running-config | include mop enabled
RTR7200# no mop enabled
Command:
•
•
•
no service pad
Disables the Packet Assembler/Disassembler (PAD) service.
PAD is used to actively assemble X.25 packets out of serial data streams from network
devices and disassembles like packets into a data stream which is suitable for sending to
data terminals.
If you’re not using an X.25 network, you don’t need it.
Finding it in the configuration:
RTR7200# show running-config | include service pad
RTR7200# no service pad
Command:
•
no ip http server
no ip http secure-server
Disables the HyperText Transfer Protocol (HTTP) service and the HTTP over Secure
Socket Layer (SSL) service (HTTPS).
Finding it in the configuration:
RTR7200# show running-config | include ip http
RTR7200# no ip http server
RTR7200# no ip http secure-server
P a g e |11
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
no service config
Disables a Cisco IOS device search for a network server to load the configuration file.
Prevents the device from trying to find the config file using TFTP
Finding it in the configuration:
RTR7200# show running-config | include service config
RTR7200# no service config
Command:
•
•
•
•
no cdp run
no cdp enable
Disables Cisco Discovery Protocol
Within a LAN, cdp is a relatively safe protocol. On interfaces touching untrusted
networks, cdp should not be used because it advertises information about individual
devices which would be helpful to a hacker.
no cdp run is the global command which disables cdp for all interfaces.
no cdp enable is used on individual interfaces.
Finding it in the configuration:
RTR7200# show running-config | include cdp
RTR7200# no cdp ( run | enable )
Command:
•
•
•
no lldp transmit
no lldp receive
no lldp run global
Disables Link Layer Discovery Protocol
Similar to CDP, but used between devices that do not support CDP.
Use the no lldp transmit and no lldp receive commands in interface configuration mode
for individual interfaces; or, the no lldp run global to disable it on all interfaces.
Finding it in the configuration:
RTR7200# show running-config | include lldp
RTR7200# no service config
12 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
enable secret <password>
The enable password is used to enter privileged exec mode in which the entire router
can be reconfigured.
It is essential that only the secret version of this command be used.
Finding it in the configuration:
RTR7200# show running-config | include enable
RTR7200# enable secret 5 $1$yx4M#bFUI/TnJyoWTvF1LUt.PK.
•
•
Of primary importance are that the password is set (enable secret), and
that it is protected with the MD5 hashing algorithm (5).
Command:
•
•
service password-encryption
Causes all passwords which are not already encrypted with MD5 to be encrypted using
Cisco proprietary encryption algorithm type 7.
Type 7 encryption is a basic substitution method of encryption which does not provide
any security for the password beyond making it difficult to read.
Finding it in the configuration:
RTR7200# show running-config | include service password
RTR7200# service password-encryption
Command:
•
•
•
•
security passwords min-length <#>
Sets a minimum length for any future passwords.
Passwords which are already set are not effected by this command.
What the value of <#> is should be a matter of local policy.
Cisco recommends a minimum length of 10.
Finding it in the configuration:
RTR7200# show running-config | include security password
RTR7200# security passwords min-length 10
P a g e |13
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
[no] service password recovery
This command is not available in all versions of the IOS.
The no version disables the password recovery feature of the router and should only be
used IAW local policy.
Finding it in the configuration:
RTR7200# show running-config | include service password
RTR7200# service password-recovery
•
•
•
Executing the ‘no’ version removes the command from the config file.
There will be no output if the ‘no’ version has been executed.
There will also be no output if the IOS version does not support the command.
Command:
•
•
•
•
•
username <name> [privilege <level>] secret <password>
Creates an entry in the local database.
Preceding the password with the keyword “secret” causes the plaintext password to be
hashed using the MD5 hashing algorithm.
Preceding the password with the keyword “password” causes the password to be left in
plaintext unless the service password-encryption command has been executed. This
form of the command is not authorized.
There should be one username configured with a privilege level of 1 (one) for normal
connection to the router. Once connected, this user can execute the “enable” command
to move to a higher privilege level.
In configurations such as login local or ip http authentication local, the the keyword
local tells the router to require the entry of both the username and the password for
that username in order to gain access.
Finding it in the configuration:
RTR7200# show running-config | include username
RTR7200# username NOACCESS privilege 1 secret 5 $1$yx4M#bFUI/TnJyoWTvF1LUt.PK
RTR7200# username ADMIN privilege 15 secret 67UI#kouekla;*#Kkboup@bN&7arP
14 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
•
•
login block-for <block_time> attempts <#> within <time_period>
Mitigates the possibility of a brute force attack by blocking all login attempts for a
specific period of time if too many attempts had been made during a short time period
Note that this command blocks ALL login attempts.
The command is interpreted “if <#> attempts to login have occurred within
<time_period> in seconds, prevent all further login attempts for <block_time> in
seconds”.
For example: login block-for 180 attempts 4 within 60
Finding it in the configuration:
RTR7200# show running-config | include login block-for
RTR7200# login block-for 30 attempts 3 withing 30
Command:
•
login quiet-mode access-class <acl# or aclNAME>
This command sets the access list <acl# or aclNAME> as a list of ip addresses that can
still login even though every other ip address is blocked out.
Finding it in the configuration:
RTR7200# show running-config | include login quiet-mode
RTR7200# login quiet-mode access-class ALLOW_ACCESS
RTR7200# show access-list ALLOW_ACCESS
RTR7200#Standard IP access-list ALLOW_ACCESS
RTR7200# 10 permit 10.4.1.14
Command:
•
login delay <#>
Force a delay of <#> seconds between each login attempt
Finding it in the configuration:
RTR7200# show running-config | include login block-for
RTR7200# login delay 3
P a g e |15
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
•
login on-failure log [every <#>]
This command causes a log entry to be generated every time a login fails.
It might seem that setting this to 1 would be a good idea; however, a number between 5
and 10 is more appropriate. If login attempts are being blocked (failing), then security is
being enforced.
Login failures are counted on a per-ip address basis.
Finding it in the configuration:
RTR7200# show running-config | include login on-failure
RTR7200# login on-failure log every 5
Command:
•
•
login on-success log [every <#>]
Unlike login failures, this one should be set to 1.
Since 1 is the default, it is not necessary to include it in the command. Enter only login
on-success log to configure the default of 1.
Finding it in the configuration:
RTR7200# show running-config | include login on-success
RTR7200# login on-success log
Command:
•
•
•
security authentication failure rate <#>
Sets a global threshold rate for login failures.
If the threshold is breached, a syslog message is posted and a 15-second delay is
enforced.
This global setting can be overruled by the login block-for command
Finding it in the configuration:
RTR7200# show running-config | include security authentication
RTR7200# security authentication failure rate 8
16 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
show login
Display all the login commands in the configuration:
A login delay of 3 seconds is applied.
Quiet-Mode access list ALLOW_ACCESS is applied.
All successful login is logged.
Every 5 failed login is logged.
Router enabled to watch for login Attacks.
If more than 3 login failures occur in 30 minutes or less,
logins will be disabled for 30 seconds.
Router presently in Normal-Mode.
Current Watch Window
Time remaining: 22 seconds.
Login failures for current window: 0.
Total login failures: 0.
Filtering
Ingress & Egress Filters:
•
•
•
•
•
The ingress filter is the access list assigned to the interface connected closest to the service
provider which blocks known malicious or simply bad traffic from entering your LAN.
The egress filter is the access list assigned to the interface connected closest to your LAN
which allows only legitimate traffic to depart your LAN.
Note that the egress filter may be more than one access list. If the router you’re examining
has multiple LANs connected to it, it may be necessary to implement an egress filter to each
of the interior interfaces.
To determine which access list is the egress and which is the ingress, it will be necessary to
review the structure of the network to determine which interface should host the ingress
filter and which should host the egress filter.
For this example, interface FastEthernet0/0 (f0/0) will be the interface connected to the
provider. View the configuration for the interface:
RTR7200# show running-config | section FastEthernet0/0
•
If the resulting display contains the two lines
ip access-group <NAME> in
ip access-group <NAME> out
the <NAME> preceding “in” is the ingress filter and
the <NAME> preceding “out” is the egress filter.
P a g e |17
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
•
If the interface only includes the one “in” filter, you’ll need to view the configuration of
the other interfaces to determine which should contain the outbound filtering.
Ingress Access List:
•
•
•
•
•
Once you’ve decided which is the ingress filter and which is the egress filter, you next need
to examine their contents (see next section).
Access-lists are essential for securing a router. They can, however, be extremely complex.
Without a thorough understanding of all the applications traversing the router and the
protocols involved, it is impossible to validate each acl.
There are some things which are universally filtered at the outside interface. Among these
are ip addresses which are not routable across the Internet, referred to as private
addresses. Certain multicast addresses should also be blocked as well as malformed
addresses.
RFC 5735 and RFC 4193 list the private address and other reserved ranges for IPv4 and IPv6
respectively and discuss their purpose and implementation.
The Center for Internet Security (CIS) Security Configuration Benchmark for Cisco IOS
Version 3.0.0, September, 2011 contains a recommended list of ip addresses that should be
blocked at the ingress filter. They are included in the example ingress access-list on the
following slide. There are other candidates for inclusion in this list.
1)
2)
3)
4)
5)
6)
7)
8)
9)
access-list <acl> deny ip <your_internal_address_range> any log
access-list <acl> deny ip 127.0.0.0 0.255.255.255 any log
access-list <acl> deny ip 10.0.0.0 0.255.255.255 any log
access-list <acl> deny ip 172.16.0.0 0.15.255.255 any log
access-list <acl> deny ip 192.168.0.0 0.0.255.255 any log
access-list <acl> deny ip 192.0.2.0 0.0.0.255 any log
access-list <acl> deny ip 169.254.0.0 0.0.255.255 any log
access-list <acl> deny ip 0.0.0.0 0.255.255.255 any log
access-list <acl> deny ip host 255.255.255.255 any log
•
•
•
•
•
•
Line 1 prevents any external host from spoofing your ip addresses.
Line 2 is the loopback range of addresses
Lines 3, 4, & 5 are the big 3 private address ranges
Line 6 is TEST-NET-1 and is used only in documentation
Line 7 is the local link block
Lines 8 & 9 are blocking bogus ip addresses
Egress Access List:
•
•
The egress filter is an access list which insures that only legitimate traffic (traffic generated
by your own LAN) is allowed to exit the LAN.
The access-list may be complex due to the inclusion of protocols and applications as well as
operationally mandated traffic.
18 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
•
•
•
The single entry you’re looking for is one that allows only your address space:
access-list <acl> permit ip <your_internal_address_range> any log
If there are other users (LANs) connected to other interfaces, this line needs to be adjusted
for their ip address range and included in the filter located on their interface of the router.
ICMP:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Internet Control Message Protocol
Purpose is to assist in the control of the Internet Protocol (IP)
Can convey virtually ALL information about internal structure of your LAN
Is required for some purposes
Which ICMP messages need to be filtered and which need to be allowed will be dictated by
local mission requirements as well as restrictions mandated by the external service
provider.
At a minimum, all non-mandated inbound requests should be filtered as well as any
outbound requests from addresses other than the management station.
To verify the filtering established for a particular LAN, it is necessary to have an
understanding of the structure of the LAN – what ip address is/are assigned to the
management station(s); what is the address space for the LAN; what applications are
running which require the use of ICMP; etc.
ICMP needs to be filtered on both the egress and ingress interfaces.
In the ingress filter access list, there might be lines which allow icmp echo requests from
specific external ip addresses such as a trusted management station or server. Verify the ip
addresses included with the local operating procedures.
All other ip traffic from the network to which the management stations /servers belong
should be explicitly blocked.
ip access-list extended INGRESS_FILTER
permit icmp host <trusted-management-station> any echo
permit icmp host <trusted-management-server> any echo
deny ip any <the_rest_of_the_network> <mask>
In the egress filter access list, there might be lines which allow icmp echo requests from
specific internal ip addresses such as a management station. Verify the ip address of the
management station.
All other icmp traffic from your network must be explicitly blocked.
ip access-list extended EGRESS_FILTER
permit icmp host <trusted-management-station> any echo
permit icmp host <trusted-management-server> any echo
deny icmp any <the_rest_of_the_network> <mask>
Note: If icmp echo-requests are permitted out of your LAN, the corresponding echo-reply
must then be permitted back in to your router through the ingress filter. The entry in the
ingress filter should be as specific as possible to ensure no unauthorized icmp traffic enters.
P a g e |19
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Authentication
Local
Command:
•
•
•
•
username <name> [privilege <level>] secret <password>
Local usernames are used in many places for authentication purposes.
In the aaa command (discussed elsewhere) aaa authentication login default local enable,
the “local” option indicates that the local username database should be consulted for
authentication (then the enable secret password).
In the command ip http authentication local, “local” means that only a username from the
local username database, once properly authenticated by entering the correct password,
will have access to the http protocol.
On vty, aux, and con lines, the command login local means the same thing. Use show
running-config | begin line to see all the line configurations.
Finding it in the configuration:
RTR7200# show running-config | include local
RTR7200# ip http authentication local
RTR7200# login local
AAA
Command:
•
•
aaa new-model
Activates AAA (authentication, authorization, accounting) functionality
Immediately applies local authentication to all lines and interfaces except the console (line
con 0). Sessions already opened are not affected. If a session times-out and no username is
configured, you are effectively logged out. For this reason, a username must be configured
prior to executing this command.
Finding it in the configuration:
RTR7200# show running-config | include aaa new-model
20 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
tacacs-server host <ip | hostname> [timeout <sec>] [key <KEY>]
radius-server host <ip | hostname> [timeout <sec>] [key <KEY>]
Designates the TACACS+/RADIUS server ip address or hostname
Finding it in the configuration:
RTR7200# show running-config | include tacacs-server
RTR7200# show running-config | include radius-server
RTR7200# tacacs-server host A.B.C.D timeout 15
RTR7200# radius-server host E.F.G.H auth-port 1645 acct-port 1646 timeout 15 key 7 0813…
•
•
The RADIUS server configuration includes the default authentication and accounting port
assignment numbers of 1645/1646. TACACS+ uses only port 49.
A.B.C.D & E.F.G.H are ip address place holders only.
Command:
•
•
aaa group server tacacs+ <NAME>
aaa group server radius <NAME>
Creates a group named <NAME> into which servers can be added.
The router prompt changes to the server-group config prompt:
(config)# aaa group server tacacs+ TACACSGROUP
(config-sg-tacacs+)# server < ip | hostname >
(config)# aaa group server radius RADIUSGROUP
(config-sg-radius)# server < ip | hostname >
•
Adds the server(s) to the group.
Finding it in the configuration:
RTR7200# show running-config | include aaa group
RTR7200# aaa group server tacacs+ TACACSGROUP
RTR7200# aaa group server radius RADIUSGROUP
P a g e |21
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
aaa authentication enable default <method1 [method2] [method3] [method4]>
Creates the default list for determining whether or not a user can access the privileged EXEC
command level (a.k.a. “enable” mode).
This command allows for up to four methods (at least one must be included):
•
•
•
•
•
•
group <NAME> - use the servers configured in the <NAME> group
group tacacs+ : use all available tacacs+ servers
group radius : use all available radius servers
enable : use the enable password
line : use the line password (if connected via vty line, for example)
none : no authentication required
Finding it in the configuration:
RTR7200# show running-config | include aaa authentication enable
RTR7200# aaa authentication enable default group tacacs+ enable
Command:
•
•
aaa authentication login default <method1 [method2] [method3] [method4]>
Creates the default list for authenticating a user for login.
This command allows for up to four methods (at least one must be included):
•
•
•
•
•
•
•
•
group <NAME> - use the servers configured in the <NAME> group
group tacacs+ : use all available tacacs+ servers
group radius : use all available radius servers
enable : use the enable password
line : use the line password (if connected via vty line, for example)
local : local username database
local-case : case-sensitive local username database
none : no authentication required
Finding it in the configuration:
RTR7200# show running-config | include aaa authentication login
RTR7200# aaa authentication login default group tacacs+ local enable
22 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
aaa accounting < exec | commands | network | connection | system >
default start-stop group < tacacs+ | radius | LISTNAME >
Provide accounting for all user shell EXEC commands:
aaa accounting exec default start-stop group < tacacs+ | radius | LISTNAME >
•
Provide accounting for all commands on level 15:
aaa accounting commands 15 default start-stop group < tacacs+ | radius | LISTNAME >
•
Provide accounting for all network related services like PPP:
aaa accounting network default start-stop group < tacacs+ | radius | LISTNAME >
•
Provide accounting for all outbound connections:
aaa accounting connection default start-stop group < tacacs+ | radius | LISTNAME >
•
Provide accounting for all system related events not directly related to a user:
aaa accounting system default start-stop group < tacacs+ | radius | LISTNAME >
•
•
These five commands are all required to completely configure aaa accounting.
“start-stop” accounting begins as soon as the session begins. A summary record which
includes session statistics is sent when the session ends.
Finding it in the configuration:
RTR7200# show running-config | include aaa accounting
Routing
EIGRP Authentication
•
First, create a key chain for use by EIGRP:
(config)# key chain KC_EIGRP
•
Next, add a key to the key chain:
(config-keychain)# key 1
(config-keychain-key)# key-string ReallyStrong!
•
Enter interface configuration mode on the interface which connects to the eigrp source;
activate authentication for autonomous system 33 (for example); and, use MD5 to protect
the key:
(config-if)# ip authentication mode eigrp 33 md5
P a g e |23
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
•
Finally, set the authentication process to use the previously configured key-chain:
(config-if)# ip authentication key-chain eigrp 33 KC_EIGRP
Finding it in the configuration:
RTR7200# show running-config | section key chain
RTR7200# key chain KC_EIGRP
RTR7200# key 1
RTR7200# key-string 7 04690E07032D557D1D0B0A19154A
•
Once you know the key chain name, search for it:
RTR7200# show running-config | include KC_EIGRP
RTR7200# ip authentication key-chain eigrp 33 KC_EIGRP
OSPF Authentication
•
From interface configuration mode on the interface connected to the external OSPF source:
RTR7200(config-if)# ip ospf message-digest-key 1 md5 ReallyReallyStrong!
•
This key must be pre-shared. That is, the interface on the next device in line to which this
interface is connected must have an identical key configured.
•
Next, activate MD5 authentication (on this interface only):
RTR7200# (config-if)# ip ospf authentication message-digest
Finding it in the configuration:
•
Verifying authentication is on a per-interface basis:
RTR7200# show ip ospf interface <int> (once per interface)
RTR7200# Message digest authentication enabled
RTR7200#
Youngest key id is 1
24 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Management Access
Command:
•
•
service tcp-keepalives-in
service tcp-keepalives-out
Generate keepalives on network connections
Sometimes, tcp connections to remote points become disconnected at the remote host
without notifying the originating end of the connection. When this happens, it might
become impossible to reconnect to the remote host upon its return to service because this
end of the connection still believes the connection exists. With keepalives configured, each
end of the connection will be aware that the other end has disconnected which will allow
each end of the connection to close its end.
Finding it in the configuration:
RTR7200# show running-config | include tcp-keepalives
RTR7200# service tcp-keepalives-in
RTR7200# service tcp-keepalives-out
Command:
•
•
exec-timeout <minutes> [<seconds>]
Establishes the length of time a line is allowed to be idle before the router disconnects it,
dropping the connection.
A setting of 0 (zero) disables this feature and is not allowed.
Finding it in the configuration:
•
•
Begin the display of the config file from the first instance of a line:
A setting of 10 minutes is the default and will not appear in the listing.
RTR7200# show running-config | begin line
line con 0
/- output omitted -/
exec-timeout 5
line vty 0 4
/- output omitted -/
exec-timeout 3 30
P a g e |25
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Configure Secure Shell (SSH):
•
•
Activating Secure Shell requires a series of commands:
To allow the router and any device to which the router will become connected, it is
necessary to identify the SSH crypto key uniquely. This is accomplished by setting a unique
name for the router and identifying in which domain the router will operate:
(config)# ip domain-name <NAME>
(config)# hostname <HOSTNAME>
•
With these two items set, it is now possible to create the crypto key:
(config)#crypto key generate rsa general-keys modulus 1024
•
•
•
rsa is the only algorithm available for SSH on Cisco devices
general-keys are “Generate a general purpose RSA key pair for signing and
encryption” (from Cisco IOS 15.0). The usage-keys option generates a second pair of
keys for signing and encryption.
modulus 1024 means the keys will be 1024 bits in length. Other options are 512, 768,
and 2048. The minimum allowable key length is 1024.
Finding it in the configuration:
The router hostname is evident from the command prompt (RTR7200 for example).
RTR7200# show running-config | i domain name
RTR7200# ip domain name ns.com
RTR7200# show ip ssh
SSH Enabled – version 1.99
Authentication timeout: 120 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 1024 bits
IOS Keys in SECSH format (ssh-rsa, base64 encoded):
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCl56+Fy+SYBA8nPUeCygf+VjBtYv0jx/oE
AAAAB3NzaC1yc2EAAAADAQABAAAAgQCl56+Fy+SYBA8nPUeCygf+VjBtYv0jx/oEK9CyHm
wgrDQDWoX3jck+Wrc9/DWF1mZQ5EwFt0glOSv3bTlYc1I+dZBDXzb7Lb7sAAAAB3NzaC1y
c2EAAAADAQABAAAAgQCl56+Fy+SYBA8nPUeCygf+VjBtYv0jx/oEK9CyHmwgrDQDWoX3j
ck+Wrc9/DWF1mZQ5EwFt0glOSv3bTlYc1I+dZBDXzb7Lb7s0EdZZF+Dq0Bg0ARHf/Bzx4olO
ghT5CqBhWJpLQHHO99xM0gzKxmN1O2nsxtKF5ob
26 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Changing Secure Shell (SSH) Defaults:
•
Version 2 is considered superior to version 1.99. Changing the version is recommended:
(config)# ip ssh version 2
•
The timeout of 120 seconds is usually acceptable. If it needs to be adjusted:
(config)# ip ssh time-out 60
•
The default number of times a user can attempt to connect via SSH before being blocked
from attempting further is 3. Changing this is simple:
(config)# ip authentication-retries 4
Finding it in the configuration:
RTR7200# show ip ssh
SSH Enabled – version 2.0
Authentication timeout: 60 secs; Authentication retries: 4
/- output omitted -/
Allowing Access to Secure Shell (SSH):
•
•
SSH connections are established using the virtual terminal (VTY) lines.
Configuring SSH on a vty line effectively blocks access to that vty connection using Telnet
and forces the use of SSH:
(config-line)# transport input ssh
•
•
It is also necessary to control access to the vty lines by assigning a configured access list.
The acl contains ip addresses of those stations authorized access to the vty lines and,
therefore, to ssh.
(config-line)# access-class <standard_acl> in
Finding it in the configuration:
RTR7200# show running-config | section vty
line vty 0 4
/- output omitted -/
access-class 1 in
transport input ssh
P a g e |27
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Configure Secure HTTP (HTTPS):
no ip http server
ip http secure-server
• Routers provide web-based device management applications such as the Secure Device
Manager (SDM), and Cisco Configuration Pro (CCP).
• To insure that configuration information is protected, secure http is used.
• Access to the http secure server must be controlled as well. Access to the servers can be
controlled through the use of access control lists discussed elsewhere in this document or a
command line configuration command.
• The recommendation is that neither http nor https be enabled.
• This configuration has to do with https terminating on the router, not passing through it on
the data plane.
Finding it in the configuration:
RTR7200# show running-config | include http
no ip http server
ip http secure-server
Restrict Access to HTTPS:
•
Use local usernames for authentication:
RTR7200(config)# ip http authentication local
•
Use the enable secret password for authentication:
RTR7200(config)# ip http authentication enable
•
Use a configured method list to authenticate the user:
RTR7200(config)# ip http authentication aaa login-authentication <NAME>
(Refer to page 22 for discussions on method lists.)
Finding it in the configuration:
RTR7200# show running-config | include http
no ip http server
ip http secure-server
ip http authentication aaa login-authentication SDMACCESS
28 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Banners:
•
•
Banners are used to display short messages to users who connect to the router.
The commands listed here are all required. Each example shown here uses a different
character as the delimiter solely to illustrate that any character can be used.
(config)# banner
(config)# banner
(config)# banner
(config)# banner
•
•
•
•
incoming @ This is the INCOMING banner … @
motd % This is the MOTD banner … %
exec & This is the EXEC banner … &
login * This is the LOGIN banner … *
The incoming banner is used when the router receives an connection from a host on the
network – from an address within the interface address range.
The motd (message of the day) banner is displayed before any other banner.
The exec banner is displayed when the user has connected the the router.
The login banner is displayed after the user has authenticated.
Finding it in the configuration:
RTR7200# show running-config | include banner
banner incoming ^C This is the INCOMING banner … ^C
banner motd ^C This is the MOTD banner … ^C
banner exec ^C This is the EXEC banner … ^C
banner login ^C This is the LOGIN banner … ^C
•
Note that the delimiters are all converted to ^C (control-C) when displayed.
Logging
Command:
•
Logging is required. This command activates it. Different versions of the IOS may require
“on” while others require “enable”
Command:
•
logging <{ on | enable }>
no logging monitor
The ‘no’ version of this command insures that logging messages are not sent to an
alternate monitor connected to one of the terminal (vty) lines.
P a g e |29
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
To provide consistency in the generation of logging messages, a loopback interface ip
address should be used as the source for all logging from a particular device.
This command causes the ip address of loopback0 to be included in messages.
Command:
•
•
•
•
•
logging console <level>
Causes logging messages of severity level <level> to be sent to the console.
Recommended level is “critical” (2)
Levels are discussed on the next slide.
Command:
•
logging rate-limit console 3 except critical
Limits the number of messages which are displayed on the console to no more than 3
per second unless the message is critical (level 3) priority or higher.
The intent is to prevent logging messages from consuming an inordinate amount of
processing time resulting in an unstable router.
Command:
•
•
•
logging buffered <buffer_size> [level]
Sets aside an area in memory of size <buffer_size> (in bytes) for holding log messages of
severity <level> locally so they can be viewed by a logged-in level 15 user.
The minimum recommended <buffer_size> is 16000
Command:
•
logging [host] <ip_address_of_logging_host>
Sets the ip address of the logging server.
All generated syslog traffic is sent to this address.
Some versions of Cisco IOS require the [host] option.
Command:
•
logging source-interface loopback0
logging trap <level>
The logging trap command indicates what level snmp trap will generate a logging
message.
30 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
•
•
•
logging alarm <level>
Sets the severity level of alarms to be logged.
This is different from logging trap which deals only with snmp levels.
Levels are numbered from 0 to 7 and are named emergencies(0), alerts(1), critical(2),
errors(3), warnings(4), notifications(5), informational(6), and debugging(7).
Setting a specific level will cause the inclusion of that level and all levels of higher
severity (lower number).
What level is configured is a matter of local policy.
Finding it in the configuration:
RTR7200# show running-config | include logging
logging buffered 24000 informational
logging rate-limit console 3 except critical
logging console critical
no logging monitor
logging alarm major
logging trap debugging
logging source-interface Loopback0
logging 10.1.45.3
•
A very extensive and detailed logging report is available by executing show logging
Configuration File Management
Command:
•
The archiving of configuration files allows for the replacement and restoration of
configurations. Without a repository for configuration files, there would be no way to
restore a router to a previous, working, state.
Command:
•
logging enable
Causes logging messages to be generated for any configuration change executed from
EXEC mode.
Command:
•
archive
logging size <#>
Sets the maximum number of messages (1000 or less) retained in the log.
P a g e |31
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
Causes configuration change messages to be sent to a remote syslog server in addition
to being sent to the logging buffer
Command:
•
write-memory
Automatically create a backup any time the write memory command is issued.
Command:
•
path disk0:<filename>
Sets the path and location of the logging files. As new files are created, a sequential
number is added to the end of the file name entered here.
Command:
•
hidekeys
Do not include (hide) any keys or passwords in the log entries.
Command:
•
notify syslog contenttype plaintext
time-period <sec>
Sets the time period (seconds) to automatically save the current configuration.
Finding it in the configuration:
RTR7200# show running-config | section archive
archive
logging enable
logging size 150
notify syslog conetnttype plaintext
hidekeys
path disk0:backup-netman
write-memory
32 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Exclusive Configuration Access
Command:
•
•
configuration mode exclusive auto expire <sec>
When a user with privilege level 15 access enters configuration terminal mode, the
config file is locked, preventing others accessing it at the same time.
The lock will expire after <sec> seconds of inactivity.
Finding it in the configuration:
RTR7200# show running-config | configuration mode
configuration mode exclusive auto expire <sec>
Software Resilience
Command:
•
Makes a backup of the configuration file and stores it in persistent memory.
Command:
•
secure boot-config
secure boot-image
Moves the IOS image file to persistent memory.
Finding it in the configuration:
•
Neither of these commands is stored in the configuration file.
P a g e |33
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
SNMP
•
•
•
•
•
•
Simple Network Management Protocol is a very powerful network management protocol.
SNMP should be disabled unless it is absolutely required or mandated.
Whether or not to use it is a matter of local policy.
If the service provider is mandating the use of SNMP, it must be Version 3.
The following SNMP commands represent the basic configuration requirements for using
the protocol.
You should be provided with any additional configuration information you need by the
service provider.
Command:
•
•
snmp-server community <READONLY_STRING> ro <acl>
Sets <READONLY_STRING> as the password for read-only (ro) access to the
Management Information Base (MIB).
<acl> is an access list name or number containing ip addresses of hosts on the network
which are allowed to use this community string to access the MIB. It is required.
Finding it in the configuration:
RTR7200# show running-config | snmp-server community
snmp-server community ReadOnly RO ALLOWED_RO_SNMP
Command:
•
•
•
•
snmp-server community <READWRITE_STRING> rw <acl>
Sets <READWRITE_STRING> as the password for read-write (rw) access to the
Management Information Base (MIB).
<acl> is an access list name or number containing ip addresses of hosts on the network
which are allowed to use this community string to access the MIB.
Normally, a readwrite community string is not in the configuration.
Whether or not this community string is set is a matter of policy.
Finding it in the configuration:
RTR7200# show running-config | snmp-server community
snmp-server community ReadOnly RW ALLOWED_RW_SNMP
34 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
snmp-server enable traps <trap_type>
trap_type is is a matter of local policy
Traps are not allowed unless a server is also configured to receive them (next section).
Finding it in the configuration:
RTR7200# show running-config | include snmp-server enable traps
snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
snmp-server enable traps vrrp
snmp-server enable traps ds1
/- outut omitted -/
snmp-server enable traps voice
snmp-server enable traps dnis
Command:
•
•
•
snmp-server host <host_ip | host_name> <options>
snmp-server host http://{host_ip | host_name} [:<port][/<url>] <options>
Identifies the snmp server.
Inclusion of additional options is a matter of local policy as well as other configuration items
located elsewhere in the configuration file.
Finding it in the configuration:
RTR7200# show running-config | include snmp-server host
snmp-server host 10.1.55.32 version 3 priv SNMP_USER
Command:
•
•
snmp-server group <GROUP_NAME> v3 priv
If snmp is to be used, it should be version 3.
To ensure that traffic is protected in transit, version 3 groups should be configured with the
“priv” option indicating that traffic be encrypted.
Finding it in the configuration:
RTR7200# show running-config | include snmp-server group
snmp-server group v3Group2 v3 priv
P a g e |35
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
snmp-server user <NAME> <GROUP_NAME> v3 auth sha <authentication_password>
priv aes <aes_size> <private_password> <acl_name_or_number>
Minimum recommended aes_size (symmetric encryption algorithm) is 128
This command, in conjunction with the snmp-server group command, provides this USER
with privacy encryption.
Finding it in the configuration:
RTR7200# show running-config | include snmp-server user
snmp-server user SNMP_USER v3Group2 v3
Time
Command:
•
•
•
•
service timestamps < debug | log > < datetime | uptime >
[show-timezone] [localtime] [msec] [year]
Configures timestamps for both debug and log messages
Use either the real date & time <datetime> or time since the router was last
restarted/reloaded <uptime> in seconds
Optionally add time zone, local time, and current year
Include millisecond timing in each message <msec>
Finding it in the configuration:
RTR7200# show running-config | include service timestamps
service timestamps debug …
service timestamps log …
Command:
•
clock timezone GMT < [ + | - ] hours>
Sets the onboard clock to the correct timezone (GMT +/- a fixed number of hours)
Finding it in the configuration:
RTR7200# show running-config | include clock timezone
clock timezone GMT 5
36 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
clock summer-time zone recurring [week day month hh:mm][week day month hh:mm]
Sets the absolute start and stop time for summer time in your time zone.
There are other formats for this command; however, it is only the summer-time
configuration you’re concerned with. If the command is set, that’s good enough.
Finding it in the configuration:
RTR7200# show running-config | include clock summer-time
clock summer-time zone … … …
Network Timing Protocol (NTP)
Command:
•
•
ntp authenticate
Activates the ntp authentication procedure.
Note that it is the server being authenticated, not the router.
Finding it in the configuration:
RTR7200# show running-config | include ntp authenticate
ntp authenticate
Command:
•
•
ntp authentication-key <id#> md5 <key>
establishes the key to use for authenticating the ntp server
The key is hashed using the MD5 (128-bit) hashing algorithm (currently the only option
on a Cisco router).
Finding it in the configuration:
RTR7200# show running-config | include ntp authentication
ntp authentication
P a g e |37
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
ntp trusted-key <id#>
Sets the key identified with id# as a trusted key, meaning that any external ntp server
that uses this key can be used to synchronize the router’s time.
The previous command establishes the key and the cryptotype (md5) and this command
designates it as trusted.
Finding it in the configuration:
RTR7200# show running-config | include ntp trusted
ntp trusted-key 1
Command:
•
•
ntp access-group [peer | query-only | serve | serve-only] [acl# | aclNAME]
This access group should be configured.
The four options peer, query-only, etc. are a matter of local policy.
Finding it in the configuration:
RTR7200# show running-config | include ntp access
ntp access-group query-only 14
RTR7200# show running-config | include access-list 14
Standard IP access list 14
10 permit 10.10.20.3
Command:
•
ntp update-calendar
Synchronizes the hardware clock on the router with the external time source
Finding it in the configuration:
RTR7200# show running-config | include ntp update
ntp update-calendar
38 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Command:
•
•
•
•
•
•
ntp server < ip_address | name > [key <#> | prefer | source <int> | ver <#>]
Sets the ip address of the external time server.
There should be two ntp servers defined.
The key keyword is followed by the key number used to authentice this server
prefer means that this server is prefered over any others
The source keyword is followed by an interface name. It will cause ntp to use the ip
address of the designated interface for interactions with this specific server. It takes
precedence over the global ntp source <int> command.
version is followed by either 1, 2, or 3
Finding it in the configuration:
RTR7200# show running-config | include ntp server
ntp server 216.119.69.113 key 1 prefer source Loopback0 ver 3
Command:
•
ntp source <int>
NTP will use the ip address assigned to the interface <int> in all messages sent to all
destinations
Finding it in the configuration:
RTR7200# show running-config | include ntp source
ntp source Loopback0
Interfaces
Auxillary Line (aux):
•
no exec
• disables all incoming connections
•
transport input none
• prevents a protocol selection
Finding it in the configuration:
RTR7200# show running-config | section line aux
P a g e |39
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
Console Line (con0):
•
login authentication < default | aaa_list >
• forces aaa authentication
•
exec-timeout <min> [<sec>]
• sets an inactivity timeout for the console
•
Unlike the vty lines (next section), which are accessible from across the network, the
console port is accessible only through physical access. Because of this, configured
security for it is less than for the vty lines.
Finding it in the configuration:
RTR7200# show running-config | section line con
Virtual Terminal Lines (vty):
•
login authentication < default | aaa_list >
• forces aaa authentication
•
exec-timeout <min> [<sec>]
• sets an inactivity timeout for the console
•
transport input ssh
• SSH must be used to connect to the line
•
access-class <acl_VTY_ACCESS> in
• contains authorized ip addresses
Finding it in the configuration:
RTR7200# show running-config | section line vty
Interface Configuration Commands:
•
ip access-group <acl_INGRESS> in
Applies an in-bound access list
•
ip access-group <acl_EGRESS> out
Applies an out-bound access list
•
no ip directed-broadcast
• This is the default in modern Cisco IOS and does not appear in the config file.
• In legacy IOS, this command shoud be included on every interface.
40 |P a g e
Baseline Audit for Cisco Routers
6 May 2012, Version 6.0
•
no cdp enable
• Even though already globally disabled (no cdp run), disabling cdp on each individual
interface is a good idea.
•
no ip mroute-cache
• IP mroute caching configures fast-switching of multicast traffic.
• Unless specifically required, it should be disabled
• mroute caching is not available in all version of Cisco IOS.
•
ip verify unicast reverse-path
• Causes the router to examine every packet received on the interface to make sure
that the source address appears in the routing table and matches the interface on
which the packet was received.
• This capability relies on the Forwarding Information Base (FIB) created by the CEF
command.
•
no ip redirects
• An ICMP message used to inform the sending device that a better route exists than
the one used. A hacker could use this capability to cause a host to redirect its traffic
to the hacker rather than the proper gateway.
•
no ip unreachables
• no ip unreachables – Also an ICMP message, this is usually disabled to prevent its
being used in a denial of service (DOS) attack. The router could be flooded with
improperly crafted packets, causing it to send an unreachable response to each. This
could prevent the router from routing legitimate traffic.
•
no ip proxy-arp
• Normally, a Cisco router can “stand-in” for a host connected to it by using Proxy ARP
wherein the router responds to arp requests as if it were actually the host.
• This is done in the interest of speed as well as ease of configuration on the host.
• It is disabled to prevent a host from identifying itself as another host, thus causing
the router to forward another hosts’s traffic to it.
•
Finding it in the configuration:
RTR7200# show running-config | section interface fastethernet0/1
RTR7200# show running-config | section interface serial1/1
P a g e |41
Download