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!



Leave a Comment

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który

Jak zaktualizować CentOS 7, Ubuntu 16.04 i Debian 8

Jak zaktualizować CentOS 7, Ubuntu 16.04 i Debian 8

Podczas konfigurowania nowego serwera Linux zaleca się aktualizację jądra systemu i innych pakietów do najnowszej stabilnej wersji. W tym artykule

Skonfiguruj klaster RethinkDB w CentOS 7

Skonfiguruj klaster RethinkDB w CentOS 7

Wprowadzenie RethinkDB to baza danych NoSQL, która przechowuje dane jako dokumenty JSON. Ma bardzo intuicyjny język zapytań i funkcje powszechnie dostępne

Skonfiguruj Magento na CentOS 6

Skonfiguruj Magento na CentOS 6

Niezależnie od tego, czy chcesz umieścić zapasy sklepów online, czy po prostu prosty sklep z akcesoriami technicznymi, Magento jest doskonałym rozwiązaniem dla eCommerce online. Ten artykuł

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

OrientDB to wielomodowy model open source NoSQL DBMS nowej generacji. Dzięki obsłudze wielu modeli danych, OrientDB może zapewnić większą funkcjonalność i elastyczność

Jak zainstalować Neos CMS na CentOS 7

Jak zainstalować Neos CMS na CentOS 7

Neos to innowacyjny system zarządzania treścią typu open source, który doskonale nadaje się do tworzenia i edytowania treści online. Z myślą o autorach i redaktorach, Neo

Jak zainstalować Vtiger CRM Open Source Edition na CentOS 7

Jak zainstalować Vtiger CRM Open Source Edition na CentOS 7

Vtiger CRM to popularna aplikacja do zarządzania relacjami z klientami, która może pomóc przedsiębiorstwom zwiększyć sprzedaż, zapewnić obsługę klienta i zwiększyć zyski. ja

Jak zainstalować MaraDNS na CentOS 6

Jak zainstalować MaraDNS na CentOS 6

MaraDNS to lekki, ale solidny program serwera DNS typu open source. W porównaniu z innymi aplikacjami tego samego rodzaju, takimi jak ISC BIND, PowerDNS i djbdns

Instalowanie Netdata na CentOS 7

Instalowanie Netdata na CentOS 7

Używasz innego systemu? Netdata jest wschodzącą gwiazdą w dziedzinie monitorowania wskaźników systemowych w czasie rzeczywistym. W porównaniu z innymi narzędziami tego samego rodzaju, Netdata:

Jak zainstalować Starbound Server na CentOS 7

Jak zainstalować Starbound Server na CentOS 7

Używasz innego systemu? W tym samouczku wyjaśnię, jak skonfigurować serwer Starbound na CentOS 7. Wymagania wstępne Musisz mieć tę grę na sobie

Clustering RabbitMQ na CentOS 7

Clustering RabbitMQ na CentOS 7

RabbitMQ to broker komunikatów typu open source, który obsługuje AMQP, STOMP i inne technologie komunikacyjne. Jest szeroko stosowany w aplikacjach dla przedsiębiorstw

Skonfiguruj SA-MP San Andreas Multiplayer Server na CentOS 6

Skonfiguruj SA-MP San Andreas Multiplayer Server na CentOS 6

Witamy w innym samouczku Vultr. Tutaj dowiesz się, jak zainstalować i uruchomić serwer SAMP. Ten przewodnik został napisany dla CentOS 6. Wymagania wstępne Będziesz potrzebował

Zainstaluj Elgg na CentOS 7

Zainstaluj Elgg na CentOS 7

Używasz innego systemu? Elgg to silnik sieci społecznościowych typu open source, który umożliwia tworzenie środowisk społecznościowych, takich jak kampusowe sieci społecznościowe

Jak zainstalować serwer RStudio na CentOS 7

Jak zainstalować serwer RStudio na CentOS 7

RStudio Server to internetowa wersja RStudio, która jest serią narzędzi zaprojektowanych w celu ułatwienia kodowania przy użyciu języka programowania R. W thi

Instalowanie Bolt CMS na CentOS 7

Instalowanie Bolt CMS na CentOS 7

Bolt to open source CMS napisany w PHP. Kod źródłowy Bolts jest hostowany na GitHub. Ten przewodnik pokaże Ci, jak zainstalować Bolt CMS na nowym CentOS 7 Vult

Jak zainstalować Elasticsearch na instancji serwera Vultr CentOS 7

Jak zainstalować Elasticsearch na instancji serwera Vultr CentOS 7

Elasticsearch to popularny wyszukiwarka pełnotekstowa i silnik analityczny typu open source. Dzięki swojej wszechstronności, skalowalności i łatwości użytkowania, Elasticsearch jest szeroko rozpowszechniony

Wdróż Kubernetes za pomocą Kubeadm na CentOS 7

Wdróż Kubernetes za pomocą Kubeadm na CentOS 7

Omówienie Ten artykuł ma na celu pomóc ci w szybkim uruchomieniu klastra Kubernetes z kubeadm. W tym przewodniku zostaną wdrożone dwa serwery

Sails.js należy skonfigurować do programowania w CentOS 7

Sails.js należy skonfigurować do programowania w CentOS 7

Używasz innego systemu? Wprowadzenie Sails.js to framework MVC dla Node.js, podobny do Ruby on Rails. Umożliwia tworzenie nowoczesnych aplikacji wer

Jak zainstalować PufferPanel (bezpłatny panel sterowania Minecraft) na CentOS 7

Jak zainstalować PufferPanel (bezpłatny panel sterowania Minecraft) na CentOS 7

Wprowadzenie W tym samouczku zainstaluj PufferPanel na naszym Vultr VPS. PufferPanel to otwarty, darmowy panel kontrolny do zarządzania tobą

Lepsze narzędzia monitorowania dla Ubuntu i CentOS

Lepsze narzędzia monitorowania dla Ubuntu i CentOS

Wprowadzenie Systemy Linux są domyślnie dostarczane z narzędziami do monitorowania, takimi jak top, df i du, które pomagają monitorować procesy i miejsce na dysku. Często jednak są

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…

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ą

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.

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.