제2의 비엔지니어 인생관을 꿈꾸며

Posted
Filed under Study

1) If RRAS based VPN server is behind a firewall (i.e. a firewall is placed between Internet and RRAS server), then following ports need to be opened (bidirectional) on this firewall to allow VPN traffic to pass through: -
•For PPTP:  ◦IP Protocol=TCP, TCP Port number=1723   <- Used by PPTP control path
◦IP Protocol=GRE (value 47)   <- Used by PPTP data path

•For L2TP: ◦IP Protocol Type=UDP, UDP Port Number=500    <- Used by IKEv1 (IPSec control path)
◦IP Protocol Type=UDP, UDP Port Number=4500   <- Used by IKEv1 (IPSec control path)
◦IP Protocol Type=ESP (value 50)   <- Used by IPSec data path

•For SSTP:
◦IP Protocol=TCP, TCP Port number=443   <- Used by SSTP control and data path
•For IKEv2: ◦IP Protocol Type=UDP, UDP Port Number=500    <- Used by IKEv2 (IPSec control path)
◦IP Protocol Type=UDP, UDP Port Number=4500   <- Used by IKEv2 (IPSec control path)
◦IP Protocol Type=ESP (value 50)   <- Used by IPSec data path


2) If RRAS server is directly connected to Internet, then you need to protect RRAS server from the Internet side (i.e. only allow access to the services on the public interface that isaccessible from the Internet side). This can be done using RRAS static filters or running Windows Firewall on the public interface (or the interface towards the Internet side). In this scenario following ports need to be opened (bidirectional) on RRAS box to allow VPN traffic to pass through
•For PPTP:  ◦IP Protocol=TCP, TCP Port number=1723  <- Used by PPTP control path
◦IP Protocol=GRE (value 47)  <- Used by PPTP data path

•For L2TP:
◦IP Protocol Type=UDP, UDP Port Number=500   <- Used by IKEv1 (IPSec control path)
◦IP Protocol Type=UDP, UDP Port Number=4500 <- Used by IKEv1 (IPSec control path)
◦IP Protocol Type=UDP, UDP Port Number=1701  <- Used by L2TP control/data path
◦IP Protocol Type=50  <- Used by data path (ESP)


•For SSTP:
◦IP Protocol=TCP, TCP Port number=443   <- Used by SSTP control and data path
•For IKEv2:
◦IP Protocol Type=UDP, UDP Port Number=500   <- Used by IKEv2 (IPSec control path)
◦IP Protocol Type=UDP, UDP Port Number=4500 <- Used by IKEv2 (IPSec control path)
◦IP Protocol Type=UDP, UDP Port Number=1701  <- Used by L2TP control/data path
◦IP Protocol Type=50 <- Used by data path (ESP)

방화벽 뒷단에 VPN서버를 배치하는것과 다이렉트로 DMZ 영역에 VPN서버를 배치하여 포트를 개방하는 방법입니다. 앞서 1탄에 설명을 했지만 SSTP와 IKEv2를 제외하고는 중국에서는 전부 블랙당하고 OPENVPN도 SSL을 사용한다고 해도 감지하여 블랙당하는걸 직접 테스트 하였습니다.
아이폰은 현재로서는 유일하게 IKEv2 방식을 사용할수밖에 없고 나머지 플랫폼은 전부 SSTP 클라이언트로 접속하여 VPN을 사용할수가 있습니다.
SSTP 클라이언트가 내장된 라우터 및 공유기가 현존하는 제품중 미크로틱 제품이 유일하다라고 국내에서는 트루네트워크가 총판을 담당하고 있습니다.
미크로틱 라우터도 SSTP 서버를 지원하지만 중국에서는 이마져도 감지가 되어 차단된다는걸 명심해야됩니다.
중국에서 VPN 을 차단되지 않고 원활하게 사용할수 있는 VPN을 아직까지 서비스 하지 못하여 IP만 맨날 바꾸는 업체들이 여기저기 보이고 있는게 아쉬울뿐입니다.
Windows Server의 VPN을 비웃기라도 한듯 리눅스및 어플라이언스에 의존한 결과가 아닌가 싶습니다.

