W poprzednich wpisach pokazywałem jak skonfigurować router Mikrotik jak serwer l2tp/ipsec, openvpn czy pptp, jednak nie zawsze mamy możliwość, aby takie połączenia zestawić. Najczęstszym ograniczeniem jest brak możliwości przekierowania portów, nie każdy dostawca Internetu pozwala swoim użytkownikom na wszystko. Czasami jedynym rozwiązaniem może być właśnie SSTP VPN, ponieważ pracuje na porcie 443, wykorzystywanym także przy https, ssl. Czasami z lenistwa, czasami z braku next generation firewall, administratorzy nie filtrują porty 443, a to daje możliwość ominięcia np. firmowego firewall’a. Podobnie jak w przypadku OpenVPN Server Mikrotik SSTP VPN bazuje na certyfikatach, dlatego zaczniemy od ponownego wygenerowania certyfikatu. Nie będę ponownie dokładnie opisywał kroków, dlatego jeżeli chciałbyś dowiedzieć się więcej o generowaniu certyfikatów zapraszam tutaj.
Aktualizacja!!!
Generowanie certyfikatów możemy pominąć ponieważ Mikrotik nie wspiera przy tym rozwiązaniu certów.
Generowanie certyfikatów
Zaczynamy od przygotowania szablonu dla certyfikatu CA.
- Name: podajemy dowolnie
- Common Name: nazwę domenową, albo adres IP
- Key Size: 4096
- Days Valid: 3650, czyli 10 lat
Przygotowanie certyfikatu dla serwera
Bardzo ważne jest, aby w polu Common Name podać adres IP bądź domenę, które realnie wskazuje na Mikrotika. Jeżeli będzie to nazwa domenowa upewnij się, że jest wydelegowana na prawidłowy adres IP.
Przygotowanie certyfikatu dla klienta.
Podpisywanie certyfikatów
Z poziomu terminala tworzymy CA, którym później podpiszemy pozostałe certyfikaty
sign CA-Temp name=CA-certificate
Certyfikat dla klienta i serwera podpisujemy klikając prawym myszy i sign, jako CA wskazujemy CA-Certificate
UWAGA!!! Jeżeli w przyszłości chcemy unieważniać wystawione certyfikaty w CA CRL Host należy podać adres IP
Eksport certyfikatów
Przygotowane certyfikaty należy wyeksportować, możemy to uczynić klikając prawym myszy i export. Następnie metodą drag&drop przenosimy certyfikaty z z Files na dysk lokalny.
Konfiguracja Mikrotika
Z IP->Pool dodajemy nową pulę adresową dedykowaną pod klientów vpn.
Tworzymy nowy profil w zakładce PPP
Dodajemy konto w zakładce Secrets
Aktywujemy serwer SSTP w zakładce Interface
Dodajemy nową regułę na firewallu akceptującą połączenia na porcie 443.
Konfiguracja Klienta – Windows 10
Wyeksportowane wcześniej certyfikaty należy zaimportować do systemu. Certyfikat klienta do magazynu Osobiste natomiast certyfikat CA, do zaufanych wystawców. Wszystko dokonujemy z poziomu przystawki certlm.msc
Polecany sprzęt
Z własnego doświadczenia mogę wam polecić poniższy sprzęt, z podziałem na ewentualne przeznaczenie routera.
Do domu i małej firmy(SOHO): hAP AC Lite , hAP AC, RB4011, RB260GS, RB2011
LTE: SXT LTE kit, SXT LTE6 kit, LHG 5, LHG LTE kit
Extender/Repeater: mAP lite, mAP
POE: hEX PoE
LAB: hEX lite
Średnia/Duża firma: CCR1036-12G-4S
Materiał Video
[su_youtube url=”https://www.youtube.com/watch?v=yn14LJpO0sc”]
bez certyfikatu usera też działa
tzn. potrzebny jest tylko CA na mt i komputerze
Dokładnie. Zgłosiłem to Grzegorzowi. Ten tutorial źle opisuje obsługę przez certa klienta. Albo korzysta się z MSCHAPv2 albo EAP z certyfikatem. I tu jest problem.
Witam,
Od kilku dniu siedzę nad tym i nie mogę znaleźć rozwiazania.
Mikrotik za NAT stały adres IP. Port scan wykazuje otwarty port 443.
Zrobiłem wszystko dokładnie jak na powyższej instrukcji. Problem mam przy próbie łaczenie z zewnatrz. nie moze zestawic polaczenia. Jak próboje się polaczyc z wewnetrznej sieci wifi tego mikrotika to wszystko dziala bez problemow. Co moze byc przyczyna? Dodatkowo nie jestem pewny czy prawidłowo generuje klucz klienta w polu common name wpisuje IP mikrotika a w opisie było zeby dodać user.”domena” ale co w przypadku kiedy wpisuje stałe IP?
Ok już doszedłem. Problemem była zła kolejność reguł w firewall. Nie wiedziałem, że ma to znaczenie… Pozdrawiam,
W jaki sposób rozwiązałeś problem stałego IP ?
Również mam stałe IP a nie domene, ale gdy w każdy ceryfikacie wpisze je w polu common-name nie mogę podpisać wszystkich certyifikatów.
Kup domenę (albo użyj dowolnej posiadanej) i zsynchronizuj ją z MT przez chociażby Cloudflare (skrypt kiedyś wrzuciłem na forum wsparcia MT). Dodatkowo, mając domenę, możesz pokusić się o certyfikaty z LetsEncrypt, czyli w 100% zaufane per se – różnica jest taka, że na MT nie generujesz certu, tylko importujesz wygenerowany przez LetsEncrypt wraz z jego kluczem prywatnym. Certyfikatu klienta nie robisz – uwierzytelniasz się normalnie loginem i hasłem. Jeżeli na tym samym IPku masz postawiony serwer po HTTPS i port 443 jest zajęty, możesz wykorzystać chociażby 993, czyli IMAP/TLS – też standardowy port standardowej usługi sieciowej.