본문 바로가기
IT ▶/Security

[정보보안] 네트워크 어플리케이션 계층 (HTTP, FTP,SMTP)

by 오프로 2020. 3. 25.



 

 

1> Application layer 

 

 

- 사용자들이 사용하는 응용 프로그램 계층

 

- 응용 계층과 연결

 

- FTP 서비스, DNS 서비스, Telnet, ssh 서비스, HTTP(웹서버-웹브라우저), SMTP(e-mail), SNMP (네트워크)

 

 

 

 

2> HTTP

 

 

- 사용자의 웹브라우저와 웹서버 사이 송수신 프로토콜

 

- TCP 기반 프로토콜로 요청/응답 구조

 

- State-less 프로토콜

 

- 3 way handshaking

 

 

1. 웹브라우저가 웹 서버에 SYN 메시지

 

2. 웹서버는 웹브라우저에게 SYN, ACK 응답

 

3. 웹브라우저는 웹 서버에 최종 연결 확인 ACK 전송

 

 

-> TCP 연결이 되면 'ESTABLISHED' 상태로 netstat 통해 확인가능합니다.

 

 

- HTTP Version 1.1 : 요청마다 연겨랗지 않고, 연결 대기 후 종료 (keep alive Connection)

 

 

 

- HTTP 세션 연결

 

 

1. 웹 서버 서비스 포트 80 개방 후 클라이언트 요청 대기

 

2. 클라이언트가 웹 서버 접속 요청 (SYN)

 

3. 클라이언트 요청에 대한 응답 (SYN, ACK)

 

4. 클라이언트 응답에 대한 확인 (ACK) 전송

 

5. HTTP-GET 페이지 요청

 

6. 서버는 클라이언트 요청 점검

 

7. 요청 HTML 페이지를 클라이언트에 전송

 

8. 클라이언트 전송 데이터 점검

 

 

 

 

- HTTP 프로토콜 구조

 

 

HTTP : Header + Body

 

Header : Request 시 요청할 웹브라우저 정보, 요청방식, 파라미터 

 

Body : Body에 파라미터 정보 넣고 전송

 

 

1. GET : 서버에 전달 할떄 URL에 입력 파라미터(데이터)를 넣어서 요청

 

전송 데이터 양 제한 (2K or 4k)

 

Get test.html?id=1234&password=pw1234

 

 

2. POST : 요청 파라미터를 HTTP Body에 넣어서 전송 

 

전송 데이터 양 제한없음

 

Post test.html

id=1234:password=pw1234

 

 

 

 

- Http Requset Header 구조

 

 

Request Method : POST, GET, PUT, DELETE 등 호출 메소드

 

Accept : 웹브라우저 미디어 타입

 

Accept-Langugae : 웹브라우저 인식 언어

 

User-Agent : 웹브라우저 정보

 

Accept-Encoding : 웹브라우저 제공되는 인코딩 방식

 

Host : 웹 서버 기본 URL

 

Connection : 연결 지속(Keep Alive) 또는 끊기(Close) 

 

 

 

- HTTP Response header 구조

 

 

Status Code : Http 응답코드 

 

Server : 서버 프로그램명, 버전

 

Expires : 만기 일자

 

Cache Control : 캐시 사용여부

 

Content - Encoding : 응답 메시지 인코딩방식

 

Content - Length : 응답 리소스 크기 (바이트)

 

Keep-Alive : 연결유지시간 (timeout)

 

Content-type : 응답 미디어 타입

 

 

* 웹서버에서 응답하는 404 Forbidden 상태코드 경우는 클라이언트가 요청한 자원이 웹 서버에 없다는 의미.

 

 

 

- 쿠키 : 웹브라우저에 저장할 수 있는 작은 공간 (프로그램 관련 정보 임시 저장)

 

 

클라이언트에서 상태 정보를 저장 (4Kbyte)

 

쿠기 값은 변조가 가능하여 인증같은 중요 정보를 저장하지 않아야 한다.

 

 

- 세션 : 클라이언트와 웹서버 사이의 네트워크 연결 지속 유지

 

세션 쿠키 : 연결이 종료되면 쿠기 값도 자동 삭제

 

 

방식 쿠키 세션
저장형태 Text Object
저장 위치 클라이언트 서버
종료 시점 쿠키 저장 시 종료 시점 설정
기본적으로는 브라우저 종료  시점
모름
용량 도메인당 20개, 하나 4Kbyte 없음

 

 

 

 

 

3> FTP

 

 

- 파일 전송 프로토콜

 

- ftpusers에 등록된 사용자는 FTP 접근 불가

 

- 전송 : Active mode , Passive mode

 

 

a. Active mode

 

클라이언트가 FTP 서버 TCP 21번 포트로 접속

 

FTP 서버는 20번 포트로 데이터 송수신

 

 

b. Passive mode

 

클라이언트가 FTP 서버 TCP 21번 포트로 접속 후 포트 요청

 

FTP 서버는 데이터 연결 포트를 Random 으로 리턴 (1024 이상)

 

클라이언트는 해당 포트로 접속하여 데이터 송수신

 

 

 

 

 

4> SMTP

 

 

- 전자우편 표준 프로토콜

 

- Store-and-Forward 방식 메시지 전달

 

-> Store : 메일이 전송되면 메일박스에 저장

 

-> Forward : 저장된 메일박스에서 해당 메일을 수신자에 전달

 

 

- 동작방식

 

MTA : 메일 전송 서버

 

MDA : 수식 측 메일 전송 서버

 

MUA : 사용자 클라이언트 

 

 

- POP3 : MDA 프로그램으로 메일 서버에서 해당 메일 삭제

 

- IMAP : 메일 서버에서 원복 계속 저장 

 

 

 

 

5> SNMP

 

 

- 네트워크 관리 시스템

 

- NMS : SNMP 프로토콜 통해 네트워크 정보 수집 시스템

 

 

 

 

 

728x90
300x250