2018/08/29 10:14 2018/08/29 10:14
Posted
Filed under Study
IT PRO로 밥벌이 하다 어찌어찌하여 DBA로 변신하여 중국에 프로젝트에 몇개월 일하게 되었습니다. 필자는 VPN을 자주 사용합니다. 자주 사용하는 이유는 SMB 파일 송수신을 편하게 하기 위한 방법이 우선이기도 하고 Hyper-V 의 회사망에 있는 여러대 서버를 터미널로 접속하기 귀찮아서 그냥 VPN으로 붙여서 로컬 노트북으로 관리할때?가 많아서입니다.
그리고 보통 회사망에서는 방화벽이 있어서 까탈스럽게 보안을 중요시 하는데는 왠간한 아웃바운드 포트는 다 차단해버리는게 문제이기도 합니다. 뭐 그냥 일만 하라는 소리죠. 그리고 웹사이트 로그 기록도 남기 때문에 필자는 그런 기록을 남기고 싶어하지 않아 별도로 SSL VPN을 사용합니다. 보통 회사에서는 뻘짓? 하지말라는 보안각서도 쓰기에 그냥 필수일수밖에 없습니다.
그래서 필자는 한국에 개인 인프라가 좀 있는 관계로 여러대의 가상화서버와 고정 및 유동아이피에 기가빗 라인이 있었기에 최근에 분석했던 내용을 포스팅하겠습니다.
중국.
인터넷 검열 빡셉니다. 구글, 페이스북, 티스토리,라인 및 카카오톡은 일부, 한국사람이 사용하던 모든것들이 그냥 다 못쓴다고 생각하면 됩니다. 답답하죠. 많이 답답합니다.
그래서 전 처음부터 PPTP/L2TP 를 스맛폰에서 붙여서 쓰기 시작했습니다. 직원들도 많기도 해서 계정을 많이 만들고 배포했죠. 딱 1주일 만에 블랙 되었습니다. 그때 감잡았습니다. 검열한다는것을요...
분석했습니다. 왠간한 VPN은 분명 다 스니핑 될것이다. PPTP/L2TP는 못쓴다는걸 알고 있어서 SSL 방식을 사용하기로 했습니다. 윈도우서버의 SSTP VPN은 443 포트 기본적인 SSL VPN의 정석입니다. 윈도우에 기본 내장되어 있어서 별도의 어플리케이션도 필요 없습니다.
사용자 삽입 이미지

윈도우 비스타/2008서버 시절에 처음에 SSTP VPN이란걸 내놓았습니다. 이게 정말 필요하던 이유가 아무 VPN이나 쓰면 좋은데 GRE47 라우팅 프로토콜이 안열리거나 지원 안되는곳에서는 정말 난감한 경우가 많기 때문입니다. 회사내부에 PPT를 열어야 할경우이거나 데모를 실행해야될 경우 그리고 클라우드에 접속해야될경우 PPTP/L2TP는 안되는곳이 좀 되는게 현실입니다. 그때되서 VPN 안되서 계획이 와르르 무너진다고 생각해보면 아찔하겠죠. 그런걸 MS가 잘 동감했는지 이런 SSTP란것을 선보였습니다. 그당시 이거 구축 못해서 MS 백모 부장님이 기술지원카드 던져주었던 기억이 아직도 새록새록 납니다. 인증서가 있어야되고 클라이언트에도 깔아야되고 기타등등 지금은 구글에 설명 잘나왔지만 그당시에는 그냥 MS만 바라볼수 밖에 없는 현실이였습니다.
사용자 삽입 이미지
기존 RRAS 에서 IIS에서 443 채널을 수신 인증해주고 나머지 라우팅을 처리해주는 기능입니다. 중국에서 차단되지 않는 VPN중 하나입니다. 물론 어플라이언스 기업형 SSL VPN도 차단되지는 않습니다. 그러나 그 VPN은 스마트폰을 지원하지 못한다는 단점이 존재합니다. 별도로 개발을 해야되는거죠. 하지만 SSTP는 앱이 유료/무료가 안드로이드만 배포를 하고 있습니다.
사용자 삽입 이미지
앱은 중국의 방화벽이 차단하는지 안하는지 테스트를 위하여 유료 결재하여 앱을 다운받았습니다. 차단 안하는걸 확인하고는 VPN을 무지 원하는 직원이 무료 apk를 찾아서 다운로드 하였더군요. 난 연구를 위해 결재했는데 왜 왜 왜~!!!
사용자 삽입 이미지

평균 14메가 이상 속도가 나와서 한국에서 사용하는것처럼 똑같다고 할수 있습니다. 한번 맛본 사람은 절대 이맛을 못잊어서 통신이라도 장애가 나면 해결해달라고 불만입니다. 그냥 쓰면서...
PC 및 안드로이드는 SSTP가 중국에서 사용할수 있는 유일한 VPN 입니다. 물론 IKEv2 프로토콜이 존재합니다만 너무 보안적이다보니 시원시원하게 터지지도 않고 UDP 프로토콜과 ESP 프로토콜을 사용하지 않은 필자에게는 그리 와닿지 않는 방식입니다.
왜 OPENVPN이 차단되는지 포트를 아무리 바꿔도 차단될수 밖에 없는지는 그리고 왜 SSTP는 차단되지 않는지는 내가 만약 중국의 인터넷을 통제하고 차단하고 싶은데 어떻게 해야될까?라고 접근하면 이해가 빠를수 있습니다. 필자는 취약한 보안을 뚫는것보단 차단하는것을 우선시하는 방법을 많이 찾고 있기 때문입니다.
중국의 VPN 차단은 원더풀 할정도로 자동화입니다. 인간들이 너무 많으니 사람이 통제하기보단 모든건 컴퓨터와 전산으로 처리할겁니다. CCTV로 용의자 및 범죄 검거율이 높은 이유도 다 이런데서 나오고 있습니다. 한국이 IT강국을 외쳤지만 중국은 이미 응용IT에 들어섰습니다. 모든 레퍼런스는 중국에서 나올지 모르겠습니다만 VPN 그것이 알고싶다 중국편 1탄은 여기서 마무리 하겠습니다.
2018/08/13 21:15 2018/08/13 21:15
Posted
Filed under Study

