Konfiguracja serwera-Open UPN na Debian-8.cz.1/2.

DAE avatar
Tomasz21
Posty: 502
Rejestracja: 27 kwietnia 2019, 20:41

10 grudnia 2019, 01:17

Witam; Tytułem wstępu, zanim przejdę do instrukcji; Został poruszony temat serwera VPN.
Ponieważ nigdy go nie używałem, ani nie nie miałem kontaktu, to postanowiłem się dowiedzieć coś na ten temat; Kiedyś trochę czytałem, na ten temat, ale to było dawno temu. Więc sobie myślę dobrze by było sobie przypomnieć co nieco w tej tematyce. Zajrzałem do internetu, i tam znalazłem mnóstwo wypowiedzi; Niestety, Większość artykułów mija się z prawdą objawioną. Czyli, każda „Sójka swój ogonek chwali”. Przerzuciłem sporo materiału, i miałem coraz gorsze samopoczucie w tym temacie. Wreszcie znalazłem, kurs, szkolenie dla początkujących, Lektor mówił do rzeczy;
( była próbka ). Ten kurs był, jest płatny; Ale dali promocję, za cały kurs, 40-zł. W cenie promocyjnej. Myślę sobie, cztery dychy nie majątek; lektor w porządku, w razie czego można będzie się dopytać o szczegóły. Zamiast szukać po internecie? Dostanę wszystko podane na talerzu.
Teraz „UWAGA”. Trzeba się zalogować; nazwisko z książki telefonicznej, mail miałem zapasowy, rzadko używany, Jedziemy dalej. Trzeba zapłacić; nie ma problemu zrobię przelew. I teraz zaczynają się schody, z banku nie można zrobić na konto przelewu? Dlaczego? Niema takiej opcji. Jest za to coś innego, najpierw trzeba podać szczegółowe dane, które się kończą,- NUMER KARTY DEBETOWEJ- i do tego HASŁO. No , robi się ciekawie? To że jestem początkującym nowicjuszem w sprawach VPN-u. To nie znaczy że jestem kompletnym idiotą. Podziękowałem.
Jeszcze jedno; Brak telefonu kontaktowego. Jak i adresu Maila. No dobra, starczy banialuk, przechodzimy do VPN-a. Sporo przejrzałem materiału; i nasuwa się jeden wniosek; Wszędzie jest pośrednik, który chce pieniędzy; czasem daje za darmo. Mnie nie chodzi już o pieniądze, ale o status pośrednika i co on tam za głupoty wypisuje? Jeżeli to ma być tajne? To co tam robi pośrednik? Zazwyczaj on daje słowo; że tajemnicy dochowa. Logi nie ujrzą światła dziennego.
Wierzyć, nie wierzyć; Ja z natury jestem dużym niedowiarkiem. Szukałem, przewaliłem pół internetu; ale znalazłem coś co spełnia wszystkie wymagania. Zresztą proszę oceńcie sami;
Co prawda, jest to na Debiana-8. Ja takiego mam. Problemem jest coś znaleźć na nowsze wersje, wieje malizną, czyli nie ma. Co jest ważne; ta instalacja nie ma pośrednika. Jest za darmo, i do nikogo nie należy; Jest Open Source. To tyle przydługiego wstępu. A teraz instrukcja instalacji w dwóch częściach. Miłej instalacji, dla tych co mają Debiana.
:ugeek:

OpenVPN jest open source VPN aplikacją, która pozwala na tworzenie i podłączanie do bezpiecznej sieci prywatnej za pośrednictwem Intern-Konfiguracja serwera OpenVPN na Debian 8. – cz. 1/2
OpenVPN jest open source VPN aplikacją, która pozwala na tworzenie i podłączanie do bezpiecznej sieci prywatnej za pośrednictwem InternKonfiguracja serwera OpenVPN na Debian 8. – cz. 1/2
etu publicznego. Krótko mówiąc, pozwala to użytkownikowi na zamaskowanie połączeń i na bardziej bezpiecznie poruszanie niezaufaną siecią.
Wymagania
Ten tutorial zakłada, że ​​posiadasz następujące elementy:
Nowy Debian 8.1 Droplet
Użytkownik root
Opcjonalne: Po ukończeniu tego tutorialu, do ogólnego użytku należy użyć konto z uprawnieniami sudo.
Krok #1 – Instalacja OpenVPN
Przed instalacją jakichkolwiek pakietów, zaktualizujemy indeks pakietów apt.

