Déanann an t-alt cur síos ar eagrú cianrochtana d’fhostaithe ar tháirgí foinse oscailte agus is féidir é a úsáid chun córas iomlán uathrialach a thógáil, agus beidh sé úsáideach le haghaidh leathnú nuair a bhíonn ganntanas ceadúnas sa chóras tráchtála atá ann cheana féin nó nuair nach leor a fheidhmíocht.
Is é sprioc an ailt ná córas iomlán a chur i bhfeidhm chun cianrochtain a sholáthar d’eagraíocht, rud nach bhfuil ach “OpenVPN a shuiteáil i 10 nóiméad.”
Mar thoradh air sin, gheobhaidh muid córas ina n-úsáidfear deimhnithe agus (go roghnach) an Eolaire Gníomhach corparáideach chun úsáideoirí a fhíordheimhniú. Sin. gheobhaidh muid córas le dhá fhachtóir fíoraithe - an méid atá agam (teastas) agus a bhfuil ar eolas agam (focal faire).
Comhartha go bhfuil cead ag úsáideoir ceangal is ea a bhallraíocht sa ghrúpa myVPNUsr. Úsáidfear an t-údarás deimhniúcháin as líne.
Is é an costas a bhaineann leis an réiteach a chur i bhfeidhm ach acmhainní crua-earraí beaga agus 1 uair an chloig d'obair riarthóir an chórais.
Úsáidfimid meaisín fíorúil le OpenVPN agus Easy-RSA leagan 3 ar CetntOS 7, a leithdháiltear 100 vCPU agus 4 GiB RAM in aghaidh an 4 nasc.
Sa sampla, is é 172.16.0.0/16 líonra ár n-eagraíochta, ina bhfuil an freastalaí VPN leis an seoladh 172.16.19.123 suite sa deighleog 172.16.19.0/24, freastalaithe DNS 172.16.16.16 agus 172.16.17.17 agus 172.16.20.0. Leithdháiltear .23/XNUMX do chliaint VPN .
Chun nascadh ón taobh amuigh, úsáidtear nasc trí phort 1194/udp, agus cruthaíodh A-taifead gw.abc.ru sa DNS dár bhfreastalaí.
Ní mholtar go docht SELinux a dhíchumasú! Oibríonn OpenVPN gan polasaithe slándála a dhíchumasú.
Bainimid úsáid as an dáileadh CentOS 7.8.2003. Ní mór dúinn an OS a shuiteáil i gcumraíocht íosta. Tá sé áisiúil é seo a dhéanamh ag baint úsáide as tús cic, íomhá OS a suiteáladh roimhe seo agus modhanna eile a chlónáil.
Tar éis é a shuiteáil, ag sannadh seoladh chuig an gcomhéadan líonra (de réir théarmaí tasc 172.16.19.123), déanaimid an OS a nuashonrú:
$ sudo yum update -y && reboot
Ní mór dúinn a chinntiú freisin go ndéantar sioncrónú ama ar ár meaisín.
Chun bogearraí feidhmchláir a shuiteáil, beidh na pacáistí openvpn, openvpn-auth-ldap, easy-rsa agus vim mar phríomheagarthóir uait (beidh an stór EPEL uait).
Tá cur síos anseo ar pharaiméadair na heagraíochta coinníollach ABC LLC; is féidir leat iad a cheartú go dtí na cinn réadacha nó iad a fhágáil ón sampla. Is é an rud is tábhachtaí sna paraiméadair an líne dheireanach, a chinneann tréimhse bailíochta an deimhnithe i laethanta. Úsáideann an sampla an luach 10 mbliana (365*10+2 bhliain léime). Ní mór an luach seo a choigeartú sula n-eiseofar deimhnithe úsáideora.
Ansin, déanaimid údarás deimhniúcháin uathrialach a chumrú.
Áirítear leis an socrú athróga easpórtála, an CA a thúsú, eochair fhréamh agus teastas CA a eisiúint, eochair Diffie-Hellman, eochair TLS, agus eochair agus teastas freastalaí. Ní mór an eochair CA a chosaint go cúramach agus a choinneáil faoi rún! Is féidir paraiméadair na gceisteanna go léir a fhágáil mar réamhshocrú.
Críochnaíonn sé seo an phríomhchuid de bhunú na meicníochta cripteagrafach.
Socrú OpenVPN
Téigh chuig an eolaire OpenVPN, cruthaigh eolairí seirbhíse agus cuir nasc chuig easy-rsa:
cd /etc/openvpn/
mkdir /var/log/openvpn/ /etc/openvpn/ccd /usr/share/easy-rsa/3/client
ln -s /usr/share/easy-rsa/3/pki/ /etc/openvpn/
Cruthaigh an príomhchomhad cumraíochta OpenVPN:
$ sudo vim server.conf
ábhar seo a leanas
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
Roinnt nótaí ar na paraiméadair:
má sonraíodh ainm difriúil agus an deimhniú á eisiúint, cuir in iúl é;
sonraigh an líon seoltaí a oireann do do thascanna*;
is féidir bealach amháin nó níos mó agus freastalaithe DNS a bheith ann;
Tá an dá líne dheireanacha ag teastáil chun fíordheimhniú a chur i bhfeidhm in AD**.
*Ceadóidh raon na seoltaí a roghnaítear sa sampla suas le 127 cliant nascadh go comhuaineach, mar gheall ar roghnaítear an líonra /23, agus cruthaíonn OpenVPN folíon do gach cliant ag baint úsáide as an masc /30.
Más gá go háirithe, is féidir an calafort agus an prótacal a athrú, áfach, ba cheart a mheabhrú go mbeidh sé i gceist SELinux a chumrú trí uimhir an chalafoirt a athrú, agus go n-ardóidh úsáid an phrótacail tcp lastuas, mar gheall ar Déantar rialú seachadta paicéid TCP cheana féin ag leibhéal na bpaicéad atá cuimsithe sa tollán.
**Mura bhfuil fíordheimhniú in AD ag teastáil, déan trácht orthu, léim thar an gcéad chuid eile agus sa teimpléad bain an t-údar-úsáideoir-pas líne.
AD Fíordheimhniú
Chun tacú leis an dara fachtóir, úsáidfimid fíorú cuntais in AD.
Ní mór dúinn cuntas sa bhfearann le cearta an ghnáthúsáideoir agus grúpa, ballraíocht a chinnfidh an cumas chun nascadh.
systemctl status [email protected]
journalctl -xe
cat /var/log/messages
cat /var/log/openvpn/*log
Deimhniú a eisiúint agus a chúlghairm
Mar Chomh maith leis na deimhnithe féin, tá eochracha agus socruithe eile de dhíth ort; tá sé an-áisiúil é seo go léir a fhilleadh in aon chomhad próifíle amháin. Aistrítear an comhad seo chuig an úsáideoir ansin agus allmhairítear an phróifíl ar an gcliant OpenVPN. Chun seo a dhéanamh, cruthóimid teimpléad socruithe agus script a ghineann an phróifíl.
Ní mór duit inneachar na gcomhad teastas fréimhe (ca.crt) agus eochair TLS (ta.key) a chur leis an bpróifíl.
Sula n-eisítear deimhnithe úsáideora ná déan dearmad an tréimhse bailíochta is gá a shocrú le haghaidh deimhnithe sa chomhad paraiméadair. Níor cheart duit é a dhéanamh ró-fhada; molaim duit féin a theorannú go dtí 180 lá ar a mhéad.
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>
Nótaí:
línte CUIR DO... athrú ar ábhar féin teastais ;
sa chiantreoir, sonraigh ainm/seoladh do gheata;
baintear úsáid as an treoir um pas úsáideora úsáideora le haghaidh fíordheimhnithe seachtrach breise.
San eolaire baile (nó áit áisiúil eile) cruthaímid script chun teastas a iarraidh agus chun próifíl a chruthú:
vim ~/make.profile.sh
#!/bin/bash
if [ -z "$1" ] ; then
echo Missing mandatory client name. Usage: $0 vpn-username
exit 1
fi
#Set variables
basepath=/usr/share/easy-rsa/3
clntpath=$basepath/client
privpath=$basepath/pki/private
certpath=$basepath/pki/issued
profile=$clntpath/$1.ovpn
#Get current year and lowercase client name
year=`date +%F`
client=${1,,}
echo Processing $year year cert for user/device $client
cd $basepath
if [ -f client/$client* ]; then
echo "*** ERROR! ***"
echo "Certificate $client already issued!"
echo "*** ERROR! ***"
exit 1
fi
. ./vars
./easyrsa --batch --req-cn=$client gen-req $client nopass
./easyrsa --batch sign-req client $client
#Make profile
cp $clntpath/template.ovpn $profile
echo "<key>" >> $profile
cat $privpath/$1.key >> $profile
echo "</key>" >> $profile
echo -e "n" >> $profile
openssl x509 -in $certpath/$1.crt -out $basepath/$1.crt
echo "<cert>" >> $profile
cat $basepath/$1.crt >> $profile
echo "</cert>" >> $profile
echo -e "n" >> $profile
#remove tmp file
rm -f $basepath/$1.crt
echo Complete. See $profile file.
cd ~
An comhad a dhéanamh inrite:
chmod a+x ~/make.profile.sh
Agus is féidir linn ár gcéad deimhniú a eisiúint.
~/make.profile.sh my-first-user
Aiseolas
I gcás comhréitigh ar dheimhniú (caillteanas, goid), is gá an deimhniú seo a chúlghairm:
cd /usr/share/easy-rsa/3/
./easyrsa revoke my-first-user
./easyrsa gen-crl
Féach ar dheimhnithe eisithe agus cúlghairthe
Chun féachaint ar dheimhnithe eisithe agus cúlghairthe, níl le déanamh ach féachaint ar an gcomhad innéacs:
cd /usr/share/easy-rsa/3/
cat pki/index.txt
Míniú:
is é an chéad líne an deimhniú freastalaí;
chéad charachtar
V (Bailí) - bailí;
R (Cúlghairm) - Meabhraítear.
Cumraíocht líonra
Is iad na céimeanna deiridh ná an líonra tarchurtha a chumrú - ródú agus ballaí dóiteáin.
I dtimpeallacht chorparáideach, is dócha go mbeidh folíonta ann agus ní mór dúinn a insint don ródaire(í) conas paicéid a sheoladh chuig ár gcliaint VPN. Ar an líne ordaithe déanaimid an t-ordú ar an modh (ag brath ar an trealamh a úsáidtear):
# ip route 172.16.20.0 255.255.254.0 172.16.19.123
agus an chumraíocht a shábháil.
Ina theannta sin, ar an gcomhéadan ródaire teorann ina bhfreastalaítear ar an seoladh seachtrach gw.abc.ru, is gá pas a fháil ar phaicéid udp/1194 a cheadú.
I gcás go bhfuil rialacha dochta slándála ag an eagraíocht, ní mór balla dóiteáin a chumrú ar ár bhfreastalaí VPN freisin. Is é mo thuairim go soláthraítear an tsolúbthacht is mó trí slabhraí iptables FORWARD a bhunú, cé nach bhfuil sé chomh áisiúil iad a shocrú. Beagán níos mó faoi iad a shocrú. Chun seo a dhéanamh, is áisiúla "rialacha díreacha" a úsáid - rialacha díreacha, a stóráiltear i gcomhad /etc/firewalld/direct.xml. Is féidir cumraíocht reatha na rialacha a fháil mar seo a leanas:
Is rialacha rialta iptables iad seo go bunúsach, a phacáistiú ar bhealach eile tar éis teacht ar bhalla dóiteáin.
Is é an comhéadan ceann scríbe le socruithe réamhshocraithe tun0, agus d'fhéadfadh an comhéadan seachtrach don tollán a bheith difriúil, mar shampla, ens192, ag brath ar an ardán a úsáidtear.
Is é an líne dheireanach ná paicéid thit a logáil. Chun logáil chun oibre, ní mór duit an leibhéal dífhabhtaithe i gcumraíocht balla dóiteáin a athrú:
vim /etc/sysconfig/firewalld
FIREWALLD_ARGS=--debug=2
Is é an gnáthordú balla dóiteáin é socruithe a chur i bhfeidhm chun na socruithe a athléamh:
$ sudo firewall-cmd --reload
Is féidir leat paicéid thit mar seo a fheiceáil:
grep forward_fw /var/log/messages
Cad atá ar Aghaidh
Críochnaíonn sé seo an socrú!
Níl fágtha ach na bogearraí cliant a shuiteáil ar thaobh an chliaint, an phróifíl a allmhairiú agus a nascadh. I gcás córais oibriúcháin Windows, tá an trealamh dáileacháin suite ar suíomh forbróra.
Ar deireadh, nascaimid ár bhfreastalaí nua leis na córais monatóireachta agus cartlannaithe, agus ná déan dearmad nuashonruithe a shuiteáil go rialta.