출처: http://egloos.zum.com/gunsystems/v/6782049

 

라우터에서의 로깅(logging) 설정하는 방법

 

 

[시큐리티 팁!팁!팁!] 라우터에서의 로깅(logging) 설정하는 방법







일반적인 서버에서는 다양한 애플리케이션을 활용해 시스템의 상태나 로그 정보 등을 모니터링할 수 있다. 그러나 라우터나 스위치의 경우 별도의 하드 디스크가 있는 일부 제품을 제외하고는 "라우터에는 로그가 남지 않는다"라고 잘못 알고 있는 경우가 있다.


홍석범 | 오늘과 내일 차장



라우터에서도 로그를 남기도록 설정하면 시스템 에러나 네트워크와 인터페이스의 상태변화, 로그인 실패 등에 대한 로그를 남길 수 있다. 이런 라우터 로그는 문제를 분석하거나 해결할 때 중요한 역할을 하는 만큼, 네트워크 장비인 라우터에서도 로깅을 남기도록 설정해 체계적으로 관리하는 것이 중요하다. 아울러 로깅을 남길 때는 저장되는 시간도 중요하다. 로깅이 남겨지더라도 시간이 전혀 맞지 않는다면 문제 해결에 혼선을 빚고 그만큼 속도가 느려지기 때문이다.

기본적으로 라우터에서 제공되는 로깅 기법은 다음과 같은 것들이 있다.

·콘솔 로깅(Console logging) 기법

로그 메시지가 콘솔 메시지에 출력되는 경우로, 콘솔에만 출력될 뿐 파일 등에는 저장되지 않는다. 주로 네트워크 작업을 할 때 콘솔에서 많이 사용하는데, 작업하는 도중 계속적으로 메시지가 출력되면 불편을 초래하는 경우가 있으므로 특별한 이유가 없다면 비활성화하는 것이 좋다. 이를 위해서는 config 모드에서 'no logging console'을 입력하면 된다. 만약 콘솔에서 아주 심각한 정도의 로그를 보고자 한다면 'logging console critical'과 같이 실행하면 된다.

·터미널 라인 로깅(Terminal line logging) 기법

앞에서 살펴본 콘솔이 아니라 텔넷이나 SSH 등 원격으로 접속했을 경우 로그인한 사용자에게 출력되는 로그로, 역시 원격 작업에 불편을 초래하는 경우가 있으므로 특별한 이유가 없다면 비활성화하는 것이 좋다. 이를 위해서는 config 모드에서 'terminal no monitor'를 입력하면 된다.

·버퍼 로깅(Buffered logging) 기법

기본적으로 라우터에서는 로그를 파일에 저장하지 않고 버퍼 메모리에 저장한다. 그러나 메모리가 한정돼 있어 할당된 메모리의 양을 초과해 로그가 저장될 경우에는 이전의 버퍼에 있는 데이터부터 지우고 새롭게 로그를 저장한다. 만약 짧은 시간에 많은 로그가 남았다면 중요한 로그를 확인하지 못할 수도 있다. 메모리(RAM)에 저장된 로그는 'show logging'으로 확인할 수 있고, 'clear logging'을 실행하거나 RAM에 저장된 로그는 재부팅하면 사라지게 된다.

·SNMP 트랩 로깅(SNMP trap logging) 기법

SNMP 트랩 메시지를 통해 모니터링하는 방법으로 로그 정보를 외부의 SNMP 서버에 전송하는 방법이다.

·ACL 침입 로깅(ACL violation logging) 기법

표준 또는 확장된 액세스 리스트를 설정할 때 특정한 룰에 매칭됐을 경우 해당하는 패킷 정보를 로그에 남기도록 설정할 수 있는데, 이는 액세스 리스트 룰의 끝에 로그나 로그 인풋을 추가하기만 하면 된다. 로그 인풋은 로그와는 달리 인터페이스 정보도 함께 남기게 되므로 어떤 인터페이스를 통해 로그가 남았는지를 알 수 있다.

·시스로그 로깅(Syslog logging) 기법