Kod: Zaznacz cały

apt-get update
Teraz możemy zainstalować serwer OpenVPN wraz z łatwym do szyfrowania RSA.

Kod: Zaznacz cały

apt-get install openvpn easy-rsa
Krok #2 – Konfiguracja OpenVPN
Przykładowy plik konfiguracji VPN serwera musi być wyodrębniony w /etc/openvpn tak, aby mogliśmy włączyć go do naszej konfiguracji. Można to zrobić za pomocą jednego polecenia:

Kod: Zaznacz cały

gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Po rozpakowaniu, należy otworzyć plik konfiguracyjny serwera za pomocą nano lub innego ulubionego edytora tekstu.

Kod: Zaznacz cały

nano /etc/openvpn/server.conf
W tym pliku, musimy dokonać czterech zmian (każda zostanie wyjaśniona szczegółowo):
Bezpieczny serwer z wysokim poziomem szyfrowania
Bezpośredni ruch w sieci do celu
Zapobieganie wyciekaniu żądań DNS poza połączeniem VPN
Uprawnienia instalacyjne
Po pierwsze, musimy podwoić długość klucza RSA, używanego podczas tworzenia serwerowych i klienckich kluczy. Po głównym bloku komentarza i jeszcze kilka wierszy, szukaj linii która brzmi:

/etc/openvpn/server.conf
# Diffie hellman parameters.
# Generate your own with:
#   openssl dhparam -out dh1024.pem 1024
# Substitute 2048 for 1024 if you are using
# 2048 bit keys.
dh dh1024.pem

Zmień

Kod: Zaznacz cały

 dh1024.pem 
na

Kod: Zaznacz cały

 dh2048.pem 
,więc teraz ten wiersz musi wyglądać następująco:
/etc/openvpn/server.conf
dh dh2048.pem

Po drugie, zadbamy o to, aby przekierować cały ruch w odpowiednie miejsce. W  server.conf znajdź następną sekcję:
/etc/openvpn/server.conf
# If enabled, this directive will configure
# all clients to redirect their default
# network gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
;push "redirect-gateway def1 bypass-dhcp"

Odkomentuj wiersz

Kod: Zaznacz cały

 push "redirect-gateway def1 bypass-dhcp"    
,więc serwer VPN przekazuje ruch klienta sieci web do jego przeznaczenia. Po zrobieniu to powinno to wyglądać tak:
/etc/openvpn/server.conf
push "redirect-gateway def1 bypass-dhcp"

Po trzecie, zrobimy tak, aby serwer używał OpenDNS do rozpoznawania nazw DNS, gdzie jest to możliwe. To może pomóc zapobiec wyciekowi żądań DNS poza połączeniem VPN. Natychmiast po wcześniej zmodyfikowanej sekcji, edytuj następujące:
/etc/openvpn/server.conf
# Certain Windows-specific network settings
# can be pushed to clients, such as DNS
# or WINS server addresses.  CAVEAT:
# http://openvpn.net/faq.html#dhcpcaveats
# The addresses below refer to the public
# DNS servers provided by opendns.com.
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"

Odkomentuj

Kod: Zaznacz cały

 push "dhcp-option DNS 208.67.222.222" i push "dhcp-option DNS 208.67.220.220"
. Powinno to wyglądać tak:
/etc/openvpn/server.conf
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

Po czwarte, będziemy definiować uprawnienia w server.conf:
/etc/openvpn/server.conf
# You can uncomment this out on
# non-Windows systems.
;user nobody
;group nogroup

Odkomentuj

Kod: Zaznacz cały

 user nobody
i

Kod: Zaznacz cały

group nogroup 
. Powinno to wyglądać tak:
/etc/openvpn/server.conf
user nobody
group nogroup

