반응형

SSL / TLS의 정의

1. SSL(Secure Sockets Layer)

- SSL이란 보안 소켓 계층(Secure Sockets Layer, SSL)으로 웹사이트와 브라우저(혹은, 두 서버) 사이에 전송된 데이터를 암호화하여 인터넷 연결을 보안을 유지하는 표준 기술이다. 

- HTTPS SSL을 같은 의미로 해석하는 경우가 많은데 이것은 맞기도 하고 틀리기도 하다. 이것은 웹이 인터넷 위에서 돌아가는 서비스 중의 하나인 것처럼 HTTPS도 SSL 프로토콜 위에서 돌아가는 프로토콜이다.

- SSL의 동작방법 : SSL핸드셰이크 -> 전송 단계 -> 세션 종료

 

2. TLS(Transport Layer Security)

- 인터넷에서의 정보를 암호화해서 송수신하는 프로토콜로 넷스케이프 커뮤니케이션스사가 개발한 SSL(Secure Sockets Layer)에 기반한 기술로, 국제 인터넷 표준화 기구에서 표준으로 인정받은 프로토콜이다. 표준에 명시된 정식 명칭은 TLS지만 아직도 SSL이라는 용어가 많이 사용되고 있다.

- TLS 프로토콜은 암호화, 인증, 무결성이라는 세 가지 주요 요소가 있다.

- 암호화 : 제 3자로부터 전송되는 데이터를 숨김

- 인증 : 정보를 교환하느나 당사자가 요청된 당사자임을 보장

- 무결성 : 데이터가 위/변조 되지 않았는지 확인

 

3. SSL과 TLS의 차이

- TLS는 넷스케이프사가 개발한 SSL프로토콜에서 발전한 것이다. TLS버전 1.0은 SSL버전 3.1로 개발을 시작했지만 넷스케이프와 더 이상 연관이 없음을 명시하기 위해 프로토콜의 이름이 변경되었다. 결론적으로 보면 버전의 차이일 뿐 그 외에 차이는 없다고 봐야 할 것 같다.

반응형

'Server > ----- WEB -----' 카테고리의 다른 글

[WEB] DNS와 작동원리  (0) 2021.11.01
[WEB] 인터넷이란  (0) 2021.10.26
[WEB] HTTP와 HTTPS  (0) 2021.10.26
반응형

NginX

1. NginX란?

- NginX는 여러 요청 들을 한 번에 처리할 수 있고 동시접속 처리에 특화되어 있는 웹서버이다.

- NginX는 웹서버라는 기능 말고도 리버스 프록시 및 메일 프록시 기능을 가지고 있다.

- NginX는 주시적으로 이벤트가 발생했는지 확인하고 이벤트가 감지됐을 때 이를 처리하는 Event-Driven방식으로 동작한다.

 

2. NginX 장점

- 다수의 연결을 효과적으로 처리가 가능하다.

- Event-Driven방식 사용으로 비동기적으로 요청을 처리할 수 있고 요청을 처리하는데 드는 비용이 적다.

- 적은 리소스로 빠르게 동작이 가능하다.

- 역방향 프록시 기능이 뛰어나다. 역방향 프록시 기능은 웹서버마다 있지만 기능, 속도면에서 NginX가 더 뛰어나다.

 

3. NginX 단점

- 모듈 개발이 어렵고 다양하지 않다.

- .htaccess를 지원하지 않아 추가 추성을 할 수 없다. 하지만 이방식은 가상화, 클라우드, MSA와 같은 아키텍처에서는 오히려 경량화와 성능 보장이라는 측면에서 단점이 되지 않을 수도 있다.

반응형
반응형

Apache

1. Apache란?

- 전 세계에서 가장 많이 사용하는 Apache HTTP Server는 오픈 소스 소프트웨어 그룹인 아파치 소프트웨어 재단에서 만든 웹 서버 프로그램입니다.

- 정적인 데이터를 처리하는 웹서버로 클라이언트가 GET, POST, DELETE 등의 메서드를 이용해 요청을 하면 그에 대한 결과를 돌려주는 기능을 합니다.

 

2. Apache의 장점

- 다양한 OS에서 사용되며 여러 프로그래밍 언어에서도 지원된다.

- 클라이언트의 요청을 처리하기 위해 멀티스레드 방식을 따른다.

- 웹 서버 자체에서 동적 콘텐츠를 처리한다.

- 모듈이 다양하다.

 

3. Apache의 단점

- 클라이언트 요청 하나당 스레드 하나가 처리되는 구조로 요청이 많아지게 되면 스레드 생성, 메모리 및 CPU 낭비가 심해지면서 성능이 저하될 수 있다.

- Apache는 오픈소스로 각 사용자가 서버를 수정할 수 있는데 이를 제대로 수정하지 않을시 보안에 심각한 위협이 될 수 있다.

반응형
반응형

DNS와 작동원리

1. DNS

- DNS란 도메인 네임 시스템(Domain Name System)으로 사람이 읽을 수 있는 도메인 이름을 머신이 읽을 수 있는 IP주소로 바꾸거나 또는 그 반대로 바꿔주기 위한 시스템을 DNS라고 한다.

- DNS를 설명할 때 전화번호부로 많이 비유되는데 이 DNS의 역할이 전화번호부와 유사하기 때문에 이에 비유되어 설명된다.

- 전화번호부는 내가 찾으려는 사람의 이름을 찾아 그 사람의 번호를 알아낼 수 있듯이 DNS도 사람이 읽을 수 있는 문자의 도메인으로 머신의 IP주소를 검색하여 연결해주는 역할을 한다.

- 예를 들어 'https://www.daum.net/'이라는 URL을 웹 브라우저에서 입력하면 인터넷상에서 'https://www.daum.net/'에 해당하는 실제 IP 주소를 DNS 서비스가 전달하고, 시스템은 전달된 IP 주소로 원하는 서비스에 접속할 수 있게 된다.

 

2. DNS의 작동원리

- 이름과 숫자를 연결하는 DNS 디렉터리는 인터넷의 어느 한 곳에 위치하는 것이 아니다. 인터넷 자체와 마찬가지로 이 디렉터리는 전 세계적으로 분산되어 정기적으로 상호 통신해 업데이트와 중복성을 제공하는 도메인 이름 서버에 저장된다.

- 각 명명된 사이트는 하나 이상의 IP 주소에 대응할 수 있고 하나의 도메인 이름에 대응하는 IP 주소가 수백 개 이상인 사이트도 있다.

- 이 디렉터리가 분산될 수밖에 없는 이유는 디렉터리가 하나의 위치에 있고 동시에 정보를 검색하는 수백만, 수십억 명의 사용자가 이를 공유할 경우 응답 시간이 매우 길어질 수 있기 때문이다.

- 작동원리

1. 사용자가 웹 브라우저를 열어 주소 표시줄에 www.example.com을 입력하고 Enter 키를 누릅니다.

2. www.example.com에 대한 요청은 일반적으로 케이블 인터넷 공급업체, DSL 광대역 공급업체 또는 기업 네트워크 같은 인터넷 서비스 제공업체(ISP)가 관리하는 DNS 해석기로 라우팅됩니다.

3. ISP의 DNS 해석기는 www.example.com에 대한 요청을 DNS 루트 이름 서버에 전달합니다.

4. ISP의 DNS 해석기는 www.example.com에 대한 요청을 이번에는 .com 도메인의 TLD 이름 서버 중 하나에 다시 전달합니다. .com 도메인의 이름 서버는 example.com 도메인과 연관된 4개의 Amazon Route 53 이름 서버의 이름을 사용하여 요청에 응답합니다.

5. ISP의 DNS 해석기는 Amazon Route 53 이름 서버 하나를 선택해 www.example.com에 대한 요청을 해당 이름 서버에 전달합니다.

6. Amazon Route 53 이름 서버는 example.com 호스팅 영역에서 www.example.com 레코드를 찾아 웹 서버의 IP 주소 192.0.2.44 등 연관된 값을 받고 이 IP 주소를 DNS 해석기로 반환합니다.

7.  ISP의 DNS 해석기가 마침내 사용자에게 필요한 IP 주소를 확보하게 됩니다. 해석기는 이 값을 웹 브라우저로 반환합니다. 또한, DNS 해석기는 다음에 누군가가 example.com을 탐색할 때 좀 더 빠르게 응답할 수 있도록 사용자가 지정하는 일정 기간 example.com의 IP 주소를 캐싱(저장)합니다. 자세한 내용은 Time to Live(TTL)를 참조하세요.

8. 웹 브라우저는 DNS 해석기로부터 얻은 IP 주소로 www.example.com에 대한 요청을 전송합니다. 여기가 콘텐츠가 있는 곳으로, 예를 들어 웹 사이트 엔드포인트로 구성된 Amazon S3 버킷 또는 Amazon EC2 인스턴스에서 실행되는 웹 서버입니다.

