Saturday, April 20, 2013

라우터 기본 설정 + 보안 설정

ㅇ시스코 라우터 기본 설정순서


Router(config)#hostname suwon

 
suwon#config t -------- configuration terminal의 약어, command setting mode로의 전환을 의미..
 

suwon(config)#int e0  ------- ethernet port 설정을 시작한다.

suwon(config-if)#no shutdown  ------ default disable(shutdown) 이므로 이것을 enable 시킨다.

suwon(config-if)#ip add 210.108.245.1 255.255.255.192 --- ethernet ip address 지정한다.

suwon(coining-if)#exit  ------- ethernet 설정을 마무리하고 다음 설정으로 넘어간다.
 

suwon(config)#int s0  ------- serial port 설정을 시작한다.

suwon(config-if)#no shutdown

suwon(config-if)#ip add 210.248.102.100 255.255.255.252

suwon(config-if)#encapsulation ppp  -- 접속 protocol을 지정(이기종간
                                                                cisco router끼리는 HDLC로 설정한다.

suwon(config-if)#bandwidth 512  ------- 접속 회선 속도를 설정한다.
 
suwon(config-if)#description suwon-s1
 
suwon(config-if)#exit
 

suwon(config)#ip route 0.0.0.0 0.0.0.0 210.248.102.99  ------- default route를 구성한다.

suwon(config)#ip name server 164.124.101.2  ------- domain name server를 지정한다.

suwon(config)#^Z ------- Ctrl+Z를 눌러서 config mode를 종료한다.
 

suwon#Copy runn-config startup-config ------- save 한다.

####[OK]
 
 
 

 

 
 
suwon# sh config    
 
Using 653 out of 32762 bytes
!
version 11.1
!
hostname suwon ------- 라우터의 이름을 나타낸다.( 접속시 prompt로 나타남.)
!
!
!
interface Ethernet0
 ip address 203.233.10.5 255.255.255.0
!
interface Serial0
    ip address 203.252.12.10 255.255.255.252
    description suwon-s1
!
interface Serial1
    no ip address
!
ip name-server 164.124.101.2 ------- domain-name server를 지정한다.
no ip classless
ip route 0.0.0.0 0.0.0.0 203.252.12.9 ------- default route
를 지정한다
.
snmp-server community public RO  

!
line con 0  
line aux 0
!
end
 
 
보안설정
 
1) 패스워드 점검 :
 
   - ENABLE SECRET 패스워드 사용
      # show running-config
         enable password 7 121E17121705  
                                    →  Vigenere chpher 알고리즘 : 쉽게 크랙되어 패스워드 노출 위협(x)
         enable secret 5 $1$q97P$KMi1RNbsEg1397QC.eWg6
                                    MD5 알고리즘(o
         (enable password 의 패스워드는 enable secret을 사용 시 그 효력이 잃게 된다
                                                                                       ->둘 다 있으면 enable secret 우선)
   - 취약한 패스워드가 설정되어 있지 않은지 확인한다.
     # show running-config
        enable password 7 121E17121705     (Vigenere chpher 알고리즘) 카인과 아벨로 점검
        enable secret 5 $1$q97P$KMi1RNbsEg1397QC.eWg6/  → (MD5)  john the ripper로 점검
   - 설정 : 불필요한 계정은 삭제, 취약한 패스워드는 쉽게 유추할 수 없는 패스워드로 변경.
        # conf t
        # enable secret <유추하기 힘든 패스워드>
        # ^Z
 
2)  CONSLOE PORT 접근제어 (login)
   -  Console Port에 물리적으로 접근이 가능(패스워드 설정 및“login”설정 적용) 여부 확인
 
       # show running-config
           line con 0
           password 7 06070B2C4540584B56
           login
 
   - 설정 : consloe 포트에 대한 접근제어 설정에“login”및 “password” 설정을 한다.
         Router# conf t
         Router(config)# line console 0
         Router(config-line)# login
         Router(config-line)# password admin123   
         Router(config-line)# ^Z
