Organizzazzjoni ta' xogħol mill-bogħod ta' organizzazzjoni SMB fuq OpenVPN
Dikjarazzjoni tal-problema
L-artikolu jiddeskrivi l-organizzazzjoni ta 'aċċess mill-bogħod għall-impjegati fuq prodotti ta' sors miftuħ u jista 'jintuża kemm biex tinbena sistema kompletament awtonoma, u se tkun utli għall-espansjoni meta jkun hemm nuqqas ta' liċenzji fis-sistema kummerċjali eżistenti jew il-prestazzjoni tagħha ma tkunx biżżejjed.
L-għan tal-artiklu huwa li timplimenta sistema kompluta biex tipprovdi aċċess mill-bogħod lil organizzazzjoni, li hija ftit aktar minn "installazzjoni ta' OpenVPN f'10 minuti."
Bħala riżultat, se jkollna sistema li fiha ċertifikati u (b'għażla) l-Active Directory korporattiv se jintużaw biex jawtentikaw l-utenti. Dik. se jkollna sistema b'żewġ fatturi ta' verifika - dak li għandi (ċertifikat) u dak li naf (password).
Sinjal li utent huwa permess li jgħaqqad huwa s-sħubija tiegħu fil-grupp myVPNUsr. L-awtorità taċ-ċertifikat se tintuża offline.
L-ispiża tal-implimentazzjoni tas-soluzzjoni hija biss riżorsi ta 'hardware żgħar u siegħa ta' xogħol tal-amministratur tas-sistema.
Se nużaw magna virtwali b'OpenVPN u Easy-RSA verżjoni 3 fuq CetntOS 7, li hija allokata 100 vCPUs u 4 GiB RAM għal kull 4 konnessjoni.
Fl-eżempju, in-netwerk tal-organizzazzjoni tagħna huwa 172.16.0.0/16, li fih is-server VPN bl-indirizz 172.16.19.123 jinsab fis-segment 172.16.19.0/24, servers DNS 172.16.16.16 u 172.16.17.17 u 172.16.20.0 sub. .23/XNUMX huwa allokat għall-klijenti VPN.
Biex tikkonnettja minn barra, tintuża konnessjoni permezz tal-port 1194/udp, u nħoloq A-record gw.abc.ru fid-DNS għas-server tagħna.
Huwa strettament mhux rakkomandat li tiddiżattiva SELinux! OpenVPN jaħdem mingħajr ma jiddiżattiva l-politiki tas-sigurtà.
Aħna nużaw id-distribuzzjoni CentOS 7.8.2003. Għandna bżonn ninstallaw l-OS f'konfigurazzjoni minima. Huwa konvenjenti li tagħmel dan bl-użu kick start, klonazzjoni ta 'immaġni OS installata qabel u mezzi oħra.
Għandna bżonn ukoll niżguraw li s-sinkronizzazzjoni tal-ħin titwettaq fuq il-magna tagħna.
Biex tinstalla s-softwer tal-applikazzjoni, għandek bżonn il-pakketti openvpn, openvpn-auth-ldap, easy-rsa u vim bħala l-editur ewlieni (ser ikollok bżonn ir-repożitorju EPEL).
Il-parametri għall-organizzazzjoni kondizzjonali ABC LLC huma deskritti hawn; tista 'tikkoreġihom għal dawk reali jew tħallihom mill-eżempju. L-iktar ħaġa importanti fil-parametri hija l-aħħar linja, li tiddetermina l-perjodu ta 'validità taċ-ċertifikat f'jiem. L-eżempju juża l-valur 10 snin (365*10+2 snin biżestili). Dan il-valur jeħtieġ li jiġi aġġustat qabel ma jinħarġu ċ-ċertifikati tal-utent.
Is-setup jinkludi l-esportazzjoni ta 'varjabbli, l-inizjalizzazzjoni tas-CA, il-ħruġ taċ-ċavetta u ċ-ċertifikat tal-għerq CA, iċ-ċavetta Diffie-Hellman, iċ-ċavetta TLS, u ċ-ċavetta u ċ-ċertifikat tas-server. Iċ-ċavetta CA trid tkun protetta bir-reqqa u tinżamm sigrieta! Il-parametri kollha tal-mistoqsija jistgħu jitħallew bħala default.
port 1194
proto udp
dev tun
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/myvpngw.crt
key /etc/openvpn/pki/private/myvpngw.key
crl-verify /etc/openvpn/pki/crl.pem
dh /etc/openvpn/pki/dh.pem
server 172.16.20.0 255.255.254.0
ifconfig-pool-persist ipp.txt
push "route 172.16.0.0 255.255.255.0"
push "route 172.17.0.0 255.255.255.0"
client-config-dir ccd
push "dhcp-option DNS 172.16.16.16"
push "dhcp-option DNS 172.16.17.17"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3
explicit-exit-notify 1
username-as-common-name
plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so /etc/openvpn/ldap.conf
Xi noti dwar il-parametri:
jekk kien speċifikat isem differenti meta ħareġ iċ-ċertifikat, indikah;
speċifika l-grupp ta' indirizzi li jixirqu l-kompiti tiegħek*;
jista' jkun hemm rotta waħda jew aktar u servers DNS;
L-aħħar 2 linji huma meħtieġa biex tiġi implimentata l-awtentikazzjoni f'AD**.
* Il-firxa ta 'indirizzi magħżula fl-eżempju se tippermetti sa 127 klijent biex jgħaqqdu simultanjament, minħabba jintgħażel in-netwerk /23, u OpenVPN joħloq subnet għal kull klijent billi juża l-maskra /30.
Jekk ikun partikolarment meħtieġ, il-port u l-protokoll jistgħu jinbidlu, madankollu, wieħed għandu jżomm f'moħħu li t-tibdil tan-numru tal-port tal-port se jinvolvi l-konfigurazzjoni ta 'SELinux, u l-użu tal-protokoll tcp se jżid l-overhead, minħabba li Il-kontroll tal-kunsinna tal-pakketti TCP diġà jitwettaq fil-livell tal-pakketti inkapsulati fil-mina.
**Jekk ma tkunx meħtieġa l-awtentikazzjoni f'AD, ikkummentahom, aqbeż it-taqsima li jmiss, u fil-mudell neħħi l-linja auth-user-pass.
Awtentikazzjoni AD
Biex nappoġġjaw it-tieni fattur, se nużaw il-verifika tal-kont f'AD.
Għandna bżonn kont fid-dominju bid-drittijiet ta 'utent ordinarju u grupp, is-sħubija li tiddetermina l-abbiltà li tikkonnettja.
systemctl status [email protected]
journalctl -xe
cat /var/log/messages
cat /var/log/openvpn/*log
Ħruġ ta' ċertifikat u revoka
Għax Minbarra ċ-ċertifikati nfushom, għandek bżonn ċwievet u settings oħra; huwa konvenjenti ħafna li tkebbeb dan kollu f'fajl wieħed tal-profil. Dan il-fajl imbagħad jiġi trasferit lill-utent u l-profil jiġi importat fuq il-klijent OpenVPN. Biex tagħmel dan, aħna noħolqu mudell tas-settings u skript li jiġġenera l-profil.
Ikollok bżonn iżżid il-kontenut taċ-ċertifikat tal-għeruq (ca.crt) u l-fajls taċ-ċavetta TLS (ta.key) mal-profil.
Qabel ma joħorġu ċertifikati tal-utent tinsiex tistabbilixxi l-perjodu ta' validità meħtieġ għaċ-ċertifikati fil-fajl tal-parametri. M'għandekx tagħmel dan twil wisq; nirrakkomanda li tillimita lilek innifsek għal massimu ta '180 jum.
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>
Noti:
linji poġġi TIEGĦEK... bidla għall-kontenut tagħhom ċertifikati;
F'ambjent korporattiv, x'aktarx ikun hemm subnetting u għandna bżonn ngħidu lir-router(i) kif tibgħat pakketti ddestinati għall-klijenti VPN tagħna. Fuq il-linja tal-kmand aħna tesegwixxi l-kmand bil-mod (skond it-tagħmir użat):
# ip route 172.16.20.0 255.255.254.0 172.16.19.123
u ssalva l-konfigurazzjoni.
Barra minn hekk, fuq l-interface tar-router tal-fruntiera fejn jiġi moqdi l-indirizz estern gw.abc.ru, huwa meħtieġ li jitħalla jgħaddi l-pakketti udp/1194.
F'każ li l-organizzazzjoni jkollha regoli ta 'sigurtà stretti, għandu jiġi kkonfigurat ukoll firewall fuq is-server VPN tagħna. Fl-opinjoni tiegħi, l-akbar flessibilità hija pprovduta billi twaqqaf iptables FORWARD ktajjen, għalkemm it-twaqqif tagħhom huwa inqas konvenjenti. Ftit aktar dwar it-twaqqif tagħhom. Biex tagħmel dan, huwa l-aktar konvenjenti li tuża "regoli diretti" - regoli diretti, maħżuna f'fajl /etc/firewalld/direct.xml. Il-konfigurazzjoni attwali tar-regoli tista 'tinstab kif ġej:
$ sudo firewall-cmd --direct --get-all-rule
Qabel ma tibdel fajl, agħmel kopja ta' backup tiegħu:
Dawn huma essenzjalment regoli iptables regolari, inkella ppakkjati wara l-miġja ta 'firewalld.
L-interface tad-destinazzjoni b'settings default hija tun0, u l-interface esterna għall-mina tista 'tkun differenti, pereżempju, ens192, skont il-pjattaforma użata.
L-aħħar linja hija għall-illoggjar pakketti waqgħu. Biex il-logging jaħdem, għandek bżonn tibdel il-livell tad-debug fil-konfigurazzjoni tal-firewalld:
vim /etc/sysconfig/firewalld
FIREWALLD_ARGS=--debug=2
L-applikazzjoni tas-settings hija l-kmand tas-soltu tal-firewalld biex terġa’ taqra s-settings:
$ sudo firewall-cmd --reload
Tista' tara pakketti mwaqqfa bħal dan:
grep forward_fw /var/log/messages
X'hemm Li jmiss
Dan itemm is-setup!
Kulma jibqa 'huwa li tinstalla s-softwer tal-klijent fuq in-naħa tal-klijent, timporta l-profil u tikkonnettja. Għas-sistemi operattivi Windows, il-kit tad-distribuzzjoni jinsab fuq websajt tal-iżviluppatur.
Fl-aħħarnett, aħna nqabbdu s-server il-ġdid tagħna mas-sistemi ta 'monitoraġġ u arkivjar, u ma ninsewx li jinstallaw aġġornamenti regolarment.