áúðчðть - Xakep Online
áúðчðть - Xakep Online
áúðчðть - Xakep Online
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
[XÀÊÅÐ 11 [83] 05 > PC_ZONE 038]<br />
Âñå îñòàëüíûå ïàðàìåòðû â ñëó÷àå Windows íåàêòóàëüíû, ïîñêîëüêó çàäàþòñÿ<br />
ñ ïîìîùüþ âèðòóàëüíîãî ñåòåâîãî ñîåäèíåíèÿ, êîòîðûì ìû ñåé-<br />
÷àñ è çàéìåìñÿ. Îòêðîé «Ñåòåâûå ïîäêëþ÷åíèÿ» è ñðàçó ïåðåõîäè â<br />
ñâîéñòâà TCP/IP âèðòóàëüíîãî àäàïòåðà. Ñàìîå âàæíî çäåñü — óñòàíîâèòü<br />
íà êàæäîì êîìïüþòåðå ìàñêó ïîäñåòè — 255.255.0.0. Âûáîð IP-àäðåñîâ<br />
íå ñòîëü êðèòè÷åí, ïðîñòî âûáåðè èõ èç ñîîòâåòñòâóþùèõ ïîäñåòåé<br />
(äëÿ home — 192.168.0.*, äëÿ office — 192.168.1.*).<br />
Êàçàëîñü áû, âñå — ìîæíî çàïóñêàòü tinc íà âñåõ ìàøèíàõ è íà÷èíàòü<br />
ðàáîòàòü. À âîò è íåò! Äëÿ ïîëíîöåííîé ðàáîòû VPN è øèôðîâàíèÿ òðàôèêà<br />
íåîáõîäèìî íàëè÷èå äâóõ êëþ÷åé: îòêðûòîãî è çàêðûòîãî. Ñãåíåðèðîâàòü<br />
òàêèå êëþ÷è ìîæíî êîìàíäîé:<br />
tincd -K<br />
Tincd ñîçäàñò 2 1024-áèòíûõ êëþ÷à è ñïðîñèò, êóäà èõ ñëåäóåò ñîõðàíèòü.<br />
Ïðîãðàììîé òàêæå áóäóò ïðåäëîæåíû ïóòè ïî óìîë÷àíèþ, è ñ íèìè<br />
âïîëíå ìîæíî ñîãëàñèòüñÿ. Äëÿ ýòîãî äîñòàòî÷íî äâàæäû íàæàòü íà<br />
êëàâèøó . Â ðåçóëüòàòå èìååì äâà ôàéëà rsa_key.pub,<br />
rsa_key.priv. Çàêðûòûé êëþ÷ (rsa_key.priv) îñòàåòñÿ íà ñåðâåðíîé ìàøèíå,<br />
â òî âðåìÿ êàê îòêðûòûé (rsa_key.pub) ðàñïðîñòðàíÿåòñÿ âñåì äîâåðåííûì<br />
ëèöàì, òî åñòü êëèåíòàì (èäåíòèôèêàöèÿ êëèåíòîâ îñóùåñòâëÿåòñÿ<br />
ïî îòêðûòîìó êëþ÷ó). Èòàê, ïàðàìåòðû ñîåäèíåíèÿ îáîçíà÷åíû,<br />
êëþ÷è ðàçîñëàíû — ìîæíî ïîäíèìàòü ñîåäèíåíèå. Äëÿ ýòîãî çàïóñêàé<br />
íà îáåèõ ìàøèíàõ äåìîí tincd.exe è æäè, ïîêà ìàøèíû ñîåäèíÿòñÿ äðóã<br />
ñ äðóãîì. Ïðîöåññ íå çàéìåò ìíîãî âðåìåíè, è î÷åíü ñêîðî òû áóäåøü<br />
íàñëàæäàòüñÿ ðåçóëüòàòîì. :) Êñòàòè ãîâîðÿ, ïîñëå ïåðâîãî çàïóñêà tinc<br />
àâòîìàòè÷åñêè ïðîïèøåò ñåáÿ â ñåðâèñû è áóäåò àâòîìàòè÷åñêè çàïóñêàòüñÿ<br />
âî âðåìÿ çàïóñêà Windows.<br />
[çíàêîìñòâî ñ OpenVPN] Tinc — ýòî, áåçóñëîâíî, îòëè÷íàÿ, íî ïîêà<br />
åùå äîâîëüíî ýêçîòè÷åñêàÿ ðåàëèçàöèÿ VPN. Çíà÷èòåëüíî áîëüøåå<br />
ðàñïðîñòðàíåíèå ïîëó÷èëà ñèñòåìà OpenVPN. Òû íàâåðíÿêà âñòðå÷àë<br />
åå íàçâàíèå â èíåòå è íà ñòðàíèöàõ íàøåãî æóðíàëà — ýòî ëó÷øåå äîêàçàòåëüñòâî<br />
ìîèõ ñëîâ. Íàäî ñêàçàòü, ÷òî ñëàâó îíà çàñëóæèëà íå ñëó-<br />
÷àéíî. Ýòî âîèñòèíó î÷åíü ìîùíàÿ è íàäåæíàÿ ðåàëèçàöèÿ VPN SSL ñîåäèíåíèé.<br />
OpenVPN èìååò äâà ðåæèìà çàùèòû. Ïåðâûé áàçèðóåòñÿ íà<br />
SSL/TLS òåõíîëîãèÿõ ñ èñïîëüçîâàíèåì ñåðòèôèêàòîâ è êëþ÷åé. Âòîðîé<br />
— íà èñïîëüçîâàíèè ñòàòè÷åñêèõ êëþ÷åé. ß ðàññìîòðþ âòîðîé âàðèàíò<br />
êàê íàèáîëåå ïðîñòîé. Îäíàêî âàðèàíò ñ SSL-ñåðòèôèêàòàìè íè â êîåì<br />
ñëó÷àå íå ñòîèò ñáðàñûâàòü ñî ñ÷åòîâ, òàê êàê îí ñ÷èòàåòñÿ áîëåå áåçîïàñíûì.<br />
Îñòàâèì åãî äëÿ ñàìîñòîÿòåëüíîãî îñâîåíèÿ.  êà÷åñòâå ïðèìåðà<br />
ìû âîçüìåì äîâîëüíî òðèâèàëüíóþ çàäà÷ó. ß ïðåäëàãàþ ðàññìîòðåòü<br />
ñëó÷àé, êîãäà òðåáóåòñÿ íàëàäèòü øèôðîâàííûé êàíàë ñâÿçè ìåæäó<br />
äâóìÿ óçëàìè Èíòåðíåòà èëè ëîêàëüíîé ñåòè. Íàäî ñêàçàòü, ÷òî ýòî<br />
íàèáîëåå ÷àñòàÿ ñèòóàöèÿ.<br />
[óñòàíîâêà äåìîíà] Êàê ïîëàãàåòñÿ, íà÷íåì ñ ïðîöåññà óñòàíîâêè<br />
ïðîãðàììû, êîòîðûé ñîâåðøåííî èäåíòè÷åí êàê äëÿ ñåðâåðíîé, òàê è<br />
êëèåíòñêîé ñòîðîíû. Äèñòðèáóòèâ OpenVPN ðàñïðîñòðàíÿåòñÿ â âèäå<br />
îáû÷íîãî èñïîëíÿåìîãî ôàéëà, ïîýòîìó åäèíñòâåííîå, ÷òî îò òåáÿ òðåáóåòñÿ,<br />
— çàïóñòèòü åãî è ñëåäîâàòü èíñòðóêöèÿì ìàñòåðà. Äëÿ óäîáñòâà<br />
äàëüíåéøåé íàñòðîéêè ïðîãðàììó<br />
ëó÷øå áóäåò óñòàíîâèòü íå<br />
â äèðåêòîðèþ, ïðåäëîæåííóþ óñòàíîâùèêîì<br />
ïî óìîë÷àíèþ, à â<br />
ïàïêó c:\OpenVPN. Åñëè âî âðåìÿ<br />
óñòàíîâêè ïîÿâÿòñÿ îêíà îá óñòàíîâêå<br />
íîâîãî îáîðóäîâàíèÿ, íå ïóãàéñÿ.<br />
Äåëî â òîì, ÷òî OpenVPN<br />
ïðîïèøåò â ñèñòåìó äðàéâåð äëÿ<br />
âèðòóàëüíîãî ñåòåâîãî àäàïòåðà<br />
— TAP-Win32 Adapter V8. Òî÷íî òàêîãî<br />
æå, êàê è â ñëó÷àå óñòàíîâêà OpenVPN<br />
tinc.<br />
çàïóñê OpenVPN. Ñâÿçü óñòàíîâëåíà<br />
Ïîñëå çàâåðøåíèÿ óñòàíîâêè ïðèëîæåíèÿ, ïåðåõîäè â «Ñåòåâûå ïîäêëþ-<br />
÷åíèÿ» è íàéäè òàì òîëüêî ÷òî ñîçäàííîå ïîäêëþ÷åíèå. Îíî ñðàçó áðîñèòñÿ<br />
òåáå â ãëàçà áëàãîäàðÿ íàäïèñè «Ñåòåâîé êàáåëü íå ïîäêëþ÷åí». Íàñ<br />
áóäóò èíòåðåñîâàòü íàñòðîéêè ïðîòîêîëà TCP/IP, â êîòîðûõ íåîáõîäèìî<br />
óêàçàòü óíèêàëüíûå ïîäñåòü è ìàñêó ïîäñåòè äëÿ íàøåé âèðòóàëüíîé ñåòè.<br />
Ïóñêàé ýòî áóäóò ïîäñåòü 10.3.0.1/24 è ìàñêà ïîäñåòè 255.255.255.0. Ñîîòâåòñòâåííî,<br />
íà îäíîé èç ìàøèí â êà÷åñòâå IP-àäðåñà ìû óêàçûâàåì<br />
10.3.0.1, à íà äðóãîé — 10.3.0.2 (âûáîð IP-àäðåñîâ ïðîèçâîëåí, ãëàâíîå,<br />
÷òîáû îíè «ïîïàëè» â âûáðàííóþ íàìè ïîäñåòü). Ìàñêà ïîäñåòè â îáîèõ<br />
ñëó÷àÿõ îäèíàêîâà — 255.255.255.0. Åùå ðàç àêöåíòèðóþ âíèìàíèå, ÷òî<br />
âûáðàííàÿ ïîäñåòü íå äîëæíà èñïîëüçîâàòüñÿ â ðåàëüíîé ëîêàëüíîé ñåòè.<br />
 ïðîòèâíîì ñëó÷àå VPN-ñîåäèíåíèå òû óñòàíîâèòü íå ñìîæåøü!<br />
