본문 바로가기

Information Security/Access Control

Router Security

반응형

이번 장은 Router에 대한 기본 이해가 선행 되어야함

* Router 사용 모드

Router 사용 모드 설명
User EXEC Mode * 한정된 명령어만 사용 가능(주로 상태 조회 등)
- 프롬프트 상태 : Router>
Privileged EXEC Mode * 재부팅이나 라우팅 등, 대부분 명령어의 수행이 가능
- 프롬프트 상태 : Router#


* Privileged Mode로 변경 시, enable 패스워드 설정 명령어
1) enable password
- type 0 (평문) 저장하며, service password-encryption 명령어로 평문을 type7(역함수가 존재하여, 원래 평문 암호를 알 수 있는 방식)으로 암호화


2) enable secret (1번 명령어 보다 적용 우선순위가 먼저임)
- type 5 (일방향 함수로 암호화/MD5)의 암호문으로 저장
Global Configuration Mode * Privileged EXEC Mode에서 라우터 전반적 설정을 변경하고자 할 떄의 모드
- 프롬프트 상태 : Router(config)#
Other Configuration Mode * 특정 인터페이스나, 특정 라우팅 등을 변경하고자 하는 등의 복잡하고 세부적 설정을 하는 메뉴 (설정 후 exit 또는 ctrl+z 입력)
- 프롬프트 상태 : Router(config-mode)#

 

 

 

* 라우터 ACL : 라우터에서 접근제어 방식에는 standard(표준) access-listextended(확장) access-list가 존재

1) 접근 제어 방식

Router 접근 제어 방식 내용
Standard access-list * 패킷의 Source IP 만으로 접근 제어


* access-list(acl) number 1~99까지 사용
ex) access-list 99 [permit 또는 deny] [소스주소 wildcard 또는 any]


ex1) acess-list 5 permit host 192.168.159.131
- 특정 ip를 지정할 시, host 명시
- ip 대역 지정 시, wildcard 마스크(서브넷 마스크 비트를 반전시킷 것과 동일)를 명시


ex2) aceess-list 7 deny any
- 모든 출발지 IP 차단
Extended access-list * 패킷의 Source IP 외, 목적지 IP, Port, Protocol 등을 이용하여 접근 제어 가능


* access-list(acl) number 100~199까지 사용
ex) access-list 100 [permit 또는 deny] 프로토콜 소스IP 소스-wildcard 목적지IP 목적지-wildcard


ex1) acess-list 150 deny ip host 192.168.159.131 100.100.100.0 0.0.0.255
- 출발지는 host를 명시하여 소스-wildcard 명시가 없음
- 출발지 192.168.159.131 및 목적지가 100.100.100.0/24 대역인 IP 패킷에 대해 모두 지정


ex2) access-list 150 deny udp host 192.168.2.5 100.100.100.0 0.0.0.255 range 100 200
- 출발지 192.168.2.5이며, 목적지 IP가 100.100.100.0/24 대역, 목적지 Port가 100-200 범위인 UDP 패킷에 대해 모두 차단/필터링

2) Filtering 유형

Router ACL Filtering 유형 내용
Ingress * 라우터 내부로 유입되는 패킷의 Source IP나 목적지 Port등을 체크하여, 필터링
Egress * Ingress와 반대 개념으로, 라우터에서 외부로 나가는 패킷의 Source IP나 목적지 Port 등을 체크하여 필터링
Blackhole Filtering
(Null Routing)
* 특정 ip또는 대역에 대하여, 비정상 시도가 감지되었을 경우, 가상의 쓰레기 인터페이스(Null interface)로 패킷을 보내 통신이 되지 않도록 하는 것
Unicast RPF Filtering
(Reverse-Path Forwarding)
* access-list나 blackhole 필터링을 이용하여, 일일이 ip나, 대역을 지정하지 않고도, 효율적으로 필터링 하는 기법


* 인터페이스를 통해 들어오는 패킷의 소스ip에 대해 라우팅 테이블을 확인하여, 들어온 인터페이스로 다시 나가는지 확인하는 원리

 

 

 

* Router 보안 설정

보안 설정 서비스 내용
콘솔 포트 * 케이블을 이용하여 직접 터미널에 연결하여 라우터를 조작


> enable
# conf t
(config) # line console 0
(config-line) # login
(config-line) # password cisco
(config-line) # end
#
VTY 및 AUX * VTY 포트는 원격지에서 텔넷을 통한 접속 시 사용 (AUX는 현재 잘 사용되지 않으며 VTY와 설정이 동일)


