2017. 7. 10. 17:31ㆍNetworkHacking/Network
<1> 간이 망 관리 프로토콜 ( Simple Network Management Protocol )
- IP네트워크 상의 장치로부터 정보를 수집 및 관리, 장치의 동작을 변경하는 데 사용하는 인터넷 표준 프로토콜
- 대표적인 장치에는 라우터, 스위치, 서버, 워크스테이션, 프린터, 모뎀 랙 등이 있다
- 네트워크 모니터링의 목적으로 네트워크 관리에서 널리 사용되어 진다
- 하나 이상의 관리 컴퓨터(매니저)는 컴퓨터 네트워크에서 호스트나 장치들의 그룹(에이전트들)을 감시하고 관리한다
- 에이전트( Agent ) : 허브, 라우터, 스위치, 브리지, 호스트 등등 ( 관리되는 장치에 탑재되는 서버 형태의 모듈들 )
[ SNMP 구성 ]
SNMP는 SMI , MIB 정보 구조를 설명하는 두개의 프로토콜과 함께 사용한다
SMI ( Structure of Management Information )
- MIB 객체와 모듈이 구성될 때 지켜야 할 규칙과 공통된 방식을 정의한다
MIB ( Management Information Base )
- 어떠한 장비가 가지는 정보 객체의 집합
=> SNMP프로토콜이 네트워크 장비의 현 상태를 변수로 옮기고 MIB는 SMI규칙에 따라 이 변수의 의미를 정의한다
[ 접근 권한 ]
SNMPv1 - 읽기 / 쓰기 / 읽고쓰기 / 접근금지
SNMPv2 - 계층적 5단계 구조로써 상위계층은 하위계층의 권한을 포함한다
* 5단계 생성 읽기 ( 읽기/쓰기/생성 )
* 4단계 읽고 쓰기 ( 읽기/쓰기 )
* 3단계 읽기 ( 읽기만 )
* 2단계 통지 전용
* 1단계 접근금지
[ SNMP 동작과정 ]
Manager는 Client에 위치하고 Agent는 Server쪽에 위치한다
1) Manager는 Agent에게 관리정보 요청 = GetRequest메시지 전달 ( Manager의 랜덤포트 -> Agent의 161번포트에 도착 )
2) Agent는 관리정보(MIB) 데이터를 Manager에게 전송 = Response메시지 전달 ( Agent 161 Port -> Manager RandomPort )
3) Manager는 해당 데이터를 통해서 관리역할을 수행한다 = Response 메시지 수신 후 처리
* GetRequest Manager가 Agent에게 정보를 요청할 때 하나 이상의 변수를 요청한다 / 관리정보 검색
* GetNextRequest 여러 개의 관리 객체를 순서적으로 연속하여 참조할 때 사용한다 / 관리정보 연속 검색
* GetBulkRequest 대형 변수 테이블을 한꺼번에 요청할 때 사용한다
* SetRequest Manager가 객체(MIB data)의 값을 변경할 때 사용한다 / 변수 써넣기 or Agent의 변수 변경하기
* Response Agent가 Manager의 요청을 응답할 때 사용한다
* InformRequest 지역 MIB를 묘사하는 여러 관리 노드 상호간의 메세지
* Trap Agent가 예외동작, 예상치 못한 장애등의 발생을 알린다
* Report Maganer들간에 어떠한 오류의 유형들을 보고한다 ( 현재는 미사용 )
<2> 간이 우편 전송 프로토콜 ( Simple Mail Tranfer Protocol ) = 전자메일
- 인터넷에서 이메일을 보내기 위해서 이용되는 프로토콜로써, TCP포트번호 25번을 사용한다
- 메일 서버간의 송수신뿐만 아니라, 메일 클라이언트에서 메일 서버로 메일을 보낼 때 사용되기도 한다
[ SMTP 동작과정 ]
Client -> Port 25 -> SMTP Server // 메일의 해당 모든 데이터를 확인하는 ' 대화 ' 를 한다
SMTP Server -> 다른 수신 Server // " 중계 " // SMTP서버와 수신자와의 거리가 멀 때
수신 Server -> Reciever ( 방식 : POP or IMAP )
2-1> POP ( Post Office Protocol ) 보통 POP3를 가르킨다 ( POP3가 마지막 표준이다 )
응용계층 인터넷 프로토콜 중 하나로 원격서버로 부터 TCP/IP연결을 통해 이메일을 가져오는데 사용한다
클라이언트가 원격 서버에 접속해서 이메일을 클라이언트로 가져오면 서버에서는 이메일을 삭제한다 !
[ POP3 - 비동기화 ]
2-2> IMAP ( Internet Message Access Protocol )
응용계층 인터넷 프로토콜 중 하나로 원격서버로 부터 TCP/IP연결을 통해 이메일을 가져오는데 사용한다
POP과는 달리 이메일 메시지를 서버에 남겨 두어 서로 다른 클라이언트가 같은 이메일을 받아 올 수 있다
메일서버와의 통신 트래픽이 높고 가격이 비싼 단점이 있다
[ IAMP - 동기화 ]
2-3> POP3 vs IMAP
[ IMAP vs POP3 ]
IMAP ( 143/tcp )
- 클라이언트는 메시지를 서버와 클라이언트쪽 둘 다 저장할 수 있다
- 클라이언트는 여러 개의 서버와 통신할 수 있다
- 서버는 여러개의 클라이언트와 통신할 수 있다 ( 동일한 이메일을 여러 사용자가 가져갈 수 있다 )
POP3 - ( 110/tcp )
- 클라이언트는 서버에서 단 한번만 이메일을 가져 갈 수 있다 ( 서버에서 해당 이메일을 삭제해버린다 )
<3> 전자우편에 대한 보안 위협 요소
① E-mail 내용이 네트워크 전송과정에서의 외부로 유출
② 바이러스 프로그램이 첨부되어 전송
③ 메일서버 및 E-mail프로그램의 취약점을 이용한 시스템 침입
<4> 전자우편 보안 / 암호화 프로토콜
인터넷의 전자우편을 암호화하여 제 3자가 알 수 없도록 하는 보안 프로그램
4-1> PGP ( Pretty Good Privacy ) 표준
① 기밀성 제공 - 대칭키(IDEA) , 공개키(RSA) , 개인키(RSA) 사용
대칭키(세션키) : 전송메시지를 암호화해서 전송한다
공개키 : 세션키 암호화해서전송한다
개인키 : 디지털 서명을 암호화할 때 사용한다
② 인증 ( 메시지 인증 / 사용자 인증 ) 제공 - MD5 or SHA-x 함수사용
메시지 다이제스트를 생성하고 개인키로 암호화해서 전송
③ 압축 - 서명한 뒤에 압축하여 공간절약 및 보안성을 올려준다
④ 분할 - 메시지 크기와는 상관없이 PGP사용이 가능하다
* 공개키 분배 : Web of Trust , Key-ring
4-2> PEM ( Privacy Enhanced Mail )
PGP와 같이 메세지의 내용을 암호화하여 보안성을 높인다
PGP보다 구현은 어렵지만, 보안성이 상대적으로 뛰어나다
4-3> S/MIME ( Secure / Multipurpose Internet Mail Extensions )
메시지를 받는 사람이 받은 편지함에 표시된 메시지가 보낸 사람이 작성한 것과 정확히 일치하는 메시지이며, 특정 보낸 사람을 가장하는 사람이 아닌 실제 보낸 사람이 메시지를 보냈음을 확신할 수 있습니다
이를 위해 두 가지 보안서비스 ① 디지털 서명 ② 메시지 암호화 를 제공한다
① 디지털 서명 : 인증 + 데이터 무결성
( 개인키로 서명을 암호화해서 전송한다 = 나만이 서명을 할 수 있기 때문에 그 서명은 나의 것이라는 것이 증명된다 ) - 인증
② 메시지 암호화 : 기밀성 + 데이터 무결성
( 받는 사람의 공개키로 메시지를 암호화해서 전송한다 = 받는 사람만이 그 사람의 개인키를 이용해서 복호화해서 메시지를 읽을 수 있다 ) - 기밀성
③ 공개키 분배 : X.509인증서나 CA 를 이용한다
* 전자 메시지 뿐만 아니라 MIME데이터를 전달하는 전송 메커니즘에서도 사용된다
'NetworkHacking > Network' 카테고리의 다른 글
TCP Session Hijacking (0) | 2017.07.15 |
---|---|
TCP 3-Way Handshake (1) | 2017.07.12 |
WAP ( Wireless Application Protocol ) (0) | 2017.07.10 |
유니캐스트 vs 멀티캐스트 vs 브로드캐스트 (0) | 2017.07.10 |
UDP ( User Datagram Protocol )프로그래밍 (0) | 2017.07.10 |