[Network] Cisco 장비의 필수 설정 및 취약점 점검 항목
필수 설정 항목
- NTP 설정
- 시간 동기화를 제공하여 로그 기록, 보안, 유지 보수 및 관리 편의성을 향상
Device(config)# ntp server <NTP 서버 IP>
- 시간 동기화를 제공하여 로그 기록, 보안, 유지 보수 및 관리 편의성을 향상
- 중요한 명령어의 실행 권한 관리 강화: level 15 적용
- connect, telnet, rlogin, show ip access-list, show logging 명령어 등
Device(config)# privilege exec level 15 connect Device(config)# privilege exec level 15 telnet Device(config)# privilege exec level 15 ssh Device(config)# privilege exec level 15 rlogin Device(config)# privilege exec level 15 show ip access-list Device(config)# privilege exec level 15 show logging
- connect, telnet, rlogin, show ip access-list, show logging 명령어 등
- 로그 시간을 기록하는 timestamp 설정
- show-timezone : UTC 시간대로 밀리초 단위까지 표시
localtime : 로컬 시간대로 밀리초 단위까지 표시Device(config)# service timestamps debug datetime msec show-timezone Device(config)# service timestamps log datetime msec show-timezone <:!---------------------------------------------------------------------!> Device(config)# clock timezone KST 9 Device(config)# service timestamps debug datetime msec localtime Device(config)# service timestamps log datetime msec localtime
- show-timezone : UTC 시간대로 밀리초 단위까지 표시
- TCP Keepalive 서비스를 사용
- 네트워크 연결의 신뢰성을 유지하고 안정성을 보장
Device(config) service tcp-keepalives-in Device(config) service tcp-keepalives-out
- 네트워크 연결의 신뢰성을 유지하고 안정성을 보장
- exec-timeout 설정
- console/aux/vty 접속 후 지정한 “분 초” 동안 아무 반응이 없으면 접속 종료
Device(config-line)#exec-timeout <minutes> <seconds>
- console/aux/vty 접속 후 지정한 “분 초” 동안 아무 반응이 없으면 접속 종료
네트워크 공격에 대응
- Smurf Attack에 이용되는 것을 차단
- 증폭 네트워크로 사용되는 것을 막기 위해 다른 네트워크로부터 자신의 네트워크로 들어오는 Directed Broadcast 패킷을 허용하지 않도록 라우터를 설정합니다.
Device(config-if)# no ip directed-broadcast
- 증폭 네트워크로 사용되는 것을 막기 위해 다른 네트워크로부터 자신의 네트워크로 들어오는 Directed Broadcast 패킷을 허용하지 않도록 라우터를 설정합니다.
- ARP Spoofing 공격 및 ARP Cache Poisoning 공격 차단
- APR 프록시 기술: 라우터는 ARP Request된 호스트의 MAC주소를 알고 있는 경우 ARP 요청에 대한 응답으로 자신의 MAC 주소를 보내고, 패킷을 전달
- ARP 프록시 서비스를 제공하면 외부 호스트가 내부 네트워크의 IP 주소를 알아낼 수 있으며, 이는 네트워크 보안을 저하시킬 수 있습니다.
Device(config-if)# no ip proxy-arp
- Spoofing 차단
- Source Routing : 송신 측에서 IP 패킷에 라우팅 정보를 직접 포함하는 기술
- 소스 라우팅을 허용하면 외부 공격자가 정상적인 라우팅을 통해서는 외부에서 직접 접근이 불가능한 공격 대상 시스템이나 네트워크 리소스에 우회하여 접근할 수 있습니다.
Device(config-if)# no ip source-route
- ICMP 리다이렉트 공격 방지
- ICMP 리다이렉트 메시지: 라우팅이 변경될 때 라우터가 호스트에게 새로운 경로를 알려주는 데 사용
- 공격자가 ICMP 리다이렉트 메시지를 이용하여 라우팅 테이블을 변경하려는 시도를 할 수 있습니다.
Device(config-if)# no ip redirects
- ICMP unreachable 메시지를 이용한 공격 방지
- ICMP unreachable 메시지 응답은 네트워크 장치가 특정 패킷을 목적지로 전달할 수 없을 때 이를 송신자에게 알려주는 데 사용
- ICMP unreachable 메시지 응답을 차단하지 않으면,
– 악의적인 대량의 패킷을 통해 ICMP unreachable 메시지 응답에 따른 라우터의 부하를 유발하거나
– 출발지가 위조된 패킷을 수신할 경우 ICMP unreachable Storm 공격의 반사기 역할로 악용될 수 있으며,
– 공격자의 포트 스캐닝 공격시 중요한 정보로 사용되기도 됩니다. - ICMP unreachable 메시지 응답을 차단하면,
– ICMP unreachable 메시지 응답에 따른 라우터의 부하를 예방하고, 네트워크 스캔 시 소요되는 시간을 길어지게 하여 스캔 공격을 지연시키고 DDoS 공격을 차단함
Device(config-if)# no ip unreachables
- DDoS 공격 대응: Blackhole 필터링, Null routing
- 차단할 IP대역에서 들어온 특정한 패킷을 Null이라는 가상의 인터페이스로 보내 내부 네트워크로 들어오지 못하게 삭제합니다. 또한 null 인터페이스에서 ICMP unreachable 응답 메세지가 발생하지 않도록 설정합니다.
Device(config)# ip route <network_id> <netmask> null 0 Device(config)# interface null 0 Device(config-if)# no ip unreachables
- 차단할 IP대역에서 들어온 특정한 패킷을 Null이라는 가상의 인터페이스로 보내 내부 네트워크로 들어오지 못하게 삭제합니다. 또한 null 인터페이스에서 ICMP unreachable 응답 메세지가 발생하지 않도록 설정합니다.
- DRDoS 공격 대응: Unicast RPF(Reverse Path Forwarding)
- RPF(Reverse Path Forwarding): 네트워크에서 IP 주소 위조 공격을 방지하기 위한 보안 메커니즘 중 하나로 IP스푸핑된 패킷을 효율적으로 필터링
- 들어온 인터페이스로 전송된다면 출발지 IP주소가 위조되지 않은 정상 패킷으로 판단하고 들어온 인터페이스로 다시 나가지 않는 패킷은 Drop
Device(config-if)# ip verify unicast reverse-path
- 수신된 패킷의 IP 옵션 필드를 제거하여 잠재적인 보안 위협을 방지
- 라우터가 IP패킷의 옵션 필드를 제거하므로, 외부 공격자가 네트워크를 탐지하거나 공격하는 데 사용할 수 있는 일부 정보를 제한할 수 있습니다.
Device(config-if)# ip options drop
- 라우터가 IP패킷의 옵션 필드를 제거하므로, 외부 공격자가 네트워크를 탐지하거나 공격하는 데 사용할 수 있는 일부 정보를 제한할 수 있습니다.
취약하거나 불필요한 서비스 중지
- SNMP 서비스 중지
- 외부에서 장비를 공격하거나 무단으로 모니터링하려는 시도를 방지할 수 있습니다.
Device(config)# no snmp-server
- 외부에서 장비를 공격하거나 무단으로 모니터링하려는 시도를 방지할 수 있습니다.
- SNMP 서비스 사용할 경우, SNMP community string 복잡성 설정 / ACL 설정 / 읽기 권한만 설정
- SNMP community string은 SNMP에서 비밀번호 역할을 하므로 public이나 private과 같은 default 이름은 사용하지 않습니다.
- ACL(Access Control List)를 사용하여 SNMP 요청을 허용하는 장치들을 등록합니다.
- SNMP community string에 쓰기 권한을 부여하면 공격자가 장비의 설정을 변경하거나 제어할 수 있게 됩니다.
Device(config)# snmp-server community <커뮤니티 스트링> Device(config)# snmp-server view
oid-tree {included | excluded} Device(config)# access-list <1-99> permit {host IP_주소|network wildcard} Device(config)# access-list <1-99> deny any Device(config)# snmp-server community <커뮤니티 스트링> RO <1-99>
- DNS 탐색 서비스 중지
- 명령어를 잘못 입력할 때 발생하는 불필요한 Domain Lookup를 차단
Device(config)# no ip domain-lookup
- 명령어를 잘못 입력할 때 발생하는 불필요한 Domain Lookup를 차단
- Finger 서비스 중지
- 공격자가 시스템에 로그인된 사용자의 정보를 얻는 것을 방지
Device(config)# no ip finger
- 공격자가 시스템에 로그인된 사용자의 정보를 얻는 것을 방지
- HTTP 서비스 중지
- 웹 서버를 비활성화함으로써 공격자가 원격으로 장비에 접근하는 것을 방지
Device(config)# no ip http server Device(config)# no ip http secure-server
- 웹 서버를 비활성화함으로써 공격자가 원격으로 장비에 접근하는 것을 방지
- Bootp 서비스 제한
- Bootp(Bootstrap Protocol) : 네트워크 장치가 부팅 시 IP 주소 및 다른 네트워크 구성 정보를 얻는 데 사용되는 프로토콜
- 잠재적인 공격자가 부팅 프로세스를 악용하여 장비에 액세스하거나 공격하는 것을 방지
Device(config)# no ip bootp server
- identd 서비스 차단
- ident: TCP 세션에서 사용자를 식별하는 데 사용되는 프로토콜로 비인가자에게 사용자 정보가 노출될 수 있음
- 네트워크의 익명성을 증가시켜 사용자 식별 정보가 노출되는 것을 방지
Device(config)# no ip identd
- Mask reply 서비스 차단
- mask-reply: ICMP Address Mask Request 메시지에 대한 응답으로 인터페이스의 서브넷 마스크 정보를 제공
- 네트워크의 익명성를 높여 공격자가 네트워크 구조를 파악하는 것을 방지
Device(config-if)# no ip mask-reply
- TFTP 서버 및 서비스 중지
- TFTP : 파일 전송에 사용되는 프로토콜
- 공격자가 악성 파일을 전송하여 시스템에 침투하거나 악성 코드 배포하는 것을 방지
Device(config)# no tftp-server Device(config)# no service tftp
- TCP/UDP Small 서비스를 비활성화 설정
- DoS 공격 대상이 될 수 있는 서비스인 echo, discard, daytime, chargen 차단
Device(config)# no service tcp-small-servers Device(config)# no service udp-small-servers
- DoS 공격 대상이 될 수 있는 서비스인 echo, discard, daytime, chargen 차단
- PAD(Packet Assembler/Disassembler) 서비스 차단
- PAD 서비스 : X.25 패킷교환망에 패킷 처리 기능이 없는 비동기형 단말기의 연결을 제공하는 서비스
- 공격자가 PAD 서비스를 악용하여 시스템에 침투하거나 악성 코드를 전송하는 것을 방지
Device(config)# no service pad
- CDP(Cisco Discovery Protocol) 서비스 차단
- CDP: 네트워크 상에서 Cisco 장비를 자동으로 발견하고 인접 장치 간의 정보를 교환하는 프로토콜
- 동일한 네트워크에 있는 Cisco 장비들 사이에 정보를 공유하는 기능을 차단하여 정보 유출 방지 및 DoS 공격을 차단
Device(config)# no cdp run Device(config-if)# no cdp enable
- LLDP(Link Layer Discovery Protocol) 서비스 차단
- LLDP: CDP를 지원하지 않는 다른 장치 간에 네트워크 상에서 장비 간의 연결 및 구성 정보를 교환하는 프로토콜
- 공격자가 LLDP 메시지를 가로채거나 조작하여 네트워크 상의 장비 정보를 수집하거나 공격에 악용하는 것을 방지
Device(config)# no lldp run Device(config-if)# no lldp transmit Device(config-if)# no lldp receive
- 예약되어 있거나 특수 용도 IP주소의 라우팅 차단: 스푸핑 방지 필터링
- 불필요한 트래픽 제거하고 외부에서 내부 네트워크에 대한 접근을 제한
Device(config)# access-list <100~199> deny ip 0.0.0.0 0.255.255.255 any Device(config)# access-list <100~199> deny ip 10.0.0.0 0.255.255.255 any Device(config)# access-list <100~199> deny ip 127.0.0.0 0.255.255.255 any Device(config)# access-list <100~199> deny ip 169.254.0.0 0.0.255.255 any Device(config)# access-list <100~199> deny ip 172.16.0.0 0.15.255.255 any Device(config)# access-list <100~199> deny ip 192.0.2.0 0.0.0.255 any Device(config)# access-list <100~199> deny ip 192.168.0.0 0.0.255.255 any Device(config)# access-list <100~199> deny ip 224.0.0.0 15.255.255.255 any Device(config)# access-list <100~199> permit ip any any
- 불필요한 트래픽 제거하고 외부에서 내부 네트워크에 대한 접근을 제한