> enable
# conf t
(config) # line aux 0 또는 # line vty 0 4
- vty 0 4는 0~4의 의미, 5 user 접속 가능
(config-line) # login
(config-line) # password cisco
(config-line) # end

# show user
- 접속한 user 확인
Telnet 접근 제한 * VTY의 경우, 외부 연결 시도를 모두 받아들이기 때문에, Ingress 패킷의 IP 주소를 차단하여, 허가된 IP의 연결 시도만 허용 하는 것이 안전


> enable
# conf t
(config) # access-list 10 permit host 192.168.0.1
(config) # access-list 10 deny any
(config) # line vty 0 4
(config-line) # access-class 10 in
(config-line) # end
#


* 위 방법 외, SSH 설정하여 사용할 것을 권장
> enable
# conf t
(config) # hostname [router name]
(config) # IP domain-name [domain name]
(config) # crypto key generate rsa
(config) # IP ssh time-out [time out value]
(config) # IP ssh authentication-retries [retries value]
(config) # line vty 0 4
(config-line) # transport input ssh
(config-line) # end
#
SNMP * 대부분 SNMP 읽기 권한은 기본 설정되어 있어, 공격에 악용되므로, 보안 설정이 필요
- 기본 community string 값은 public으로, 기본값 변경이 필요하며, ACL을 통한 접근 통제와 SNMP 정보 수신이 필요한 장비 명시, 이 외에는 모두 차단하도록 함


> enable
# conf t
(config) # snmp-server community x27swf3 ro 11
(config) # snmp-server contact test@tt.co.kr
(config) # access-list 11 permit host 211.1.2.5
(config) # access-list 11 deny any
(config) # interface FastEthernet 0/0
(config-if) # ip access-group 11 in
(config-if) # end
#show access-list


* SNMP 서비스를 사용하지 않을 시, 서비스 제거 권장
> enable
# conf t
(config) # no snmp-server
(config) # end
#show access-list


* SNMP Version 1,2는 평문이며, Version 3는 암호화가 지원되므로, 사용 시 V3 지원 여부 확인과 사용을 권장
ICMP * ICMP MTU Discovery : L2(Data Link Layer)에서 Source와 Destination 사이를 지나는 패킷 크기를 조절해주는 역할로, ICMP 패킷을 차단하더라도, MTU Discovery 제공 패킷은 허용해야, 네트워크가 정상 동작함


