Zezwol na dostęp do zasobów VPS'a tylko poprzez VPN

1

Hej,

Mam z zespolem (3os) aplikacje w angular oraz node.js Hostujemy apki na vpsie przy uzyciu nginx servera. Mamy domene, ktora wskazuje na nasz server. Jednak Chcialbym, aby dostep do tych aplikacji byl mozliwy tylko po zalogowaniu sie do clienta openVpn. Wiem jak zainstalowac server openvpn na vpsie, jak dodac userow. Ponizej jest moj plan jak to zrealizowac, ale nie wiem czy to jest dobre podejscie i czy nie stworzy jakichs dziwnych problemow:

Po zalogowaniu sie do vpn'a dostajemy adres vps'a, wiec musialbym w nginx zrobic instrukcje, ze zezwol na dostep tylko gdy masz ten sam ip.

Poza tym ciezko mi bylo znalezc kompletny tutorial jak to w miare bezbolesnie przeprowadzic ta operacje. Wiekszosc byla dosc zlozona, zakladala posiadanie dodatkowego servera lub chociaz posiadanie uslugi dodatkowego dnsa, gdzie pointuje moja domene na ich ip, a oni przekierowuja na moj server. Ale ja chcialbym cos prostego bez tych fikolkow :D

Ogolnie nie mam wiedzy z zakresu administrowania/sieci, wiec ciezko mi zauwazyc plusy i minusy roznych rozwiazan, wiec poki co patrze tylko na latwosc implementacji :D

Ale jezeli powyzszy pomysl ma dziury i lepiej uzyc innego podejscia to prosba o wytlumaczenie dlaczego :D

1

Configure Nginx to listen on single IP Address

Bez fikołków:
W folderze /etc/nginx/ poszukaj pliku zawierającego "listen 80" i zamień na "listen TWOJ_VPN_IP:80"

0

Jak dobrze rozumiem to dostęp do www.example.com ma być tylko do adresu vpn. Jeśli tak jest to potrzebujesz dyrektywy location w konfiguracji vhosta i zezwolenia tam dostępu do adresu ip vpna. Coś na wzór:

location / {
allow 1.2.3.4;
deny all;
}

gdzie 1.2.3.4 to Twój adres VPNa

0

dodalem allow dla:
ip wewnetrznego vpna dla calej puli
allow 172.27.232.0/24;
dla zewnetrznego ip vpna tez (wiec ip servera vps)

i na koncu deny all.

sprawdzilem tez czy to dziala, wiec dalem deny all, po ktorym dostaje 403, a nastepnie dodalem allow: moj zew ip gdy nie jestem podlaczony do vpna i wowczas mialem dostep.

Problem polega na tym, ze jak jestem podlaczony do vpna i chce wejsc na strone dostaje 403. Access log pokazuje, ze dostaje zapytanie z mojej regularnej sieci i ignoruje to ze jestem za vpnem.
Wchodzac na strone sprawdz ip pokazuje ip vpna, ale access log ma zalogowany ip z normalnej sieci.

Gosc tutaj ma ten sam problem https://serverfault.com/questions/527256/restricting-nginx-website-connection-to-vpn-users-on-the-same-server
Dodaje podana instrukcje do pliku conf servera, ale nic to nie daje

1 użytkowników online, w tym zalogowanych: 0, gości: 1