Domyślnie OpenVPN pracuje jako główny użytkownik root, dzięki czemu ma pełny dostęp do systemu. Zrobimy natomiast ograniczenie OpenVPN dla użytkownika nobody i grupy nogroup. Jest to bez uprawnień użytkownika bez możliwości domyślnego logowania, często zarezerwowany dla uruchamiania niezaufanych aplikacji, takich jak serwery www.
Teraz zapisz zmiany i wyjdź.

Krok #3 – Włączanie przekazywania pakietów
W tym kroku zrobimy tak, aby jądro serwera przekazywało ruch z usług klienckich do sieci Internet. W przeciwnym wypadku, ruch zatrzyma się na serwerze.
Włączymy przekazywanie pakietów podczas wykonywania, wpisując następujące polecenie:

Kod: Zaznacz cały

echo 1 > /proc/sys/net/ipv4/ip_forward
Dalej, musimy zrobić tą konfigurację stałą, aby ona była zapisana po ponownym uruchomieniu serwera.  Otwórz plik konfiguracyjny   sysctl za pomocą nano lub innego ulubionego edytora tekstu.

Kod: Zaznacz cały

nano /etc/sysctl.conf
W górnej części pliku sysctl pojawi się:
/etc/openvpn/server.conf
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

Odkomentuj wiersz

Kod: Zaznacz cały

 net.ipv4.ip_forward 
. Powinno to wyglądać tak:
/etc/openvpn/server.conf
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

Zapisz zmiany i zamknij plik.
Krok #4 – Instalacja i konfiguracja UFW
UFW jest front-end dla IPTables. Musimy zrobić tylko kilka zasad i zmiany konfiguracji. Wtedy będziemy przełączać zaporę sieciową.
Po pierwsze, należy zainstalować pakiet ufw.

Kod: Zaznacz cały

  apt-get install ufw
Po drugie, należy ustawić UFW zezwolenie SSH:

Kod: Zaznacz cały

ufw allow ssh
W tym tutorialu będziemy używać OpenVPN przez UDP, więc UFW musi również umożliwić ruch UDP na porcie 1194.

Kod: Zaznacz cały

ufw allow 1194/udp
UFW przekazywanie polityki musi być również zainstalowane. Zrobimy to w głównym pliku konfiguracyjnym.

Kod: Zaznacz cały

nano /etc/default/ufw
Spójrz na następujący wiersz:
/etc/default/ufw
DEFAULT_FORWARD_POLICY="DROP"

DROP musi być zmieniony na ACCEPT. Powinno to wyglądać tak:
/etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"

Zapisz i wyjdź.
Następnie dodamy dodatkowe zasady UFW do tłumaczenia adresów sieciowych i maskowania adresu IP podłączonych klientów.

Kod: Zaznacz cały

nano /etc/ufw/before.rules
Następnie dodaj tekst zaznaczony na czerwono dla OPENVPN RULES:
/etc/ufw/before.rules
#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
#   ufw-before-input
#   ufw-before-output
#   ufw-before-forward
#

 
# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES


# Don't delete these required lines, otherwise there will be errors
*filter

Zapisz i wyjdź.
Wraz ze zmianami wprowadzonymi do UFW, teraz możemy go włączyć. Wpisz w wierszu poleceń:

Kod: Zaznacz cały

ufw enable
Włączanie UFW zwróci następujący wiersz:

Kod: Zaznacz cały

Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Wpisz

Kod: Zaznacz cały

  y.      
Wynik będzie następujący:
Firewall is active and enabled on system startup
Aby sprawdzić podstawowe reguły zapory UFW wpisz:

Kod: Zaznacz cały

ufw status
Wynik będzie wyglądał tak:
Status: active

To Action From
-- ------ ----
22 ALLOW Anywhere
1194/udp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
1194/udp (v6) ALLOW Anywhere (v6)

Krok #5 – Konfiguracja i budowa Certificate Authority
OpenVPN używa certyfikatów do szyfrowania ruchu.
W tym kroku skonfigurujemy nasz własny Certificate Authority (CA) w dwóch etapach: (1) Zmienne konfiguracyjne oraz. (2) generowanie CA.
OpenVPN obsługuje dwukierunkowe uwierzytelnianie na podstawie certyfikatów, oznacza to, że klient powinien sprawdzić autentyczność certyfikatu serwera, a serwer musi sprawdzić autentyczność certyfikatu klienta do tworzenia wzajemnego zaufania. Będziemy wykorzystywać skrypty Easy RSA, aby to zrobić.
Najpierw skopiujemy egzemplarz skryptów generacji Easy-RSA.