3) VTY PORT 접근제어 (login)
   - VTY 포트 접근 가능(password”설정 및“login”설정) 여부 확인.
         Router# show running-config
                        line vty 0 4
                        password 7 14161606050A7B7977
                        login
 
   - 설정 : vty 포트에 대한 접근제어 설정에“login”및 “password”설정을 한다.
         Router# conf t
         Router(config)# line vty 0 4
         Router(config-line)# password <유추하기 어려운 패스워드>
         Router(config-line)# login
         Router(config-line)# ^Z

4) VTY PORT 접근제어 (ACL 설정)
 
   - VTY 포트에 원격 접근가능(access-list 적용) 여부 확인
          Router# show running-config
                        access-list 99 permit 10.10.10.10
                        line vty 0 4
                        access-class 99 in  ¬ access-list 99에 해당 하는 IP만 접근이 가능
                        exec-timeout 30 0
                        password 7 045C04021E295E
                        login
                        transport input telnet
   - 설정 : 관리자 PC에서만 라우터로 접근이 가능 하도록 VTY 포트에 대한 access-list를 설정
         
          Router# conf t
          Router(config)# vty 0 4
          Router(config)# line vty 0 4
          Router(config-line)# access-class 99 in
          Router(config-line)# ^Z
          Router# conf t
          Router(config)# access-list 99 permit 10.10.10.10 log     (IP에 대해 로그를 남기고 permit)
          Router(config)# access-list 99 deny any log  (10.10.10.10 이외의 IP는 모두 deny)
          Router(config)# ^Z
 
5) VTY PORT 접근제어 (timeout)
   - 시스템 접속이 아무런 제한 없이 계속 유지(“exec-timeout” 설정 적용 )되는지 확인.
 
          Router# show running-config
                        line vty 0 4
                        exec-timeout 300
                        password 7 045C04021E295E
                        login
                        transport input telnet
 
    - 설정 : 사용하는 라인 설정 모드에서 exec-timeout 시간을 설정
          Router# conf t  
          Router(config)# line vty 0 4
          Router(config-line)#exec-timeout 300   (300초 간 키 입력 없을 시 로그아웃)
          Router(config-line)#^Z

6) ICMP redirects 금지 설정

   - 라우터에서 특정목적지로 최적화되지 않은 라우팅을 한다고 할 때 ICMP redirect 패킷은

     라우터에게 정확한 라우팅 경로를 알려주는 역할을 한다.
     만약 임의의 비인가자가 ICMP redirect 패킷을 위조할 수 있게 된다면, 라우팅
테이블을
     변경할 수 있게 되고 원하지 않는 경로로 트래픽을 보낼 수 있는 위협이 존재 할 수 있다.

   - 설정 파일 내에 “no ip redirects” 파일이 적용 되어 있는지 확인.
 
           Router# show running-config
                         interface FastEthernet0/0
                         no ip redirects

   - 설정 : 인터페이스에서 나가는 ICMP Redirects 패킷을 막기 위하여 no ip redirects 설정,
                 들어오는 ICMP Redirects 패킷을 막기 위하여 access-list를 통해서 접근 제어

        나가는 패킷에 대한 설정           
           Router(config)# interface FastEthernet 0/0
           Router(config-if)#no ip redirects
           Router(config-if)#^Z

       받는 패킷에 대한 설정
           Router(config)# access-list 101 deny icmp any any redirect
           Router(config)# access-list 101 permit ip any any
           Router(config)# interface FastEthernet 0/0
           Router(config-if)#ip access-group 101 in
           Router(config-if)#^Z

   - 참고 : ICMP Redirects Cisco IOS 10.0 이상에서 default로 설정.

 
7) Directed Broadcast 금지 설정

   -  ICMP echo request는 특정 호스트에게만 reply를 보내는 것이 아니라 해당되는 네트워크

      전체에 echo request를 전송하기 때문에 이에 대한 응답인 echo reply는 네트워크  에 존재
      하는 호스트만큼 응답 패킷이 되돌아 온다.
      이와 같이 directed-broadcast 기법을 이용할 수 있게 되면 DoS 공격의 일종인 스머프(Smurf)

      공격을 받을 수 있는 위협이 존재.

   - 설정파일 내에“no ip directed-broadcast“ 설정이 적용 되어 있는지 점검.
          Router# show running-config
                        interface FastEthernet0/0
                        no ip directed-broadcast

   - 설정 :  no ip directed-broadcast 설정
         
          Router# conf t
          Router(config)# interface FastEthernet 0/0
          Router(config-if)#no ip directed-broadcast
          Router(config-if)#^Z

   - 참고 : 이러한 설정은 외부 네트웍과 연결되는 router 및 내부에 존재하는 모든 router

                   설정을 적용해야 한다.  또한 IOS 12.0 이후 버전은 default enable 되어 있다.
 
8) ICMP Unreachable 제한

   - ICMP Unreachable network scanning에 이용되는 기능 중에 하나로서, 공격자는 scan으로

     라우터 및 호스트의 특정 포트가 열려있는지 알 수 있다.

   - 라우터의 설정 파일 내에 no ip unreachables” 설정이 적용 되어 있는지 점검.

           Router# sh run
                         interface FastEthernet0/0
                         no ip unreachables

   - 인터페이스별로 ICMP Unreachable을 차단할 것을 권장

           Router# conf t
           Router(config)# interface fastethernet 0/0
           Router(config-if)#no ip unreachable
           Router(config-if)#^Z

9) SNMP Community String

   - 기본값으로 설정된 snmp community string public 혹은 private으로 일반적으로 알려져

     있기 때문에임의의   비 인가자가 SNMP를 통해 시스템에 대한 정보를 얻을 수 있는
     취약 점이 있다.

   - configuration 파일의”snmp commuity“ 설정 파일의 strings 를 확인.

           Router# show running-config
                         snmp community “CERTRTR” ro ® public 혹은 private이 아닌지 확인
                         snmp community “CERTMGMT” rw

   - 설정 : 추측하기 힘든 string으로 변환하여 사용.

           Router# conf t
           Router(config)# snmp community “CERTRTR” ro
           Router(config)# snmp community “CERTMGMT” rw
           Router(config)# ^Z

10) SNMP 접근제어 여부

   - SNMP를 통한 시스템 관리에 적절한 ACL이 설정되어 있지 않을 경우 임의의 비인가자가
     SNMP community string을 유추하여 접근을 시도 할 수 있다.

   - 설정 파일의 snmp commuity 설정 중 접근 제어 ACL 설정을 점검한다.

            Router# show running-config
                          access-list 77 permit 211.196.130.178
                          snmp-server community Wnddkd12 RO 77

   - 설정  SNMP를 반드시 사용해야 할 경우 허가된 IP를 가진 사용자만이 접근하도록 다음과

      같이 ACL을 적용

         Snmp 포트에 대한 접근 제어 설정
             Router# conf t
             Router(config)# access-list 101 deny tcp any any eq 161
             Router(config)# access-list 101 deny udp any any eq 161
             Router(config)# access-list 101 deny tcp any any eq 162
             Router(config)# access-list 101 deny udp any any eq 162
             Router(config)# access-list 101 deny tcp any any eq 1993   
             Router(config)# access-list 101 deny udp any any eq 1993
             Router(config)# access-list 101 permit ip any any

         Snmp 포트에 대한 접근 제어를 101 acess-group으로 등록
             Router(config)# interface serial 0/0
             Router(config-if)#ip access-group 101 in
             Router(config-if)#^Z

   - 설정 확인

             Router# show running-config
                            interface Serial0/0
                            ip address 10.0.0.2 255.0.0.0  ®  IP 10.0.0.2의 시스템에서만 snmp접근이 허용됨
                            ip access-group 101 in
                            access-list 101 deny   tcp any any eq 161
                            access-list 101 deny   udp any any eq snmp
                            access-list 101 deny   tcp any any eq 162
                            access-list 101 deny   udp any any eq snmptrap
                            access-list 101 deny   tcp any any eq 1993
                            access-list 101 deny   udp any any eq 1993
                            access-list 101 permit ip any any
  
   - 참고 : 내부 관리자 인터페이스에는 관리자 IP permit하고 나머지는 Deny하도록 설정한다

