[네트워크 장비 취약점 진단] VTY 접근(ACL) 설정
- 정보보안/네트워크
- 2022. 8. 31.
N-04 VTY 접근(ACL) 설정
■ 점검영역 : 접근관리
■ 항목 중요도 : 상
■ 점검내용
원격 터미널(VTY) 통해 네트워크 장비 접근 시 지정된 IP에서만 접근이 가능하도록 설정되어 있는지 점검
■ 점검목적
지정된 IP 만 네트워크 장비에 접근하도록 설정되어 있는지 점검하여 비인가자의 터미널 접근을 원천적으로 차단하는지 확인하기 위함
■ 보안위협
지정된 IP 만 네트워크 장비에 접근하도록 설정되어 있지 않을 경우, 비인가자가 터미널 접근 시도 공격(무작위 대입 공격, 사전 대입 공격 등)을 시도하여 관리자 계정 패스워드 획득 후 네트워크 장비에 접근하여 장비 설정
(기능, ACL정책) 변경 및 삭제 등의 행위를 통해 네트워크 장비를 경유하는 데이터의 유출 및 가용성 저하 등을 발생 시킬 수 있는 위험이 존재함
■ 참고
※ VTY(Virtual Type Terminal): 가상 유형 터미널의 약어. 가상 터미널 라인(virtual terminal line)이라는 용어가 더 흔하게 사용되며 네트워크 장비를 원격 프로토콜(ssh) 에서 관리하기 위한 터미널 서비스
※ 기반시설 시스템은 VTY을 통한 접근을 원칙적으로 금지하나, 부득이 VTY을 사용하여 접근을 해야 하는 경우 허용한 시스템만 접근할 수 있게 하여 사용해야 함
점검대상 및 판단기준(네트워크 취약점 진단)
■ 대상 : Cisco, Alteon, Passport, Juniper, Piolink 등
양호
가상 터미널(VTY) 접근을 제한하는 ACL을 설정한 경우
취약
가상 터미널(VTY) 접근을 제한하는 ACL을 설정하지 않은 경우
■ 조치방법
가상 터미널(VTY)에 특정 IP 주소만 접근 가능하도록 설정
점검 및 조치 방법(파이오링크, 시스코, 주니퍼)
■ 장비별 점검방법 예시
Cisco IOS
Router# show running-config
Access List 설정하고 VTY 라인에 적용 여부 확인
Radware Alteon, Passport
장비로 접속하여 Telnet 또는 SSH 사용자의 접속 IP 설정 확인(Access Policies)
Juniper Junos
[edit]
user@host# show
firewall filter 설정하고 루프백 인터페이스에 적용 여부 확인
Piolink PLOS
(config)# show running-config
Security system access policy configuration 설정 확인
■ 장비별 조치방법 예시
Cisco IOS
VTY 접근 허용 IP 설정
Router# config terminal
Router(config)# access-list <ACL 번호> permit <IP 주소>
Router(config)# access-list <ACL 번호> deny any log
Router(config)# line vty ?
<0X4> First Line number
Router(config)# line vty 0 4
Router(config)# access-class <ACL 번호> in
Radware Alteon
# cfg
# sys
# access
# mgmt
# add
Enter Management Network Address: <IP 주소>
Enter Management Network Mask: <서브넷 마스크>
# apply
# save
Passport
# config sys access-policy
config/sys/access-policy# enable true
config/sys/access-policy# policy <pid> create
config/sys/access-policy# policy <pid>
config/sys/access-policy/policy/<pid># enable true
config/sys/access-policy/policy/<pid># accesslevel rwa
config/sys/access-policy/policy/<pid># host <ip-addr>
config/sys/access-policy/policy/<pid># service snmp enable
config/sys/access-policy/policy/<pid># service telnet enable
Juniper Junos
Step 1) 관리자 IP 지정
user@host> configure
[edit]
user@host# edit policy-options
[edit policy-options]
user@host# set prefix-list <prefix-name> <IP 주소>
Step 2) SSH 서비스에 관리자 IP 외에 접근을 차단하도록 방화벽 필터를 설정
[edit]
user@host# edit firewall family inet filter <filter-name>
[edit firewall family inet filter <filter-name>]
user@host# edit term <term-name-1>
[edit firewall family inet filter <filter-name> term <term-name-1>]
user@host# set from source-address 0.0.0.0/0
user@host# set from source-prefix-list <prefix-name> except
user@host# set term from protocol tcp
user@host# set from destination-port ssh
user@host# set then log
user@host# set then discard
Step 3) SNMP, ICMP, BGP, OSPF 등 다른 서비스와 프로토콜에 필요한 접근허용 필터를 설정하지 않은 경우 방화벽 필터의 영향을 받지 않도록 기본 허용으로 구성을 종료
user@host# edit firewall family inet filter <filter-name>
[edit firewall family inet filter <filter-name>]
user@host# set term <term-name-2> then accept
※ 기본 허용으로 인한 보안 위협이 존재하므로 필요한 서비스와 프로토콜을 허용하고 기본 차단으로 더 강력한 보안 필터를 구성할 수 있음
Step 4) 루프백 인터페이스에 방화벽 필터를 적용
[edit]
user@host# set interfaces lo0 unit 0 family inet filter input
<filter-name>
Piolink PLOS
Step 1) 시스템 접근 설정 모드에서 SSH 서비스에 ACL 설정
# configure terminal
(config)# security
(config-security)# system
(config-security-system)# access
(config-security-system-access)# rule <rule-id>
(config-security-system-access-rule[id])# protocol tcp
(config-security-system-access-rule[id])# source-ip <IP 주소>
(config-security-system-access-rule[id])# dest-port 22
(config-security-system-access-rule[id])# interface any
(config-security-system-access-rule[id])# policy accept
(config-security-system-access-rule[id])# apply
Step 2) 시스템 접근 제어 기능의 기본 접근 정책을 차단으로 설정
(config-security-system-access) # default-policy deny
※ 기본 접근 정책을 차단으로 변경하기 전에 관리용 포트(mgmt)와 네트워크 장비에
SNMP, ICMP 등 다른 서비스와 프로토콜에 필요한 접근허용 규칙을 모두 설정
■ 조치 시 영향 : Access-list를 생성하면 기본 Deny가 되므로 네트워크 담당자를 통해 설정함