Kod: Zaznacz cały

cp -r /usr/share/easy-rsa/ /etc/openvpn
Następnie należy utworzyć katalog domowy kluczy.

Kod: Zaznacz cały

mkdir /etc/openvpn/easy-rsa/keys
Następnie będziemy ustawiać parametry dla naszych certyfikatów. Otwórz plik  zmiennych za pomocą nano lub ulubionego edytora tekstu.

Kod: Zaznacz cały

nano /etc/openvpn/easy-rsa/vars
Zmienne poniżej zaznaczone na czerwono powinny zostać zmienione zgodnie z własnymi preferencjami.
/etc/openvpn/easy-rsa/vars
export KEY_COUNTRY="US"

export KEY_PROVINCE="TX"

export KEY_CITY="Dallas"

export KEY_ORG="My Company Name"

export KEY_EMAIL="[email protected]"

export KEY_OU="MYOrganizationalUnit"[/color]
W tym samym pliku vars, również edytowujemy linię pokazaną poniżej. Dla uproszczenia będziemy używać

Kod: Zaznacz cały

  server  
jako nazwę klucza. Jeśli chcesz użyć innej nazwy, będzie trzeba także zaktualizować pliki konfiguracyjne OpenVPN, które odwołują się do server.key i server.crt.
Poniżej, w tym samym pliku, zostanie podany odpowiedni certyfikat. Znajdź wiersz, zaraz po wcześniej zmodyfikowanym bloku:
/etc/openvpn/easy-rsa/vars
# X509 Subject Field
export KEY_NAME=
"EasyRSA"
Zmień wartość domyślną

Kod: Zaznacz cały

  KEY_NAME 
na żądaną nazwę serwera. W tym tutorialu będziemy używać nazwy

Kod: Zaznacz cały

 server.
/etc/openvpn/easy-rsa/vars
# X509 Subject Field
export KEY_NAME=[/color]"server"
Zapisz i wyjdź.
Dalej będziemy generować parametry Diffie-Helman z użyciem wbudowanego narzędzia OpenSSL o nazwie

Kod: Zaznacz cały

  dhparam 
; to może zająć kilka minut.
Flaga

Kod: Zaznacz cały

  -out   
określa gdzie zapisać nowe parametry.

Kod: Zaznacz cały

openssl dhparam -out /etc/openvpn/dh2048.pem 2048
Nasz certyfikat jest generowany, i teraz możemy wygenerować klucz.
Po pierwsze, przełączymy się do katalogu easy-rsa.

Kod: Zaznacz cały

cd /etc/openvpn/easy-rsa
Teraz możemy rozpocząć konfigurowanie CA. Najpierw inicjalizujemy Public Key Infrastructure (PKI).

Należy zwrócić uwagę na kropkę (.) i spację przed poleceniem

Kod: Zaznacz cały

  ./vars   
To oznacza
bieżący katalog roboczy (źródło).

Kod: Zaznacz cały

. ./vars
Dalej, oczyścimy wszystkie pozostałe klucze, które mogą przeszkadzać w naszej instalacji.

Kod: Zaznacz cały

./clean-all
Wreszcie będziemy budować CA przy użyciu polecenia OpenSSL. Polecenie to poprosi o potwierdzenie „Distinguished Name” zmiennych, które zostały wprowadzone wcześniej. Naciśnij ENTER, aby zaakceptować istniejące wartości.

Kod: Zaznacz cały

./build-ca
Naciśnij ENTER, aby przejść przez każdy wiersz, ponieważ wystarczy zainstalować ich wartości w pliku vars.
Certificate Authority teraz jest skonfigurowany.

O następnych krokach czytaj w drugiej części tutorialu –
Jak skonfigurować serwer OpenVPN na Debian 8. – część 2/2.
Na Podstawie;


