Parakushtet
Instalimi i softuerit nga ana e serverit
Gjenerimi dhe konfigurimi i certifikatës
Konfigurimi i serverit
Koha e testimit!
AnyConnect është një zgjidhje aksesi në distancë e zhvilluar nga Cisco. I njohur për transportueshmërinë dhe qëndrueshmërinë e tij, veçanërisht aftësinë e tij DTLS, AnyConnect përdoret nga shumë kompani. Ne do të përdorim një version me burim të hapur, ocserv, i cili është në përputhje me protokollin.
Ne gjithashtu do të vendosim verifikimin e certifikatës. Serveri do të identifikojë klientët duke kontrolluar nëse certifikata e klientit është lëshuar nga CA e konfiguruar. Kjo thjeshton shumë konfigurimin tek klientët pasi do të na duhet vetëm të importojmë certifikatën në klient (shumicën e rasteve një skedar pkcs12 ( .pfxose .p12)) dhe nuk kërkohen fjalëkalime. Kjo është gjithashtu më e sigurt pasi asnjë fjalëkalim nuk udhëton nëpër internet.
Le të fillojmë.
Parakushtet
- Një server CentOS 7 i sapokrijuar me IPv6 të aktivizuar
- Një kompjuter që funksionon (mund të jetë vetë serveri; megjithatë i vjetëruar (shih më poshtë)) shih shënimin 1
- Disa klientë me softuerin e klientit AnyConnect (ose OpenConnect) të instaluar, shihni shënimin 2
Shënime:
Megjithëse është e mundur (dhe mjaft e përshtatshme) të bësh gjithçka në server, procesi i vendosjes konsiston në gjenerimin e çelësave privatë të përdorur për nënshkrim dhe për shkak të shqetësimeve të sigurisë, ky proces duhet të bëhet në kompjuterin tuaj.
Për shkak të problemeve me licencimin, nuk do të jap lidhje për të shkarkuar softuerin e klientit. Megjithatë, gjetja e tyre për klientin tuaj është mjaft e lehtë. AnyConnect është një aplikacion në App Stores në platformat kryesore celulare (iOS, Android, BlackBerry OS (v10 ose më lart), respektivisht UWP dhe një kërkim i thjeshtë do t'i sjellë ato tek ju. Për platformat e PC-ve, disa Googling do t'ju prezantojnë softuerin e përshtatshëm.
Instalimi i softuerit nga ana e serverit
Makinat CentOS 7 të Vultr janë konfiguruar me depon e EPEL. Ne thjesht instalojmë ocservme yum:
yum update
yum install ocserv
Do të na duhet një certifikatë serveri që gjërat të funksionojnë. Nëse keni një emër domaini, Let's Encrypt do të jetë zgjidhja më e lehtë.
yum install certbot
certbot certonly
Zgjidhni "rrotullimin e një serveri të përkohshëm ueb" për ta vërtetuar me ACME CA. Nëse nuk keni një domen, një certifikatë e vetë-nënshkruar do të lëshohet më vonë.
Gjenerimi dhe konfigurimi i certifikatës
PKI tradicionale është mjaft i papërshtatshëm për t'u përdorur, kështu që ne do të përdorim easyrsamjetin nga projekti OpenVPN. Instaloni git në makinën tuaj të punës dhe klononi depon:
git clone https://github.com/OpenVPN/easy-rsa
cd easy-rsa/easyrsa3
Ne do të ndërtojmë AK-në dhe do të lëshojmë certifikata. Bëni sa më poshtë dhe shkruani frazën e kalimit PEM që keni vendosur diku:
./easyrsa init-pki
./easyrsa build-ca
Mbajeni pki/private/ca.keydiku të sigurt. Rrjedhja që do ta bëjë të padobishme të gjithë infrastrukturën tuaj.
Nëse zgjidhni të përdorni një certifikatë serveri të vetë-nënshkruar, bëni sa më poshtë:
./easyrsa gen-req server
Dhe futni adresën IP të serverit tuaj si emër të përbashkët.
./easyrsa sign-req server server
Kjo do të nënshkruajë një certifikatë për serverin. Transferimi pki/issued/server.crtdhe pki/ca.crtpër të /etc/ssl/certsdhe pki/private/server.keypër /etc/ssl/privatenë serverin tuaj.
Më pas do të krijojmë certifikata të klientit. Bëni sa vijon:
./easyrsa gen-req client_01
./easyrsa sign-req client client_01
Zgjidhni një emër të klientit dhe plotësoni atë në fushën e emrit të përbashkët. Mbani mend frazën e kalimit!
Më pas do të eksportojmë certifikatën në formatin pkcs12 për përdorim në platformat celulare. Bëj:
./easyrsa export-p12 client_01
Zgjidhni një fjalëkalim eksporti të cilin do t'ju kërkohet të vendosni kur importoni certifikatën në telefon. Transferoni pki/private/client_01.p12në telefonin tuaj dhe importojeni atë.
Konfigurimi i serverit
Ne do të plotësojmë informacionin e certifikatës.
vim /etc/ocserv/ocserv.conf
Gjeni server-certseksionin dhe plotësoni sa vijon:
# 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
Vini re se nëse jeni duke përdorur një certifikatë të vetë-nënshkruar, mos harroni të hiqni fillimisht frazën e kalimit në openssl rsa -in server.key -out server-new.keymënyrë që të ocservmund të përdorni çelësin privat.
Gjeni authseksionin. Aktivizo këtë linjë:
auth = "certificate"
Dhe komentoni të gjitha authrreshtat e tjerë .
Zhkomentoni këtë rresht:
cert-user-oid = 2.5.4.3
Gjeni ipv6-networkdhe plotësoni bllokun ipv6 të serverit tuaj. Ky është blloku nga i cili serveri do të japë qira.
ipv6-network = 2001:0db8:0123:4567::/64
ipv6-subnet-prefix = 124
Vendosni serverët DNS.
dns = 8.8.8.8
dns = 8.8.4.4
Aktivizo pajtueshmërinë me klientët Cisco.
cisco-client-compat = true
Hapni portat që keni vendosur tcp-portdhe udp-portaktivizoni maskaradin si për ipv4 ashtu edhe për ipv6 në murin e zjarrit.
Nisni serverin.
systemctl enable ocserv
systemctl start ocserv
Koha e testimit!
Serveri është konfiguruar me sukses. Krijoni një lidhje në klientin tuaj dhe lidheni. Nëse gjërat shkojnë keq, përdorni këtë komandë për të korrigjuar:
journalctl -fu ocserv
Gjithashtu, IPv6 duhet të funksionojë në anën e klientit nëse softueri i klientit tuaj mbështet ipv6 edhe nëse rrjeti i klientit tuaj nuk ju ofron një adresë. Shkoni në këtë faqe për të provuar.
Të vendosur të gjithë! Shijoni serverin tuaj të ri VPN të përputhshëm me AnyConnect!