반응형

Load Balancer가 무엇인지 정의를 내리기 전, Client 요청에 응답하는 Server를 생각해본다.

 

Client가 한명일 경우, Server는 Client의 요청에 응답하는데 무리가 없을 것이다.

하지만 한명이 아닌 수백, 수천만명일 경우, Server는 모든 Client의 요청에 응답해줄 수 없게된다.

(정확히는 모든 Request에 대해 Response 하려고 하지만, 과부하로 인해 리소스가 소모되어 장애가 발생하게 된다.)

 

이런 문제를 해결하기 위한 방법으로 Load Balancing을 사용하는 것이다.

즉 Load Balancer란, Client의 요청을 다수의 자원(ex. Server)에 균등하게 작업을 나누어주는 역할을 하는 것이다.


부하 분산, 로드 밸런싱(Load Balancing)

위에서 언금한 것처럼 서버에 트래픽이 몰릴 경우, 서버는 모든 사용자들에게 응답을 해주다가 한계에 도달하여 장애 상황이 발생하게 될 수 있다.

이러한 상황을 방지할 뿐만아니라 응답 시간을 줄이고 서버의 효율을 높이기 위해 여러대의 자원(ex. Server)에게 균등하게 작업을 나누어(트래픽을 분산시켜) 진행하게 할 수 있는데, 이러한 기술을 Load Balancing 이라고 한다.

 

서버에 많은 트래픽이 몰리는 서비스를 제공할 경우, 로드 밸런싱은 필수적이다.

 

서버의 성능을 향상시키는 방법에는 Scale-Up과 Scale-Out이 있는데, Load Balancing은 Scale-Out 방식을 사용한다.

Scale-Up: 하드웨어 성능을 올리는 방법
Scale-Out: 여러개의 자원(ex.Server)이 나눠서 일을 하는 방법

Load Balancer의 이중화

아무리 비싸고 좋은 장비라도 안정적인 네트워크 환경 구성을 위해서는 장애 상황에 대비하기위해 이중화 구성이 필요하다. (즉, 장애 상황을 최소화하기 위해 대기상태인 Standby Load Balancer를 둔다.)

 

아래 그림처럼 Active Load Balancer와 Standby Load Balancer가 HeartBeat를 주고받으며 상태를 확인한다.

만약, Active Load Balancer의 장애 발생 시, Failover가 발생하여 Standby Load Balancer가 Active상태로 변경된다.

(Standby Load Balancer가 Active Load Balancer가 되어 트래픽을 처리하게 된다.)

반응형

'기초지식 > 네트워크(업무)' 카테고리의 다른 글

네트워크 - LLCF, Failover  (0) 2020.10.01
네트워크 - VPN  (0) 2020.10.01
네트워크 - IPSec, SSL, TLS  (0) 2020.09.27
네트워크 - Tunneling  (0) 2020.09.27
네트워크 - NAT  (0) 2020.09.27
반응형

LLCF(Link Loss Carry Forward)

상, 하단에 위치한 link 상태를 감지하여 회선의 양 끝단의 link를 up/down 시키는 네트워크 기술을 말한다.

쉽게 말해서, LLCF가 설정된 장비를 기준으로하여 위, 아래 link 중 어느 하나가 끊어지면(down state) 나머지 하나의 link도 끊어서 위, 아래 위치된 장비의 경로 설정을 변경(Failover)할 수 있도록 해주는 네트워크 기술이다.

 

아래 그림과 같이 LLCF 설정이 되어있지 않은 상태로 방화벽 상단 switch와의 link가 down될 경우, 하단 switch는 상단의 상황을 알지 못하기 때문에 끊긴 link로 통신을 시도하게 되고 통신 장애가 발생하게 된다.

 

만약 아래 그림과 같이 LLCF 설정이 완료된 상태로 방화벽 상단 switch와의 link가 down될 경우, 하단 switch와의 link도 down 시킨다.

그러면, 하단 switch에서는 link가 down된 것을 알 수 있기 때문에 라우팅 경로를 변경하여 통신을 지속할 수 있게된다.

 

 

 

Failover

네이버 지식백과에서는 '1선 시스템이 장애나 운용 시간 종료로 가동이 중단되면 2선 시스템이 기능을 넘겨받아 운용되는 백업 모드'라고 정의하고 있다.

즉, 장비에 이상이 생겼을 때 이중화 구성이 되어있는 예비 장비로 자동 전환되는 기술이라고 생각하면 된다.