라우터에서는 시스로그를 통해 로그 메시지를 리눅스나 윈도우 등 서버의 syslogd 서비스에 전송해 로컬이 아닌 원격지 로그 서버에 저장하도록 할 수 있다. 시스로그에서는 단지 로그 메시지를 받아서 파일에 저장하기만 하면 되는데, 일반적으로 가장 권장하는 방법이다.

지금까지 설명한 로깅 기법들 가운데 버퍼 로깅 기법과 시스로그 로깅 기법이 가장 많이 사용되고 있고 또 권장할만한 방법인데, 두 가지 기법에 대한 실제 설정법에 대해 알아보자. 먼저 공통적으로 해야 할 일은 라우터에서 로깅 기능을 활성화하는 것이다.

Router# config t

Router(config)# logging on

다음은 버퍼에 로그를 남기는 설정을 보여주고 있다. 예제에서는 16K 정도를 버퍼 로그로 할당했는데, 메모리가 크다면 더 설정해도 된다. 그리고 로그에 남을 때 타임스탬프(TimeStamp)를 지정해 관리자가 지정한 형식으로 시간 정보를 남도록 했다.

Router# config t

Router(config)# logging buffered 16000 information

Router(config)# service timestamp log date msec local show-timezone

Router(config)# exit

이후 'show logging'을 실행하면 다음과 같이 생성되는 로그 정보를 확인할 수 있다.

Log Buffer (16000 bytes):

Oct 7 01:27:02.061 KST: %SEC-6-IPACCESSLOGP: list 101 denied tcp 62.112.221.180(56181) -> 192.168.10.240(179), 1 packet

Oct 7 06:44:28.323 KST: %SYS-5-CONFIG_I: Configured from console by noc1 on vty0 (192.168.3.15)

Oct 7 23:48:40.879 KST: %SYS-5-CONFIG_I: Configured from console by noc1 on vty0 (192.168.3.15)

Oct 8 11:08:20.774 KST: %RCMD-4-RSHPORTATTEMPT: Attempted to connect to RSHELL from 23.45.67.8

Oct 8 13:38:08.055 KST: %SYS-5-CONFIG_I: Configured from console by ciscouser on vty0 (192.168.3.15)

다음은 시스로그 로깅의 예다. 시스로그 로깅에서는 로그를 남길 목적지 호스트, 로그의 심각도(severity) 수준, 시스로그 기능(facility)을 각각 지정한다. 일반적으로 로그를 보낼 소스 주소를 별도 지정하지 않을 경우에는 시스로그 서버와 가장 가까운 인터페이스를 사용한다.

Router# config t

Router(config)# logging trap information

Router(config)# logging 14.2.9.6 // 로그를 보낼 시스로그 서버의 IP

Router(config)# logging facility local6

라우터에서 기능(facility)을 local6으로 설정했으므로 리눅스 서버에서 시스로그 설정 파일인 /etc/syslog.conf에서도 다음과 같이 설정한 후 -r 옵션을 추가해 syslogd를 재가동하면 라우터의 로그가 /var/log/routers.log 파일에 저장된다.



local6.* /var/log/routers.log

만약 시스로그 서버에 파이어월이 설정돼 있다면 목적지 포트가 514/udp인 트래픽을 허용해야만 라우터에서 전달되는 메시지를 받아 저장할 수 있다.

그리고 로깅 설정 시 글로벌 config 모드에서 'service sequence-numbers'를 실행하면 로그가 생성될 때 로그마다 순서번호가 할당되도록 해 로그의 무결성을 강화할 수 있다. 다음의 사례에서 'service sequence-numbers'를 실행했을 때 각 줄의 처음에 순서번호가 생성되는 것을 확인할 수 있다.

000510: Oct 8 17:28:47.509 KST: %SYS-5-CONFIG_I: Configured from console by noc1 on vty0 (192.168.10.15)

000511: Oct 8 17:29:08.653 KST: %SYS-5-CONFIG_I: Configured from console by noc1 on vty0 (192.168.10.15)

