Предуслови
Инсталација софтвера на страни сервера
Генерисање и конфигурација сертификата
Конфигурисање сервера
Време за тестирање!
АниЦоннецт је решење за даљински приступ које је развио Цисцо. Добро познат по својој преносивости и стабилности, посебно по ДТЛС могућностима, АниЦоннецт користе многе компаније. Користићемо верзију отвореног кода ocserv, која је компатибилна са протоколом.
Такође ћемо применити верификацију сертификата. Сервер ће идентификовати клијенте тако што ће проверити да ли је клијентов сертификат издао конфигурисани ЦА. Ово у великој мери поједностављује конфигурацију на клијентима јер ћемо само требати да увеземо сертификат на клијента (већину пута пкцс12 фајл ( .pfxили .p12)) и нису потребне лозинке. Ово је такође сигурније јер ниједна лозинка не путује Интернетом.
Почнимо.
Предуслови
- Новокреирани ЦентОС 7 сервер са омогућеним ИПв6
- Радни рачунар (може бити сам сервер; застарео (погледајте доле)) погледајте напомену 1
- Неки клијенти са инсталираним клијентским софтвером АниЦоннецт (или ОпенЦоннецт) погледајте напомену 2
напомене:
Иако је могуће (и прилично згодно) све урадити на серверу, процес постављања се састоји од генерисања приватних кључева који се користе за потписивање и због безбедносних разлога, овај процес би требало да се уради на вашем рачунару.
Због проблема са лиценцирањем, нећу давати везе за преузимање клијентског софтвера. Међутим, прилично је лако пронаћи их за свог клијента. АниЦоннецт је апликација у продавницама апликација на главним мобилним платформама (иОС, Андроид, БлацкБерри ОС (в10 или новији), УВП) и једноставна претрага ће их донети до вас. За ПЦ платформе, неки Гооглеинг ће вам представити одговарајући софтвер.
Инсталација софтвера на страни сервера
Вултрове ЦентОС 7 машине су конфигурисане са ЕПЕЛ репозиторијумом. Само инсталирамо ocservса yum:
yum update
yum install ocserv
Биће нам потребан сертификат сервера да би ствари функционисале. Ако имате име домена, Лет'с Енцрипт ће бити најлакши избор.
yum install certbot
certbot certonly
Изаберите „закрени привремени веб сервер“ да бисте се аутентификовали помоћу АЦМЕ ЦА. Ако немате домен, самопотписани сертификат ће бити издат касније.
Генерисање и конфигурација сертификата
Традиционални ПКИ је прилично незгодан за коришћење, па ћемо користити easyrsaуслужни програм из ОпенВПН пројекта. Инсталирајте гит на вашу радну машину и клонирајте спремиште:
git clone https://github.com/OpenVPN/easy-rsa
cd easy-rsa/easyrsa3
Изградићемо ЦА и издати сертификате. Урадите следеће и напишите ПЕМ приступну фразу коју сте негде поставили:
./easyrsa init-pki
./easyrsa build-ca
Чувајте се pki/private/ca.keyнегде на сигурном. Цурење које ће целу вашу инфраструктуру учинити бескорисном.
Ако одлучите да користите самопотписани серверски сертификат, урадите следеће:
./easyrsa gen-req server
И унесите ИП адресу вашег сервера као уобичајено име.
./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
Изаберите име клијента и попуните га у поље за заједничко име. Запамтите приступну фразу!
Затим ћемо извести сертификат у пкцс12 формату за употребу на мобилним платформама. Урадити:
./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и попуните ипв6 блок вашег сервера. Ово је блок из којег ће сервер дати закуп.
ipv6-network = 2001:0db8:0123:4567::/64
ipv6-subnet-prefix = 124
Подесите ДНС сервере.
dns = 8.8.8.8
dns = 8.8.4.4
Омогућите компатибилност са Цисцо клијентима.
cisco-client-compat = true
Отворите портове које сте поставили у tcp-portи udp-portи омогућити маскенбал за и ИПв4 и ИПв6 у фиреваллд.
Покрените сервер.
systemctl enable ocserv
systemctl start ocserv
Време за тестирање!
Сервер је успешно конфигурисан. Направите везу у свом клијенту и повежите се. Ако ствари крену наопако, користите ову команду за отклањање грешака:
journalctl -fu ocserv
Такође, ИПв6 би требало да ради на страни клијента ако ваш клијентски софтвер подржава ипв6 чак и ако вам мрежа вашег клијента не даје адресу. Идите на овај сајт да бисте тестирали.
Све је спремно! Уживајте у свом новом АниЦоннецт компатибилном ВПН серверу!