Разгръщане на AnyConnect съвместим VPN сървър с проверка на сертификат на CentOS 7

AnyConnect е решение за отдалечен достъп, разработено от Cisco. Добре известен със своята преносимост и стабилност, особено с възможностите си за DTLS, AnyConnect се използва от много компании. Ще използваме версия с отворен код, ocserv, която е съвместима с протокола.

Също така ще внедрим проверка на сертификата. Сървърът ще идентифицира клиентите, като провери дали сертификатът на клиента е издаден от конфигурирания CA. Това значително опростява конфигурацията на клиенти, тъй като ще трябва само да импортираме сертификата на клиента (в повечето случаи файл pkcs12 ( .pfxили .p12)) и не се изискват пароли. Това също е по-сигурно, тъй като пароли не пътуват из Интернет.

Да започваме.

Предпоставки

  • Новосъздадения сървър CentOS 7 с активиран IPv6
  • Работещ компютър (може да бъде самият сървър; но е отхвърлен (вижте по-долу)) вижте бележка 1
  • Някои клиенти с инсталиран клиентски софтуер AnyConnect (или OpenConnect), вижте бележка 2

бележки:

  1. Въпреки че е възможно (и доста удобно) да правите всичко на сървъра, процесът на разгръщане се състои от генериране на частни ключове, използвани за подписване и поради съображения за сигурност този процес трябва да се извърши на вашия собствен компютър.

  2. Поради проблеми с лицензирането няма да предоставя връзки за изтегляне на клиентския софтуер. Намирането им за вашия клиент обаче е доста лесно. AnyConnect е приложение в App Stores на основни мобилни платформи (iOS, Android, BlackBerry OS (v10 или по-нова), UWP, съответно и просто търсене ще ги доведе до вас. За PC платформи, някои Google ще ви представи подходящия софтуер.

Инсталиране на софтуер от страна на сървъра

Машините CentOS 7 на Vultr са конфигурирани с EPEL хранилището. Ние просто инсталираме ocservс yum:

yum update
yum install ocserv

Ще ни трябва сертификат за сървър, за да работят нещата. Ако имате име на домейн, Let's Encrypt ще бъде най-лесният избор.

yum install certbot
certbot certonly

Изберете „завъртете временен уеб сървър“, за да се удостоверите с ACME CA. Ако нямате домейн, по-късно ще бъде издаден самоподписан сертификат.

Генериране и конфигурация на сертификати

Традиционният PKI е доста неудобен за използване, така че ще използваме easyrsaпомощната програма от проекта OpenVPN. Инсталирайте git на вашата работна машина и клонирайте хранилището:

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

Ще изградим CA и ще издаваме сертификати. Направете следното и напишете PEM паролата, която сте задали някъде:

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

Дръжте на pki/private/ca.keyбезопасно място. Изтичане, което ще направи цялата ви инфраструктура безполезна.

Ако решите да използвате самоподписан сървърен сертификат, направете следното:

./easyrsa gen-req server

И въведете IP адреса на вашия сървър като общо име.

./easyrsa sign-req server server

Това ще подпише сертификат за сървъра. Прехвърляне pki/issued/server.crtи pki/ca.crtкъм /etc/ssl/certsи pki/private/server.keyкъм /etc/ssl/privateна вашия сървър.

След това ще създадем клиентски сертификати. Направете следното:

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

Изберете име на клиента и го попълнете в полето за общо име. Запомнете паролата!

След това ще експортираме сертификата във формат pkcs12 за използване на мобилни платформи. направете:

./easyrsa export-p12 client_01

Изберете парола за експортиране, която ще бъдете подканени да въведете, когато импортирате сертификата на телефона. Прехвърлете pki/private/client_01.p12в телефона си и го импортирайте.

Конфигуриране на сървъра

Ще попълним информацията за сертификата.

vim /etc/ocserv/ocserv.conf

Намерете server-certраздел и попълнете следното:

# 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

Имайте предвид, че ако използвате самоподписан сертификат, не забравяйте първо да премахнете паролата openssl rsa -in server.key -out server-new.key, за ocservда може да използва частния ключ.

Намерете authсекция. Активирайте този ред:

auth = "certificate"

И коментирайте всички останали authредове.

Декоментирайте този ред:

cert-user-oid = 2.5.4.3

Намерете ipv6-networkи попълнете ipv6 блока на вашия сървър. Това е блокът, от който сървърът ще дава лизинг.

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

Задайте DNS сървъри.

dns = 8.8.8.8
dns = 8.8.4.4

Активирайте съвместимост с клиенти на Cisco.

cisco-client-compat = true

Отваряне на пристанищата, които сте задали в tcp-portи udp-portи да даде възможност за маскарад IPv4, така и на IPv6 в firewalld.

Стартирайте сървъра.

systemctl enable ocserv
systemctl start ocserv

Време за тестване!

Сървърът е конфигуриран успешно. Създайте връзка във вашия клиент и се свържете. Ако нещата се объркат, използвайте тази команда за отстраняване на грешки:

journalctl -fu ocserv

Освен това IPv6 трябва да работи от страна на клиента, ако вашият клиентски софтуер поддържа ipv6, дори ако мрежата на вашия клиент не ви предоставя адрес. Отидете на този сайт, за да тествате.

Всичко е готово! Насладете се на вашия нов VPN сървър, съвместим с AnyConnect!

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече