전체 글 108

5-12 VPN 서버의 역할

인터넷을 이용해서 가상 전용선을 만들어 거점 LAN간 접속을 하거나, 모바일 유저의 접속을 가능하게 하는 기술을 VPN(Virtual Private Network)라고 한다. VPN에는 거점 LAN을 접속하는 거점간 VPN과 모바일 유저가 접속하는 리모트 액세스 VPN이 있다. 거점간 VPN은 복수의 거점 LAN을 접속하기 위해 사용하는 VPN이다. 물리적으로 떨어져 있는 장소에 거점을 가진 기업이나 조직에서 일반적으로 사용한다. 거점간 VPN에서 사용하는 프로토콜은 IPsec이다. IPsec은 거점간 인증을 통해서 통신을 암호화하여 인터넷 상에서의 보안을 강화한다. 거점간 VPN에 접속하는 경우는 라우터나 방화벽 등 네트워크 기기가 가지고 있는 VPN 기능을 VPN 서버로 사용한다. 또한 최근에는 많은..

5-11 데이터베이스 서버의 역할

웹 어플리케이션 서버로부터 리퀘스트를 받아 데이터를 검색하거나 갱신(등록, 수정, 삭제)하는 서버를 데이터베이스 서버라고 한다. 또한 데이터베이스의 기능을 제공하는 소프트웨어를 데이터베이스 매니지먼트 시스템(DBMS)라고 한다. # 현재 주류는 관계형 데이터베이스 관계형 데이터베이스는 열과 행으로 구성된 2차원 표로 데이터를 관리하는 타입의 데이터베이스이다. 2차원 표라고 하면 조금 어려운 느낌으로 들릴 수 있지만, 쉽게 말해서 Excel의 시트와 같은 느낌이다. 이 표에 데이터를 입력하며 정리, 관리한다. 이러한 관계형 데이터베이스의 기능을 제공하는 소프트웨어를 RDBMS라고 한다. 대표적인 RDBMS에는 오라클 사의 Oracle DB, 오픈소스 MySQL, 마이크로소프트사의 SQL Server가 있다..

5-10 웹 어플리케이션 서버의 역할

웹 시스템은 보통 웹 서버, 웹 어플리케이션 서버, 데이터베이스 서버의 3단 구조로 되어있다. 그 중 웹 브라우저로부터 리퀘스트를 처리하는 웹 서버와 데이터를 저장하는 데이터베이스 서버 사이에서 다리 역할을 하는 기능을 제공하는 서버가 바로 웹 어플리케이션 서버(이하 AP 서버)이다. AP 서버는 프로그램의 실행 환경을 제공하거나, DB 접속기능을 제공하는 등 웹 시스템에 중요한 역할을 담당한다. # 두 종류의 웹 어플리케이션 서버 웹 어플리케이션을 개발, 실행하는데 있어서 가장 많이 사용되는 프레임워크에는 Java EE와 .NET Framework가 있다. AP서버는 사용하는 프레임워크에 따라 Java 어플리케이션 서버와 .NET 어플리케이션 서버로 나뉜다. Java 어플리케이션 서비스를 제공하는 서버..

5-09 FTP 서버의 역할

FTP서버는 FTP(File Transfer Protocol)를 이용하여 파일을 효율성 있게 전송하기 위한 서버이다. FTP는 인터넷 초창기부터 오랜기간 동안 사용되어 오고 있는 프로토콜 중에 하나이다. FTP서비스를 제공하는 서버 소프트웨어에는 Linux 플랫폼에서 동작하는 vsftpd, ProFTPD가 있으며, Windows 플랫폼에서 동작하는 IIS FTP 서버가 있다. 또한 대표적인 FTP 클라이언트 소프트웨어는 웹 브라우저이다. 웹 브라우저는 HTTP/HTTPS 클라이언트이면서 동시에 FTP 클라이언트이기도 하다. 주소창에 "ftp://"로 시작하는 주소를 입력하면 FTP 서버와 통신이 가능하다. 이외에도 FFFTP, NextFTP 등 FTP에 더 특화된 전용 소프트웨어도 있다. # FTP는 암..

5-08 SSL 서버 기술

# SSL 서버에는 증명서가 필요 SSL은 디지털 증명서로 통신상대를 신뢰해도 되는지 판단한다. 따라서 SSL서버에는 반드시 디지털 증명서를 설치해야 한다. 증명서 설치 순서는 아래와 같다. 1. 관리자는 서버 소프트웨어로 비밀키와 공개키를 작성하여, 공개키를 CSR(Certificate Signing Request, 증명서서명요구)로 인증국(CA국)이라고 불리우는 제삼자기관에 제출한다. 비밀키는 관리자가 보관한다. 2. 인증국은 CSR에 디지털 서명, 즉 증명서로 써도 된다는 인증을 받아 디지털 증명서를 발행하여 관리자에게 반환한다. 3. 관리자는 인증국으로부터 받은 디지털 증명서를 서버에 설치한다. # SSL에서의 암호화 순서 디지털 인증서를 설치하면 SSL 서버로서 동작이 가능하게 되며, 클라이언트..

