Below is a list of suggested commands to be implemented on your Cisco Router at the global configuration level. These are not meant to secure your network, however, they are meant to help secure your network equipment from the network.
Note: highlighted commands do not apply in your circumstance due to availability, functionality, or they are already in place. Actual commands are in bold.
- no service pad – This disables the packet assembler/disassembler commands and connections between PAD devices.
- service tcp-keepalives-in/service tcp-keepalives-out – This allows the VTY lines to maintain upkeep on active network connections to the router.
- service timestamp debug datetime msec localtime show-timezone – This allows date and time verbosity while running a debug on the router.
- service timestamps log datetime msec localtime show-timezone – This allows date and time verbosity on log files sent to a syslog server.
- service password-encryption – This enables level 5 encryption on all non-encrypted stored passwords. We do recommend using level 7 encryption (e.g. enable secret) on all passphrases.
- service sequence-numbers – This enables counters on system logs.
- security authentication failure rate 3 log – This will log using syslog any unsuccessful login attempts attempted after 3 authentication failures.
- security passwords min-length 6 – This sets the minimum password length.
- aaa new-model – We recommend using this form of user authentication database on the router for both; storing a local user database as well as using a remote TACACS+ or Radius server, allowing for more verbose syslog messages when a user attempts authentication.
- aaa authentication login local_auth local – This will enable a local user database to be stored on the router for authentication purposes. We recommend creating at least one account on this device in the event of a network outage that may cause a remote authentication server to become unreachable.
- aaa session-id unique – We recommend this feature as it allows for unique session-ids when pertaining to service access-requests and accounting-requests. The default functionality allows them to share a common session-id.
- no ip source-route – This command will have the router ignore source-routed packets and have it utilize the routing infrastructure put in place.
- no ip gratuitous-arps – This will force the router to ignore any gratuitous-arp packets and only accept arp-replys from arp-requests it had previously sent.
- no service finger – This disables the equivalent of a remote show-users command.
- no ip bootp server – This will disable the Bootstrap service by replying to an incoming request with an ICMP unreachable packet.
- no ip domain lookup – If you do not have a DNS server configured on your device, we recommend disabling the DNS lookup functionality.
- login block-for 30 attempts 5 within 30 – This slow down continuous failed login attempts, block for 30 minutes when 5 failed authentication attempts have occurred within 30 minutes. We use five in concurrence with the ‘security authentication failure rate 3 log’ command to allow for verbosity in syslog.
- memory reserve critical 4096 – This will reserve 4096 Bytes of memory for the console pane of the router, allowing console access to it when it is under a high load that would normally overtake all of the system resources.
- archive – Global configuration that leads to system log configuration
- log config – Step down into the system log configuration details
- logging enable – This will enable the logging of configuration changes.
- logging size 500 – This is the maximum amount of logged commands kept in the configuration log.
- content type plain-text(notify syslog contenttype plaintext) – This will forward syslog in plain-text format. The other available option is XML. By default, plain-text is chosen.
- notify syslog – This enables the sending of logged commands to target applications and in a syslog format.
- hidekeys – This will disable the sending of logged passwords being sent in clear-text.
- log config – Step down into the system log configuration details
- ip ssh time-out 60 – This is the time-out period for SSH connections in seconds.
- ip ssh authentication-retries 5 – This is used in concurrency with our previous authentication and logging architecture.
- ip scp server enable – An encrypted form of file transfer for device backups and IOS upgrades.
- no ip forward-protocol nd – This disables an older service that is used to forward Network Disk packets from Sun workstations.
- no cdp run – This disables the Cisco Discovery Protocol.
- no ip http server - This disables http access to the router. This may conflict with DSM management.
- no ip http secure-server – This disables https access to the router. This may conflict with DSM management.
- logging trap debugging – This will output syslog from the router for all 8 levels of message severity. This is the most verbose syslog option.
- logging facility syslog – This will have the router send all logging messages to syslog.
- logging A.B.C.D – This designates the ip address of the remote syslog server.
Below is a list of suggested commands to be implemented on your Cisco Router at the local and remote management line configuration. These are not meant to secure your network, however, they are meant to help secure your network equipment from the network.
Note: highlighted commands do not apply in your circumstance due to availability, functionality, or they are already in place. Actual commands are in bold.
- line con 0 – This is the configuration interface for local console connections to the router.
- exec-timeout 2 55 – Command execution timeout for console connections that will timeout after 2 minutes and 55 seconds of inactivity.
- login authentication local_auth – Authentication database to be called when logging into the console of the router. This also enables a username and password prompt upon console connection. This may also be used in concurrence with a TACACS+ or Radius server, but we recommend using a local database in the event of network outages.
- transport output none – This disables the ability to use the console as a form of network transportation. We recommend leaving this as an administration access point only.
- line aux 0 – Auxiliary port for remote data communications and administration. This may be used as a backup phone connection into the router for remote access.
- exec-timeout 2 55 – Command execution timeout for console connections that will timeout after 2 minutes and 55 seconds of inactivity.
- login authentication local_auth – Authentication database to be called when logging into the console of the router. This also enables a username and password prompt upon console connection. This may also be used in concurrence with a TACACS+ or Radius server, but we recommend using a local database in the event of network outages.
- transport output none – This disables the ability to use the console as a form of network transportation. We recommend leaving this as an administration access point only.
- line vty 0 4 – The network management connection instances(5 maximum)
- access-class <access-list name or number> in – An access list applied to the vty lines of administration. We recommend granularly defining the specific ip addresses or networks that are used as administration stations that will only be allowed to remotely access the router.
- exec-timeout 2 55 – Command execution timeout for console connections that will timeout after 2 minutes and 55 seconds of inactivity.
- login authentication local_auth – Authentication database to be called when logging into the console of the router. This also enables a username and password prompt upon console connection. This may also be used in concurrence with a TACACS+ or Radius server, but we recommend using a local database in the event of network outages.
- transport input ssh – This enables the usage of ssh only when administering the router over the network, ensuring encrypted network communication.
- transport output ssh – This enables you the ability to ssh out of the router to other devices on the network.
Below is a list of suggested commands to be implemented on your Cisco Router as access-control lists. These are not meant to secure your network, however, they are meant to help secure your network equipment from the network.
Note: highlighted commands do not apply in your circumstance due to availability, functionality, or they are already in place. Actual commands are in bold.
- ip access-list extended Example-ACL – Transportation throughput, this is to be applied to every interface(ip access-group Example-ACL in). An access list defining what type of packets that we recommend be dropped when they reach a router interface. Also, adding a permit any rule at the end of this access-control list will be necessary to allow normal network traffic to flow through.
- 10 deny tcp any any fragments – This will drop any fragmented tcp packet that reaches the router.
- 20 deny udp any any fragments – This will drop any fragmented udp packet that reaches the router.
- 30 deny icmp any any fragments – This will drop any fragmented icmp packet that reaches the router.
- 40 deny ip any any fragments – This is a general cleanup that will drop all fragmented packets that may have gotten past the above rules.
- 50 deny ip any any option any-options – This will drop any packets sent to the router that utilizes the options field of the tcp packet.
- 2147483647 permit ip any any – This is a must for normal network traffic to pass through the router. It also is the last possible entry to the access-control list.
- ip access-list extended Example-Mgmt – Device management access-control list. This is to be applied to the VTY lines(access-class Example-Mgmt in) of the router and are directed towards remote connections made to the router. This should only be configured to allow management stations and management network access.
- 10 permit tcp 10.90.90.32 0.0.0.15 host 192.168.255.6 eq 22 log – This will allow ssh access from a specific example network into a specific example ip address. In this case, the example network is the subnet on which our management workstation and shell servers will sit. The example ‘host’ ip is the management ip of the router. Along with this access, we would also like to log incoming connections. This could also be written as follows: 10 permit tcp 10.90.90.32 0.0.0.15 192.168.255.6 0.0.0.0 eq 22 log
- 2147483647 deny ip any host 192.168.255.6 – This will kill all other attempts to connect to the management ip of the router. A note to add, routers will have more than one ip address. You will need to add all ip addresses to the end of this access-control list in order to display the denial of this traffic.
Below is a list of suggested commands to be implemented on your Cisco Router when dealing with snmp configurations. These are not meant to secure your network, however, they are meant to help secure your network equipment from the network.
Note: highlighted commands do not apply in your circumstance due to availability, functionality, or they are already in place. Actual commands are in bold.
- snmp-server community sTr1nG RO 2 – Whether you plan to use snmp or not, configuring the router as if you were to use snmp and without the default community string of ‘public’ is recommended. The only reason we bring this up is, with the many different releases to Cisco’s IOS, there can be a variety of different default configurations when it comes to snmp. Dissecting this command, this defines the community string as ‘sTr1nG’ and allows Read-Only(RO) access. The ’2′ at the end of the statement applies an access-control list to this Read-Only ability. At this point you can configure whatever devices you want to allow snmp access to the router. This will be described below:
- access-list standard 2 – This creates a basic ‘standard’ access-control list and designates it the counter of ’2′.
- permit 127.0.0.1 – This allows access from any ip sourced with a 127.0.0.1 address. In this instance, we essentially deny all snmp access to the router as that ip address is technically not routable.
- deny all – This verbosely displays that you will drop all remaining traffic.
- access-list standard 2 – This creates a basic ‘standard’ access-control list and designates it the counter of ’2′.
- snmp-server location City, ST – This is the command for configuring the location information about the devices.
Below is a list of suggested commands to be implemented on your Cisco Router when dealing with interface configurations. These are not meant to secure your network, however, they are meant to help secure your network equipment from the network.
Note: highlighted commands do not apply in your circumstance due to availability, functionality, or they are already in place. Actual commands are in bold.
- no ip redirects – Disables the ability of ICMP packets being redirected as sent from the router itself.
- no ip unreachables – Disables the disclosure of information via the ICMP protocol.
- no ip proxy-arp – Disable remote network arp-requests.
- no mop enabled – Disable a service used for VAX remote management.
- no ip directed-broadcast – Disable the forwarding of directed broadcast messages.

