오늘은 Hipervisor과 VPS가 뭔지 알아보겠습니다.
VPS는 Virtual Private Server의 약자로, 가상사설망을 의미합니다.
물리적 서버 1대를 하이퍼바이저 라는 기술로 쪼개서, 사용자에게 독립 된 가상 서버를 제공하는 서비스입니다.
하이퍼바이저란 흔하게 VMware나 VirtualBox에서도 사용하는 기술입니다.
하나의 호스트(하드웨어)에서 다수의 운영체제를 동시에 실행하기 위한 플랫폼입니다.
저희가 사용하는 VM의 경우는 호스트 OS ( 메인 운영체제인 윈도우 위)에서 돌아가는 형태입니다.
이런 형태를 보통 Type 2라고 합니다.

대충 이런 형태이고, 호스트 OS가 하드웨어를 먼저 제어하고 VM을 관리하기에 설치가 쉽지만, 아무래도 성능 오버헤드가 있고,

HOST OS를 돌려야 하기에 하드웨어 성능을 전부 활용이 불가능하기에 성능에 오버헤드가 발생합니다.
Type 1 하이퍼바이저의 형태를 살펴보겠습니다.
해당 방식은 하드웨어에서 직접 하이퍼바이저가 실행되고, 게스트 운영체제는 바로 그 위에서 실행되는 형태입니다.

기본적인 형태는 다음과 같습니다. 당연히 HostOS가 사라졌기 때문에 비교적 속도는 빨라졌습니다.
물론 위는 아주 단순화 한 형태고, 현대 AWS와 같은 서비스들은 조금 다른 형태를 띕니다.

이전에는 Xen이라는 오픈소스 기반의 구형 인스턴스 타입을 사용했는데, Xen은 Dom0이라는 Advanced VM이 중간에 끼어서 I/O를 처리하는 형태였습니다. 이러한 형태는 VM escape시 다른 운영체제까지 침범할 수 있는 공격 경로가 생깁니다.
하지만 현대의 Nitro는 하이퍼바이저는 초경량으로 유지하고, 네트워크와 같은 입출력 I/O를 하드웨어와 하이퍼바이저 사이에서 처리를 함으로써, VM escape에 대한 공격 표면 자체를 지워버렸습니다.
또 이런 형태는 기존의 Dom0이라는 Advanced VM이 끼어서 잡아먹던 오버헤드를 줄이기 때문에 성능과 비용측면에서도 좋은 효과를 거두었습니다.
이제 VPS에 대해 살펴보겠습니다.
VPS는 처음 설명한대로 하이퍼바이저로 쪼개서 단독 서버처럼 사용할 수 있는것을 의미합니다.
AWS 호스팅 자체가 PC를 대여하는 것과 같은 형식인 것은 글을 읽는 모두가 아실텐데, 저희가 빌리는 컴퓨터는 Hipervisor위에서 돌아가는 하나의 운영체제입니다.

이렇게 이해를 하시면 됩니다.
이제 그럼 VPS를 어디에 쓰는지가 중요한데, 사실 이런 사설망은 그냥 PC 1대를 대여하는 것이기 때문에 원하는 어떤 것으로 써도 상관이 없습니다.

이렇게 서버를 할당받으면 어제의 VPN과 비슷하게 가상 랜카드를 하나 부여받습니다. 실제 클라우드 내부망에서 통신할 때는
1.2.3.4 IP 주소를 쓰더라도, 공인 IP는 5.6.7.8을 받게 되는 것입니다.
실제 호스팅서버에 5.6.7.8 IP를 목적지로 한 패킷이 도착하면, 해당 패킷을 Nitro Card에서 가로챈 뒤 주소를 확인해 서버 3으로 보내줍니다.
보통 이런 클라우드 업체의 호스팅은 대기업의 경우 서버 하나만 빌리는 것이 아닌 저 빨간색 네모칸의 물리 서버자체를 빌리기 때문에 패킷이 몰리지 않도록 분배하는 역할도 합니다.
https://youtu.be/AtTAraheXbs?si=Pygvpjgqf26DLFVP
그렇게 되면 저번에 이 영상에서 나온 VPS의 부하 분산 역할을 할 수 있게 되는 것입니다.
처음에 헷갈렸던게 VPS와 리버스 프록시랑 완전 다른 개념인 줄 알았는데

이렇게 VPS 서버 위에 리버스 프록스 소프트웨어를 설치하여 리버스 프록시 서버의 역할을 수행하게 하는 것입니다.
개인 서버의 경우 이렇게 하는게 많이 비용도 들고 복잡할 수 있지만, 어느정도 규모의 기업은 보안이 중요하기에 이렇게 하고 있습니다.
하나의 VPS안에 프록시, 웹서버, DB를 모두 설치하고 돌려도 되긴 하지만, 해킹 위험이 있어서 좋은 방법은 아닙니다,.
조금 현실적인 방법은 VPS 한대를 빌린 뒤, 도커와 같은 컨테이너를 통해 각각 웹서버, 프록시, DB를 따로 돌리는 방식이 좋습니다.
어느정도 개념을 알아봤으니 실습을 한번 해보겠습니다.
AWS의 Free tier로 만들어보겠습니다,
일단 회원가입을 먼저 해줬습니다. 동아리 계정만 있고 제 계정이 없었네여

콘솔 홈에 들어오면 다음과 같은 창이 뜨는데 최근에 방문한 서비스에서 EC2 에 들어갑니다.
그 다음

이 인스턴스 시작을 눌러주면 됩니다.
이름은 원하는걸로, OS는 Ubuntu 24.04 인스턴스는 Free tier로 해줍니다

해당 요금들을 사용할 수 있습니다.
어차피 오늘은 간단한 테스트만 해볼 듯 하니 t3.small로 해보겠습니다.
나머지는 디폴트 설정으로 하고, 네트워크 규칙에서 HTTP 및 HTTPS는 허용해주겠습니다

이렇게 인스턴스가 켜졌습니다.

아래를 보면 아까 설명처럼 공인 IP외에 사설 IP가 따로 설정되어 있습니다

ens5를 보면 실제 주소인 172.31.16.188을 확인할 수 있습니다.
Nginx를 설치해주겠습니다,
sudo apt update
sudo apt install nginx -y
systemctl status nginx

서버는 잘 돌아가고 있습니다.
이제 공인 ip주소를 쳐보면

이렇게 nginx가 뜨게 됩니다.
사실 동아리 홈페이지도 제가 만든것은 아니었으니, 제가 처음으로 열어본 웹서버고, 컴퓨터인것 같네요..!
이걸 아마존에서 var/log/nginx로 들어가서 access.log을 읽어보면

이렇게 제 ip주소와 로그가 찍히게 됩니다.
굉장히 재밌네요.
다음 포스팅에서는 이 아마존 웹호스팅 서버를 통해 리버스 프록시를 한번 구성해보고, 이런저런 실습을 해보도록 하겠습니다.
읽어주셔서 감사합니다!
'취약점분석 (Blue Team) > Network' 카테고리의 다른 글
| [Network] 방화벽 & WAF 및 ufw 실습 ( Firewall ) (0) | 2026.03.17 |
|---|---|
| [Network] 3/16일 IDS 동작 분석 및 규칙 변경 (0) | 2026.03.16 |
| [Network] IDS,IPS 침입 탐지/방지 시스템 (CrowdSec 설치) (0) | 2026.03.15 |
| [Network] 가상사설망 VPN ( Virtual Private Network ) (0) | 2026.03.12 |
| [Netwrok] 프록시 (Proxy) (0) | 2026.03.12 |