Registry entries for Secure Socket Tunneling Protocol

Note Secure Socket Tunneling Protocol (SSTP) is a new VPN tunneling protocol that is introduced in Windows Server 2008.

ListenerPort

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\Sstpsvc\Parameters

Registry entry: ListenerPort
Data type: REG_DWORD
Default value: 0

You can use the ListenerPort registry entry to change the server-side TCP port on which the SSTP server listens. You can set this value to any valid 16-bit port number. If the value is set to 0, the SSTP server listens on the default port number, depending on the value of the UseHTTPS registry entry. For example, if the UseHTTPS registry entry is set to 1, the default listener port number is 443. If the UseHTTPS registry entry is set to 0, the default listener port number is 80. The ListenerPort registry entry is typically useful in configurations where the VPN server is behind a Network Address Translation (NAT) router or behind a reverse proxy. Notice that SSTP clients always connect to the TCP 443 port. This behavior cannot be configured from the clients.

UseHTTPS

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\Sstpsvc\Parameters

Registry entry: UseHTTPS
Data type: REG_DWORD
Default value: 1

You can use the UseHTTPS registry entry to specify whether the SSTP server should listen on the HTTPS port or on the HTTP port. The SSTP server listens on the HTTP port if the value is set to 0. If the value is set to 1, the SSTP server listens on the HTTPS port. This registry entry is typically helpful in load-balancing scenarios. For example, a reverse Web proxy or an SSL load balancer may be configured to receive an HTTPS connection and open an HTTP connection to a remote access server.

NoCertRevocationCheck

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\Sstpsvc\Parameters

Registry entry: NoCertRevocationCheck
Data type: REG_DWORD

You can use this registry entry to enable or to disable the SSL certificate revocation check that the VPN client performs during the SSL negotiation phase. Certificate revocation check will be performed if the value is set to 0. If the value is set to 1, certificate revocation check will be skipped. Notice that you should set this value to 1 only for debugging. Do not set this value to 1 in your production environment. By default, certificate revocation check is performed.

Sha256Enabled

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\Sstpsvc\Parameters

Registry entry: Sha256Enabled
Data type: REG_DWORD

You can use the Sha256Enabled registry entry to enable SHA256 support for SSTP crypto binding. If this value is set to 1, SHA256 is enabled. In this case, the Sha256CertificateHash registry entry should contain an appropriate certificate hash. By default, Windows Vista clients support only SHA256. You may want to enable SHA1 on the server side if SSTP is supported on clients that do not support SHA256. If both SHA1 and SHA256 are enabled, SSTP will use the stronger crypto algorithm. By default, this registry setting is enabled.

Sha256CertificateHash

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\Sstpsvc\Parameters

Registry entry: Sha256CertificateHash
Data type: REG_BINARY

The Sha256CertificateHash registry entry contains a certificate hash that is computed by SHA256. If the UseHTTPS registry entry is set to 1, Routing and Remote Access automatically populates the certificate hash the first time that Routing and Remote Access starts. To do this, Routing and Remote Access finds a computer certificate from the certificate store, and then Routing and Remote Access writes the hash to the Sha256CertificateHash registry entry.

Sha1Enabled

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\Sstpsvc\Parameters

Registry entry: Sha1Enabled
Data type: REG_DWORD

You can use the Sha1Enabled registry entry to enable SHA1 support for SSTP crypto binding. If this value is set to 1, SHA1 is enabled. In this case, the Sha1CertificateHash registry entry will contain an appropriate certificate hash. By default, Windows Vista clients support only SHA256. You may have to enable SHA1 on the server side if SSTP is supported on clients that do not support SHA256. If both SHA1 and SHA256 are enabled, SSTP will use the stronger crypto algorithm. By default, this registry setting is disabled.

Sha1CertificateHash

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\Sstpsvc\Parameters

Registry entry: Sha1CertificateHash
Data type: REG_BINARY

