Wdrażanie kompatybilnego serwera VPN AnyConnect z weryfikacją certyfikatu na CentOS 7

AnyConnect to rozwiązanie do zdalnego dostępu opracowane przez Cisco. Znana ze swojej mobilności i stabilności, zwłaszcza z możliwości DTLS, AnyConnect jest używana przez wiele firm. Użyjemy wersji open source ocserv, która jest zgodna z protokołem.

Zamierzamy również wdrożyć weryfikację certyfikatu. Serwer zidentyfikuje klientów, sprawdzając, czy certyfikat klienta został wydany przez skonfigurowany urząd certyfikacji. To znacznie upraszcza konfigurację na klientach, ponieważ będziemy musieli tylko zaimportować certyfikat na kliencie (w większości przypadków plik pkcs12 ( .pfxlub .p12)) i nie są wymagane hasła. Jest to również bezpieczniejsze, ponieważ żadne hasła nie przemieszczają się w Internecie.

Zaczynajmy.

Wymagania wstępne

  • Nowo utworzony serwer CentOS 7 z włączoną obsługą IPv6
  • Działający komputer (może być sam serwer; choć przestarzały (patrz poniżej)) patrz uwaga 1
  • Niektórzy klienci z zainstalowanym oprogramowaniem klienta AnyConnect (lub OpenConnect) patrz uwaga 2

Uwagi:

  1. Chociaż możliwe jest (i raczej wygodne) wykonanie wszystkiego na serwerze, proces wdrażania polega na generowaniu kluczy prywatnych używanych do podpisywania, a ze względów bezpieczeństwa proces ten należy wykonać na własnym komputerze.

  2. Ze względu na problemy licencyjne nie podam linków do pobrania oprogramowania klienckiego. Znalezienie ich dla klienta jest jednak dość łatwe. AnyConnect to aplikacja w sklepach z aplikacjami na głównych platformach mobilnych (iOS, Android, BlackBerry OS (wersja 10 lub nowsza), UWP), a proste wyszukiwanie przyniesie je do Ciebie. W przypadku platform PC niektóre Googling przedstawi ci odpowiednie oprogramowanie.

Instalacja oprogramowania po stronie serwera

Maszyny Vultr CentOS 7 są skonfigurowane z repozytorium EPEL. Po prostu instalujemy ocservz yum:

yum update
yum install ocserv

Potrzebujemy certyfikatu serwera, aby wszystko działało. Jeśli masz nazwę domeny, Let's Encrypt będzie najłatwiejszym wyborem.

yum install certbot
certbot certonly

Wybierz „podkręć tymczasowy serwer WWW”, aby uwierzytelnić się w ACME CA. Jeśli nie masz domeny, certyfikat z podpisem własnym zostanie wydany później.

Generowanie i konfiguracja certyfikatu

Tradycyjna PKI jest raczej niewygodna w użyciu, więc będziemy korzystać z easyrsanarzędzia z projektu OpenVPN. Zainstaluj git na swoim komputerze i sklonuj repozytorium:

git clone https://github.com/OpenVPN/easy-rsa
cd easy-rsa/easyrsa3

Zbudujemy urząd certyfikacji i wystawimy certyfikaty. Wykonaj następujące czynności i wpisz ustawione gdzieś hasło PEM:

./easyrsa init-pki
./easyrsa build-ca

Przechowywać pki/private/ca.keyw bezpiecznym miejscu. Przeciek, który sprawi, że cała infrastruktura stanie się bezużyteczna.

Jeśli zdecydujesz się użyć certyfikatu serwera z podpisem własnym, wykonaj następujące czynności:

./easyrsa gen-req server

I wprowadź adres IP swojego serwera jako wspólną nazwę.

./easyrsa sign-req server server

Spowoduje to podpisanie certyfikatu dla serwera. Przelew pki/issued/server.crti pki/ca.crtna /etc/ssl/certsi pki/private/server.keyna /etc/ssl/privatena serwerze.

Następnie stworzymy certyfikaty klienta. Wykonaj następujące czynności:

./easyrsa gen-req client_01
./easyrsa sign-req client client_01

Wybierz nazwę klienta i wypełnij ją w polu wspólnej nazwy. Zapamiętaj hasło!

Następnie wyeksportujemy certyfikat w formacie pkcs12 do użytku na platformach mobilnych. Robić:

./easyrsa export-p12 client_01

Wybierz hasło eksportu, które zostaniesz poproszony o podanie podczas importowania certyfikatu na telefon. Prześlij pki/private/client_01.p12na telefon i zaimportuj go.

Konfigurowanie serwera

Podamy informacje o certyfikacie.

vim /etc/ocserv/ocserv.conf

Znajdź server-certsekcję i wypełnij następujące pola:

# If you use Let's Encrypt
server-cert = /etc/letsencrypt/live/example.com/fullchain.pem
server-key = /etc/letsencrypt/live/example.com/privkey.pem

# If you use self-signed server certificate 
server-cert = /etc/ssl/certs/server.crt
server-key = /etc/ssl/private/server.key

ca-cert = /etc/ssl/certs/ca.crt

Pamiętaj, że jeśli używasz samopodpisanego certyfikatu, pamiętaj, aby najpierw usunąć hasło openssl rsa -in server.key -out server-new.key, aby ocservmóc użyć klucza prywatnego.

Znajdź authsekcję. Włącz tę linię:

auth = "certificate"

I skomentuj wszystkie pozostałe authwiersze.

Odkomentuj tę linię:

cert-user-oid = 2.5.4.3

Znajdź ipv6-networki wypełnij blok ipv6 serwera. To jest blok, z którego serwer będzie udzielał dzierżawy.

ipv6-network = 2001:0db8:0123:4567::/64
ipv6-subnet-prefix = 124 

Ustaw serwery DNS.

dns = 8.8.8.8
dns = 8.8.4.4

Włącz zgodność z klientami Cisco.

cisco-client-compat = true

Otworzyć porty ustawione w tcp-porti udp-porti włączyć maskaradę zarówno dla IPv4 i IPv6 w firewalld.

Uruchom serwer.

systemctl enable ocserv
systemctl start ocserv

Czas na test!

Serwer został pomyślnie skonfigurowany. Utwórz połączenie w swoim kliencie i połącz. Jeśli coś pójdzie nie tak, użyj tego polecenia do debugowania:

journalctl -fu ocserv

Ponadto IPv6 powinien działać po stronie klienta, jeśli oprogramowanie klienckie obsługuje ipv6, nawet jeśli sieć klienta nie udostępnia adresu. Przejdź do tej strony, aby przetestować.

Wszystko gotowe! Ciesz się nowym serwerem VPN kompatybilnym z AnyConnect!

Zostaw komentarz

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.