이중화 구성이 되어있는 장비의 경우, 평상시에는 active 장비로만 통신을 하지만 장애 발생 시(active 장비 다운), 대기하고 있던 standby 장비가 active로 전환되어 서비스가 중지되지 않도록 할 수 있다.

 

위에서 설명한 LLCF와 함께 동작 과정에 대해 말하면, 

active 장비에서 장애 발생 시, LLCF 기능을 이용하여 라우팅 경로를 변경 하고 standby 장비쪽으로 트래픽이 흐르게 한다. 그러면 standby 장비가 active로 동작하여 서비스가 중단되지 않고 정상적으로 통신이 진행된다. 

반응형

'기초지식 > 네트워크(업무)' 카테고리의 다른 글

네트워크 - Load Balancer  (0) 2021.07.08
네트워크 - VPN  (0) 2020.10.01
네트워크 - IPSec, SSL, TLS  (0) 2020.09.27
네트워크 - Tunneling  (0) 2020.09.27
네트워크 - NAT  (0) 2020.09.27
반응형

VPN(Virtual Private Network)

Tunneling 기법을 사용해, 두 네트워크 사이의 연결을 전용회선을 이용해 연결한 것과 같은 효과를 내는 기술이다.

쉽게 말해서, 이름 그대로 '가상으로 사설망을 만들어 사용한다'고 생각하면 된다.

VPN 기술을 이용해 외부에서 접근할 수 없는 사설망(사내 네트워크 등)에 내 PC 등을 연결시킬 수 있다.

Tunneling 기법에 대한 글은 이전 포스팅 참고 : 
2020/09/27 - [기초지식/네트워크] - Tunneling
 

Tunneling

Tunneling 실제로 여러 홉을 거친 후 도착할 수 있는 목적지를 마치 다음 홉에 있는 것처럼 보이게 하는 기술이다. 출발지와 목적지에서만 사용하고 중간에서는 사용하지 않는 프로토콜을 전송하��

teacheryoon.tistory.com


1. VPN을 사용하는 이유

A와 B가 보안이 필요한 통신을 할 때, 공중망에 떠다니며 통신하는 패킷은 안전하지 않기 때문에, A<>B 통신 시, VPN을 맺어 가상 사설망을 맺은 뒤 통신을 하도록 하는것이 좋기 때문이다.

재택 근무 등 원격 접속을 이용해 사내 네트워크를 사용할 경우, 사용되는 기술이 VPN 기술이다.


2. 공중망과 사설망

통신망은 접근성에 따라 공중망과 사설망 두가지로 분류할 수 있다.

[공중망]

어느 누구나 자유롭게 접근할 수 있는 통신망으로, 통신업체들이 구축한 통신망.
불특정 다수가 통신망을 공유하기 때문에 악의적인 사용자에 의한 데이터 유출이나 공격 등과 같은 보안 위험 요소들이 존재한다.

[사설망]

사설 IP 주소 공간을 이용하는 네트워크를 말한다.

쉽게 말해 공중망의 반대의 개념이며, 공유기 하단에 있는 네트워크 대역을 말한다.


3.암호화 방식

암호화 방식에는 크게 두가지가 있는데, IPSec과 SSL이다.

IPSec과 SSL의 기본 개념에 대해서는 이전 포스팅 참고.
2020/09/27 - [기초지식/네트워크] - IPSec, SSL, TLS
 

IPSec, SSL, TLS

IPSec(Internet Protocol Security) - IPSec은 하나의 Protocol이 아니라, 통신 세션의 각 IP패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜(IP) 통신을 위한 인터넷 프로토콜 스위트다. - Network Layer 상..

teacheryoon.tistory.com

크게 이 두가지 암호화 방식을 이용해 VPN 통신을 진행하게 되며 간단하게 요약해서 말하면 아래와 같다.

- IPSec VPN은 3계층(Network Layer)에서 정보를 주고받는 방법으로, 장비가 2대 필요하다.

- SSL VPN은 7계층(Application Layer)에서 정보를 주고받는 방법으로, 장비가 1대 필요하다. 

 

1) IPSec VPN

위에서 설명한 것과 같이 VPN 연결은 가상 Tunnel을 통해 이루어지며, 이 가상 터널을 IPSec으로 암호화하여 보호하는 기술을 말한다.

IPSec VPN은 통신을 원하는 A와 B 사이에 각각 VPN 장비를 설치하게 된다. (그래서 장비가 2대 필요하게 된다.)

운영 방식에 따라 전송모드와 터널 모드가 있으며, 해당 내용도 위에 첨부한 이전 포스팅 참고