- 아래는 MTU Discovery를 담당하는 ICMP type3, code4 (Destination Unreachable, Fragmentation needed and don't fragment was set) 패킷만 허용하고 다른 ICMP를 모두 차단 가능
> enable
# conf t
(config) # access-list 103 permit icmp any any 3 4
(config) # access-list 103 deny icmp any any
(config) # access-list 103 permit ip any any
(config) # interface FastEthernet 0/0
(config-if) # ip access-group 103 in
(config-if) # end
#




* ICMP Redirects : 최적의 경로를 알려주는 용도로 사용되나, 네트워크를 지나는 패킷의 방향을 바꿔, 정보 수집이 가능하므로 악용되지 않게 차단하는 것을 권장


- 아래는 라우터 인터페이스로 ICMP Redirect 패킷이 들어오는 것을 차단
> enable
# conf t
(config) # interface FastEthernet 0/0
(config-if) # no ip redirects
(config-if) # end
#




* ICMP Directed Broadcasts : ICMP echo reply가 네트워크 전체에 브로드캐스팅되어 악용되는 것을 방지하기 위해 차단하길 권장


> enable
# conf t
(config) # interface FastEthernet 0/0
(config-if) # no ip directed-broadcast
(config-if) # end
#




* ICMP Mask Reply : 라우터가 해당되는 네트워크의 서브넷 마스크를 전송하도록 하는 기능이나, 공격자에게 정보가 제공될 우려가 있으므로, 차단 권장


> enable
# conf t
(config) # interface FastEthernet 0/0
(config-if) # no ip mask-reply
(config-if) # end
#




* ICMP Unrechable : 스캐닝 기법들에 의해 특정 포트가 열려있는지 판단되므로, 이를 차단하여, 포트 상태 정보를 노출시키지 않기 때문에 차단을 권장


> enable
# conf t
(config) # interface FastEthernet 0/0
(config-if) # no ip unreachable
(config-if) # end
#




* ICMP Timestamp and Information Requests : 네트워크 현황을 노출 시킬 수 있으므로, 두 서비스 모두 차단을 권장


> enable
# conf t
(config) # access-list 102 deny icmp any any timestamp-request
(config) # access-list 102 deny icmp any any information-request
(config) # access-list 102 permit ip any any
(config) # interface FastEthernet 0/0
(config-if) # ip access-group 102 in
(config-if) # end
#
Source Route * 패킷이 전송되는 경로를, 설정된 라우팅 경로를 통하지 않고, 패킷 발송자가 임의 설정할 수 있는 기능으로 악용 방지를 위해 중지하는 것을 권장


> enable
# conf t
(config) # no ip source-route
(config) # end
#
Small Service * CISCO Router의 IOS 버전에 따라, TCP, UDP Small Services가 자동으로 설정되는데, 20번 이하의 포트를 사용하는 해당 서비스를 사용하지 않는다면 차단하기를 권장


* Small Service
- echo(7/udp) : UDP 패킷을 송신자에게 재전송
- discard(9/udp) : UDP 패킷 수신 시, 바로 폐기
- daytime(13/udp) : 접속한 호스트의 현재 날짜와 시간을 ascii 형식으로 전송


> enable
# conf t
(config) # no service tcp-small-servers
(config) # no service udp-small-servers
(config) # end
#
Finger Service * 원격 사용자로 하여금, 어떤 사용자가 라우터에 접속해 있는지 알려주는 서비스로, 사용자 중요 정보가 노출될 수 있기 때문에 차단을 권장


> enable
# conf t
(config) # no service finger
(config) # end
#
HTTP * 라우터에 HTTP가 설정되어 있을 경우, 웹을 통한 설정 조회/변경이 가능하므로, 중지하는 것을 권장


> enable
# conf t
(config) # no ip http server
(config) # end
#
CDP Service * LAN 구간에 직접 연결된 CISCO 장비들 간 정보를 얻기 위한 프로토콜로, 정보 노출이 되지 않도록 차단 권장


> enable
# conf t
(config) # no cdp run
(config) # interface FastEthernet 0/0
(config-if) # no cdp enable
(config-if) # end
#
proxy-arp * Default-Router나 Default-Gateway가 없는 호스트들에게 ARP 서비스를 제공하는 서비스로, 호스트가 목적지 IP의 MAC주소를 요청 시, Proxy ARP가 설정된 라우터가 자신의 MAC주소를 목적지 MAC주소인 것처럼 전송
- 공격자들의 패킷 위조를 통한 Proxy ARP 요청으로, 라우터와 네트워크 관련 정보를 획득할 수 있으므로 차단을 권장


> enable
# conf t
(config) # interface FastEthernet 0/0
(config-if) # no ip proxy-arp
(config-if) # end
#
기타 불필요 서비스 * BootP (Bootstrap Protocol)


* DNS


* Network authloading of configuration files


* PAD(Packet Assembly/Disassembly)


* IP Classless


* 사용하지 않는 인터페이스 Shutdown 권장

 

 

 

* In/Egress IP 보안 설정

입/출력 IP 보안 설정 내용
내부 사용 IP * Ingress IP가 내부의 IP 주소라면, 공격자가 악용하는 것이므로, 이를 사전에 차단
(내부에 사용을 예약해둔 IP 포함)


ex) 내부 IP가 120.10.0.0 대역인 경우
> enable
# conf t
(config) # access-list 15 deny 120.10.0.0 0.0.255.255
(config) # access-list 15 permit any
(config) # inetface FasterEthernet 0/0
(config-if) # ip access-group 15 in
(config-if) # end
#
Unicast PRF * 인터페이스를 통해 들어오는 패킷의 소스ip에 대해 라우팅 테이블을 확인하여, 들어온 인터페이스로 다시 나가는지 확인하는 원리
(즉, reverse path가 존재하지 않으면 위조된 패킷으로 판단하여 차단)


> enable
# conf t
(config) # interface FastEthernet 0/0
(config-if) # ip verify unicast reverse-path
(config-if) # end
#
BlackHole Filtering
(Null Routing)
* 과 발생 IP가 망 내에서 통신할 수 없도록 차단

ex) 211.1.1.1 IP Null routing
> enable
# conf t
(config) # interface null 0
(config-if) # no ip unreachables
(config-if) # exit
(config) # ip route 211.1.1.1 255.55.255.255 null 0

 

반응형

'Information Security > Access Control' 카테고리의 다른 글

Windows SID (Security Identifier)  (0) 2021.02.28
TCP Wrapper  (0) 2021.01.17
Windows 접근 구조 및 Local/Remote 인증  (0) 2021.01.17
접근 통제 (Access Control)  (0) 2021.01.17