11) FINGER service disable 설정

   - finger 서비스가 활성화  시 임의의 비인가자가 해당 서비스를 이용해 시스템 정보획득 수단

     으로 사용할 수 있다.

   - configuration 파일 내에 “no ip finger’ 설정이 적용 되어 있는지 점검.

              Router# show running-config              
                            no ip finger

   - Finger 서비스는 라우터의 사용자 계정명을 비롯한 중요한 정보를 제공하기 때문에 특별히

     필요가 없는 한 서비스를 diable 시킨다.

              Router# conf t
              Router(config)# no ip finger
              Router(config)#^Z

12) CDP service disable 설정

   - CDP(Cisco Discovery Protocol) LAN 구간에서 직접 연결된 시스코 장비들 사이에서 서로

     의 정보를 얻기 위해 사용되는 프로토콜로서 라우터에 연결되어 있는 장비들의 종류와
     설정을 보여줄 때와 같이 전체 네트워크 구성을 파악할 때 많이 사용한다. 그러나 이러한
     정보는 공격자에게도 유용한 정보를 제공할 수 있다.

   - 설정 파일 내에 “no cdp run” 설정이 적용 되어 있는지 확인한다.

               Router# show running-config
                             no cdp run
   - 설정 :  Cisco Discovery Protocol 기능을 disable 한다.

               Router# show cdp
                             Global CDP information:
                             Sending CDP packets every 60 seconds
                             Sending a holdtime value of 180 seconds

                Router# conf t
                Router(config)# no cdp run
                Router(config)# ^Z

                Router# show cdp
                              % CDP is not enabled

   - 참고: “no cdp run” 명령어의 경우 라우터 전체에서 사용하지 못하도록 설정되므로

                  특정 인터페이스에서만 적용을 원한다면 “no cdp enable”을 사용하도록 한다.

13) TCP/UDP small service diable 설정

   - 시스코 라우터에 사용되고 있는 IOS 버전에 따라서 TCP, UDP Small Services가 자동으로

     설정되어 실행된다
      Small Services UDP echo, discard, chargen 서비스와 TCP echo, discard, chargen,    

      daytime 서비스를 말한다.
      이러한 서비스는 라우터에 불필요한 포트를 open 시켜 라우터의 정보를 유출 시키거나

      DOS공격으로 사용될 수 있다.

   - 설정 파일 중 “no service small tcp-servers”, “no service small tcp-servers” 설정이 적용 되어

     있는지 점검.

                  Router# show running-config
                                no service udp-small-servers
                                no service tcp-small-servers

   - 설정 : small service는 네트워킹에 특별히 중요한 역할을 담당하지는 않기 때문에 모두 차단

                  Router# conf t
                  Router(config)# no service udp-small-servers
                  Router(config)# no service tdp-small-servers
                  Router(config)#^Z

14) PROXY ARP disable 설정

   -  Proxy ARP(Address Resolution Protocol) default route, gateway를 가지고 있지 않는

      네트워크 호스트에게 ARP 서비스를 제공하는 역할을 한다. 호스트가 목적지 IP에 대한
      MAC Address를 요청하면 Proxy ARP가 설정된 라우터가 이에 응답하여 자신의 주소를
      목적지 주소인 것처럼 전송한다. 공격자들은 패킷의 주소(MAC)를 위조하여 proxy ARP
      요청할 수 있으며 라우터가 이에 응답하는 것을 보고 네트웍 정보를 획득 할 수 있다.

   - 설정파일 내에 no ip proxy-arp 설정 적용 유무를 점검.

                  Router# show running-config
                                interface FastEthernet0/0
                                no ip proxy-arp

   - 최근에는 DHCP와 같은 프로토콜이 사용되면서 Proxy ARP를 사용할 필요가 없으므로,
     특별한 사유가 있지 않는 한 사용을 금지한다

                  Router# conf t
                  Router(config)# interface fastethernet 0/0
                  Router(config-if)#no ip proxy-arp
                  Router(config-if)#^Z

