Cisco Device Hardening
Securing Management and Reporting Features
Secure Management and Reporting Planning Considerations
Secure Management and Reporting Planning Considerations
• 가장 중요한 로그는 무엇인가 ?
• 중요한 메시지는 어떻게 분리할 것인가 ?
• 로그의 변경을 어떻게 방지할 것인가 ?
• Time stamp 가 일치한다고 어떻게 확신할 것인가 ?
• 어떠한 로그가 침해조사에 필요한가 ?
• 로그 메시지의 양을 어떻게 다룰 것인가 ?
• 장치를 어떻게 관리할 것인가 ?
• 네트워크에 대한 공격 또는 장애에 어떻게 대응할 것인가 ?
Secure Management and Reporting Architecture
Secure Management andReporting Architecture
Information Paths
In-Band Management Considerations
• 각 장비는 어떠한 관리 프로토콜을 지원하는가 ?
• 관리채널은 항상 활성화 되어 있어야 하는가 ?
• SNMP 를 필요로 하는가 ?
Secure Management andReporting Guidelines
• In-band management guidelines:– 관리 및 감시가 필요한 장치에만 적용한다 . – 가급적 IPSec 를 사용한다 .– Telnet 대신 SSH 를 사용한다 . – 관리채널이 항상 열려있어야 하는가에 대한 판단이 필요하다 .– Host와 Network device 의 클럭을 동기화 한다 .– 기록변경과 설정을 보관한다 .
• OOB management guidelines:– 높은 보안성의 제공과 불안전한 관리 프로토콜의 배제로 위험요소 감소 .– Host와 Network device 의 클럭을 동기화 한다 .– 기록변경과 설정을 보관한다 .
Configuring an SSH Server for Secure Management and Reporting
Configuring an SSH Server forSecure Management and Reporting
Austin2#configure terminalAustin2(config)#ip domain-name cisco.comAustin2(config)#crypto key generate rsa general-keys modulus 1024
Sept 22 13:20:45: %SSH-5-ENABLED: SSH 1.5 has been enabled
Austin2(config)#ip ssh timeout 120Austin2(config)#ip ssh authentication-retries 4Austin2(config)#line vty 0 4Austin2(config-line)#no transport input telnetAustin2(config-line)#transport input sshAustin2(config-line)#end
1. IP domain name 설정2. RSA key 생성3. SSH timeout interval 구성4. SSH 재시도 횟수5. Vty 의 inbound Telnet session 비활성화6. Vty의 inbound SSH sessions 활성화
Using Syslog Logging for Network Security
Implementing Log Messaging for Security
• Router 는 다음의 사항 중 하나 이상의 방식으로 log 를 전송 :
– Console
– Terminal lines
– Memory buffer
– SNMP traps
– Syslog
• Syslog logging 은 중요한 보안정책 구성요소이다 .
Syslog Systems
• Syslog server: 하나 이상의 클라이언트로부터 로그를 받아 처리하는 호스트 .• Syslog client: 로그를 생성하여 서버에 전송하는 호스트 .
Cisco Log Severity Levels
Debug messageDebugging7
Informational messageInformational6
Normal but important eventNotifications5
Warning conditionWarnings4
Error conditionErrors3
Condition criticalCritical2
Immediate action requiredAlerts1
Router unusableEmergencies0
DescriptionNameLevel
Log Message Format
Oct 29 10:00:01 EST: %SYS-5-CONFIG_I: Configured from console by vty0 (10.2.2.6)
Time Stamp
Log Message Name and Severity
Level
Message Text
Configuring Syslog Logging
Configuring Syslog
Router(config)#
logging [host-name | ip-address]
Router(config)#
logging trap level
Router(config)#
logging facility facility-type
1. Sets the destination logging host
2. (Optional) Sets the log severity (trap) level
3. (Optional) Sets the syslog facility
Configuring Syslog (Cont.)
Router(config)#
logging source-interface interface-type interface-number
Router(config)#
logging on
4. (Optional) Sets the source interface
5. Enables logging
Syslog Implementation Example
R3(config)#logging 10.2.2.6R3(config)#logging trap informationalR3(config)#logging source-interface loopback 0R3(config)#logging on
SNMP Version 3
SNMPv1 and SNMPv2 Architecture
• SNMP NMS 는 정보를 위하여 Device 에 내장된 Agent 에 Query하거나 Set 명령을 전달할 수 있다 .
Community Strings
Management station과 SNMPv1 또는 SNMPv2 engine 사이에서 메시지를 인증하기 위해 사용 :• Read only community string 은 정보를 읽을 수는 있지만
정보를 설정할 수는 없다 .• Read-write community string 은 정보를 읽을 수 있으며
설정할 수 도 있다 .
SNMP Security Models and Levels
Model
Level Authentication Encryption
What Happens
v1 noAuthNoPriv
Community String
No • Authenticates with a community string match
v2 noAuthNoPriv
Community String
No • Authenticates with a community string match
v3 noAuthNoPriv
Username No • Authenticates with a username
authNoPriv MD5 or SHA No • Provides HMAC MD5 or SHA algorithms for authentication
authPriv MD5 or SHA DES • Provides HMAC MD5 or SHA algorithms for authentication
• Provides DES 56-bit encryption in addition to authentication based on the CBC-DES (DES-56) standard
Definitions:• Security model 은 SNMP agent 사용을 위한 보안 전략이다 .
• Security level 은 Security model 내에서 허용된 보안 레벨이다 .
SNMPv3 Architecture
SNMPv3 Operational Model
SNMPv3 Features and Benefits
Features • Message integrity: 패킷이 전송중에 변조되지 않았음을 보장 .
• Authentication: 적합한 출발지에서 메시지가 전달되었는지 판단 .
• Encryption: 패킷 내용의 노출 방지 .
Benefits • SNMP device 에서 전송되는 데이터가 조작되거나 손상되는 것을 방지 .
• 라우터의 설정을 변경하는 SNMP Set 명령이 네트워크에 노출되는 것을 방지 .
Configuring an SNMP Managed Node
SNMPv3 Configuration Task List
Cisco IOS SNMPv3 server configuration tasks:
1. Configuring the SNMP-server engine ID
2. Configuring the SNMP-server group names
3. Configuring the SNMP-server users
4. Configuring the SNMP-server hosts
Configuring the SNMP-Server Engine ID
snmp-server engineID [local engineid-string] | [remote ip-address udp-port port-number engineid-string]
Router(config)#
• Configures names for both the local and remote SNMP engine (or copy of SNMP) on the router
PR1(config)#snmp-server engineID local 1234
Configuring the SNMP-Server Group Names
snmp-server group groupname {v1 | v2c | v3 {auth | noauth | priv}} [read readview] [write writeview] [notify notifyview] [access access-list]
Router(config)#
• Configures a new SNMP group, or a table that maps SNMP users to SNMP views
PR1(config)#snmp-server group johngroup v3 auth
PR1(config)#snmp-server group billgroup v3 auth priv
Configuring the SNMP-Server Users
snmp-server user username groupname [remote ip-address [udp-port port]] {v1 | v2c | v3 [encrypted] [auth {md5 | sha} auth-password [priv des56 priv-password]]} [access access-list]
Router(config)#
• Configures a new user to an SNMP group
PR1(config)#snmp-server user John johngroup v3 auth md5 john2passwd PR1(config)#snmp-server user Bill billgroup v3 auth md5 bill3passwd des56
password2PR1(config)#snmp-server group johngroup v3 auth PR1(config)#snmp-server group billgroup v3 auth priv
Configuring the SNMP-Server Hosts
snmp-server host host-address [traps | informs] [version {1 | 2c | 3 [auth | noauth | priv]}] community-string [udp-port port] [notification-type]
Router(config)#
• Configures the recipient of an SNMP trap operation.
PR1(config)#snmp-server engineID remote 10.1.1.1 1234PR1(config)#snmp-server user bill billgroup remote 10.1.1.1 v3PR1(config)#snmp-server group billgroup v3 noauthPR1(config)#snmp-server enable traps PR1(config)#snmp-server host 10.1.1.1 inform version 3 noauth billPR1(config)#snmp-server manager
SNMPv3 Configuration Example
Trap_sender(config)#snmp-server group snmpgroup v3 auth Trap_sender(config)#snmp-server group snmpgroup v3 privTrap_sender(config)#snmp-server user snmpuser snmpgroup v3 auth md5 authpassword priv des56 encryptpassword Trap_sender(config)#snmp-server enable traps cpu Trap_sender(config)#snmp-server enable traps configTrap_sender(config)#snmp-server enable traps snmpTrap_sender(config)#snmp-server host 11.11.11.11 traps version 3 priv snmpuserTrap_sender(config)#snmp-server source-interface traps loopback 0
Walked_device(config)#snmp-server group snmpgroup v3 auth Walked_device(config)#snmp-server group snmpgroup v3 privWalked_device(config)#snmp-server user snmpuser snmpgroup v3 auth md5 authpassword priv des56 encrypt password
Configuring NTP Client
Understanding NTP
• NTP 는 전체 네트워크에서 Clock 을 동기화 하기 위해 사용된다 .• System clock 은 부팅되는 동안 Battery system calendar 에
의해 설정 .• System clock 인접 NTP 를 경유하여 수동으로 변경될 수 있다 .• NTP는 UDP 123 번 port 를 사용한다 .• 현재 사용되는 버전은 version4 이다 .• Version3 까지 RFC 문서화 되어 있다 .• Stratum 은 신뢰할 수 있는 time source 로 부터 몇 번의 “ NTP
hops” 를 경유하는 지를 나타낸다 .• NTP 는 타임 동기화를 위해 사용된다 .
Configuring NTP Authentication
ntp authenticate
Router(config)#
• Enables the authentication feature
R1(config)#ntp authenticationR1(config)#ntp authentication-key 1 md5 NeVeRgUeSsR1(config)#ntp trusted-key 1
ntp authentication-key number md5 value
• Defines the authentication keys• Used for both peer and server associations
ntp trusted-key key-number
• Defines the trusted authentication keys • Required to synchronize to a system (server association)
Router(config)#
Router(config)#
Configuring NTP Associations
ntp server {ip-address | hostname} [version number] [key keyid] [source interface] [prefer]
Router(config)#
R1(config)#ntp server 10.1.1.1 key 1 R1(config)#ntp server 10.2.2.2 key 2 preferR1(config)#interface Fastethernet 0/1R1(config-if)#ntp broadcast client
• Forms a server association with another system
ntp broadcast client
• Receives NTP broadcast packets
Router(config-if)#
Configuring Additional NTP Options
ntp access-group {query-only | serve-only | serve | peer} access-list-number
Router(config)#
R1(config)#access-list 1 permit host 10.1.1.1R1(config)#ntp access-group peer 1 R1(config)#ntp source loopack 0
• Controls NTP message exchange
ntp source interface
• Modifies the source IP address of NTP packets
Router(config)#
Configuring NTP Server
Configuring NTP Server
ntp master [stratum]
R2(config)#ntp peer 10.1.1.1 key 1R2(config)#ntp master 3R2(config)#interface Fastethernet0/0 R2(config-int)#ntp broadcast
• Makes the system an authoritative NTP server
ntp broadcast [version number][destination address][key keyid]
• Configures an interface to send NTP broadcast packets
Router(config-int)#
ntp peer ip-address [normal-sync][version number] [key keyid] [source interface] [prefer]
Router(config)#
• Forms a peer association with another system
Router(config)#
NTP Configuration Example
Source(config)#ntp master 5Source(config)#ntp authentication-key 1 md5 secretsourceSource(config)#ntp peer 172.16.0.2 key 1Source(config)#ntp source loopback 0
Intermediate(config)#ntp authentication-key 1 md5 secretsourceIntermediate(config)#ntp authentication-key 2 md5 secretclientIntermediate(config)#ntp trusted-key 1Intermediate(config)#ntp server 172.16.0.1 Intermediate(config)#ntp source loopback 0Intermediate(config)#interface Fastethernet0/0Intermediate(config-int)#ntp broadcast
Client(config)#ntp authentication-key 1 md5 secretclientClient(config)#ntp trusted-key 1Client(config)#interface Fastethernet0/1Client(config-int)#ntp broadcast client