000512: Oct 8 17:29:10.233 KST: %LINK-3-UPDOWN: Interface Serial9/1/3, changed state to down

000513: Oct 8 17:29:24.121 KST: %SYS-5-CONFIG_I: Configured from console by noc1 on vty0 (192.168.10.15)

로깅을 남길 때 수준을 지정할 수 있다. 수준으로는 긴급(Emergencies), 경고(Alerts), 에러(Errors), 경보(Warnings), 통지(Notifications), 정보(Informational), 디버깅(Debugging) 등을 지정하면 되는데, 통상적으로 정보나 디버깅 정도로 자세하게 남기는 것이 좋다.

한편, 앞서 언급한대로 라우터의 로깅을 설정할 때 중요한 것은 바로 시간설정이다. 먼저 'show clock detail' 명령어를 실행해 현재 시간이나 타임존을 확인하길 바란다.

Router# show clock detail

21:15:03.124 KST Tue Apr 18 2006

만약 시간이나 타임존이 맞지 않다면 다음과 같이 수동으로 설정하도록 한다.

Router# config t

Router(config)# clock timezone KST -9

Router# clock set 17:27:30 18 March 2006

매번 수동으로 시간을 설정하기가 번거롭다면 일정 시간마다 타임 서버에 접속해 시간을 동기화(sync)하도록 설정하는 것도 좋다. 다음과 같이 설정하면 203.248.240.103(time.bora.net)에 접속해 시간을 동기화하게 된다.


Router(config)# ntp server 203.248.240.103



! 네트워크 장치 Logging 을 위한 설정

Switch(config)# logging on

Switch(config)# logging facility local0

Switch(config)# logging 10.10.10.254

Switch(config)# logging trap 7

! Logging 할 메시지 레벨을 선택한다. 기본값은 Level = 5 이다...

DSW1(config)#logging trap ?

<0-7> Logging severity level

alerts Immediate action needed (severity=1)

critical Critical conditions (severity=2)

debugging Debugging messages (severity=7)

emergencies System is unusable (severity=0)

errors Error conditions (severity=3)

informational Informational messages (severity=6)

notifications Normal but significant conditions (severity=5)

warnings Warning conditions (severity=4)

출처: http://cluster1.cafe.daum.net/_c21_/bbs_search_read?grpid=1LKIm&fldid=e8LA&datanum=12&contentval=&docid=1LKIme8LA1220100711203546

 

switch(config)# ip dns 203.255.112.34

switch(config)# ip dns 203.255.117.34

 

switch(config)# logging email from jp-l4-switch@test.com

switch(config)# logging email smtp 203.255.112.150

switch(config)# logging email to top@naver.com

switch(config)# logging server enable

switch(config)# logging buffer 200

switch(config)# logging rotate 08:00

 

switch(config)# sh logging

------------------------------------------------------------------

Logging configuration

------------------------------------------------------------------

Buffer Size        = 200 KB

Rotate Time        = 08:00 Everyday

Facility           = all

Level              = notice (5)

------------------------------------------------------------------

Logging Email From = jp-l4-switch@test.com

SMTP Server        = 210.2.1.150

Logging Email To   = th@aaa.com

------------------------------------------------------------------

Logging Server     = enabled

There is no syslog server registered.

------------------------------------------------------------------

 

 

switch(config)# logging rotate 11:35

출처: http://fedoragame.tistory.com/62


시스코,알테온,주니퍼,파이오링크 사용자 권한 설정 입니다.

 

사용자·명령어별 권한 수준이 설정되어 있지 않은 경우 허가되지 않은 사용자가 중
요한 프로그램을 실행하거나 모니터링 권한 설정을 변경하는 등의 위험이 발생할 수
있음. 사용자의 업무 및 권한에 따라 수행할 수 있는 권한과 기능을 제한해야 함.

 


판단기준
양호: 사용자·명령어별 레벨 설정이 되어있는 경우
취약: 사용자·명령어별 레벨 설정이 되어있지 않는 경우