https://hostovita.pl/blog/jak-skonfigur ... 8-czesc-2/
DAE avatar
Stonebridge
Posty: 23
Rejestracja: 05 października 2019, 19:55

10 grudnia 2019, 08:03

Witam, bardzo dobry I szczegolowy opis serwers openvpn. Tak jak wczesniej wymienialismy sie uwagami u mnie dziala to dokladnie tak jak powyzej z tymze klient dostaje gotowy plik do wrzucenia profilu do openvpn. Polaczenie jest szyfrowane z certyfikatem ssl , za cloudflare dodatkowo I bez zadnych logow wejscia-wyjscia. Jedyne logi jakie dostaje to informacje odnosnie atakow na sam serwer. I to co jest perelka kazdy klient ma dodatkowa zapore. Pozdrawiam :)
DAE avatar
Tomasz21
Posty: 502
Rejestracja: 27 kwietnia 2019, 20:41

10 grudnia 2019, 10:41

Witam; Wszystko jest jasne; Trudno jest ocenić , bez wypróbowania i sprawdzenia, takiego fizycznego testu. Jedynym moim argumentem jest to; że to coś jest u kogoś, a nie u mnie. Czyli jest pośrednik. A ci niekoniecznie muszą być uczciwi. W sprawach biznesowych ; nikomu nie dowierzam. Dalej uważam , że najlepszym rozwiązaniem jest, samowystarczalność. W tym moim wynalazku jest szyfrowanie na poziomie, 1024-bity. To dość sporo, jak do tych oferowanych za pieniądze, które mają, 256-bity. Tych różnic jest więcej. W drugiej części jest reszta wytłumaczona. W sumie jest tego dosyć sporo; No ale instalacja i właściwa konfiguracja, tego wymaga. W myśl zasady; jak sobie pościelisz, tak się wyśpisz. W tym czasie przejrzałem dosyć sporo, propozycji. Były płatne, były mocno reklamowane, i były bez płatne. Oczywiście ich nie testowałem. Ale zapoznałem się z opinią czytelników, na ten temat. Sprawy ograniczeń, lejek, spowolnienie, limit, ograniczona ilość dostępu miesięcznie, umowa na dwa lata, itp. To tylko niektóre udogodnienia, dla potencjalnego odbiorcy. Oczywiście płatne wersje, to już im niewiele można zarzucić. Najlepiej wypadło „Premium”. Wysoko płatne. Jeśli to jest firma? To odpowiedź jest prosta. A jeśli pojedynczy użytkownik? To już, nie tak całkiem różowo. W każdym bądź razie, ja zgadzam się przetestować twój wynalazek. Weźmy byka za rogi, albo byk, albo „My”wygramy. Wracając do tematu. To co wynalazłem w chaosie internetowym? To też warto by było wypróbować. Trzech ochotników już jest, a może jeszcze ktoś dołączy? Ta wersja jest na Debiana? Ale być może dało by się ją przerobić na inną dystrybucję? Kto to wie? Dzisiaj powinienem wrzucić drugą cześć, 2/2.
Pozdrawiam.
:ugeek:
DAE avatar
Stonebridge
Posty: 23
Rejestracja: 05 października 2019, 19:55

10 grudnia 2019, 21:31

Nic dodac , nic ujac. Jesli chodzi o szyfrowanie to jest roznica oczywiscie i to dosyc spora przy 1024bit ale nalezy miec rowniez naprawde niezly sprzet do szyfrowania tego w locie w obie strony. Podalem strony gdzie bardzo dokladnie mozna przesledzic trase pakietow jak rowniez czy nie ma wyciekow. Co do normalnego klienta z matrixa to on chce miec zazwyczaj dostep do netfliksa w roznych lokalizacjach - to jeden z przykladow tylko.

Co do openvpn instalujemy klienta na dowolnym urzadzeniu i wrzucamy profil.
DAE avatar
Tomasz21
Posty: 502
Rejestracja: 27 kwietnia 2019, 20:41

12 grudnia 2019, 02:55

