2022. 5. 4. 01:55ㆍ22-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)까지 저장 가능하다.
-쿠키의 동작 순서
- 클라이언트가 페이지를 요청한다. (사용자가 웹사이트 접근)
- 웹 서버는 쿠키를 생성한다.
- 생성한 쿠키에 정보를 담아 HTTP 화면을 돌려줄 때, 같이 클라이언트에게 돌려준다.
- 넘겨 받은 쿠키는 클라이언트가 가지고 있다가 다시 서버에 요청할 때 요청과 함께 쿠키를 전송한다.
- 동일 사이트 재방문 시 클라이언트의 PC에 해당 쿠키가 있는 경우, 요청 페이지와 함께 쿠키를 전송한다.
-세션(Session)
- 일정 시간 동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고하고 그 상태를 일정하게 유지시키는 기술이다. (일정 시간은 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료하여 연결을 끝내는 시점을 의미함)
- 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보고 그것을 세션이라고 한다.
- 웹 서버에 웹 컨테이너의 상태를 유지하기 위한 정보를 저장한다.
- 브라우저를 닫거나, 서버에서 세션을 삭제했을때만 삭제가 되므로, 쿠키보다 비교적 보안이 좋다.
- 저장 데이터에 제한이 없다
- 각 클라이언트 고유 session ID를 부여한다. Session ID로 클라이언트를 구분하여 각 클라이언트 요구에 맞는 서비스를 제공한다.
-세션의 동작 순서
- 클라이언트가 페이지를 요청한다. (사용자가 웹 사이트에 접근)
- 서버는 접근한 클라이언트의 Request-Header 필드인 Cookie를 확인하여, 클라이언트가 해당 Session-ID를 보냈는지 확인한다.
- Session-ID가 존재하지 않는다면, 서버는 Session-ID를 생성해 클라이언트에게 돌려준다.
- 서버에서 클라이언트로 돌려준 Session-ID를 쿠키를 사용해 서버에 저장한다.
- 클라이언트는 재접속 시, 이 쿠키를 이용하여 Session-ID 값을 서버에 전달한다.
쿠키(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://hahahoho5915.tistory.com/32
'22-1학기 > 네트워크 보안(NETWORK SECURITY)' 카테고리의 다른 글
4주차 정리 (0) | 2022.05.09 |
---|---|
실습_[Hack The Packet 2012] L1, L4, L5 (0) | 2022.05.06 |
2주차 이론 (0) | 2022.04.29 |
2주차: [CTF-D/Network] lol team이라는 의심스러운 팀이 있습니다 (0) | 2022.04.29 |
2주차: [CTF-D/Network] 당신은 캡처 파일에서 플래그를 찾을 수 있는가? (0) | 2022.04.29 |