2) SSL VPN

IPSec VPN과 동일하게 VPN 연결은 가상 Tunnel을 통해 이루어지며, 인증이 완료되면 A에게 가상 IP가 할당되어 VPN을 사용할 수 있게 된다. (인증 과정에서 방화벽 등을 사용하여 진행한다.)

IPSec VPN과의 차이점으로, 웹 브라우저와 B 사이의 주고받는 정보를 암호화 하고 VPN 장비는 1대 필요하다.

Cf) SSL VPN 통신 과정

1) 외부의 Client A는 인터넷을 통해 VPN 장비에 접속하여 가상의 사설 IP를 할당 받음

* Client A가 SSL VPN에 접속한 후에는 사설망에 있는 장비들은 Client A가 내부에 있다고 판단한다.

2) VPN 장비는 Client A가 요청한 내용을 가지고 Server B와 통신을 시도

3) Server B는 VPN 장비에게 Request에 대한 Reply를 보냄

4) VPN 장비는 Server B의 응답을 Client A에게 전달

 


# 참고

terms.naver.com/entry.nhn?docId=1180265&cid=40942&categoryId=32850

 

반응형

'기초지식 > 네트워크(업무)' 카테고리의 다른 글

네트워크 - Load Balancer  (0) 2021.07.08
네트워크 - LLCF, Failover  (0) 2020.10.01
네트워크 - IPSec, SSL, TLS  (0) 2020.09.27
네트워크 - Tunneling  (0) 2020.09.27
네트워크 - NAT  (0) 2020.09.27
반응형

IPSec(Internet Protocol Security)

- IPSec은 하나의 Protocol이 아니라, 통신 세션의 각 IP패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜(IP) 통신을 위한 인터넷 프로토콜 스위트다.

- Network Layer 상에서 IP Packet 단위로 인증, 암호화를 진행하는 기술을 말한다.

- IPsec은 host와 host 사이,보안 게이트웨이 사이(네트워크 <> 네트워크), 보안 게이트웨이와 호스트 사이(네트워크 <> 호스트)에 데이터 흐름을 보호하기 위해 사용된다

 

IPSec Mode

- 전송 모드와 터널 모드가 존재하며, 인증과 암호화를 위한 Header 종류로 AH와 ESP가 있다.

[전송 모드(Transport Mode)]

IP Header와 Payload 사이에 IPSec Header를 추가하여 상위 계층의 Protocol을 보호하지만, Original IP Header는 보호하지 못한다.

1) AH Header (Authentication Header)

Original IP Header (보호 X) IPSec Header (AH Header) Original IP Payload (보호)

2) ESP Header (Encapsulation Security Payload Header)

- 전송 자료를 암호화하여 전송하고, 수신자가 받은 자료를 복호화하여 수신한다.

- AH와 달리 암호화를 제공한다. (대칭키, DES, 3-DES 등)

Original IP Header (보호 X) IPSec Header (ESP Header) Original IP Payload (보호) ESP Trailer ESP Auth

 

[터널 모드(Tunnel Mode)]

Original Packet 전체를 보호한다. Original Packet 전체를 IPSec으로 캡슐화하기때문에 Original IP Header를 식별할 수 없어 새로운 IP Header를 추가한다.

1) AH Header (Authentication Header)

New IP Header IPSec Header (AH Header) Original IP Header (보호) Original IP Payload (보호)

2) ESP Header (Encapsulation Security Payload Header)

New IP Header IPSec Header (ESP Header) Original IP Header (보호) Original IP Payload (보호) ESP Trailer
ESP Auth

 

IPSec Header 구조

종류 설명
AH - 데이터 무결성과 IP 패킷의 인증을 제공 (MAC 기반)
- Replay Attack으로부터 보호
- 인증 시 MD5, SHA-1 인증 알고리즘 사용
- 수신자는 같은 키를 이용하여 인증 값 검증
ESP - 전송 자료를 암호화하여 전송하고, 수신자가 받은 자료를 복호화하여 수신
- AH와 달리 암호화를 제공(대칭키, DES, 3DES 알고리즘)
- TCP/UDP 등의 Transport Layer까지 암호화할 경우, Transport Mode
- 전체 IP 패킷에 대해 암호화할 경우, Tunnel Mode

 


SSL(Secure Socket Layer), TLS

- 보안 소켓 계층을 이르는 말로, 인터넷에서 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜이다.

- SSL V3.0을 공식적으로 표준화하여 이름을 붙인 것이 TLS 이다.