조치방법
계정별 권한 설정과 중요 명령어에 대한 레벨 설정
※ 계정이 하나존재하여관리자만접속하는 경우(예: *NMS와연동되지않는경우)는 적용하지않음
*NMS(Network Management System): 네트워크 관리 시스템

 

 

 

 

대상 장비별 점검 방법 

 CISCO

 Router# show privilege

사용자·명령어별 레벨 설정 확인

 Alteon

 사용자의 접근 레벨이 7단계로 나누어져 있는지 확인

 Juniper

  [edit system login]에서 superuser, read-only 클래스를 분리, 운영하는지 확인

 Piolink

  슈퍼유저(root)와 일반유저로 권한을 부여하여 관리하는지 확인

 

위에 제시한 설정이 적용되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함

 

■ CISCO
시스코 IOS에서는 0에서 15까지 16개의 서로 다른 권한 수준을 규정하고 있으며, 레벨 1과 레벨 15
는 기본적으로 정의되어 있음
사용자 EXEC 모드는 레벨 1에서 실행되며 privileged EXEC 모드는 레벨 15에서 실행되고, IOS 각 명
령어는 레벨 1이나 레벨 15 중 어느 하나의 레벨이 사전에 기본적으로 지정되어 있음
레벨 1에서는 라우터의 설정 조회만 가능하고 레벨 15에서는 라우터의 전체 설정을 조회하고 변경할
수 있으므로 중요한 명령어의 권한 수준을 높여서 제한하는 것이 보안상 안전함
1. 사용자별 권한 수준 지정
Router# config terminal
Router(config)# username [ID] privilege [1-15] password [PASS]
2. 명령어별 권한 수준 지정
Router(config)# privilege exec level [1-15] [서비스명]

※ 아래의 중요한 명령어에는 반드시 레벨 15를 적용해야 함
connect, telnet, rlogin, show ip access-list, show logging
Router# config terminal
Router(config)# privilege exec level 15 connect
Router(config)# privilege exec level 15 telnet
Router(config)# privilege exec level 15 rlogin
Router(config)# privilege exec level 15 show ip access-list
Router(config)# privilege exec level 15 show logging

 

 

■ Alteon
사용자의 접근 및 권한 레벨은 7단계로 나누어져 있음

 

 사용자 계정 / 기본 패스워드

 설명

 User / User

 User는 스위치 관리에 대한 직접적인 책임이 없지만 모든 스위치
상태 정보와 통계 자료를 볼 수 있음
그러나 스위치의 어떤 설정도 바꿀 수 없음

 SLB Operator / slboper

 SLB Operator는 Web 서버들과 다른 인터넷 서비스의 로드를 관리함
부가적으로 모든 스위치 정보와 통계를 볼 수 있으며, Server Load
Balancing 운영 메뉴를 사용하는 서버의 사용 가능/사용 불가능을
설정할 수 있음

 Layer4 Operator / l4oper

 Layer4 Operator는 공유된 인터넷 서비스들에 따른 라인의 트래픽을 관리함
SLB Operator와 같은 접근 레벨을 가지고 있고, 공유된 인터넷 서
비스들에 따른 라인의 트래픽을 관리하는 운영자를 위한 운영적인
명령어에 접근할 수 있도록 제공하는 위해서 접근 레벨은 향후에
사용하기 위해 예약되어 있음

 Operator / oper

 Operator는 모든 스위치의 기능을 관리함
부가적으로 SLB Operator 기능과 포트나 전반적인 스위치를 재설
정할 수 있음

 SLB Administrator / slbadmin

 SLB Administrator는 웹서버들과 다른 인터넷 서비스들과 그것에
대한 로드를 설정 및 관리를 할 수 있음
부가적으로 SLB Operator 기능들과 설정 필터들이나 대역폭 관리
를 하는 것을 제외한 Server Load Balancing 메뉴에 매개변수를 설
정할 수 있음

 Layer4 Administrator / l4admin

 Layer4 Administrator는 공유된 인터넷 서비스들에 따른 라인에 대
한 트래픽을 설정 및 관리를 함