15) NTP server 사용

   - NTP(Network Time Protocol)과 같은 프로토콜이 적용되어 있지 않은 라우터는 라우터 로그

    및 정확한 시간 동기화 지장을 받을 수 있으며, 이는 네트워크 관리, accounting, 사고 분석 등
    을 수행하는 데 큰 단점으로 작용할 수 있다.

   - configuration 파일 내에 ntp server 설정이 적용 되어 있는지 점검한다.

                   Router# show running-config
                                 ntp authentication-key 42 md5 12182B1E110E270133 7
                                 ntp authenticate
                                 ntp server 10.10.10.10   ®  ntp서버

   - 안전한 네트워크를 유지하기 위하여 NTP와 같은 시간 동기화 프로토콜 사용 한다.  NTP

     설정하는 방법은 아래와 같이 3가지로 분류된다.

           Central : 중소단위의 네트워크에 적용되는 방법으로 외부와 통신 가능한 한 두개의

                          서버를 Central 서버로 지정하여 이 서버들을 이용하여 시간 동기화를 수행함
         Flat : 가장 안정된 시간동기화를 제공하는 구조로서 모든 라우터들이 peer 모드로

                          동작하여각각의 라우터들이 클라이언트와 서버의 역할을 동시에 수행함
           Hierarchical : 대규모 네트워크에 적합한 방법으로 주로 ISP들에 의해 사용됨.

                          최상위 라우터가 ISP 시스템과 시간동기화를 수행하여 트리 구조를 통해
                          다른 라우터들과 시간동기화를 수행

         * Central 서버 적용 예 :  Router(config)# ntp server [원하는 NTP 서버 IP]

16) BOOTP service disable 설정

   -  BOOTP 네트워크 사용자가 자동으로 IP 주소를 받을 수 있게 해 주거나 사용자의 관여

      없이 부트되는 운영체계를 가지고 있게 해주는 프로토콜로서 X 터미널처럼 하드디스크를
      갖지 않은 장치의 설정 정보를 자동으로 할당, 관리하기 위해서 개발되었다.
      필요없이 활성화 되어 있을 경우 라우터의 트래픽 효율을 저하 시킬 수 있다.

   - 설정 파일 내에 “no ip boot server “ 적용 유무를 정검

             Router# show running-config
                           no ip bootp server

   - 설정 : 라우터가 bootp server로 동작하지 않는다면 불필요한 서비스 이므로 diable 시킨다.

             Router# conf t
             Router(config)# no ip bootp server
             Router(config)# ^Z

17) syslog 서버를 이용한 로그 관리

   - Console, buffer에 로그를 남기는 것은 메모리의 한계로 중요 로그에 대한 저장에 한계가

     있다원격 syslog server를 따로 설정하여 로그 정책에 따라 중요 Event Log에 대해 모니터링
     및 저장 한다면 침해 사고 발생 시 역추적의 유용한 자료로 사용 될 수 있으며, 또한 악의적
     사용자에 의한 불법적인 로그 삭제의 위협을 예방할 수 있다.

   - configuration을 확인하여 syslog 서버를 사용하고 있는지 확인한다.

             Router# show running-config
                           logging trap debugging
                           logging facility kern
                           logging 10.10.10.10

   - 설정 : 다음과 같이 라우터들의 모든 로그를 syslog 서버에 전달하도록 설정한다
 
          Router# conf t
             Router(config)# logging Logging_Save_Server
             Router(config)# logging facility kern
             Router(config)# logging trap debugging
             Router(config)# ^Z

18) Source 라우팅 금지

   - 보통 패킷이 목적지까지 가기 위한 경로는 그 경로상에 있는 라우터에 의해 결정 되고

     패킷 자체는 목적지 주소만 가지고 있을 뿐 경로에 대한 어떤 정보도 가지지 않는다.
     source routing 방법은 최근에는 잘 사용되지 않는 방법으로 해당 기능을 이용해서 임의의
    공격자는 패킷 조작을 통해 목적지까지 가는 경로를 임의 적으로 정의해서 라우팅이 되지
    않도록 정의된 중요 시스템에 접근을 시도 할 수 있다.

   - configuration 설정 중 “no ip source-route”설정이 적용 되어 있는지 확인.
  
              Router(config)# sh run
                                         no ip source-route

   - 설정 : “no ip source-route설정을 통해 source-route 설정을 disable 한다.

              Router# conf t
              Router(config)# no ip source-route
              Router(config)# ^Z
 



 
 
 
 
 
 

No comments:

Post a Comment