3주차 정리

2022. 5. 4. 01:5522-1학기/네트워크 보안(NETWORK SECURITY)

- 도메인, DNS 서버

- 쿠키와 세션의 의미, 차이점

- URI, URL, URN

- FTP, HTTP, HTTPS

 

 

 

1. 도메인, DNS 서버

 

* Domain(도메인) :

  • 도메인은 웹 브라우저를 통해 특정 사이트에 진입을 할 때, IP 주소를 대신하여 사용하는 주소이다.
  • 도메인을 이용해서 한눈에 파악하기 힘든 IP 주소를 보다 분명하게 나타낼 수 있다.
  • 만약 IP 주소가 지번 또는 도로명 주소라면, 도메인 이름은 해당 주소에 위치한 상호로 볼 수 있다.
  • 도로명 주소를 대신해서, 우리는 상호나 건물의 이름을 찾아갈 수 있는 것과 같다.

-터미널에서 도메인의 IP 주소를 확인하는 방법

  • 터미널에서 명령어 nslookup으로 naver.com의 IP 주소를 확인할 수 있다.

ex) 도메인 : acns.uplus.co.kr

     서버 : 1.214.68.2

->PC가 자동으로 DNS 서버 주소 받기로 설정되어 있고 통신사가(ISP) LG이기 때문에, DNS서버의 도메인 네임은 

  acns.uplus.co.kr이고 IP 주소는 1.214.68.2이다.

 

 

* DNS(Domain Name System) :

  • 네트워크 상에 존재하는 모든 PC는 IP 주소가 있다.
  • 그러나 모든 IP 주소가 도메인 이름을 가지는 것은 아니다.
  • 로컬 PC를 나타내는 127.0.0.1은 localhost로 사용할 수 있지만, 그 외의 모든 도메인 이름은 일정 기간 동안 대여하여 사용한다.

 

-도메인 이름과 IP 주소는 어떻게 매칭하는 걸까?

  • 브라우저의 검색창에 도메인 이름을 입력하여 해당 사이트로 이동하기 위해서는, 해당 도메인 이름과 매칭된 IP 주소를 확인하는 작업이 반드시 필요하다.
  • 네트워크에는 이것을 위한 서버가 별도로 있다.
  • 이 서버가 바로 DNS 서버이다.

 

-DNS 하는 일

  • DNS는 Domain Name System의 줄임말로, 데이터베이스 시스템이다.
  • 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템이다.
  • DNS(Domain Name System)는 범국제적 단위로 웹사이트의 IP 주소와 도메인 주소를 이어주는 환경/시스템이다
  • DNS 시스템 안에서 이어주는 역할을 하는 서버를 풀네임으로 DNS 서버라고 한다.

 

-DNS 처리 순서

  • 브라우저의 검색창에 naver.com을 입력한다.
  • 이 요청으 DNS에서 IP 주소를 찾는다. (125.209.222.142)
  • 그리고 이 IP 주소에 해당하는 웹 서버로 요청을 전달하여 클라이언트와 서버가 통신할 수 있도록 한다.

 

-네임서버 = DNS 서버

 

 

 

 

2.쿠키와 세션의 의미, 차이점

-쿠키(Cookie)

  • HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 경우, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일이다.
  • HTTP에서 클라이언트의 상태 정보를 클라이언트의 PC에 저장하였다가 필요 시에 정보를 참소하거나 재사용할 수 있다.
  • 이름, 값, 만료일(저장 기간 설정), 경로 정보로 구성되어 있다.
  • 클라이언트에 총 300개의 쿠키를 저장할 수 있다. 
  • 하나의 도메인 당 20개의 쿠키를 가질 수 있다.
  • 하나의 쿠키는 4KB(=4096byte)까지 저장 가능하다.

 

-쿠키의 동작 순서

  1. 클라이언트가 페이지를 요청한다. (사용자가 웹사이트 접근)
  2. 웹 서버는 쿠키를 생성한다.
  3. 생성한 쿠키에 정보를 담아 HTTP 화면을 돌려줄 때, 같이 클라이언트에게 돌려준다.
  4. 넘겨 받은 쿠키는 클라이언트가 가지고 있다가 다시 서버에 요청할 때 요청과 함께 쿠키를 전송한다.
  5. 동일 사이트 재방문 시 클라이언트의 PC에 해당 쿠키가 있는 경우, 요청 페이지와 함께 쿠키를 전송한다.

 

 

-세션(Session)

  • 일정 시간 동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고하고 그 상태를 일정하게 유지시키는 기술이다. (일정 시간은 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료하여 연결을 끝내는 시점을 의미함)
  • 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보고 그것을 세션이라고 한다.
  • 웹 서버에 웹 컨테이너의 상태를 유지하기 위한 정보를 저장한다.
  • 브라우저를 닫거나, 서버에서 세션을 삭제했을때만 삭제가 되므로, 쿠키보다 비교적 보안이 좋다.
  • 저장 데이터에 제한이 없다
  • 각 클라이언트 고유 session ID를 부여한다. Session ID로 클라이언트를 구분하여 각 클라이언트 요구에 맞는 서비스를 제공한다.

 

-세션의 동작 순서

  1. 클라이언트가 페이지를 요청한다. (사용자가 웹 사이트에 접근)
  2. 서버는 접근한 클라이언트의 Request-Header 필드인 Cookie를 확인하여, 클라이언트가 해당 Session-ID를 보냈는지 확인한다.
  3. Session-ID가 존재하지 않는다면, 서버는 Session-ID를 생성해 클라이언트에게 돌려준다.
  4. 서버에서 클라이언트로 돌려준 Session-ID를 쿠키를 사용해 서버에 저장한다.
  5. 클라이언트는 재접속 시, 이 쿠키를 이용하여 Session-ID 값을 서버에 전달한다.
  6.  
  쿠키(Cookie) 세션(Session)
저장 위치 클라이언트(=접속사 PC) 웹 서버
저장 형식 text Object
만료 시점 쿠키 저장시 설정 
(브라우저가 종료되도, 만료시점이 지나지 않으면 자동 삭제되지 않음)
브라우저 종료시 삭제
(기간 지정 가능)
사용하는 자원(리소스) 클라이언트 리소스 웹 서버 리소스 
용량 제한 총 300개
하나의 도메인 당 20개
하나의 쿠키 당 4KB(=4096byte)
서버가 허용하는 한 용량 제한 없음
속도  세션보다 빠름 쿠키보다 느림
보안 세션보다 안좋음 쿠키보다 좋음

 

 

3.URI, URL, URN

* URI

  • Uniform Resource Identifier(통합 자원 식별자)의 줄임말이다.
  • URI는 인터넷의 자원을 식별할 수 있는 문자열을 의미한다. 그 중 URL ,URN이라는 하위 개념을 만들어서 특별히 어떤 표준을 지켜서 자원을 식별하는 것이다.
  • 인터넷에 있는 자원을 나타내는 유일한 주소이다. 
  • URI의 하위 개념으로 URL, URN이 있다.
  • 즉, URI는 어떤 형식이 있다기 보다는 특정 자원을 식별하는 문자열을 의미한다. 따라서, URL과 URN이 모두 아니라면 그냥 URI가 된다

 

* URL

  • Uniform Resource Locator의 줄임말이다.
  • 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타낸다.
  • URL은 FTP, SMTP 등 다른 프로토콜에서도 사용할 수 있다.
  • URL은 웹 상의 주소를 나타내는 문자열로, 효율적으로 리소스에 접근하기 위해서 클린한 URL 작성을 위해 방법론들이 생겨났다. 그 중 하나가 REST API이다.

 

-URL의 구성요소

  • scheme : 가장 먼저 작성된다. 통신 방식(프로토콜)을 결정한다. 일반적인 웹 브라우저에서는 http를 사용한다.
  • hosts : 웹 서버의 이름, 도메인, IP를 사용하여 주소를 나타낸다.
  • url-path : 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타낸다.
  • query는 웹 서버에 보내는 추가적인 질문이다.

ex) http://www.google.com:80/search?q=JavaScript : 순서대로 scheme, hosts, url-path, query이다.

 

 