5-07 두가지 암호화 기술

이전 절에서 소개한 SSL에는 암호화를 위한 암호화키와 암호를 풀기 위한 복호키가 필요하다. 네트워크 상에서 암호화방식은 클라이언트와 서버의 암호화키, 복호키를 갖는 방식에 따라서, "공통키 암호화 방식"과 "공개키 암호화 방식"으로 나누어진다. 공통키 암호화 방식은 암호화키와 복호키가 같은 키를 사용하는 암호화 방식이다. 다시 말해서 클라이언트와 서버가 같은 키를 공유해서 클라이언트가 암호화키로 암호화를 하고, 서버가 암호화키와 같은 복호키로 복호화 한다. 공통키 암호화 방식은 구조가 상대적으로 단순하기 때문에 처리 부담이 크지 않지만, 클라이언트와 서버가 키를 공유해야 하기 때문에 키 배송방법에 있어서 고려해야 한다. 공개키 암호화 방식은 암호화키와 복호키를 다른 키로 사용하는 암호화 방식이다. 서버..

20200903 Cambly Recap

# herd immunity 미국 뉴욕주에서는 최근 많은 법들이 개정되고 있고, 그 중 대표적인 것으로 herd immunity policy가 채택되었다고 한다. 다른 도시, 국가로부터 돌아온 사람은 이전보다 2배 더 길어진 28일 정도의 격리기간을 가져야 한다고. https://www.webmd.com/lung/coronavirus-immunity-reinfection Herd immunity happens when a large part of the population -- the herd -- is immune to a virus. This can happen either because these people got vaccinated or had already been infected. Herd ..

5-06 SSL 서버의 역할

인터넷은 이미 우리 생활의 일부가 되어있다. 이때 발생할 수 있는 보안상의 취약성에 대해 우린 때로 안일하게 생각하는 경향이 있기도 하다. 이러한 보안상의 위협으로부터 우리의 소중한 데이터를 지키기 위한 프로토콜이 SSL(Secure Socket Layers)이다. SSL은 데이터를 암호화하거나 통신상대를 인증하는 등의 방법으로 데이터를 보호한다. "https://"로 시작하는 URL에서 보이듯이 HTTPS는 "HTTP over SSL"을 생략한 것으로, HTTP를 SSL로 암호화한 프로토콜이다. # 대표적인 SSL 서버 소프트웨어 SSL 서비스를 제공하는 서버 소프트웨어에는 오픈소스인 OpenSSL과 Windows Server의 표준으로 포함되어 있는 IIS가 있다. OpenSSL은 웹 서버인 Apac..

오랜만

거의 2달만에 포스팅 벌써 시간이 이렇게 흘렀나 싶다. 재택근무도 4월부터 했으니 벌써 6개월째로 접어든다. 7월에는 야근이 폭발하였고, 그로 인한 스트레스와 더위에 대한 짜증으로 8월을 보낸 것 같다. 그리고 맞이한 9월. 다사다난한 2020년의 하반기도 흘러가고 있다. 이루고자 했던 것. 하고 싶었던 것. 코로나로 인해 많은 것들이 바뀌었지만, 그로 인해 달라지고 얻은 것들도 있기 마련. 남은 4개월도 열심히 해보자 오늘보다 더 열심히 무엇보다 더 나은 결과를 위해서

5-05 웹 서버에서 일어나는 처리

웹 서버는 웹 브라우저로부터 요청받은 것에 대한 처리를 실행한다. 이러한 처리는 요청의 URL에 따라 지정된 파일이 정적인 웹 컨텐츠를 작성하거나, 동적인 웹 컨텐츠를 작성하는 방식으로 나누어진다. # 정적인 웹 컨텐츠 처리 이는 누군가가 갱신하지 않는 한 같은 표시내용을 반환하는 웹 컨텐츠를 말한다. 웹 서버는 정적인 웹 컨텐츠에 대해 요청을 받으면 보존되어 있는 파일을 꺼내어 클라이언트에게 반환한다. 이는 서버가 가지고 있는 파일을 반환하는 일만 하기 때문에 고속으로 처리된다. 하지만 웹 컨텐츠에 있는 정보가 바뀔 때마다 대상 파일을 갱신해야 하기 때문에 그만큼 관리 비용이 발생한다. # 동적인 웹 컨텐츠 처리 이는 클라이언트로부터 받은 정보에 따라 표시내용이 달라지는 웹 컨텐츠를 말한다. 웹 서버는..