본문 바로가기

보안

보안기사 - 라우터 보안

라우터 자체 보안


라우터는 처음 접속시 사용자는 사용자 모드로 접속하게 되며 라우터 관련 정보 조회 가능.
Enable 명령어를 사용해 privileged 모드로 레벨을 변경하면 조회뿐만 아니라 설정 변경 등의 작업도 가능

  • 라우터 사용모드
    1. User EXEC 모드
      한정된 명령어만 사용가능. 주로 라우터의 간단한 상태등을 조회 가능. 프롬프트는 Router> 와 같이 보임
    2. Privileged EXEC 모드
      재부팅이나 라우팅 등 라우터에서의 모든 명령어에 대해 수행 가능. 프롬프트는 Router# 와 같이 보임
    3. Global Configuration 모드
      Privileged EXEC 모드에서 라우터 전반적인 설정을 변경하고자 할 때의 모드. Router(config)# 와 같이 보임. 만약 특정 인터페이스나 특정 라우팅 등을 변경하고자 할 때는 Other Configuratoin 모드가 사용
    4. Other Configuration 모드
      좀 더 복잡하고 세부적인 설정을 하는 메뉴. Router(config-mode)#와 같이 보임. 설정이 끝난 후에는 exit나 Ctrl+z를 입력

enable 명령어로 User 모드에서 Privileged 모드로 변경
이 때 enable 패스워드를 설정하기 위해서는 enable passwordenable secret(권장) 명령어를 사용할 수 있다

  • enable password
    type 0(평문)으로 저장
    평문으로 저장된 암호는 service password-encryption 명령을 실행하면 암호화를 수행하지만 type 7 방식(역함수 존재)으로 암호화
  • enable secret
    type 5(일방향 함수로 암호화)의 암호문으로 저장되어 원래의 평문암호 알 수 없다


라우터와 접근제어(ACL)


라우터에서는 access-list를 이용해 특정 패킷에 대한 접근제어 설정 가능
접근제어 방법은 크게 standard access-list와 extended access-list로 분류

standard acces-list

패킷의 source IP 만으로 패킷을 허용/차단
access-list(acl) number로 1~99까지 사용

  • 형식
    access-list acl번호 [permit 또는 deny] [소스주소 sildcard 또는 any]
    특정 ip를 지정할 경우 host를 명시
    ip 대역을 지정할 경우 wildcard 마스크를 명시
    모든 주소를 의미할 때는 any 키워드 사용
  • ex
    access-list 5 permit host 192.168.159.131
    source ip가 192.168.159.131일 경우 접근 허용
    access-list 5 deny any1
    모든 출발지 IP에 대해서 차단/필터링

extended access-list

패킷의 소스 IP뿐만 아니라 목적지 IP, 포트, 프로토콜 등을 이용해 차단할 수 있어 좀 더 확장된 기능 이용 가능
acl number로 100~199까지 사용

  • 형식
    access-list acl번호 [permit 또는 deny] 프로토콜 소스 소스-wildcard 목적지 목적지-wildcard
  • ex
    access-list 150 deny ip host 192.186.159.131 100.100.100.0 0.0.0.255
    출발지가 192.186.159.131이고 목적지가 100.100.100.0/24 대역인 IP패킷에 대해서 모두 차단/필터링
    access-list 150 deny tcp 192.168.1.0 0.0.0.255 host 100.100.100.1 eq 80
    출발지가 192.186.1.0/24 대역이고 목적지 IP가 100.100.100.1, 목적지 port가 80인 TCP 패킷에 대해서 모두 차단/필터링
    eq는 equal의 의미로 단일 포트를 지정할 때 사용
    access-list 150 deny udp host 192.168.2.5 100.100.100.0 0.0.0.255 range 100 200
    출발지가 192.186.2.5이고 목적지 IP가 100.100.100.0/24 대역, 목적지 Port가 100-200 범위인 UDP 패킷에 대해서 모두 차단/필터링
    range 시작포트번호 끝포트번호를 통해 포트 범위를 지정할 때 사용