CZĘŚĆ - DRUGA. 2/2.
2019.12.07.03.[PL]-text-Konfiguracja serwera- OpenVPN na Debian-8.–cz.2/2.
Krok #6 – Generowanie certyfikatu i klucza dla serwera
W tym kroku będziemy instalować i uruchamiać nasz serwer OpenVPN.
Po pierwsze, nadal pracujemy z /etc/openvpn/easy-rsa ,utwórz swój klucz z nazwą serwera. To było ustalone wcześniej jak,

Kod: Zaznacz cały

KEY_NAME 
w pliku konfiguracyjnym. Wartością domyślną tego tutorialu jest server.

Kod: Zaznacz cały

./build-key-server server
Znowu musisz potwierdzić Distinguished Name. Naciśnij ENTER, aby zaakceptować zdefiniowane wartości domyślne. Tym razem pojawią się dwa dodatkowe monity.
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Obie powinny być puste, więc wystarczy nacisnąć klawisz ENTER aby przejść przez każdy z nich.
Dwa dodatkowe pytania na końcu wymagają pozytywne

Kod: Zaznacz cały

 (y)  
odpowiedzi:
Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]
Następnie zostanie wyświetlony następujący monit, wskazując na sukces.
Output
Write out database with 1 new entries
Data Base Updated
Krok #7 – Przeniesienie certyfikatów serwera i kluczy
Będziemy teraz kopiować certyfikat i klucz do /etc/openvpn , OpenVPN będzie szukać w tym katalogu dla CA certyfikat i klucz serwera.

Kod: Zaznacz cały

cp /etc/openvpn/easy-rsa/keys/{server.crt,server.key,ca.crt} /etc/openvpn
Można sprawdzić, czy kopia została wykonana:

Kod: Zaznacz cały

ls /etc/openvpn
Powinieneś zobaczyć certyfikat i pliki kluczy na serwerze.
W tym momencie serwer OpenVPN jest gotowy do pracy. Uruchom go i sprawdź stan.

Kod: Zaznacz cały

service openvpn start

Kod: Zaznacz cały

service openvpn status
Polecenie status wyświetla:
Output
* openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled)
Active: active (exited) since Thu 2015-06-25 02:20:18 EDT; 9s ago
Process: 2505 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 2505 (code=exited, status=0/SUCCESS)
Co najważniejsze z wyświetlanego powyżej, należy znaleźć 

Kod: Zaznacz cały

     Active: active (exited) since... 
zamiast

Kod: Zaznacz cały

Active: inactive (dead) since...
Twój serwer OpenVPN jest teraz gotowy do pracy. Jeśli komunikat pokazuje że VPN nie jest uruchomiony, poszukaj w pliku /var/log/syslog błędów, takich jak:
Options error: --key fails with 'server.key': No such file or directory
Ten błąd wskazuje że

Kod: Zaznacz cały

  server.key  
nie został skopiowany do

Kod: Zaznacz cały

 /etc/openvpn 
poprawnie. Skopiuj plik jeszcze raz i spróbuj ponownie.
Krok #8 – Generowanie certyfikatów i kluczy dla klientów
Do tej pory zainstalowaliśmy i skonfigurowaliśmy serwer OpenVPN , stworzyłyśmy Certificate Authority, własny certyfikat serwera i klucz. W tym kroku używamy CA serwera do generowania certyfikatów i kluczę dla każdego urządzenia klienckiego, które będą łączyć się z siecią VPN.
Klucz i budowanie certyfikatu
Jest to idealne rozwiązanie dla każdego klienta łączącego się z siecią VPN, aby mieć swój własny, unikalny certyfikat i klucz. Najlepiej jest generować jeden wspólny certyfikat i klucz do użycia spośród wszystkich urządzeń klienckich.

Uwaga: Domyślnie, OpenVPN nie pozwala jednoczesnych połączeń do serwera przez klienta, przy użyciu tego samego certyfikatu i klucza. (Patrz duplicate-cn w /etc/openvpn/server.conf).

