Koncentrator SSTP VPN w chmurze z wykorzystaniem Mikrotik CHR [z archiwum ICT]

0
7

[miejsce publikacji] ICT Professional, Nr 19 – Lato 2018

[rubryka] TRENING Z MIKROTIK

[autor] Piotr Wasyk

[tytuł] Koncentrator SSTP VPN w chmurze z wykorzystaniem Mikrotik CHR

Czym jest Mikrotik CHR?

CHR (Cloud Hosted Router) to wersja RouterOS przygotowana do wykorzystania w środowiskach wirtualnych. Do wyboru mamy dwa poziomy licencjonowania: P1 i P10 – różnica to ograniczenie w przepustowości per interfejs – do 1 Gbit i 10 Gbit.

Czym jest SSTP?

SSTP (Secure Socket Tunneling Protocol) to następca popularnego do niedawna PPTP. Tak jak i swój poprzednik został opracowany przez Microsoft. Jest odpowiedzią na potrzebę lepszego zabezpieczenia transmisji danych poprzez zastosowanie mocnej kryptografii.

Natywnie klient SSTP jest dostępny w systemach MS od wersji Vista SP1, stąd można powiedzieć, że jest już pozbawiony problemów wieku dziecięcego i z powodzeniem można określić go jako rozwiązanie stabilne i pewne.

Uwierzytelnienie dostępne jest poprzez EAP-TLS oraz MS-CHAP.

Domyślnie działa na porcie tcp/443 – niestety nie ma możliwości wykorzystania udp. Dzięki wykorzystaniu portu 443, prościej jest uzyskać połączenie z kawiarni, hoteli, czy publicznych punktów dostępu do internetu, omijając reguły firewall oraz problemy z natowaniem. Znacznie usprawnia to wykorzystanie SSTP przez pracowników zdalnych.

Środowisko bliskie open-source jako minus wskazuje brak otwartości kodu i niemożność audytu szczegółów implementacji. Mimo to, w ostatnich latach widać coraz większą liczbę aplikacji klientów na inne systemy niż MS, w tym także dla urządzeń mobilnych.

W poniższym artykule przedstawię, jak skonfigurować koncentrację VPN SSTP z wykorzystaniem Mikrotik CHR zainstalowanego jako wirtualna maszyna EC2 w usłudze AWS.

Zachęcam do samodzielnego przetestowania – możliwe jest wykorzystanie darmowej opcji (free-tier) maszyny AWS t2.micro.

Zadanie zostało podzielone na następujące etapy:

  1. Instalacja Mikrotik CHR w AWS.

  2. Modyfikacja AWS Security group, aby umożliwić dostęp do serwera SSTP i na czas konfiguracji do usługi Winbox.

  3. Przygotowanie certyfikatów potrzebnych do połączenia klienta MS Windows.

  4. Włączenie serwera SSTP i utworzenie użytkowników.

  5. Konfiguracja klienta.

Schemat poglądowy rozwiązania

 

  1. Instalacja Mikrotik CHR w AWS

 

Zakładam, że posiadasz już konto w AWS. Po zalogowaniu się do konsoli należy utworzyć nową instancję EC2, wybierając z AWS Marketplace Mikrotik.

 

Jako typ instancji dla potrzeb artykułu wybrałem t2.micro (jest darmowa w ramach free-tier).

Tekst alternatywny wygenerowany przez komputer:
Step 2: Choose an Instance Type 
Amazon EC2 provides a wide selection ot instance types optimized to tit different use cases_ Instances are virtual servers that can run applications_ They have varying combinations ot CPU, memory, storage, and neb,vorking capacity, and give you the tlexibility to choose the appropriate mix ot 
resources tor your applications_ Learn more about instance types and how they can meet your computing needs_ 
Filter by: All instance types 
Current generation 
Show/Hide Columns 
Currently selected: t2micro (Variable ECUs, 1 vCPUs, 25 GHz, Intel Xeon Family, 1 Gia memory, ESS only) 
Note: The vendor recommends using a t2.micro instance (or larger) tor the best experience with this product_ 
Family 
General_pyrpose 
Genęrąl_pyrppșe_ 
General pu 
Type 
t2nano 
t2_micro 
t2_small 
t2_medium 
vCPUs fi) 
2 
Memory (GiB) 
2 
4 
Instance Storage (GB) 
Eas onły 
ESS onły 
Eas onły 
ESS onłv 
EBS-Optimized Available 
Network Performance 
Low to Moderate 
Low to Moderate 
Low to Moderate 
Low to Moderate 
IPv6 Support 
Yes 
Yes 
Yes 
Yes

 

Do pierwszego zalogowania do RouterOS będą potrzebne klucze – zapisz je korzystając z „Download Key Pair”.

 

Tekst alternatywny wygenerowany przez komputer:
Select an existing key pair or create a new key pair 
x 
A key pair consists ot a public key that AWS stores, and a private key file that you store_ Together, 
they allow you to connect to your instance securely_ For Windows AMIs, the private key file is required 
to obtain the password used to log into your instance_ For Linux AMIs, the prłvate key file allows you to 
securely SSH into your instance_ 
Note: The selected key pair will be added to the set ot keys authorized tor this instance_ Learn more 
about removing existing key pairs from a public AMI 
Create a new key pair 
Key pair name 
myCHR-ICT 
Download Key Pair 
You have to download the private key file file) betore you can continue_ 
Store ił in a secure and accessible location. You will not be able to download the 
file again atter iťs created_ 
Cancel 
Launch Instances

Aby wykorzystać klucze w putty, konieczne jest ich przekonwertowanie. Do tego celu można wykorzystać np. narzędzie puTTy Key Generator. Klikamy w nim „Load” -> wskazujemy wcześniej zapisany plik, a następnie „Save Private Key” – Pamiętaj, aby chronić ten plik i nie udostępniać go publicznie.

Tekst alternatywny wygenerowany przez komputer:
PuTTY Key Generator 
File Key Conversicns Help 
Public key for pasting into OpenSSH authohzed_keys file 
AAAAB3NzaC1yc2EAAA.ADAQA8AA.A8AQDEyvRWITVB1q2s/7p8CLO/ROuwMe3U 
+VrE51KY8tHąi3p6LbUIvq/4sj9gBGnGXfnsY8kZJFMIBPSSMBPUcp243JB10dff7dEM 
PvJ4+bLR81dTdmknexp3x5HaHpOUbQ7g18ZdABwyqqRiYKqi9ZbGh1kUC6L3VOTRb 
Key comment 
Key passphrase 
Confimł passphrase 
imported-opensshkey 
Generałe a public/phvate key pair 
IJ)ad an exjsting phvate key file 
Save the generated key 
Parametem 
Type of keyto generat& 
@ RSA 
Number of bits in a generated key 
O ECDSA 
O ED25519

Teraz już pozostało tylko skonfigurowanie klienta putty, aby korzystał z przygotowanego klucza (Zakładka Connection – SSH- Auth).

Tekst alternatywny wygenerowany przez komputer:
PuTTY Configuraticn 
Całegory 
Window 
Appearance 
Behaviour 
Translation 
Selection 
Coloum 
S „ Connection 
Telnet 
RIogłn 
- SSH 
Host keys 
Cłpher 
Auth 
Bugs 
More bugs 
Options controlling SS H authentłcation 
[Z] Display pre-authentłcation banner (SS H-2 only) 
[2 Bypass authenťcation entirely (SS H -2 only) 
Authentication methods 
[Z] Attempt authentłcation using Pageant 
[2 Attempt TIS or CryptoCard auth (SSH-I) 
[Z] Attempt 'keyboard4nteractive” auth (SSH-2) 
Authentication parametem 
Alow agent forwarding 
[2 Alow attempted changes of usemamein SSH-2 
Phvate key file for authentication

Po połączeniu zalecam ustawienie hasła dla konta admin.

 

  1. Modyfikacja AWS Security Group, aby umożliwić dostęp do serwera SSTP i  na czas konfiguracji do usługi Winbox.

 

Dla ułatwienia, późniejsze kroki konfiguracyjne będą wykonywane za pomocą aplikacji Winbox – do połączenia wymagany jest otwarty port tcp/8291. Dla usługi SSTP Server wymagany jest tcp/443. Domyślnie te porty są zablokowane przez AWS – należy zmodyfikować Security Group.

Source 
SSH 
custom TCP Rue 
custom TCP Rue 
custom TCP Rue 
Protocol 
TCP 
TCP 
TCP 
TCP 
Port Range 
8291 
Description 
WI n box 
co SST? sewer 
co SST? sewer

 

  1. Przygotowanie certyfikatów potrzebnych do połączenia klienta MS Windows

Do poprawnego podłączenia się klienta SSTP (Microsoft Windows) do koncentratora będą potrzebne certyfikaty. Minimalny wymóg to, aby serwer SSTP wykorzystywał certyfikat, któremu ufa klient. Certyfikaty wygeneruję bezpośrednio na Mikrotik.

Najpierw należy wygenerować certyfikat CA (Certificate Authority) i podpisać go (bez wskazywania CA).

Kolejnym krokiem jest wygenerowanie certyfikatu dla usługi serwera SSTP. Robi się to analogicznie, jak w przypadku certyfikatu, w polu Common Name – tym razem należy wskazać IP/nazwę DNS. Podczas podpisywania wybieramy CA: <<certyfikatCA>>.

 

Następnie zaznaczamy certyfikat jako zaufany.

Eksport certyfikatu CA (będzie później potrzebny przy konfiguracji klienta SSTP).

 

  1. Włączenie serwera SSTP i utworzenie użytkowników

Włączenie usługi serwera SSTP w RouterOS jest proste i ogranicza się do zaznaczenia checkboxa „Enable” oraz wskazania certyfikatu dla usługi SSTP.

 

Adresy IP będziemy przydzielać z puli, należy ją utworzyć (IP->Pool).

Tekst alternatywny wygenerowany przez komputer:
New IP 
Name: SSTP-pooI 
Remo v e

 

I następnie utworzyć profil (PPP-> Profiles).

 

Kolejnym krokiem jest utworzenie użytkowników, którzy będą łączyć się do naszego koncentratora. Robimy to w zakładce PPP-> Secret.

  1. Konfiguracja klienta SSTP (Windows)

 

Pierwszym krokiem jest zaimportowanie wcześniej wygenerowanego certyfikatu CA jako główny urząd certyfikacji.

 

 

Następnym krokiem jest skonfigurowanie klienta SSTP.

 

Dodaj połączenie VPN 
Dostawca sieci VPN 
Windows (wbudowane) 
Nazwa połączenia 
18.197.129.170 
Nazwa lub adres serwera 
18.197.129.170 
Typ sieci VPN 
Protokół SSTP (Secure Socket Tunneling Prot v 
Typ informacji logowania 
Nazwa užytkownika i hasło 
Nazwa užytkownika (opcjonalnie) 
userl 
Hasło (opcjonalnie) 
v" Zapamiętaj moje informacje logowania

 

Ostatecznie test.

 

18.197.129.170 
Polaczono

Weryfikacja na koncentratorze VPN.

Interface 
General Status Traffic 
Last Link Down Time 
Last Link Up Tme 
Link Downe 
Upt,me 
user 
Caller ID 
Encoding 
MTU 
MRU 
Local Address 
Remote Address 
dynamic 
Jun/06/2018 1422 12 
Remove 
16 
user I 
AES256C8C 
1500 
172 1620 
172 1620 199 
slave 
Status: connected

 

Na koniec dodamy jeszcze regułę NAT, aby umożliwić dostęp do internetu dla klientów VPN

(domyślnie cały ruch będzie kierowany przez VPN).

/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1

 

Sprawdźmy jakim adresem IP prezentujemy się w internecie.

 

What Is My IP? » My IP Information 
My IP Information 
Your IPv4 Address Is: 18.197.129.170 
Your IPv6 is: Not Detected 
Your Local IP is: 172.16.20.199

 

Tak jak się spodziewaliśmy, jest to adres koncentratora VPN.

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here