filtering 유형

  • Ingress Filtering : 외부 -> 내부 패킷 필터링
    standard 또는 extended access-list를 활용해 라우터 내부로 즉 사내 네트워크로 유입되는 패킷의 source ip나 목적지 port 등을 체크해 허용하거나 거부하도록 필터링
    대부분의 공격이 실제 존재하지 않는 위조된 ip주소를 소스로 하여 진행되므로 인터넷에서 사용되지 않는 ip 대역만 차단해도 비정상 패킷을 사전에 차단하는 효과 있다
    (공인 IP로 사용되지 않는 패킷 필터링 - ex : 사설ip, loopback 대역(127.0.0.0/8), 255.255.255.255)

  • Engress Filtering : 내부 -> 외부 패킷 필터링
    ingress filtering과 반대 개념으로 라우터 내부에서 외부로 나가는 패킷의 source ip나 목적지 port 등을 체크해 필터링
    외부로 나가는 패킷의 source ip는 반드시 내부 네트워크 대역인 것이 정상이며 이외의 패킷은 모두 위조된 것

  • Blockhole Filtering(Null routing)
    특정 ip 또는 ip 대역에 대해 비정상적 시도가 감지되었을 경우 가상의 쓰레기 인터페이스(Null interface)로 보내도록 함으로써 패킷 통신이 되지 않도록 하는 방법

  • Unicast RPF(Reverse-Path Forwarding) Filtering
    access-list나 blockhole 필터링을 이용해 일일이 ip나 ip대역을 지정하지 않고도 비정상 트래픽을 효율적으로 필터링
    인터페이스를 통해 들어오는 패킷의 소스 ip에 대해 라우팅 테이블을 확인해 들어온 인터페이스로 다시 나가는지 확인하는 원리

라우터를 통한 네트워크 보안


콘솔, AUX, VTY 포트 패스워드 보안

콘솔 포트는 케이블을 이용해 직접 터미널에 연결해 라우터를 조작할 수 있도록 하며 장애 처리 시 많이 사용
패스워드를 설저하지 않는 콘솔 포트에 접속을 하게되면 일반적으로 아무런 인증 절차 없이 라우터 설정 조회 가능
따라서 여러 사람이 콘솔을 사용해 라우터에 접근할 가능성이 있는 경우에는 콘솔 pw를 반드시 설정



VTY 포트는 원격지에서 텔넷을 통하여 접속 시 사용되는 패스워드를 설정
AUX포트는 현재 잘 사용되지 않는 포트, VTY 포트 설정과 동일

텔넷 접근 제한

기본적으로 VTY 포트는 외부로부터의 연결 시도를 모두 수용. 이를 악용해 무한대의 공격시도를 통해 라우터 공격 가능
따라서 라우터로 들어오는 패킷의 IP 주소를 차단해 허가된 IP를 가진 사용자에게만 연결 시도 허용하는 것이 안전



  • SSH(Secure Shell)는 암호화 통신을 하고 텔넷은 평문 통신을 하기 때문에, SSH를 설정해 사용할 것 권장

SNMP 설정

SNMP는 TCP/IP 네트워크를 모니터링, 관리하기에 아주 효율적인 프로토콜
대부분의 NW 장비들은 기본적으로 SNMP 서비스들을 포함하고 있어서 원격의 NW에 관련된 정보들을 수집할 수 있다
많은 시스템에서 SNMP의 읽기 권한은 기본적으로 설정되어 있기에 이를 악용하려는 공격자들이 많아, 보안설정이 필요
기본 community string 값은 public으로 SNMP를 지원하는 많은 장비에서 기본값을 변경해야 함
access-list를 이용해 접근 통제(SNMP 정보 수신이 필요한 장비를 명시해 허용하고 나머지는 차단)



  • SNMP서비스 사용하지 않으면 서비스 제거하는 것이 좋다




SNMP version 1,2는 평문으로 정보를 전송하는데 SNMP version 3는 암호화가 지원되므로 SNMP version 3의 지원여부를 확인해 사용하길 권장

불필요한 서비스 제거