9. 192.0.2.44에 있는 웹 서버 또는 그 밖의 리소스는 www.example.com의 웹 페이지를 웹 브라우저로 반환하고, 웹 브라우저는 이 페이지를 표시합니다.

출처 - https://aws.amazon.com/ko/route53/what-is-dns/

 

DNS란 무엇입니까? – DNS 소개 - AWS

Internet Explorer에 대한 AWS 지원이 07/31/2022에 종료됩니다. 지원되는 브라우저는 Chrome, Firefox, Edge 및 Safari입니다. 자세히 알아보기

aws.amazon.com

반응형

'Server > ----- WEB -----' 카테고리의 다른 글

[WEB] SSL / TLS의 정의  (0) 2021.11.15
[WEB] 인터넷이란  (0) 2021.10.26
[WEB] HTTP와 HTTPS  (0) 2021.10.26
반응형

 

인터넷이란

1. 인터넷

- 인터넷은 웹의 핵심적인 기술로 컴퓨터들 간 TCP/IP 통신 프로토콜을 이용해서 서로 통신 가능한 거대한

네트워크이다.

- 이해하기 쉽게 이야기하면 우리가 웹브라우저상에서 https://www.google.com/ 주소를 치면 구글 홈페이지가 화면에 출력된다. 이는 우리가 가지고 있는 컴퓨터가 구글이 가지고 있는 컴퓨터에 명령을 내려 구글 홈페이지를 볼 수 있는 것인데 이것이 인터넷이 동작하는 가장 기본적인 원리이다.

 

2. TCP/IP

- TCP/IP는 컴퓨터와 컴퓨터 간의 지역 네트워크(LAN) 광역 네트워크(WAN)에서 원활한 통신을 가능하도록 하기 위한 통신규약이다.

- TCP와 IP는 이름에서도 알 수 있듯이 2개의 프로토콜로 이루어져 있다. 그 이유는 IP 기반에 TCP가 사용돼서 이렇게 불리어지게 된 것이다. 쉽게 말해 IP 프로토콜 위에 TCP 프로토콜이 놓이게 된 것이라고 보면 된다.

- IP : 네트워크 상에서 컴퓨터는 각각 총 4바이트로 이루어져 있는 고유한 주소를 가지고 있는데 이것을 IP라고 한다.

내 컴퓨터의 IP주소를 확인하는 방법은 윈도우라면 cmd에서 ipconfig, 유닉스 계열이면 ifconfig로 치면 주소가 나온다.

- TCP : 클라이언트와 서버 간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜이다. TCP는 근거리 통신망(LAN), 원거리 통신망(WAN), 인트라넷, 인터넷 등 컴퓨터에서 실행되는 프로그램 간에 일련의 데이터를 안정적으로 순서대로 에러 없이 데이터를 교환할 수 있게 한다.

반응형

'Server > ----- WEB -----' 카테고리의 다른 글

[WEB] SSL / TLS의 정의  (0) 2021.11.15
[WEB] DNS와 작동원리  (0) 2021.11.01
[WEB] HTTP와 HTTPS  (0) 2021.10.26
반응형

 

HTTP와 HTTPS

1. http란

- Hyper Text Transfer Protocol의 약자로 서버와 클라이언트 사이에 데이터를 주고받기 위한 프로토콜이다.

- 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 포트를 사용하고 있다. 따라서 HTTP 서버가 80번 호트에서 요청을 기다리고 있으며, 클라이언트는 80번 포트로 요청을 보내게 된다.

 

2. https란

- Hyper Text Transfer Protocol Over Secure Socket Layer의 약자로 인터넷상에서 정보를 암호화하는 SSL프로토콜을 이용하여 웹브라우저와 서버가 데이터를 주고받는 통신규약이다.

- 간단히 이야기하면 http의 보안이 강화된 버전이라고 할 수 있다.

 

3. http와 https의 차이점

- http는 웹을 지탱하는 심플한 기술이지만 치명적인 단점이 있다. 이는 서버와 클라이언트 사이에 데이터 전송 시 텍스트 그대로 전송된다는 점이다.

- 이를 보완하기 위한 것이 https인데 https는 중간에 데이터 통신을 도청하더라도 텍스트 그대로가 아니라 암호화된 텍스트 이기 때문에 복호화하기 전까지는 내용을 알 수 없다.

반응형

'Server > ----- WEB -----' 카테고리의 다른 글

[WEB] SSL / TLS의 정의  (0) 2021.11.15
[WEB] DNS와 작동원리  (0) 2021.11.01
[WEB] 인터넷이란  (0) 2021.10.26

+ Recent posts