- 기존 통신이 TCP/IP Protocol을 이용하는 것이라면, SSL 통신은 SSL/TLS Protocol을 사용하여 실제 데이터를 암호화 하여 통신하는 것을 말한다.

- 대표적으로 HTTPS는 SSL 통신중 일부이며, 그 외 SSH, SFTP등 여러 종류의 SSL 통신이 존재한다.

 

SSL Handshaking

TCP 연결 후 웹 브라우저는 443 포트를 호출하여 3-way handshaking을 수행하며, 그 과정은 아래와 같다.

 

1) Client -> Server

- 'Client Hello' 메시지를 전송하는데, 웹 브라우저에서 지원하는 SSL 버전, 암호화 알고리즘 등의 정보가 포함됨

- 'Random'을 전송하는데, 이는 Replay Attack을 방지하기 위한 임의적인 숫자임

2) Server -> Client

- 서버가 지원할 수 있는 알고리즘과 함께 'Server Hello' 메시지를 전송

- 웹 서버도 'Random'을 전송

3) Client -> 공인 또는 사설 CA

- 전달받은 서버 인증서를 CA를 통해 신뢰할 수 있는 서버인지 확인

* 공인 CA 인증서: 인증서의 공개키로 복호화

* 사설 CA 인증서: 브라우저에 저장된 CA 리스트에 없기 때문에 https 경고 표시

4) Client -> Server

- 암호 통신에 사용할 Session Key 생성 후 서버의 공개키로 암호화해 Pre-master Key를 만들어 서버에 전송 (Change Cipher Spec)

- 서버에게 협의 종료를 전달 (Finished)

5) Server -> Client

- Client의 응답에 동의하고 협의된 알고리즘의 적용을 알림 (Change Cipher Spec)

- 클라이언트에게 협의 종료를 전달 (Finished)

SSL Handshaking 과정

 

SSL Offloading, ADC(Application Delivery Controller)

- 웹 사이트에 사용자가 몰리는 경우, 서버가 SSL 암/복호화까지 진행하면 과부하로 인해 마비될 수 있다.

- 이러한 SSL 처리 부하를 처리해주는 장비를 ADC라고 하며, Load Balancing 장치라고도 한다.

[웹방화벽과의 관계]

- 실무 시 웹 방화벽에서 탐지 기능이 제대로 동작하지 않는 경우를 종종 볼 수 있는데, 원인은 여러가지 이유가 있을 수 있지만 ADC에서의 설정값도 확인을 해야한다.

 

Cipher Suite

- TLS Handshake를 통해 클라이언트 <> 서버간 어떤 Protocol을 사용할지, 어떻게 암호화할지 등을 협의한다.

- 위의 협의된 알고리즘의 집합을 Cipher Suite라고 부르며, 보안 취약점 공개 등에 따라 권고사항을 확인 후 Customizing 하게 암호화 통신을 진행하도록 설정한다.

 

 


# 참고

위키백과, ko.wikipedia.org/wiki/IPsec
네이버 지식백과, terms.naver.com/entry.nhn?docId=1180906&cid=40942&categoryId=32851

개인 블로그(IPSec Mode), m.blog.naver.com/PostView.nhn?blogId=sdug12051205&logNo=221537706305&proxyReferer=https:%2F%2Fwww.google.com%2F

개인블로그(Cipher Suite), https://rsec.kr/?p=455

이기적 정보보안기사 필기 1권 이론서

반응형

'기초지식 > 네트워크(업무)' 카테고리의 다른 글

네트워크 - Load Balancer  (0) 2021.07.08
네트워크 - LLCF, Failover  (0) 2020.10.01
네트워크 - VPN  (0) 2020.10.01
네트워크 - Tunneling  (0) 2020.09.27
네트워크 - NAT  (0) 2020.09.27
반응형

Tunneling

실제로 여러 홉을 거친 후 도착할 수 있는 목적지를 마치 다음 홉에 있는 것처럼 보이게 하는 기술이다.

출발지와 목적지에서만 사용하고 중간에서는 사용하지 않는 프로토콜을 전송하여 양측간 통신이 가능하게 한다.

출처: https://blog.naver.com/su9650/40099100460

 

캡슐화(Encapsulation)

- 터널링 기술의 핵심으로 볼 수 있다.

- 호스트와 호스트 사이의 통신이 어떤 프로토콜을 사용하든, 터널이 구성되면 Original Packet 감싸지기(캡슐화되기) 때문에 내용물이 무엇인가는 중요하지 않게 된다.

