Network/네트워크 핵심이론 - 기초

VPN과 네트워크 보안 솔루션

Tony Lim 2023. 6. 26. 14:09

PN과 VPN

보안 서비스 기술 = 내부 사설망을 외부로부터 스스로 보호하고, 사용자 인증을 통한 접근통제가 가능해야한다.

데이터 인증 및 암호화 기술 = 사설망 간의 traffic을 무결성과 기밀성을 유지 하기 위해서, 모든 traffic에 인증 메커니즘을 적용하거나, 정보 유출의 방지를 위해서 암호화 할 수 있어야 한다.

터널링 기술 = 기존의 공개 네트워크에서 가상의 사설 망을 구성하기 위해서, 기존 네트워크에서 정보 이동이 가능하도록 정보를 캡슐화 하고 , 다시 풀어 내어 논리적으로 두 네트워크를 연결하는 기술(망연계) 이다.

이미 전세계로 연결되어있는 ISP를 통해서 암호화, 인증 기술을 통해 private하게 쓸 수 있다.


IPSec VPN과 터널링 개념

IPSec 은 네트워크 계층에 보안 서비스를 제공하며 패킷 단위에 적용된다. IPSec은 현재 사용중인 IPv4, IPv6 를 모두 지원한다.

IPSec은 GtoG(Gateway)  VPN 구현을 위해서 현재 가장 많이 사용되고 있는 방식으로 다음과 같은 서비스를 제공한다.
GtoE(Endpoint,PC) 도 지원을 한다.

  • Access control
  • Connectionless integrity
  • Data original authentication
  • Protection against replay
  • Confidentiality

IPSec 은 IP 수준 (L3) 보안을 제공한다. 따라서 응용 프로그램에 대한 의존성이 없고 IP기반 통신을 모두 보호할 수 있다는 장점이 있다.

IPSec VPN 은 대부분 GtoG(망대망) VPN에 주로 사용한다. 

IPSec을 지원하는 Router는 Secure Gateway라 부른다.

GtoG는 SG끼리 연결해준다. 이를 tunneling 이라함 , 비유적인 표현인데 암호화 했다는소리임 , 어차피 안보인다 (암호화 되면 봐도 모른다 같은 의미로 사용)

 

IPSec Protocol

ISAKMP = Internet Security Association Key Management Protocol 은 보안 협상 및 암호화 키들을 관리하는 메커니즘을 제공한다.

IP AH (Authentication Header) = AH는 데이터의 원본 인증 및 무결성 재연공격 방지 기능을 제공한다.

IP ESP (Encapsulation Security Payload) = ESP 는 데이터의 기밀성 , 원본 인증 및 기밀성 및 재연공격 방지 기능을 제공한다.

암호화 되어 있으니 중간에 누가 가로채도 알아 볼 수 가 없다. IP 는 패킷이 전달은 되어야 하기 때문에 새로 붙는다.

ip 3.3.3.10에서 패킷을 만들어서 3.3.3.1 gw 로 가게 되면 destination 5.5.5.100을 알아보고 암호화를 시킨뒤에 자신과 연결된 SG ip를 기준으로 새롭게 ip header를 만들어서 씌운다.

5.5.5.1 SG에 도착을 하면 바깥의 outer ip header를 때고 암호화된것을 복호화를 하여 server ip 5.5.5.100으로 무사히 전송시킨다.

서버 입장에서는 저 멀리서 오나  아니면 내 내부망의 Endpoint에서 접속을 한건지 구분할 수 가 없다.

 

VPN 재택 근무

부산지사에 철수 PC가 VPN Client를 통해 연결을 시도한다.

VPN Client는 별도의 부산지사 ip를 하나 부여 받는다.

사진속 암호화 된 패킷과 src = 9.9.9.9(kt에서 제공) dst = 3.3.3.1 이 outer ip header에 새로 부여되고 SG 3.3.3.1로 도착.

부산 SG에서 outer ip header를 제거하고 안의 패킷 내용을 복호화를 하고 dst = 5.5.5.100을 확인함

다시 outer ip header 를 서울 SG ip로 dst를 설정하고 재암호화 시킴

서울 SG 에 도착하면 outer ip header를 제거 후 복호화 해서 전달을 하게 된다.


VPN 악용

진짜 ip 는 9.9.9.9 인데 vpn client의 3.3.3.40 을 달고 outer ip header를  src 9.9.9.9 ,dst = 3.3.3.1으로 패킷을 SG에게 보내게된다. 

그러면 SG에서 outer ip header를 지우고 복호화한 후에 한국서버 7.7.7.7 에서는 src 가 vpn client ip
로 올테니 한국서버인줄알고 연결이 된다.

마케팅에서 스팸메일 보낼때도 vpn client를 이용해서 계속 바꿔서 보낼수 있게 된다