부가적으로 SLB Administrator 기능들, 설정 필터들이나 대역폭 관
리를 하는 것을 포함한 Server Load Balancing 메뉴에 모든 매개변
수를 설정할 수 있음

 Administrator / admin

 superuser Administrator는 user와 administrator 패스워드를 둘 다
변경할 수 있으며, Web 스위치에 모든 메뉴, 정보 그리고 설정 명
령어들에 사용할 수 있음

 

1. switch로 접속
2. # cfg
3. # sys
4. 다음 중에 해당하는 경우를 선택
# /user/명령어
usrpw - user 암호 설정 및 변경
sopw - SLB operator 암호 설정 및 변경
l4opw - L4 operator 암호 설정 및 변경
opw - operator 암호 설정 및 변경
sapw - SLB administrator 암호 설정 및 변경
l4apw - L4 administrator 암호 설정 및 변경
admpw - administrator 암호 설정 및 변경
5. 암호 및 설정 변경
6. # apply
7. # save

 

■ Juniper
장비 구성 변경 시 사용하는 superuser 클래스와 monitoring 용으로 사용하는 read-only 클래스를 분
리하여 사용할 것을 권장함. 장비 내 기본적으로 다음과 같은 클래스별 사용 권한 설정 및 세부 옵션
추가로 기능 제한을 할 수 있고, 특정 명령어 사용 제한을 계정마다 따로 설정할 수 있으므로 특정한
사용자 계정의 생성이 필요한 경우 사용 권한을 부여하여야 함

 

 

 Class-name

 Ability

 Operator

 clear, network, reset, trace, view

 read-only

 view

 Superuser

 all

 unauthorized

 None

 

1. [edit system login] hierarchy level:
2. [edit system]
login {

class class-name {
allow-commands “regular-expression”;
deny-commands “regular-expression”;
idle-timeout minutes;
permissions [ permissions ];
}
}

 

■ Piolink
디폴트 계정인 슈퍼유저(root)와 관리목적에 따라 신규로 등록할 수 있는 일반유저, 2단계로 나누어져
있음. 슈퍼유저는 모든 권한이 부여되어 있으나 일반유저의 경우 장비의 설정을 변경할 수 있는 권한
이 없음. 따라서 사용자의 업무 및 권한에 따라 계정을 부여하여 관리하는 것이 보안상 중요함.

출처: http://byenetwork.tistory.com/159



=============================
cisco
=============================
show clock
show ver
show environment
dir
show proc cpu sort
show proc mem
show mac-add
show inter status
show inter | in error
show cdp ne
show vlan
show vtp status 
show inter trunk
show etherchannel sum
show span
show inter trunk
show ip int b
show ip route
show arp
show standby brief 
show vrrp brief 
show access-list
show run
show log


tclsh
foreach address {
192.168.0.1
192.168.0.2
192.168.0.100
192.168.0.111
192.168.0.20
} {
ping $address }

=============================
알테온
=============================
/c/d
/info/sys/fan
/info/sys/general
/info/link
/info/port
/stats/port 1/if
/info/sys/log
/stats/slb/real 30
/stats/slb/virt 100
ping

=============================
알카텔
=============================
show/tech  ==version 확인
장비명/버전/팬/씨피유/램/사용확인

 

=============================
piolink
=============================
  show run 
  show system 
  show hardware-status   
  sho port 
  show vlan
  show trunk 
  show statistics port 
  show port-boundary 
  show port-monitoring   
  show ip interface 
  show ip route
  show arp
  show slb  
  show info slb
  sho  statistics slb

=============================
화웨이 H3C
=============================
display current-configuration
display saved-configuration
display boot-loader 
display link-aggregation interface/summary/verbose
display vlan 10
display port trunk
display stp 
display stp brief
display ip interface brief
display ip routing-table 
display acl config all
display acl running-packet-filter all


snmp
display snmp-agent sys-info
display snmp-agent community 
display snmp-agent statistics

미러링
display mirroring-group x

로깅
terminal logging
display trapbuffer
display logbuffer


디버깅
debugging ip icmp
terminal debugging
display debugging

+ Recent posts