- 터널링 ≠ 캡슐화, 캡슐화 후 전송된 목적지에 디캡슐화 하는 전체의 과정을 터널링이라고 부르는 것이다.

 

 

터널링 예시

- 네트워크 A, B가 존재하며 각각 내부에서만 사용되는 C Protocol을 사용한다. (두 Protocol은 동일하며, 인터넷 망에서는 사용 불가능하다고 가정)

- 네트워크 A, B가 C Protocol을 이용해 통신하기위해 아래와 같이 Tunneling을 구성한다.

- 중간에 인터넷이라는 IP Network가 존재하지만, IP Network의 존재를 인식하지 못하고 서로 C Protocol로 통신하게 된다.

- C Protocol로 구성된 Packet을 GRE로 캡슐화시켜 목적지까지 이동시킨 뒤 디캡슐화를 통해 C Protocol을 꺼내 확인한다.

반응형

'기초지식 > 네트워크(업무)' 카테고리의 다른 글

네트워크 - Load Balancer  (0) 2021.07.08
네트워크 - LLCF, Failover  (0) 2020.10.01
네트워크 - VPN  (0) 2020.10.01
네트워크 - IPSec, SSL, TLS  (0) 2020.09.27
네트워크 - NAT  (0) 2020.09.27
반응형

사설 IP와 공인 IP

실제 NAT가 사용되는 대다수의 경우는 사설 IP <> 공인 IP 변환이기 때문에 사설 IP와 공인 IP에 대한 개념이 필요하며, 사설 IP의 대역은 필수적으로 암기하는것이 업무(그 외 다수)가 수월하게 진행된다.

# 사설 IP

특정 기관 등에서 내부 네트워크용으로 임의로 만든 IP를 말하며, 외부와 통신하기 위해서는 공인 IP로의 변환이 필요하다.

# 사설 IP 대역

A class : 10.0.0.0 - 10.255.255.255

B class : 172.16.0.0 - 172.31.255.255

C class : 192.168.0.0 - 192.168.255.255

# 공인 IP

쉽게 말해 인터넷에 접속할 수 있는 권한을 가진 IP를 말한다. (사설 IP와 반대되는 개념이다.)

 

NAT(Network Address Translation)

Packet의 Source/Destination IP, Port 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받을 수 있도록 해주는 기술을 말한다.

보통 사설 네트워크에 속한 여러개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위해 사용한다.

예를들어 192.168.0.1 -> 111.111.111.111 통신의 사설 IP를 변환시키면 55.55.55.1 -> 111.111.1111.111 이 된다.

 

종류

# Static NAT

네트워크 주소를 1:1 매칭하여 변환하는 NAT를 의미한다.

# Dynamic NAT

네트워크 주소를 N:M, N:1, 1:M 즉, IP대역과 대역을 매칭하여 변환하는 NAT를 의미한다.

# SNAT

Source NAT, 출발지 IP를 변환하는 NAT 의미한다.

# DNAT

Destination NAT, 목적지 IP를 변환하는NAT를 의미한다.

# PAT

하나의 IP 주소를 가지고 여러개의 내부호스트를 사용할 수 있게한다.

 

PAT(Port Address Translation)

이론적으로 공인 IP 주소 한 개로 최대 65,535개의 내부 호스트의 통신을 처리할 수 있다.

사설 IP 공인 IP 모두 NAT되어 공인 IP 부족하게 되면 설정한 port NAT 시켜 통신이 가능하게 한다.

출처: https://terms.naver.com/entry.nhn?docId=3586583&cid=59277&categoryId=59278

 

보안 장비에서의 NAT

보안 장비마다 flow가 다르기 때문에 사용하는 장비의 packet flow sequence를 확인하는게 가장 중요하다. 

security rule 적용 시 rule check가 먼저인지 nat translation이 먼저인지 확인해야한다.

(rule check가 먼저일 경우 변환 전 IP로 정책 적용, translation이 먼저일 경우 변환 후 IP로 정책 적용)

 

 


# 참고

네이버 지식백과, terms.naver.com/entry.nhn?docId=3586583&cid=59277&categoryId=59278

 

 

반응형

'기초지식 > 네트워크(업무)' 카테고리의 다른 글

네트워크 - Load Balancer  (0) 2021.07.08
네트워크 - LLCF, Failover  (0) 2020.10.01
네트워크 - VPN  (0) 2020.10.01
네트워크 - IPSec, SSL, TLS  (0) 2020.09.27
네트워크 - Tunneling  (0) 2020.09.27

+ Recent posts