Előfeltételek
Szerver oldali szoftver telepítés
Tanúsítvány generálás és konfigurálás
A szerver konfigurálása
Tesztidő!
Az AnyConnect a Cisco által kifejlesztett távoli hozzáférési megoldás. A hordozhatóságáról és stabilitásáról, különösen a DTLS-képességéről jól ismert AnyConnect-et sok vállalat használja. Nyílt forráskódú verziót fogunk használni ocserv, amely kompatibilis a protokollal.
A tanúsítvány ellenőrzését is bevezetjük. A szerver azonosítja az ügyfeleket annak ellenőrzésével, hogy az ügyfél tanúsítványát a konfigurált CA bocsátja-e ki. Ez nagyban leegyszerűsíti a konfigurációt az ügyfeleken, mivel csak a tanúsítványt kell importálnunk a kliensre (legtöbbször pkcs12 fájl ( .pfxvagy .p12)), és nincs szükség jelszavakra. Ez biztonságosabb is, mivel nem járnak jelszavak az interneten.
Kezdjük.
Előfeltételek
- Egy újonnan létrehozott CentOS 7 szerver IPv6 engedélyezésével
- Egy működő számítógép (lehet maga a szerver is, de elavult (lásd lent)) lásd az 1. megjegyzést
- Néhány ügyfél, amelyre telepítve van az AnyConnect (vagy OpenConnect) ügyfélszoftver, lásd a 2. megjegyzést
Megjegyzések:
Bár lehetséges (és meglehetősen kényelmes) mindent a szerveren elvégezni, a telepítési folyamat az aláíráshoz használt privát kulcsok generálásából áll, és biztonsági megfontolások miatt ezt a folyamatot a saját számítógépén kell elvégezni.
Licencproblémák miatt nem adok hivatkozásokat az ügyfélszoftver letöltéséhez. Megtalálni őket az ügyfele számára azonban meglehetősen egyszerű. Az AnyConnect egy alkalmazás az App Store-ban a főbb mobilplatformokon (iOS, Android, BlackBerry OS (v10 vagy újabb), UWP), és egy egyszerű kereséssel elérhetők. PC-platformok esetén néhány Google bemutatja a megfelelő szoftvert.
Szerver oldali szoftver telepítés
A Vultr CentOS 7 gépei az EPEL-tárral vannak konfigurálva. Mi csak telepíteni ocserva yum:
yum update
yum install ocserv
A dolgok működéséhez szükségünk lesz egy szervertanúsítványra. Ha van domain neve, a Let's Encrypt lesz a legegyszerűbb választás.
yum install certbot
certbot certonly
Válassza az „ideiglenes webszerver felpörgetése” lehetőséget az ACME CA-val történő hitelesítéshez. Ha nem rendelkezik domainnel, később egy önaláírt tanúsítványt állítunk ki.
Tanúsítvány generálás és konfigurálás
A hagyományos PKI használata meglehetősen kényelmetlen, ezért easyrsaaz OpenVPN projekt segédprogramját fogjuk használni . Telepítse a git-et a működő gépére, és klónozza a tárolót:
git clone https://github.com/OpenVPN/easy-rsa
cd easy-rsa/easyrsa3
Megépítjük a CA-t és kiállítjuk a tanúsítványokat. Tegye a következőket, és írja be valahova a beállított PEM-jelszót:
./easyrsa init-pki
./easyrsa build-ca
Tartsa pki/private/ca.keybiztonságos helyen. A szivárgás az egész infrastruktúrát használhatatlanná teszi.
Ha önaláírt szervertanúsítványt választ, tegye a következőket:
./easyrsa gen-req server
És adja meg a szerver IP-címét általános névként.
./easyrsa sign-req server server
Ezzel aláír egy tanúsítványt a szerver számára. Transzfer pki/issued/server.crtés pki/ca.crta /etc/ssl/certsés pki/private/server.keya /etc/ssl/privatea szerveren.
Ezután kliens tanúsítványokat hozunk létre. Csináld a következőt:
./easyrsa gen-req client_01
./easyrsa sign-req client client_01
Válassza ki az ügyfél nevét, és töltse ki a közönséges név mezőbe. Emlékezz a jelszóra!
Ezután exportáljuk a tanúsítványt pkcs12 formátumban mobil platformokon való használatra. Tedd meg:
./easyrsa export-p12 client_01
Válasszon egy exportálási jelszót, amelyet meg kell adnia, amikor a tanúsítványt importálja a telefonra. Vigye pki/private/client_01.p12át a telefonra, és importálja.
A szerver konfigurálása
A tanúsítvány adatait kitöltjük.
vim /etc/ocserv/ocserv.conf
Keresse meg a server-certrészt, és töltse ki a következőket:
# 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
Ne feledje, hogy ha önaláírt tanúsítványt használ, ne felejtse el először eltávolítani a jelszót openssl rsa -in server.key -out server-new.key, hogy ocservhasználhassa a privát kulcsot.
Keresse meg a authszakaszt. Engedélyezze ezt a sort:
auth = "certificate"
És kommentálja az összes többi authsort.
Törölje a sor megjegyzését:
cert-user-oid = 2.5.4.3
Keresse meg ipv6-networkés töltse ki a kiszolgáló ipv6 blokkját. Ez az a blokk, amelyből a szerver bérleti szerződést ad.
ipv6-network = 2001:0db8:0123:4567::/64
ipv6-subnet-prefix = 124
Állítsa be a DNS-kiszolgálókat.
dns = 8.8.8.8
dns = 8.8.4.4
Kompatibilitás engedélyezése Cisco kliensekkel.
cisco-client-compat = true
Nyissa meg a port beállított tcp-portés udp-portés lehetővé teszi a színészkedést az IPv4 és az IPv6 firewalld.
Indítsa el a szervert.
systemctl enable ocserv
systemctl start ocserv
Tesztidő!
A szerver konfigurálása sikeresen megtörtént. Hozzon létre kapcsolatot az ügyfélben, és csatlakozzon. Ha a dolgok rosszul mennek, használja ezt a parancsot a hibakereséshez:
journalctl -fu ocserv
Az IPv6-nak akkor is működnie kell a kliens oldalon, ha az ügyfélszoftver támogatja az ipv6-ot, még akkor is, ha az ügyfél hálózata nem ad címet. Látogasson el erre az oldalra a teszteléshez.
Minden kész! Élvezze az új AnyConnect-kompatibilis VPN-kiszolgálót!