[네트워크] 컴퓨터 네트워크

[네트워크] 방화벽 탐지, SNMP

ITsubin 2022. 9. 15. 21:37

[ 1) 방화벽에 대한 이해 ]

> 방화벽은 침입자를 차단하는 1차 방어선

> 접속에 대한 허용과 차단을 결정

 

   ++ 침입 탐지 시스템(Intrusion Detection System; IDS)?

   > 방화벽이 막을 수 없거나 차단에 실패한 공격을 탐지하여 관리자에게 알려주는 역할


[ 2) 방화벽 탐지 ]

> traceroute, firewalk 등을 이용한다.

 

{ traceroute }

> 방화벽 설치 여부를 알 수 있는 가장 손쉬운 방법

> traceroute를 실행했을 때 *만 표시되는 경우, 라우터에서 필터링을 해주고 있거나 방화벽이 존재한다고 볼 수 있음.

 

{ firewalk }

> 방화벽의 ACL(Access Control List)을 알아내는 방법

> 방화벽의 포트가 닫힌 경우 응답 패킷이 돌아오지 않음

> 방화벽의 포트가 열린 경우 다음 라우터까지 전달된 후 ICMP Time Exceeded Message가 돌아옴

 

   ++ firewalk의 원리?

   > 방화벽이 탐지되면 방화벽까지의 TTL보다 1만큼 더 큰 TTL값을 생성하여 보냄

   > 방화벽이 패킷을 차단할 경우, 아무 패킷도 돌아오지 않음

   > 방화벽이 패킷을 통과시키면 패킷은 다음 라우터에서 사라지고,

      라우터는 traceroute 과정처럼 ICMP Time Exceeded Message (Type 11)를 보냄

   > 공격자는 ICMP Time Exceeded Message 여부를 받은 포트에 대해 열린 포트임을 추측 가능.


[ 1) SNMP에 대한 이해 ]

> SNMP (Simple Network Management Protocol)

> TCP/IP 기반의 네트워크에서 각 호스트로부터 정기적으로

   여러 가지 정보를 자동적으로 수집하여 네트워크 관리를 하기 위한 프로토콜.

> 중앙 집중적인 관리 툴의 표준 프로토콜

> 네트워크 관리에 *SMI와 *MIB를 모두 사용

 

{ SNMP의 구성 요소 }

> 관리 시스템(Manager)와 관리 대상(Agent)로 구성.

> 관리 시스템과 에이전트가 통신하려면 최소 세 가지 사항 *[ 버전, 커뮤니티, PDU 타입 ]이 일치해야 한다.

> SNMP는 UDP를 사용.

   ( Agent : UDP 161번 포트 )

   ( Manager : UDP 162번 포트 )

 

   * 버전 : 관리 시스템과 에이전트 간 SNMP 버전이 일치해야 함.

   * 커뮤니티 : 서로 설정한 커뮤니티가 일치해야 함.

   * PDU 타입 : 통신을 위한 패킷별 해당 값으로 0 ~ 4가 있음.

 

   (관리 시스템, Manager)

   > SNMP 클라이언트 프로그램을 수행하는 호스트

   > Database에서 값들을 읽어옴.

   > 라우터로 하여금 특정한 동작을 행하도록 함.

 

   (관리 대상, Agent)

   > SNMP 서버 프로그램을 수행하는 라우터 또는 호스트

   > Agent는 *[ SNMP, MIB, SMI ]로 구성

 

   * SNMP : Simple Network Management Protocol, 전송 프로토콜

   * MIB : Management Information Base, 관리할 개체의 집합

   * SMI : Structure of Management Information, 관리 방법

 

   ++ MIB

   > 관리자가 조회하거나 설정할 수 있는 개체들의 DataBase

   > 개체별로 트리 형식의 구조를 이룸. (각 개체는 그룹으로 나눔, 기본 그룹 10개)

   > 네트워크 관리자는 정의된 MIB의 특정 값을 가져와

      Agent 상태 파악 또는 그 값을 변경 가능. (Agent의 장비 상태 변경 및 특정 작동 명령 가능)

   > MIB를 생성하려면 *OID를 지정받아야 함. (IP Address와 유사한 표기법 사용)

 

   ++ SMI

   > 관리 정보 구조

   > SMI는 MIB를 정의하고 구성하는 툴 (표준에 적합한 MIB를 생성 및 관리하는 기준)

 

   ++ OID

   > Object IDentifier

   > 이름으로 알 수 있듯이, MIB에 포함되어 있는 각 개별 정보(Object)에 대한 ID

      (해당 ID로 CPU 사용량, 메모리 사용량, 포트 상태 등의 정보에 대해 구분 가능)

 

[ 2) SNMP 취약점 ]

> 기본적으로 누구라도 SNMP의 MIB 정보를 볼 수 있음.

> 패킷이 UDP로 전달되어 연결 신뢰도가 낮음.

> 데이터가 암호화되지 않은 평문으로 전송되어 스니핑 가능.