Aby utworzyć osobne uwierzytelnienie dla każdego urządzenia, które zamierza połączyć się z siecią VPN, należy wykonać ten krok dla każdego urządzenia, ale zmienić nazwę client1 poniżej na coś innego, na przykład client2 albo iphone2 Za pomocą indywidualnych danych logowania na jednym urządzeniu, później mogą być wyłączone na serwerze osobno, o ile zajdzie taka potrzeba. W pozostałych przykładach w tym tutorialu będziemy używać client1 jako przykładowa nazwa urządzenia klienckiego.
Jak to zrobiliśmy z kluczem serwera, teraz budujemy przykład dla naszego client1 Nadal pracujemy z plikiem /etc/openvpn/easy-rsa

Kod: Zaznacz cały

./build-key client1
Po raz kolejny, zostaniesz poproszony, aby zmienić lub potwierdzić zmienne Distinguished Name i te dwa monity powinny być puste. Naciśnij ENTER , aby zaakceptować ustawienia domyślne.
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Jak poprzednio, te dwa potwierdzenia na końcu procesu wymagają

Kod: Zaznacz cały

 (y)
Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]
Następnie otrzymasz następujący komunikat potwierdzający pomyślne zbudowanie kluczy.
Write out database with 1 new entries.
Data Base Updated
Dalej będziemy kopiować wygenerowany klucz do katalogu Easy-RSA keys , który stworzyliśmy wcześniej. Należy pamiętać, że możemy zmienić rozszerzenie z

Kod: Zaznacz cały

 .conf   
na

Kod: Zaznacz cały

  .ovpn   
Jest to dopasowanie konwencji.

Kod: Zaznacz cały

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/client.ovpn
Można powtórzyć ten krok ponownie dla każdego klienta, zastępując client1 odpowiednią nazwą klienta.
Uwaga: Nazwa powtarzana client.ovpn nie musi być związana z urządzeniem klienckim. Aplikacja po stronie klienta OpenVPN użyje nazwy pliku jako identyfikator do podłączenia samego VPN. Zamiast tego, należy duplikować client.ovpn na jaką chcesz nazwę VPN w systemie operacyjnym. Na przykład: work.ovpn zostanie zidentyfikowany jako work, school.ovpn jako school , itp.

Musimy edytować każdy plik klienta, w tym adres IP serwera OpenVPN, aby on wiedział że trzeba się połączyć. Otwórz client.ovpn za pomocą nano lub ulubionego edytora tekstu.

Kod: Zaznacz cały

nano /etc/openvpn/easy-rsa/keys/client.ovpn
Po pierwsze, edytuj linię wiersz zaczynający z remote. Zmień

Kod: Zaznacz cały

   my-server-1     
na

Kod: Zaznacz cały

 your_server_ip
/etc/openvpn/easy-rsa/keys/client.ovpn
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote your_server_ip 1194
Następnie znajdź tekst poniżej i usuń user nobody i group nogroup, podobnie jak robiliśmy to w pliku server.conf w Kroku #1.
Uwaga: Nie dotyczy to systemu Windows, tak, że można go pominąć.

To powinno wyglądać tak:
/etc/openvpn/easy-rsa/keys/client.ovpn
# Downgrade privileges after initialization (non-Windows only)
user nobody
group no group
Przeniesienie certyfikatów i kluczy do urządzeń klienckich
Przypomnijmy, że certyfikaty klienta i kluczy które stworzyliśmy w powyższych krokach są one przechowywane na serwerze OpenVPN w katalogu /etc/openvpn/easy-rsa/keys.
Dla każdego klienta musimy przenieść pliki certyfikatu klienta, klucz, a pliki template profilu do folderu na naszym lokalnym komputerze lub innym urządzeniu klienckim.
W tym przykładzie, nasze urządzenie client1 wymaga swój certyfikat i klucz, który znajduje się na serwerze w:
/etc/openvpn/easy-rsa/keys/client1.crt
/etc/openvpn/easy-rsa/keys/client1.key
Pliki ca.crt i client.ovpn są takie same dla wszystkich klientów. Pobierz tę dwa pliki; należy zwrócić uwagę, że plik  ca.crt znajduje się w innym katalogu niż pozostałe.
/etc/openvpn/easy-rsa/keys/client.ovpn
/etc/openvpn/ca.crt
Chociaż dokładne aplikacje używane do wykonania tego transferu zależy od wyboru i wersji systemu operacyjnego urządzenia, możesz użyć SFTP (SSH File Transfer Protocol) lub SCP (Secure Copy). To pozwoli transportować pliki uwierzytelniania VPN swojego klienta przez połączenie szyfrowane.
Przykładowe polecenie SCP poprzez nasz przykład client1. Ono umieszcza plik

