Namestitev strežnika VPN, združljivega z AnyConnect, s preverjanjem potrdil na CentOS 7

AnyConnect je rešitev za oddaljeni dostop, ki jo je razvil Cisco. AnyConnect, ki je znan po svoji prenosljivosti in stabilnosti, zlasti po zmožnosti DTLS, uporablja številna podjetja. Uporabili bomo odprtokodno različico ocserv, ki je združljiva s protokolom.

Uvedli bomo tudi preverjanje potrdil. Strežnik bo identificiral odjemalce tako, da preveri, ali je potrdilo odjemalca izdala konfigurirana CA. To močno poenostavi konfiguracijo na odjemalcih, saj bomo morali uvoziti samo potrdilo v odjemalca (največkrat datoteko pkcs12 ( .pfxali .p12)) in gesla niso potrebna. To je tudi bolj varno, saj gesla ne potujejo po internetu.

Začnimo.

Predpogoji

  • Na novo ustvarjen strežnik CentOS 7 z omogočenim IPv6
  • Delovni računalnik (lahko je strežnik sam; vendar je zastarel (glejte spodaj)) glejte opombo 1
  • Nekateri odjemalci z nameščeno odjemalsko programsko opremo AnyConnect (ali OpenConnect) glejte opombo 2

Opombe:

  1. Čeprav je mogoče (in precej priročno) narediti vse na strežniku, je postopek uvajanja sestavljen iz generiranja zasebnih ključev, ki se uporabljajo za podpisovanje, in zaradi varnostnih pomislekov je treba ta postopek izvesti na vašem računalniku.

  2. Zaradi težav z licenciranjem ne bom posredoval povezav za prenos odjemalske programske opreme. Najti jih za svojo stranko je precej enostavno. AnyConnect je aplikacija v trgovinah z aplikacijami na večjih mobilnih platformah (iOS, Android, BlackBerry OS (v10 ali novejši), UWP) in preprosto iskanje vam jih bo prineslo. Za računalniške platforme vam bo nekaj Googlinga predstavilo ustrezno programsko opremo.

Namestitev programske opreme na strani strežnika

Vultrovi stroji CentOS 7 so konfigurirani s skladiščem EPEL. Namestimo samo ocservz yum:

yum update
yum install ocserv

Za delovanje potrebujemo strežniško potrdilo. Če imate ime domene, bo Let's Encrypt najlažja izbira.

yum install certbot
certbot certonly

Za preverjanje pristnosti s ACME CA izberite »zavrti začasni spletni strežnik«. Če nimate domene, bo samopodpisano potrdilo izdano pozneje.

Izdelava in konfiguracija potrdila

Tradicionalni PKI je precej neprijeten za uporabo, zato bomo uporabili easyrsapripomoček iz projekta OpenVPN. Namestite git na vaš delovni stroj in klonirajte repozitorij:

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

Zgradili bomo CA in izdali potrdila. Naredite naslednje in napišite geslo PEM, ki ste ga nekje nastavili:

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

Hranite pki/private/ca.keynekje na varnem. Zaradi puščanja bo celotna vaša infrastruktura neuporabna.

Če se odločite za uporabo samopodpisanega strežniškega potrdila, naredite naslednje:

./easyrsa gen-req server

In vnesite naslov IP vašega strežnika kot običajno ime.

./easyrsa sign-req server server

To bo podpisalo potrdilo za strežnik. Prenos pki/issued/server.crtin pki/ca.crtda /etc/ssl/certsin pki/private/server.keyda /etc/ssl/privatena strežniku.

Nato bomo izdelali potrdila odjemalca. Naredite naslednje:

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

Izberite ime odjemalca in ga izpolnite v polje za skupno ime. Zapomni si geslo!

Nato bomo izvozili potrdilo v formatu pkcs12 za uporabo na mobilnih platformah. Naredite:

./easyrsa export-p12 client_01

Izberite izvozno geslo, ki ga boste morali vnesti ob uvozu potrdila v telefonu. Prenesite pki/private/client_01.p12v telefon in ga uvozite.

Konfiguriranje strežnika

Izpolnili bomo podatke o certifikatu.

vim /etc/ocserv/ocserv.conf

Poiščite server-certrazdelek in izpolnite naslednje:

# 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

Upoštevajte, da če uporabljate samopodpisano potrdilo, ne pozabite najprej odstraniti gesla, openssl rsa -in server.key -out server-new.keytako da ocservlahko uporablja zasebni ključ.

Poiščite authrazdelek. Omogoči to vrstico:

auth = "certificate"

In komentirajte vse druge authvrstice.

Odkomentiraj to vrstico:

cert-user-oid = 2.5.4.3

Poiščite ipv6-networkin izpolnite blok ipv6 vašega strežnika. To je blok, iz katerega bo strežnik dal najem.

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

Nastavite strežnike DNS.

dns = 8.8.8.8
dns = 8.8.4.4

Omogočite združljivost s Ciscovimi odjemalci.

cisco-client-compat = true

Odprite vrata, ki ste jih nastavili v tcp-portin udp-portin omogočiti maškarado tako za IPv4 in IPv6 v firewalld.

Zaženite strežnik.

systemctl enable ocserv
systemctl start ocserv

Testni čas!

Strežnik je bil uspešno konfiguriran. Ustvarite povezavo v odjemalcu in se povežite. Če gre kaj narobe, uporabite ta ukaz za odpravljanje napak:

journalctl -fu ocserv

IPv6 bi moral delovati tudi na strani odjemalca, če vaša odjemalska programska oprema podpira ipv6, tudi če vam odjemalčevo omrežje ne zagotovi naslova. Pojdite na to spletno mesto za testiranje.

Vse nastavljeno! Uživajte v svojem novem strežniku VPN, ki je združljiv z AnyConnect!

CentOS, vodniki za Linux, mreženje

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več