The Sha1CertificateHash registry entry contains a certificate hash that SHA1 computes. If the UseHTTPS registry entry is set to 1, Routing and Remote Access automatically populates the certificate hash the first time that Routing and Remote Access starts. To do this, Routing and Remote Access finds a computer certificate from the certificate store, and then Routing and Remote Access writes the hash to the Sha1CertificateHash registry entry. However, if the UseHTTPS registry entry is set to 0, you must manually deploy the certificate hashes to make sure that the VPN server and the SSL load balancer trust one another.

ServerUri

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\Sstpsvc\Parameters

Registry entry: ServerUri
Data type: REG_SZ

The ServerUri registry entry is set to a value that contains the following value:
sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}/
You must not change this registry entry because it is read-only. This registry entry is typically useful in load-balancing scenarios. The load balancer receives an HTTPS connection that is specific to this URI, and then the load balancer redirects the connection to a remote access server. For example, if the server name is server.contoso.com, the exact HTTPS URI is as follows:
https://server.contoso.com/sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}/

Registry entries for IPv6 support

Note IPv6 refers to Internet Protocol version 6.

EnableIn

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\RemoteAccess\Parameters\IPv6

Registry entry: EnableIn
Data type: REG_DWORD
Default value: 1

IPv6-based remote access and demand-dial routing are enabled if the EnableIn registry value is set to 1. If this value is set to 0, IPv6-based remote access and demand-dial routing are disabled.

AllowNetworkAccess

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\RemoteAccess\Parameters\IPv6

Registry entry: AllowNetworkAccess
Data type: REG_DWORD

IPv6 forwarding is enabled if the AllowNetworkAccess registry entry value is set to 1. If this value is set to 0, IPv6 forwarding is disabled.

From

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\RemoteAccess\Parameters\
IPv6\StaticPrefixPool\0

Registry entry: From
Data type: REG_DWORD

The From registry entry specifies the starting prefix of the static IPv6 prefix pool.

To

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\RemoteAccess\Parameters\
IPv6\StaticPrefixPool\0

Registry entry: To
Data type: REG_DWORD

The To registry entry specifies the ending prefix of the static IPv6 prefix pool.

Registry entries for VPN tunnel encryption levels

AllowPPTPWeakCrypto

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\Rasman\Parameters

Registry entry: AllowPPTPWeakCrypto
Data type: REG_DWORD
Default value: 0

You can use the AllowPPTPWeakCrypto registry entry to enable the 40-bit encryption level and the 56-bit encryption level for PPTP tunnels. By default, these weak encryption levels are disabled.

AllowL2TPWeakCrypto

Registry subkey:
HKEY_LOCAL_MACHINE\
System\CurrentControlSet\
Services\Rasman\Parameters

Registry entry: AllowL2TPWeakCrypto
Data type: REG_DWORD
Default value: 0

You can use the AllowL2TPWeakCrypto registry entry to enable the Message Digest 5 (MD5) encryption level and the Data Encryption Standard (DES) encryption level for Layer Two Tunneling Protocol with IPsec (L2TP/IPsec) tunnels. By default, these weak encryption levels are disabled.

꼬알라 사이트

SSTP 접속하는데 분명 하던데로 한건데 인증서에서 무얼 잘못한건지 오프라인 해지 오류 로그만 내뱉으면서 사람 괴롭게 하더랍니다. 도데체 뭘 잘못한건지라고 생각만...

사용자 삽입 이미지
레지스트리 수정해서 안되면 꼬알라 사이트에서 보여준것처럼 손도장 업데이트를 진행하시면 됩니다.
2015/04/27 15:06 2015/04/27 15:06
Posted
Filed under Life Story

날짜와 장소 시간이 잡혔습니다.

장소는 홍대 클럽팜입니다.

장소 : http://www.clubpalm.co.kr/intro/intro_03.php

시간 : 14:30 (약 2시간에서 4시간 사이)

회비 : 그날봐서

연락처 : 010-9898-     김윤술

         010-            공명국  <--- 장소문의는 사장님에게 ^^;


저도 한달 업무를 부랴부랴 마무리를 해야되기도 하고 강의도 준비해야 되기도 해서 많이 정신이 없습니다만

이번강의는 여러분에게 많은 도움이 될것이라고 생각합니다. 장소가 재즈바이다보니 테이블 말고는 책상이 없습니다. 그점 양해 바라구요 또 사진촬영은 상관없지만 캠촬영은 제가 극구 반대할것입니다. 부담스럽기도 하고 특정업체의 나쁜소리 할수 있기도 하는걸 저장되는건 원하지 않습니다. 그리고 공인된 강의가 아니기에 여러분이 이해를 하셔야 할것 같습니다.


그럼 그때 여러분을 뵈는걸로 하고 전 이만 줄이고 이 자리를 제공해주시는 공명국 회원님의 뜻이 있기에 이런자리까지 오게 되었습니다.

그날 뵙도록 하겠습니다. 그날은 VPN 데이

2011/04/23 23:35 2011/04/23 23:35