* URN

  • Uniform Resource Name의 줄임말이다.
  • URN은 URI의 표준 포맷 중 하나로, 이름으로 리소스를 특정하는 URI이다.
  • http와 같은 프로토콜을 제외하고 리소스의 name을 가리키는데 사용된다.
  • URN은 리소스를 영구적이고 유일하게 식별할 수 있는 URI이다.
  • URN에는 리소스 접근방법과, 웹 상의 위치가 표기되지 않는다.
  • URN은 리소스 자체에 부여된 영구적이고 유일한 이름이고 변하지 않는다.
  • 실제 자원을 찾기 위해서는 URN을 URL로 변환하여 이용한다.

 

-URL & URI의 차이점

  • URL은 리소스를 어떻게 얻을 것이고 어디에서 가져와야 하는지를 명시하는 URI이다.
  • URN은 리소스를 어떻게 접근할 것인지 명시하지 않고 경로와 리소스 자체를 특정하는 것을 목표로 하는 URI이다.

 

-URL & URI 구성표

부분 명칭 설명
file:// , http://, https:// scheme 통신 프로토콜
127.0.0.1,  www.google.com hosts 웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP
;80,  ;443,  ;3000 port 웹 서버에 접속하기 위한 통로
/search,
/Users/username/Desktop
url-path 웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 드으이 파일이 위치까지로의 경로
q=JavaScript query 웹 서버에 전달하는 추가 질문

 

 

 

4.FTP, HTTP, HTTPS

 

* HTTP : 

  • Hypertext Transfer Protocol의 줄임말이다.
  • 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜이다.
  • 웹 서핑을 할 때 서버에서 사용자의 브라우저로 데이터를 전송해 주는 용도로 가장 많이 사용된다.
  • 비연결성 프로토콜이기 때문에 클라이언트 서버(요청 응답) 방식으로 작동한다.
  • 웹에서만 사용하는 프로토콜로서 TCP/IP를 기반으로 동작한다.

 

* HTTPS :

  • Hypertext Transfer Protocol Secure의 줄임말이다.
  • 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는다는 HTTP의 문제점을 보안한 방식이다.
  • SSL 또는 TLS 프로토콜을 사용함으로써, 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라우저가 민감한 정보를 주고받을 때 이것이 도난당하는 것을 막아주는 방식이다.

 

* FTP :

  • File Transfer Protocol의 줄임말이다.
  • 파일을 전송하는 통신 규약이다.
  • TCP/IP 프로토콜 기반으로 서버와 클라이언트 간의 파일 전송을 위한 프로토콜이다.
  • 컴퓨터들이 파일을 교환하기 위해 공개된 프로토콜인데, 보안상의 성능이 떨어진다는 단점이 있어서 최근에는 FTPS 사용을 권장한다.

 

 

 

-참고

https://hanamon.kr/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B8%B0%EB%B3%B8-url-uri-urn-%EC%B0%A8%EC%9D%B4%EC%A0%90/

 

[네트워크/기본] URI, URL 및 URN의 차이점 - 하나몬

수정 보완 중에 있습니다… 🙏 그래도 의견 있으시면 주세요. ⚡️ URI과 그 하위 개념 URL, URN 개념 이해하기 ❗️URI 이란? URI는 Uniform Resource Identifier, 통합 자원 식별자의 줄임말이다. 브라우저

hanamon.kr

https://hanamon.kr/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B8%B0%EB%B3%B8-%EB%8F%84%EB%A9%94%EC%9D%B8%EA%B3%BC-dns-%EB%84%A4%EC%9E%84%EC%84%9C%EB%B2%84%EB%9E%80-%EA%B0%9C%EB%85%90%ED%8E%B8/

 

[네트워크/기본] 도메인과 DNS - 네임서버란? - 개념편 - 하나몬

❗️결론 도메인은 IP 주소를 대신하여 사용하는 주소이다. DNS라는 시스템을 이용해서 IP와 도메인을 매칭한다. DNS란 웹사이트의 IP 주소와 도메인 주소를 이어주는 환경/시스템이다. DNS 시스템

hanamon.kr

https://hahahoho5915.tistory.com/32

 

쿠키(Cookie), 세션(Session) 특징 및 차이

개요  > 쿠키(Cookie), 세션(Session) 각각 특성 및 차이 확실히 분류하기 메모 1. 공통점 : 웹 통신간 유지하려는 정보(ex:로그인 정보 등)를 저장하기 위해 사용하는 것(?) 2. 차이점 : 저장위치, 저

hahahoho5915.tistory.com