라우터는 네트워크 관리자의 편의를 위해 기본 설정으로 여러 가지 서비스들을 제공
이러한 서비스들은 공격자에 의해 NW의 정보를 얻거나 접근하는 수단으로 사용 가능
따라서 불필요한 서비스는 보안 위협 요소가 될 수 있으므로 모두 차단하는 것이 좋다

  1. ICMP
    • ICMP MTU Discovery (허용)
      데이터 링크 계층에서 source와 destination 사이를 지나는 패킷 크기를 조절해주는 역할
      따라서 ICMP 패킷을 차단하더라도 MTU discovery를 제공하는 패킷은 허용해야 NW가 제대로 동작
      아래의 ACL을 적용하게 되면 MTU discovery를 담당하는 패킷인 ICMP type 3 ,code 4 패킷만을 허용하고 다른 ICMP 패킷은 모두 차단 가능




    • ICMP Redirects
      악의적인 공격자들은 ICMP Redirect를 전송해 네트워크를 지나는 패킷의 방향을 바꿔서 정보 수집이 가능하므로 차단 권장
      라우터의 인터페이스로 ICMP Redirect 패킷이 들어오는 것을 차단




    • ICMP Driected Broadcasts (-> Smurf Attack)
      ICMP echo reply는 특정 호스트에게만 reply를 보내는 것이 아니라 해당되는 NW 전체에 echo reply를 전송 -> 공격자가 이를 악용하는 것에 대해 차단 권장




    • ICMP Mask Reply
      라우터가 해당되는 네트워크의 서브넷 마스크를 전송하도록 함
      공격자는 이 기능을 이용해 NW의 구성을 알아낼 수 있으므로 차단 권장




    • ICMP Unreachable
      공격자에 의해 시도되는 많은 스캐닝 기법들은 ICMP Unreachable 메시지를 이용해 스캔하는 라우터 혹은 호스트의 특정포트가 열려있는지를 판단
      이를 차단하면 공격자는 공격대상의 상태에 대한 정보를 얻을 수 없고 스캐닝에 소요되는 시간도 길어지므로 차단 권장




    • ICMP Timestamp and Information Requests
      NW 관리자가 많이 사용하는 정보는 아니지만 공격자로 하여금 네트워크 현황을 알 수 있게 하는 취약점이므로 두개 서비스 모두 차단 권장




    • Source Route
      패킷이 전송되는 경로를 각각의 시스템이나 NW에 설정되어 있는 라우팅 경로를 통하지 않고 패킷의 발송자가 설정할 수 있는 기능
      악용될 소지가 있으므로 중지




    • Small Service
      시스코 라우터에 사용되고 있는 IOS 버전에 따라서 TCP, UDP Small Services가 자동으로 설정되어 실행된다. 이러한 서비스로는 echo, discard, daytime 등 20번 이하 포트를 사용하고 있으며 네트워킹에 특별히 중요한 역할을 담당하지는 않아 차단 권장




    • Finger Service
      원격의 사용자로 하여금 어떤 사용자가 라우터에 접속해 있는지를 알려주는 역할
      이는 라우터에 로그인할 수 있는 사용자 이름을 비롯한 중요한 정보를 제공해 공격자들이 많이 사용하기 때문에 차단 권장




    • HTTP Server Service
      라우터에 http서비스가 설정되어 있으면 웹을 통해 라우터 설정 조회/변경 가능 -> 보안산 문제가 되고 라우터의 http server 자체가 취약성을 가지고 있으므로 중지




    • CDP Service
      LAN구간에서 직접 연결된 시스코 장비들 사이에서 서로의 정보를 얻기 위해 사용
      CDP는 라우터에 연결되어 있는 장비들의 종류와 설정을 보여주기에 전체 네트워크 구성을 파악할 때 많이 사용
      이는 공격자에게도 유용한 정보를 제공하기에 차단 권장




    • proxy-arp service
      디폴트 라우터나 게이트웨이를 가지고 있지 않은 네트워크의 호스트들에게 ARP 서비스를 제공하는 역할. 이 경우 호스트가 목적지 IP주소에 대한 MAC주소를 요청하면 Proxy ARP가 설정된 라우터가 이에 응답하여 자신의 MAC주소를 목적지 MAC주소인 것처럼 전송
      공격자들은 패킷의 주소를 위조해 Proxy ARP 요청 가능. 라우터가 이에 응답하는 것 이용해 라우터와 네트워크에 관련된 정보 획득할 수 있으므로 차단 권장




    • 기타
      BootP
      DNS
      Network authloading of configuration files
      PAD - packet assembly/disassembly
      IP Classless
      사용하지 않는 interface는 반드시 shutdown 권장

입/출력 IP 보안 설정

외부에서 내부로 유입되는 IP주소가 내부의 IP주소라면 이는 공격자에게 악용된다고 봐야하며 차단해야 함

  • ex) 내부 IP 130.18.0.0 경우




외부로부터 유입되는 IP 주소 중 예약된 IP 주소가 있다면 차단 권장
다음과 같은 예약된 IP주소는 차단



  • ex) 예약된 IP 주소 차단




내부에서 외부로 유출되는 IP주소가 위변조되어 출력되는 것 차단 (Egress Filtering)
ACL을 이용해 내부 네트워크 IP주소를 가진 패킷만 라우터로부터 전송되는 것 허용하고 나머지 패킷들은 모두 차단

  • ex) 내부 IP주소가 130.218.0.0인 경우

주소 위변조 방지

  • Unicast RPF
    인터페이스로 유입되는 출발지 IP주소를 라우팅 정보를 이용해 점검하고 내부로 유입되어 reverse path가 존재하면 패킷을 통과시키고, reverse path가 존재하지 않으면 그 IP주소를 출발지 주소가 위조된 패킷으로 판단하고 차단

BlackHole 보안 설정

DDoS공격에 대한 대응 방법으로 특정 목적지로 DDoS 공격에 의해 네트워크 트래픽이 과도하게 발생할 경우 해당 목적지 IP를 망내에서 통신할 수 없도록 차단

  • ex) 211.1.1.1 ip 차단

'보안' 카테고리의 다른 글

보안기사 - 전송계층 보안 (SSL/TLS)  (0) 2020.05.03
보안기사 - IP 보안(IPsec)  (0) 2020.04.30
보안기사 - VPN  (0) 2020.04.29
보안기사 - 무선랜 보안  (0) 2020.04.28
보안기사 - 무선랜  (0) 2020.04.26