Kod: Zaznacz cały

 client1.key  
do katalogu Downloads na komputerze lokalnym.

Kod: Zaznacz cały

scp [email protected]:/etc/openvpn/easy-rsa/keys/client1.key Downloads/
Pod koniec, upewnij się, że masz te cztery pliki na urządzeniu klienckim:
`client1.crt`
`client1.key`
client.ovpn
ca.crt
Krok #9 – Stworzenie jednolitego profilu OpenVPN dla urządzeń klienckich
Istnieje kilka sposobów zarządzania plikami klientów ale najprostszym jest wykorzystanie jednolitego profilu. To jest tworzone przez modyfikację template  pliku 

Kod: Zaznacz cały

  client.ovpn  
zawierającego Certificate Authority serwera oraz certyfikat klienta i jego klucz. Po połączeniu, tylko pojedynczy profil  

Kod: Zaznacz cały

  client.ovpn     
musi być importowany do aplikacji OpenVPN klienta.
W tekście podanym poniżej trzeba za-komentować trzy wierszy, zamiast nich włączymy certyfikat i klucz bezpośrednio do pliku

Kod: Zaznacz cały

client.ovpn    
Powinno to wyglądać tak:
/etc/openvpn/easy-rsa/keys/client.ovpn
# SSL/TLS parms.
# . . .
;ca ca.crt
;cert client.crt
;key client.key
Zapisz zmiany i wyjdź. Będziemy dodawać certyfikaty za pomocą kodu.
Po pierwsze, należy dodać Certificate Authority.

Kod: Zaznacz cały

echo '' >> /etc/openvpn/easy-rsa/keys/client.ovpn
cat /etc/openvpn/ca.crt >> /etc/openvpn/easy-rsa/keys/client.ovpn
echo '' >> /etc/openvpn/easy-rsa/keys/client.ovpn
Po drugie, dodamy certyfikat.

Kod: Zaznacz cały

echo '<cert>' >> /etc/openvpn/easy-rsa/keys/client.ovpn
cat /etc/openvpn/easy-rsa/keys/client1.crt >> /etc/openvpn/easy-rsa/keys/client.ovpn
echo '</cert>' >> /etc/openvpn/easy-rsa/keys/client.ovpn
Po trzecie, należy dodać klucz.

Kod: Zaznacz cały

echo '<key>' >> /etc/openvpn/easy-rsa/keys/client.ovpn
cat /etc/openvpn/easy-rsa/keys/client1.key >> /etc/openvpn/easy-rsa/keys/client.ovpn
echo '</key>' >> /etc/openvpn/easy-rsa/keys/client.ovpn
Mamy obecnie jednolity profil klienta. Za pomocą scp, można skopiować plik

Kod: Zaznacz cały

  client.ovpn 
do drugiego systemu.

Krok #10 – Instalacja profilu klienta
Różne platformy mają bardziej wygodne aplikacji do łączenia się z serwerem OpenVPN. Dla szczegółowe instrukcje różnych platform można znaleźć w Kroku 12 w tym tutorialu.
Wniosek
Gratulacje! Teraz masz pracujący serwer OpenVPN.
Z OpenVPN można przetestować połączenie za pomocą Google, aby ujawnić swój publiczny adres IP. Na komputerze klienckim, pobrać go raz przed uruchomieniem połączenia openvpn i zaraz po. Adres IP musi się zmienić.
Witam; To jest część druga, a na dole jest link do oryginalnej strony. Tak na wszelki wypadek, bo z tym przepisywaniem i kopiowaniem wychodzą cyrki. Pozdrawiam :ugeek:

https://hostovita.pl/blog/jak-skonfigur ... -8-cz.-2/2.


https://hostovita.pl/blog/jak-skonfigur ... -8-cz.-2/2.
ODPOWIEDZ

Wróć do „Internet i komputery”