SMB erakunde baten urrutiko lanaren antolaketa OpenVPNn
Arazoaren formulazioa
Artikuluak kode irekiko produktuetan langileen urruneko sarbidearen antolaketa deskribatzen du eta sistema guztiz autonomo bat eraikitzeko erabil daiteke, eta zabaltzeko baliagarria izango da indarrean dagoen sistema komertzialean lizentzia eskasia dagoenean edo bere errendimendua nahikoa ez denean.
Artikuluaren helburua erakunde bati urruneko sarbidea emateko sistema oso bat ezartzea da, hau da, "OpenVPN 10 minututan instalatzea" baino.
Ondorioz, erabiltzaileak autentifikatzeko ziurtagiriak eta (aukeran) Active Directory korporatiboa erabiliko diren sistema bat lortuko dugu. Hori. bi egiaztapen-faktore dituen sistema bat lortuko dugu: dudana (ziurtagiria) eta dakidana (pasahitza).
Erabiltzaile bati konektatzeko baimena duen seinale bat myVPNUsr taldeko kide izatea da. Autoritate ziurtagiri-emailea lineaz kanpo erabiliko da.
Irtenbidea ezartzearen kostua hardware-baliabide txikiak eta sistema-administratzailearen orduko lana baino ez dira.
Makina birtual bat erabiliko dugu OpenVPN eta Easy-RSA 3. bertsioarekin CetntOS 7n, 100 vCPU eta 4 GiB RAM esleituta dituen 4 konexio bakoitzeko.
Adibidean, gure erakundearen sarea 172.16.0.0/16 da, eta bertan 172.16.19.123 helbidea duen VPN zerbitzaria 172.16.19.0/24 segmentuan dago, DNS zerbitzariak 172.16.16.16 eta 172.16.17.17 eta 172.16.20.0, eta 23 azpi-sarea. .XNUMX/XNUMX VPN bezeroentzat esleitzen da.
Kanpotik konektatzeko, 1194/udp atakaren bidezko konexioa erabiltzen da, eta A-record gw.abc.ru DNSn sortu da gure zerbitzariarentzat.
Ez da gomendagarria SELinux desgaitzea! OpenVPN-k segurtasun-politikak desgaitu gabe funtzionatzen du.
CentOS 7.8.2003 banaketa erabiltzen dugu. OSa konfigurazio minimo batean instalatu behar dugu. Erosoa da hau erabiltzea kickstart, aurretik instalatutako OS irudi bat eta beste baliabide batzuk klonatzea.
Instalatu ondoren, sareko interfazeari helbide bat esleitu ondoren (172.16.19.123 atazaren baldintzen arabera), OS eguneratzen dugu:
$ sudo yum update -y && reboot
Gure makinan denbora sinkronizazioa egiten dela ere ziurtatu behar dugu.
Aplikazio softwarea instalatzeko, openvpn, openvpn-auth-ldap, easy-rsa eta vim paketeak behar dituzu editore nagusi gisa (EPEL biltegia beharko duzu).
ABC LLC baldintzapeko erakundearen parametroak deskribatzen dira hemen; benetakoetara zuzendu ditzakezu edo adibidetik utzi. Parametroetan garrantzitsuena azken lerroa da, ziurtagiriaren balio-epea egunetan zehazten duena. Adibideak 10 urte balioa erabiltzen du (365*10+2 bisurte). Balio hori egokitu egin beharko da erabiltzailearen ziurtagiriak eman aurretik.
Ondoren, ziurtapen-agintari autonomo bat konfiguratuko dugu.
Konfigurazioak aldagaiak esportatzea, CA hasieratzea, CA erro-gakoa eta ziurtagiria, Diffie-Hellman gakoa, TLS gakoa eta zerbitzariaren gakoa eta ziurtagiria igortzea barne hartzen ditu. CA gakoa arretaz babestu eta isilpean gorde behar da! Kontsulta-parametro guztiak lehenetsi gisa utz daitezke.
ibilbide eta DNS zerbitzari bat edo gehiago egon daitezke;
Azken 2 lerroak behar dira AD** autentifikazioa ezartzeko.
*Adibidean aukeratutako helbide sortak 127 bezero aldi berean konektatzeko aukera emango du, zeren /23 sarea hautatzen da, eta OpenVPN-k bezero bakoitzarentzat azpisare bat sortzen du /30 maskara erabiliz.
Bereziki beharrezkoa bada, ataka eta protokoloa alda daitezke, hala ere, kontuan izan behar da portuaren ataka-zenbakia aldatzeak SELinux konfiguratzea ekarriko duela, eta tcp protokoloa erabiltzeak gainkostua handituko duelako. TCP paketeen bidalketa kontrola dagoeneko egiten da tunelean kapsulatutako paketeen mailan.
**ADn autentifikazioa behar ez bada, iruzkin itzazu, saltatu hurrengo atala eta txantiloian kendu auth-user-pass lerroa.
AD autentifikazioa
Bigarren faktorea onartzeko, kontuaren egiaztapena erabiliko dugu ADn.
Erabiltzaile arrunt baten eta talde baten eskubideak dituen domeinuko kontu bat behar dugu, zeinaren kidetasunak konektatzeko gaitasuna zehaztuko duen.
systemctl status [email protected]
journalctl -xe
cat /var/log/messages
cat /var/log/openvpn/*log
Ziurtagiria ematea eta baliogabetzea
Zeren Ziurtagiriez gain, gakoak eta bestelako ezarpenak behar dituzu; oso erosoa da hori guztia profil fitxategi batean biltzea. Ondoren, fitxategi hau erabiltzaileari transferitzen zaio eta profila OpenVPN bezeroan inportatzen da. Horretarako, ezarpenen txantiloia eta profila sortzen duen script bat sortuko dugu.
Erro ziurtagiriaren (ca.crt) eta TLS gako (ta.key) fitxategien edukia gehitu behar duzu profilera.
Erabiltzaile-ziurtagiriak eman aurretik ez ahaztu ziurtagiriei behar den balio-epea ezartzea parametroen fitxategian. Ez zenuke luzeegi egin behar; gehienez 180 egunetara mugatzea gomendatzen dut.
vim /usr/share/easy-rsa/3/vars
...
export EASYRSA_CERT_EXPIRE=180
vim /usr/share/easy-rsa/3/client/template.ovpn
client
dev tun
proto udp
remote gw.abc.ru 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
verb 3
auth-user-pass
<ca>
-----BEGIN CERTIFICATE-----
PUT YOUR CA CERT (ca.crt) HERE
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
PUT YOUR TA KEY (ta.key) HERE
-----END OpenVPN Static key V1-----
</tls-auth>
Oharrak:
lerroak JARRI ZURE... edukia aldatzea haien ziurtagiriak;
Ingurune korporatiboan, litekeena da azpisareak egotea eta bideratzaileei esan behar diegu nola bidali gure VPN bezeroei zuzendutako paketeak. Komando-lerroan komandoa honela exekutatzen dugu (erabilitako ekipoaren arabera):
# ip route 172.16.20.0 255.255.254.0 172.16.19.123
eta gorde konfigurazioa.
Gainera, gw.abc.ru kanpoko helbidea zerbitzatzen den mugako bideratzailearen interfazean, beharrezkoa da udp/1194 paketeen igarotzea baimentzea.
Erakundeak segurtasun arau zorrotzak baditu, firewall bat ere konfiguratu behar da gure VPN zerbitzarian. Nire ustez, malgutasun handiena iptables FORWARD kateak ezartzeak ematen du, horiek konfiguratzea ez hain erosoa den arren. Horiek konfiguratzeari buruz apur bat gehiago. Horretarako, erosoena da "zuzeneko arauak" erabiltzea - ββzuzeneko arauak, fitxategi batean gordeta /etc/firewalld/direct.xml. Arauen egungo konfigurazioa honela aurki daiteke:
$ sudo firewall-cmd --direct --get-all-rule
Fitxategi bat aldatu aurretik, egin haren babeskopia:
Hauek, funtsean, iptables arau erregularrak dira, bestela firewalld-en etorreraren ondoren paketatuta.
Ezarpen lehenetsiak dituen helburuko interfazea tun0 da, eta tunelaren kanpoko interfazea desberdina izan daiteke, adibidez, ens192, erabilitako plataformaren arabera.
Azken lerroa botatako paketeak erregistratzeko da. Saioak funtziona dezan, suebakiaren konfigurazioan arazketa-maila aldatu behar duzu:
vim /etc/sysconfig/firewalld
FIREWALLD_ARGS=--debug=2
Ezarpenak aplikatzea ohiko firewalld komandoa da ezarpenak berriro irakurtzeko:
$ sudo firewall-cmd --reload
Jauzitako paketeak honela ikus ditzakezu:
grep forward_fw /var/log/messages
Zer da hurrengoa
Honek konfigurazioa osatzen du!
Bakarrik geratzen da bezeroaren softwarea bezero aldean instalatzea, profila inportatzea eta konektatzea. Windows sistema eragileetarako, banaketa-kit bat dago garatzaileen gunea.
Azkenik, gure zerbitzari berria monitorizazio- eta artxibo-sistemetara konektatzen dugu, eta ez dugu ahaztu aldian-aldian eguneraketak instalatzea.