Òåïåðü íóæíî ñãåíåðèðîâàòü ñòàòè÷åñêèé êëþ÷, êîòîðûé áóäåò èñïîëüçîâàòüñÿ<br />
äëÿ øèôðîâàíèÿ òðàôèêà. Äëÿ ýòîãî â êîìàíäíîé ñòðîêå íàáåðè êîìàíäó:<br />
C:\OpenVPN>openvpn.exe --pause-exit --verb 3 --genkey --secret<br />
«C:\OpenVPN\config\key.txt"<br />
OpenVPN ïðàêòè÷åñêè ìãíîâåííî ñîçäàñò 2048-áèòíûé êëþ÷ è ïîìåñòèò<br />
åãî â ôàéë key.txt. Ýòîò êëþ÷ íåîáõîäèìî ïî áåçîïàñíîìó êàíàëó ïåðåäàòü<br />
íà óäàëåííûé ñåðâåð. Âàðèàíòîâ çäåñü ìíîãî: ìîæíî, íàïðèìåð,<br />
ïðèíåñòè åãî òóäà íà äèñêåòå :).<br />
Çàêîí÷èâ ñ êëþ÷àìè, ïðèñòóïàåì ê êîíôèãóðàöèîííûì ôàéëàì, ïðèìåð<br />
êîòîðûõ ðàçðàáîò÷èêè ëþáåçíî âûëîæèëè â ïàïêå c:\OpenVPN\sampleconfig\sample.ovpn.<br />
Íà÷èíàòü íóæíî ñ òîãî, ÷òî ýòîò ôàéë ïåðåèìåíîâàòü<br />
â config.ovpn è ïåðåìåñòèòü â äèðåêòîðèþ c:\OpenVPN\config. Ïîñëå ýòîãî<br />
îòêðîé åãî â òåêñòîâîì ðåäàêòîðå è ïðèñòóïàé ê ðåäàêòèðîâàíèþ:<br />
remote <br />
# Ïàðàìåòð óêàçûâàåò ðåàëüíûé IP-àäðåñ óäàëåííîãî êîìïüþòåðà,<br />
ê êîòîðîìó áóäåò îñóùåñòâëÿòüñÿ ïîäêëþ÷åíèå.<br />
dev tap<br />
# Òàê íàçûâàåì òèï èíòåðôåéñà. OpenVPN ïîääåðæèâàåò íåñêîëüêî<br />
âàðèàöèé, íî â íàøåì ñëó÷àåì íàì èíòåðåñåí èìåííî dev tap<br />
ifconfig 10.3.0.1 255.255.255.0<br />
# IP-àäðåñ è ìàñêè ïîäñåòè, óêàçàííûå ñ ïîìîùüþ ýòîãî ïàðàìåòðà,<br />
áóäóò ïðèñâîåíû äàííîìó êîìïüþòåðó ïî VPN-ñîåäèíåíèþ.<br />
secret c:\\openvpn\\config\\key.txt<br />
# Àáñîëþòíûé ïóòü äî ôàéëà, ñîäåðæàùåãî êëþ÷. Îáðàòè âíèìàíèå<br />
íà äâîéíûå ñëýøè!<br />
ping 10<br />
# Ïàðàìåòð ping óêàçûâàåò íà òî, ÷òî óäàëåííûé êîìïüþòåð êàæäûå<br />
äåñÿòü ñåêóíä áóäåò îïðàøèâàòüñÿ ñïåöèàëüíûì ping-ïàêåòîì äëÿ<br />
ïðîâåðêè ñîåäèíåíèÿ.<br />
verb 3<br />
# Óðîâåíü äåòàëèçàöèè log-ôàéëîâ (ìîæåò ïðèíèìàòü çíà÷åíèÿ îò 0 äî 9)<br />
mute 10<br />
comp-lzo<br />
# Ðàçðåøàåì êîìïðåññèþ òðàôèêà<br />
Íà äðóãîé ìàøèíå ýòîò ôàéë áóäåò èìåòü ñëåäóþùèé âèä:<br />
remote <br />
dev tap<br />
ifconfig 10.3.0.2 255.255.255.0<br />
secret c:\\openvpn\\config\\key.txt<br />
ping 10<br />
verb 3<br />
mute 10<br />
comp-lzo<br />
Ïî áîëüøîìó ñ÷åòó, êîíôèãóðàöèÿ OpenVPN çàâåðøåíà. Ñêðåñòè ïàëüöû<br />
è â êîìàíäíîé ñòðîêå êàæäîãî èç êîìïüþòåðîâ íàáåðè:<br />
openvpn --config c:\openvpn\config\config.ovpn<br />
Åñëè â òðåå èñ÷åç çíà÷îê ñåòåâîãî ïîäêëþ÷åíèÿ ñ íàäïèñüþ «Ñåòåâîé<br />
êàáåëü íå ïîäêëþ÷åí», ìîæåøü íà÷èíàòü ðàäîâàòüñÿ. Ýòî ïåðâûé ïðèçíàê<br />
òîãî, ÷òî âñå çàðàáîòàëî, êàê íàäî. Äëÿ áîëüøåé óâåðåííîñòè ïðîïèíãóé<br />
óäàëåííûå ìàøèíû ïî èõ IP-àäðåñàì âíóòðè VPN-ñåòè. Òî åñòü<br />
çàïóñòè ñ ïåðâîé ìàøèíû ping 10.3.0.2. À ñî âòîðîé — ping 10.3.0.1<br />
[âìåñòî çàêëþ÷åíèÿ] Öåëü äàííîé ñòàòüè — ïîêàçàòü, ÷òî âèíäà âïîëíå óñïåøíî<br />
ìîæåò èñïîëüçîâàòüñÿ äëÿ îðãàíèçàöèè VPN/OpenVPN ïîäêëþ÷åíèé.<br />
Ìàòåðèàë íè â êîåì ñëó÷àå íå ïðåòåíäóåò íà ïîëíûé ìàíóàë ê äåéñòâèþ. Ýòî<br />
íåâîçìîæíî â ïðèíöèïå, òàê êàê î÷åíü ìíîãîå çàâèñèò îò êîíêðåòíûõ íàñòðîåê<br />
ñåòè, åå òîïîëîãèè è òîãî, ÷òî òû õî÷åøü äîáèòüñÿ, èñïîëüçóÿ VPN