라우터 보안 가이드라인
라우터 보안 가이드라인
22. NDV-001 SNMP community string 복잡성 설정
기존 장비 설정 확인, 사용하지 않을경우 서비스 끔, 담당자와 협의하여 설정
대소문자, 숫자, 특수문자 조합하여 9자리 이상
config terminal
snmp-server Community <커뮤니티 명>
23. NDV-002 SNMP 커뮤니티 권한 설정
기존 장비 설정 확인, 사용하지 않을경우 서비스 끔
config terminal
snmp-server community <스트링명> RO (읽기권한)
snmp-server community <스트링명> RW (쓰기권한)
* RW권한 가급적 사용을 자제하되 부득이 사용하여야 한다면 각별히 주의하여야 한다.
24. NDV-003 SNMP ACL 설정
기존 장비 설정 확인, 사용하지 않을경우 서비스 끔
1. access-list를 이용하여 특정 호스트만 열어 주기(port:161,162)
config terminal
access-list 100 permit ip host 100.100.100.100 any
access-list 100 deny udp any any eq snmp
access-list 100 deny udp any any eq snmptrap
access-list 100 permit ip any any
interface serial0 (해당 인터페이스에 설정)
ip access-group 100 in
25. NDV-004 외부인터페이스 SNMP 접근 차단
24항 항목에 등록된 호스트만 통신되며, 그외 차단
26. NDV-005 local 사용자 생성
config terminal
username [ID] privilege [1-15] password [PASS]
27. NDV-006 aaa local authentication 사용
29. NDV-008 enable secret 설정
기존 세팅 참조, 인증서버 유무 확인
대소문자, 숫자, 특수문자 조합하여 9자리 이상
config terminal
enable secret <패스워드>
30. NDV-009 암호화된 패스워드 사용
2. SSH 사용할 경우
22. NDV-001 SNMP community string 복잡성 설정
기존 장비 설정 확인, 사용하지 않을경우 서비스 끔, 담당자와 협의하여 설정
대소문자, 숫자, 특수문자 조합하여 9자리 이상
config terminal
snmp-server Community <커뮤니티 명>
23. NDV-002 SNMP 커뮤니티 권한 설정
기존 장비 설정 확인, 사용하지 않을경우 서비스 끔
config terminal
snmp-server community <스트링명> RO (읽기권한)
snmp-server community <스트링명> RW (쓰기권한)
* RW권한 가급적 사용을 자제하되 부득이 사용하여야 한다면 각별히 주의하여야 한다.
24. NDV-003 SNMP ACL 설정
기존 장비 설정 확인, 사용하지 않을경우 서비스 끔
1. access-list를 이용하여 특정 호스트만 열어 주기(port:161,162)
config terminal
access-list 100 permit ip host 100.100.100.100 any
access-list 100 deny udp any any eq snmp
access-list 100 deny udp any any eq snmptrap
access-list 100 permit ip any any
interface serial0 (해당 인터페이스에 설정)
ip access-group 100 in
25. NDV-004 외부인터페이스 SNMP 접근 차단
24항 항목에 등록된 호스트만 통신되며, 그외 차단
26. NDV-005 local 사용자 생성
config terminal
username [ID] privilege [1-15] password [PASS]
27. NDV-006 aaa local authentication 사용
기존 세팅 참조, 인증서버 유무 확인
28. NDV-007 패스워드 설정(aaa인증사용시 무시됨)
기존 세팅 참조, 인증서버 유무 확인29. NDV-008 enable secret 설정
기존 세팅 참조, 인증서버 유무 확인
대소문자, 숫자, 특수문자 조합하여 9자리 이상
config terminal
enable secret <패스워드>
30. NDV-009 암호화된 패스워드 사용
config terminal
service password-encryption
service password-encryption
31. NDV-010 패스워드 복잡성 설정
대소문자, 숫자, 특수문자 조합하여 9자리 이상
32. NDV-011 VTY 접근(ACL) 설정
telnet 사용금지 ssh 설정
기존 세팅 확인, 접속IP 확인 시 세팅가능
2. SSH 사용할 경우
config terminal
access-list <access_list_num> permit <source_ip mask>
ssh access-group <num>
access-list <access_list_num> permit <source_ip mask>
ssh access-group <num>
또는
config terminal
ip ssh client <IP_address>
33. NDV-012 session timeout 설정
ip ssh client <IP_address>
33. NDV-012 session timeout 설정
1. Console
config terminal
line con 0
exec-timeout 5 0
2. VTY
config terminal
line vty 0 4
exec-timeout 5 0
3. AUX
config terminal
line aux 0
exec-timeout 5 0
34. NDV-013 VTY login에 telnet이나 ssh만 허용
telnet 차단config terminal
line con 0
exec-timeout 5 0
2. VTY
config terminal
line vty 0 4
exec-timeout 5 0
3. AUX
config terminal
line aux 0
exec-timeout 5 0
34. NDV-013 VTY login에 telnet이나 ssh만 허용
기존설정 확인
IP 매니지먼트 솔루션 정보확인
[CISCO]
SSH 설정방법
사전작업 : 라우터이름, 도메인명 설정
SSH 설정방법
사전작업 : 라우터이름, 도메인명 설정
config terminal
hostname <호스트명>
ip domain-name <도메인명>
username <ID> password <PASS> #26항목 사용자 생성함
crypto key generate rsa
!
How many bits in the modulus [512]: 1024 <- 입력
!
hostname <호스트명>
ip domain-name <도메인명>
username <ID> password <PASS> #26항목 사용자 생성함
crypto key generate rsa
!
How many bits in the modulus [512]: 1024 <- 입력
!
ip ssh time-out [초] -> timeout 시간(단위: second) 300 = 5분
ip ssh authentication-retries [횟수] -> 재시도 횟수
line vty 0 4
login local
transport input ssh
SSH 접속
1. ssh 접속 프로그램 사용
2. # ssh -c rsa -l <ID> <라우터IP>
35. NDV-014 aux 사용중지
config terminal
line aux 0
no login
36. NDV-015 IP management 접근 제어 허용
기존세팅 확인IP 매니지먼트 솔루션 정보확인
37. NDV-016 http server 사용중지
config terminal
no ip http server
38. NDV-017 tcp-small 서비스의 사용중지(11.3이상 기본)
config terminal
no service tcp-small-servers
39. NDV-018 ucp-small 서비스의 사용중지(11.3이상 기본)
config terminal
no service udp-small-servers
40. NDV-019 cdp 서비스 사용중지
config terminal
no cdp run
41. NDV-020 tftp 서비스 차단
config terminal
no service tftp
42. NDV-021 Source routing 사용금지
config terminal
no ip source-route
43. NDV-022 finger server 사용중지 (12이상 기본)
config terminal
no service finger (이전 버전 명령어)
no ip finger
44 NDV-023 identd service 사용중지 [IOS 11]
config terminal
no ip identd
45 NDV-024 bootp(DHCP) 서버 사용중지
config terminal
no ip bootp server
46 NDV-025 모든 인터페이스에 proxy ARP를 금지
config terminal
interface fastethernet 0/1
no ip proxy-arp
47 NDV-026 ip Directed Broadcast 차단 [IOS 11]
config terminal
interface fastethernet 0/1
no ip directed-broadcast
48. NDV-027 DNS name 요청 사용중지
config terminal
no ip domain-lookup
50. NDV-029 불필요한 프로토콜과 서비스 제거
심각도 수준은 낮은 숫자로 갈수록 장비에 위험하다는 뜻이고,
높은 숫자의 Level 은 낮은 숫자의 내용을 모두 포함(include)합니다.
이 말은 곧 "logging trap " 의 level 을 emergencies(0) 으로 설정할 경우 해당 장비에 치명적인 장애 발생 시에만 로그를 전달하고,
그 아래에 해당하는 Level 의 로그(1~7)는 발생되더라도 로그서버로 전달하지 않는다는 뜻입니다.
Default 는 "informational(6) 입니다.
Debugging(7) 의 경우 장비에서 발생되는 모든 log 를 다 전달하므로 CPU 에 부하를 줄 수 있어, 주의를 요합니다.
{ ISP Core } -- ISP Edge Router -- Customer Edge Router -- { Customer network }
access-list 103 permit icmp any any 3 4
access-list 103 deny icmp any any
access-list 103 permit ip any any
no service udp-small-servers
40. NDV-019 cdp 서비스 사용중지
config terminal
no cdp run
41. NDV-020 tftp 서비스 차단
config terminal
no service tftp
42. NDV-021 Source routing 사용금지
config terminal
no ip source-route
43. NDV-022 finger server 사용중지 (12이상 기본)
config terminal
no service finger (이전 버전 명령어)
no ip finger
44 NDV-023 identd service 사용중지 [IOS 11]
config terminal
no ip identd
45 NDV-024 bootp(DHCP) 서버 사용중지
config terminal
no ip bootp server
46 NDV-025 모든 인터페이스에 proxy ARP를 금지
config terminal
interface fastethernet 0/1
no ip proxy-arp
47 NDV-026 ip Directed Broadcast 차단 [IOS 11]
config terminal
interface fastethernet 0/1
no ip directed-broadcast
48. NDV-027 DNS name 요청 사용중지
config terminal
no ip domain-lookup
49. NDV-028 PAD 서비스 사용중지
config terminal
no service pad50. NDV-029 불필요한 프로토콜과 서비스 제거
ICMP 프로토콜을 ACL 로 차단 #63항 / ICMP redirect 차단 #64항
TCP/UDP Small Service 차단 : no service tcp-small-servers 등 #38,39항
finger 차단 #43항 / http 차단 #37항 / CDP 차단 #40항 / Bootp #45항 / PAD #49항
DNS
config terminal
no ip name-server
IP classless
config terminal
no ip classless
Network authloading of configuration files
config terminal
no boot network
no service config
51. NDV-030 NTP를 사용하여 시각을 동기화
기존설정 확인
외부와 통신이 안되는 경우 내부 NTP 서버 필요
[Cisco]
NTP 서버 연동 설정
Router# config terminal
Router(config)# ntp server 203.248.240.103 #(NTP 서버 IP)
time.bora.net
203.248.240.103
LGU+
PING응답
수동 시간 설정
show clock
clock timezone KST 9
clock set 10:30:00 2 jan 2018
52. NDV-031 timezone 설정
51. 항목의 마지막 clock timezone KST 9 설정
53. NDV-032 enable logging 설정
기존설정 확인
로그서버가 있는지 버퍼에 남길건지 확인
config terminal
logging on
54. NDV-033 log 메세지에 시간 설정
55항 timestamp
55. NDV-034 logging 버퍼 설정
버퍼에 로그를 남기는 설정을 보여주고 있다. 예제에서는 16K 정도를 버퍼 로그로 할당했는데, 메모리가 크다면 더 설정해도 된다.
config terminal
logging buffered 16000 information
service timestamps log datetime localtime msec
exit
이후 'show logging'을 실행하면 생성되는 로그 정보를 확인할 수 있다.
56. NDV-035 syslog 서버 설정
기존설정 확인
로그서버가 있는지 확인
config terminal
logging on
logging 192.168.100.1 #(서버 IP)
58. NDV-037 console logging 레벨 설정
·콘솔 로깅(Console logging) 기법
로그 메시지가 콘솔 메시지에 출력되는 경우, 콘솔에만 출력될 뿐 파일 등에는 저장되지 않는다. 비활성화하려면 config 모드에서 ‘no logging console‘을 입력하면 된다. 아주 심각한 정도의 로그를 보고자 한다면 ‘logging console critical‘라고한다
logging trap [level keyword]
Level Keyword
| |||
높은 숫자의 Level 은 낮은 숫자의 내용을 모두 포함(include)합니다.
이 말은 곧 "logging trap " 의 level 을 emergencies(0) 으로 설정할 경우 해당 장비에 치명적인 장애 발생 시에만 로그를 전달하고,
그 아래에 해당하는 Level 의 로그(1~7)는 발생되더라도 로그서버로 전달하지 않는다는 뜻입니다.
Default 는 "informational(6) 입니다.
Debugging(7) 의 경우 장비에서 발생되는 모든 log 를 다 전달하므로 CPU 에 부하를 줄 수 있어, 주의를 요합니다.
config terminal
logging on
logging console
logging trap 6
59. NDV-038 외부 인터페이스에 ingress필터(ACL)설정
ISP 대역을 가진 외부라우터가 아님으로 설정하지않음
ACL에 ingress 및 egress filtering (RFC 2267) 적용
ISP edge 라우터에서는 고객의 네트워크에 속하는 소스주소를 갖고 있는 트래픽만 받아들이도록 하며, 고객의 네트워크는 자신의 네트워크 주소 이외의 소스주소를 가지는 트래픽만
받아들인다.
{ ISP Core } -- ISP Edge Router -- Customer Edge Router -- { Customer network }
ISP 쪽의 라우터를 다음과 같이설정한다.
ISP (외부IP) 인터페이스
access-list 190 permit ip {customer network} {customer network mask} any
access-list 190 deny ip any any [log]
interface {ingress interface} {interface #}
ip access-group 190 in
60. NDV-039 외부 인터페이스에 egress 필터(ACL)설정
고객쪽의 라우터를 다음과 같이 설정한다.
Customer (내부IP) 인터페이스
(와일드카드 마스크)
access-list 188 permit ip {customer network} {customer network mask} any
access-list 188 deny ip any any
interface {egress interface} {interface #}
ip access-group 188 out
61. NDV-040 Spoofing 방지 필터링 적용
config terminal
access-list 189 deny ip 127.0.0.0 0.255.255.255 any
access-list 189 deny ip 224.0.0.0 31.255.255.255 any
access-list 189 deny ip host 0.0.0.0 any
access-list 189 permit ip any any
interface serial 0 (해당 인터페이스에 설정)
ip access-group 189 in
62. NDV-041 IP 멀티캐스트 차단
게이트 이중화 여부 파악 후 hsrp vrrp <사용시> 61.필터링 항목의 3. 224.0.0.0 아이피 대역 항목 제거
62. NDV-041 IP 멀티캐스트 차단
게이트 이중화 여부 파악 후 hsrp vrrp <사용시> 61.필터링 항목의 3. 224.0.0.0 아이피 대역 항목 제거
63. NDV-042 ICMP 차단
(1) ICMP MTU Discovery
ICMP 패킷을 차단하는 것은 큰 문제를 발생시키지는 않지만, MTU(Maximum transfer unit) discovery에 치명적인 영향을 미칠 수 있다. MTU discovery는 데이터 링크계층에서 source와 destination 사이를 지나는 패킷 크기를 조절해주는 역할을 한다. 따라서, ICMP 패킷을 차단하더라도 MTU discovery를 제공하는 패킷은 허용해야 네트워크가 제대로 동작할 수 있다. 아래와 같은 ACL을 적용하게 되면 MTU discovery를 담당하는 패킷인 ICMP type 3, 4번패킷만을 허용하고 다른 ICMP 패킷은 모두 차단할 수 있다.
access-list 103 deny icmp any any
access-list 103 permit ip any any
interface serial0
ip access-gropu 103 in
64. NDV-043 redirect 차단
ip access-gropu 103 in
64. NDV-043 redirect 차단
interface serial0
no ip redirects
(63항에서 ICMP 미차단시 ACL로 redirect 차단)
access-list 103 deny icmp any any redirect
access-list 103 permit ip any any
65. NDV-044 ICMP unreachables 차단
interface serial0
no ip unreachables
66. NDV-045 mark-reply차단
interface serial0
no ip mask-reply
67. NDV-046 timestamp, infomation Requests 차단
(63항에서 ICMP 미차단시 ACL로 redirect 차단)
access-list 102 deny icmp any any timestamp-request
access-list 102 deny icmp any any information-request
access-list 102 permit ip any any
interface serial0
ip access-group 102 in
68. NDV-047 DDoS 공격방어
기존설정 확인,
사용중인 IP대역, 사설IP대역 파악하여 대상IP대역을 사용하지 않으면 차단
<DDoS 공격 방어 설정(차단되어야 하는 아이피 대역)>
- 0.0.0.0/8 : Default/Broadcast & Other unique IP
- 127.0.0.0/8 : Host Loopback IP address
- 169.254.0.0/16 : DHCP를 통한 IP 미 할당시 자동 생성되는 IP
- 192.0.2.0/24 : TEST-NET IP
- 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16:RFC 1918 에 정의된 사설 IP
- access-list 번호는 100~199 구간을 사용하여 Extended access-list 를
사용 한다.
interface serial3/0/0
ip access-group 101 in
※ 바람직한 배너 예시
1. SNMP 설정 확인
2. SNMP 서비스 동작 확인
※ SNMP 서비스 비활성화 시 아래 문구 출력
!
%SNMP agent not enabled
!
Smart Install Director
- 0.0.0.0/8 : Default/Broadcast & Other unique IP
- 127.0.0.0/8 : Host Loopback IP address
- 169.254.0.0/16 : DHCP를 통한 IP 미 할당시 자동 생성되는 IP
- 192.0.2.0/24 : TEST-NET IP
- 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16:RFC 1918 에 정의된 사설 IP
- access-list 번호는 100~199 구간을 사용하여 Extended access-list 를
사용 한다.
사용중인 IP대역은 제외한다.
access-list 101 deny ip 0.0.0.0 0.255.255.255 any
access-list 101 deny ip 127.0.0.0 0.255.255.255 any
access-list 101 deny ip 169.254.0.0 0.0.255.255 any
access-list 101 deny ip 10.0.0.0 0.255.255.255 any
access-list 101 deny ip 192.168.0.0 0.0.255.255 any
access-list 101 deny ip 172.16.0.0 0.15.255.255 any
access-list 101 permit ip any any
access-list 101 deny ip 192.168.0.0 0.0.255.255 any
access-list 101 deny ip 172.16.0.0 0.15.255.255 any
access-list 101 permit ip any any
ip access-group 101 in
69. NDV-048 최신 보안 패치 및 벤더 권고사항 적용
70. NDV-049 명령어 실행 권한 제한(show log level monitor)
1. 사용자별 권한 수준 지정
#(관리자 15 , 모니터링 2~14)
config terminal
username [ID] privilege [1-15] password [PASS]
username [ID] privilege [1-15] password [PASS]
2. 명령어별 권한 수준 지정
privilege exec level [1-15] [서비스명]
NSA에서 권고한 사항에 따르면 공격자들이 라우터에 침입해도 허가된 권한 수준이 아니면
중요한 프로그램은 실행하지 못하도록 설정하여야 한다. 따라서, 중요한 명령어에는 반드시
레벨 15를 적용해야 하는데 그 명령어 목록은 아래와 같다.
중요한 프로그램은 실행하지 못하도록 설정하여야 한다. 따라서, 중요한 명령어에는 반드시
레벨 15를 적용해야 하는데 그 명령어 목록은 아래와 같다.
- connect / telnet / rlogin / show ip access-list / show logging
config terminal
privilege exec level 15 connect
privilege exec level 15 telnet
privilege exec level 15 rlogin
privilege exec level 15 show ip access-list
privilege exec level 15 show logging
privilege exec level 15 connect
privilege exec level 15 telnet
privilege exec level 15 rlogin
privilege exec level 15 show ip access-list
privilege exec level 15 show logging
71. 배너 설정
기존 설정 확인, 기존 배너 사용
config terminal
banner motd # < 배너제목>
<배너 문구 입력> #
<배너 문구 입력> #
This system have to access authorized user and only use for officially.
During using equipment, privacy of individuals is not guaranteed.
All access and usage is monitored and recorded and can be provided evidence as court or related organization. Use of this system constitutes consent to monitoring for these purposes.
During using equipment, privacy of individuals is not guaranteed.
All access and usage is monitored and recorded and can be provided evidence as court or related organization. Use of this system constitutes consent to monitoring for these purposes.
이 시스템은 허가 된 사용자에게 액세스해야하며 공식적으로 만 사용해야합니다.
장비를 사용하는 동안 개인의 사생활은 보장되지 않습니다.
모든 액세스 및 사용은 모니터되고 기록되며 법원이나 관련 기관의 증거를 제공 할 수 있습니다. 이 시스템의 사용은 이러한 목적의 모니터링에 대한 동의를 구성합니다.
config terminal
banner motd # < WARNING >
This system have to access authorized user and only use for officially.
During using equipment, privacy of individuals is not guaranteed.
All access and usage is monitored and recorded and can be provided evidence as court or related organization. Use of this system constitutes consent to monitoring for these purposes. #
This system have to access authorized user and only use for officially.
During using equipment, privacy of individuals is not guaranteed.
All access and usage is monitored and recorded and can be provided evidence as court or related organization. Use of this system constitutes consent to monitoring for these purposes. #
72. tcp keepalives 사용
config terminal
service tcp-keepalives-in
73. 사용하지 않는 인터페이스의 shutdown 설정
show run
각 인터페이스 shutdown 확인
74. SNMP 서비스 확인
show snmp
1. SNMP 설정 확인
2. SNMP 서비스 동작 확인
※ SNMP 서비스 비활성화 시 아래 문구 출력
!
%SNMP agent not enabled
!
75. VTY line 과 enable secret에 동일한 패스워드 사용
config terminal
line vty 0 4
password 시크릿과 같은 암호
login
76. Smart install 비활성화
Smart Install Director
기능을 지원하는 스위칭 플랫폼에서만 적용 가능하며 라우팅 플랫폼에서는 지원되지 않습
니다
니다
참조 : 고용노동 사이버안전센터 보안가이드라인_네트워크장비_v6.0
참조 : 라우터 보안관리 가이드 (KISA-0169)
참조 : http://blog.naver.com/PostView.nhn?blogId=bmsdong&logNo=40011602200&parentCategoryNo=9&categoryNo=&viewDate=&isShowPopularPosts=true&from=search라우터 보안 가이드라인