Nag-encrypt kami ayon sa GOST: isang gabay sa pag-set up ng dynamic na pagruruta ng trapiko

Nag-encrypt kami ayon sa GOST: isang gabay sa pag-set up ng dynamic na pagruruta ng trapiko
Kung ang iyong kumpanya ay nagpapadala o tumatanggap ng personal na data at iba pang kumpidensyal na impormasyon sa network na napapailalim sa proteksyon alinsunod sa batas, kinakailangang gumamit ng GOST encryption. Ngayon sasabihin namin sa iyo kung paano namin ipinatupad ang naturang pag-encrypt batay sa S-Terra crypto gateway (CS) sa isa sa mga customer. Magiging interesado ang kuwentong ito sa mga espesyalista sa seguridad ng impormasyon, pati na rin sa mga inhinyero, taga-disenyo at arkitekto. Hindi kami sumisid nang malalim sa mga nuances ng teknikal na pagsasaayos sa post na ito; tututuon kami sa mga pangunahing punto ng pangunahing pag-setup. Malaking volume ng dokumentasyon sa pagse-set up ng mga daemon ng Linux OS, kung saan nakabatay ang S-Terra CS, ay malayang makukuha sa Internet. Ang dokumentasyon para sa pagse-set up ng pagmamay-ari na S-Terra software ay available din sa publiko sa ang portal tagagawa.

Ilang salita tungkol sa proyekto

Ang network topology ng customer ay karaniwan - full mesh sa pagitan ng center at branch. Kinakailangang ipakilala ang pag-encrypt ng mga channel ng pagpapalitan ng impormasyon sa pagitan ng lahat ng mga site, kung saan mayroong 8.

Karaniwan sa mga naturang proyekto ang lahat ay static: ang mga static na ruta sa lokal na network ng site ay nakatakda sa mga crypto gateway (CGs), ang mga listahan ng mga IP address (ACL) para sa pag-encrypt ay nakarehistro. Gayunpaman, sa kasong ito, ang mga site ay walang sentralisadong kontrol, at anumang bagay ay maaaring mangyari sa loob ng kanilang mga lokal na network: ang mga network ay maaaring idagdag, tanggalin, at baguhin sa lahat ng posibleng paraan. Upang maiwasan ang muling pag-configure ng routing at ACL sa KS kapag binabago ang addressing ng mga lokal na network sa mga site, napagpasyahan na gumamit ng GRE tunneling at OSPF dynamic na pagruruta, na kinabibilangan ng lahat ng KS at karamihan sa mga router sa network core level sa mga site ( sa ilang mga site, mas gustong gamitin ng mga administrator ng imprastraktura ang SNAT patungo sa KS sa mga kernel router).

Ang GRE tunneling ay nagpapahintulot sa amin na malutas ang dalawang problema:
1. Gamitin ang IP address ng panlabas na interface ng CS para sa pag-encrypt sa ACL, na sumasaklaw sa lahat ng trapikong ipinadala sa ibang mga site.
2. Ayusin ang mga ptp tunnel sa pagitan ng mga CS, na nagbibigay-daan sa iyong i-configure ang dynamic na pagruruta (sa aming kaso, ang MPLS L3VPN ng provider ay nakaayos sa pagitan ng mga site).

Iniutos ng kliyente ang pagpapatupad ng pag-encrypt bilang isang serbisyo. Kung hindi, kailangan niyang hindi lamang mapanatili ang mga crypto gateway o i-outsource ang mga ito sa ilang organisasyon, ngunit independiyenteng subaybayan ang siklo ng buhay ng mga sertipiko ng pag-encrypt, i-renew ang mga ito sa oras at mag-install ng mga bago.
Nag-encrypt kami ayon sa GOST: isang gabay sa pag-set up ng dynamic na pagruruta ng trapiko
At ngayon ang aktwal na memo - kung paano at kung ano ang aming na-configure

Paalala sa paksa ng CII: pag-set up ng crypto gateway

Pangunahing pag-setup ng network

Una sa lahat, naglulunsad kami ng bagong CS at pumasok sa administration console. Dapat kang magsimula sa pamamagitan ng pagpapalit ng built-in na password ng administrator - command baguhin ang user password administrator. Pagkatapos ay kailangan mong isagawa ang pamamaraan ng pagsisimula (command magpasimula) kung saan ipinasok ang data ng lisensya at ang random number sensor (RNS) ay sinisimulan.

Magbayad pansin! Kapag sinimulan ang S-Terra CC, ang isang patakaran sa seguridad ay itinatag kung saan ang mga interface ng gateway ng seguridad ay hindi pinapayagan ang mga packet na dumaan. Dapat kang lumikha ng iyong sariling patakaran o gamitin ang command patakbuhin ang csconf_mgr activate i-activate ang isang paunang natukoy na patakaran sa pagpapahintulot.
Susunod, kailangan mong i-configure ang addressing ng panlabas at panloob na mga interface, pati na rin ang default na ruta. Mas mainam na magtrabaho kasama ang CS network configuration at i-configure ang encryption sa pamamagitan ng Cisco-like console. Idinisenyo ang console na ito para magpasok ng mga command na katulad ng mga command ng Cisco IOS. Ang configuration na nabuo gamit ang Cisco-like console ay, sa turn, ay na-convert sa kaukulang mga configuration file kung saan gumagana ang mga daemon ng OS. Maaari kang pumunta sa Cisco-like console mula sa administration console gamit ang command i-configure ang.

Baguhin ang mga password para sa mga built-in na cscon ng user at paganahin ang:

> paganahin
Password: csp(preinstalled)
#configure ang terminal
#username cscons privilege 15 secret 0 #enable secret 0 Pag-set up ng pangunahing configuration ng network:

#interface GigabitEthernet0/0
#ip address 10.111.21.3 255.255.255.0
#walang shutdown
#interface GigabitEthernet0/1
#ip address 192.168.2.5 255.255.255.252
#walang shutdown
#ip ruta 0.0.0.0 0.0.0.0 10.111.21.254

GRE

Lumabas sa Cisco-like console at pumunta sa debian shell gamit ang command sistema. Itakda ang iyong sariling password para sa user ugat koponan passwd.
Sa bawat control room, naka-configure ang isang hiwalay na tunnel para sa bawat site. Ang interface ng tunnel ay na-configure sa file / etc / network / interface. Ang IP tunnel utility, kasama sa paunang naka-install na iproute2 set, ay may pananagutan sa paglikha ng mismong interface. Ang utos sa paglikha ng interface ay nakasulat sa pre-up na opsyon.

Halimbawang configuration ng karaniwang interface ng tunnel:
auto site1
iface site1 inet static
address 192.168.1.4
netmask 255.255.255.254
pre-up na ip tunnel magdagdag ng site1 mode gre local 10.111.21.3 remote 10.111.22.3 key hfLYEg^vCh6p

Magbayad pansin! Dapat tandaan na ang mga setting para sa mga interface ng tunnel ay dapat na matatagpuan sa labas ng seksyon

##netifcfg-begin####
*****
###netifcfg-end###

Kung hindi, ang mga setting na ito ay mapapatungan kapag binabago ang mga setting ng network ng mga pisikal na interface sa pamamagitan ng isang Cisco-like console.

Dynamic na pagruruta

Sa S-Terra, ipinapatupad ang dynamic na pagruruta gamit ang Quagga software package. Upang i-configure ang OSPF kailangan naming paganahin at i-configure ang mga daemon sebra ΠΈ ospfd. Ang zebra daemon ay responsable para sa komunikasyon sa pagitan ng mga routing daemon at ng OS. Ang ospfd daemon, gaya ng ipinahihiwatig ng pangalan, ay responsable para sa pagpapatupad ng OSPF protocol.
Ang OSPF ay na-configure alinman sa pamamagitan ng daemon console o direkta sa pamamagitan ng configuration file /etc/quagga/ospfd.conf. Ang lahat ng pisikal at tunnel na interface na kalahok sa dynamic na pagruruta ay idinaragdag sa file, at ang mga network na ia-advertise at makakatanggap ng mga anunsyo ay idineklara din.

Isang halimbawa ng configuration na kailangang idagdag sa ospfd.conf:
interface eth0
!
interface eth1
!
interface site1
!
interface site2
router ospf
ospf router-id 192.168.2.21
network 192.168.1.4/31 area 0.0.0.0
network 192.168.1.16/31 area 0.0.0.0
network 192.168.2.4/30 area 0.0.0.0

Sa kasong ito, ang mga address na 192.168.1.x/31 ay nakalaan para sa tunnel ptp network sa pagitan ng mga site, ang mga address na 192.168.2.x/30 ay inilalaan para sa mga transit network sa pagitan ng CS at kernel router.

Magbayad pansin! Para bawasan ang routing table sa malalaking installation, maaari mong i-filter ang anunsyo ng mga transit network mismo gamit ang mga construct walang redistribute na konektado o muling ipamahagi ang konektadong mapa ng ruta.

Pagkatapos i-configure ang mga daemon, kailangan mong baguhin ang status ng pagsisimula ng mga daemon sa /etc/quagga/daemons. Sa mga pagpipilian sebra ΠΈ ospfd walang pagbabago sa oo. Simulan ang quagga daemon at itakda ito sa autorun kapag sinimulan mo ang KS command paganahin ang update-rc.d quagga.

Kung ang pagsasaayos ng mga GRE tunnel at OSPF ay ginawa nang tama, kung gayon ang mga ruta sa network ng iba pang mga site ay dapat na lumitaw sa KSh at mga pangunahing router at, sa gayon, ang koneksyon ng network sa pagitan ng mga lokal na network ay lumitaw.

Ini-encrypt namin ang ipinadalang trapiko

Gaya ng naisulat na, kadalasan kapag nag-e-encrypt sa pagitan ng mga site, tinutukoy namin ang mga saklaw ng IP address (mga ACL) kung saan naka-encrypt ang trapiko: kung ang mga address ng pinagmulan at patutunguhan ay nasa loob ng mga saklaw na ito, kung gayon ang trapiko sa pagitan ng mga ito ay naka-encrypt. Gayunpaman, sa proyektong ito ang istraktura ay pabago-bago at maaaring magbago ang mga address. Dahil na-configure na namin ang GRE tunneling, maaari naming tukuyin ang mga panlabas na KS address bilang pinagmulan at patutunguhan na mga address para sa pag-encrypt ng trapiko - pagkatapos ng lahat, ang trapiko na naka-encapsulated na ng GRE protocol ay darating para sa pag-encrypt. Sa madaling salita, lahat ng pumapasok sa CS mula sa lokal na network ng isang site patungo sa mga network na inihayag ng ibang mga site ay naka-encrypt. At sa loob ng bawat isa sa mga site ay maaaring maisagawa ang anumang pag-redirect. Kaya, kung may anumang pagbabago sa mga lokal na network, kailangan lang baguhin ng administrator ang mga anunsyo na nagmumula sa kanyang network patungo sa network, at magiging available ito sa ibang mga site.

Ang pag-encrypt sa S-Terra CS ay isinasagawa gamit ang IPSec protocol. Ginagamit namin ang algorithm na "Grasshopper" alinsunod sa GOST R 34.12-2015, at para sa pagiging tugma sa mga mas lumang bersyon maaari mong gamitin ang GOST 28147-89. Ang pagpapatotoo ay maaaring teknikal na maisagawa sa parehong mga paunang natukoy na key (PSK) at mga sertipiko. Gayunpaman, sa pang-industriya na operasyon kinakailangan na gumamit ng mga sertipiko na inisyu alinsunod sa GOST R 34.10-2012.

Ang paggawa sa mga sertipiko, lalagyan at CRL ay ginagawa gamit ang utility cert_mgr. Una sa lahat, gamit ang command cert_mgr lumikha kinakailangang bumuo ng pribadong key container at isang kahilingan sa certificate, na ipapadala sa Certificate Management Center. Pagkatapos matanggap ang certificate, dapat itong ma-import kasama ng root CA certificate at CRL (kung ginamit) kasama ng command cert_mgr import. Maaari mong tiyakin na ang lahat ng mga certificate at CRL ay naka-install gamit ang command palabas ng cert_mgr.

Pagkatapos ng matagumpay na pag-install ng mga certificate, pumunta sa Cisco-like console upang i-configure ang IPSec.
Gumagawa kami ng patakaran ng IKE na tumutukoy sa mga gustong algorithm at parameter ng ginawang secure na channel, na iaalok sa partner para sa pag-apruba.

#crypto isakmp policy 1000
#encr gost341215k
#hash gost341112-512-tc26
#authentication sign
#grupo vko2
#lifetime 3600

Inilapat ang patakarang ito kapag binubuo ang unang yugto ng IPSec. Ang resulta ng matagumpay na pagkumpleto ng unang yugto ay ang pagtatatag ng SA (Security Association).
Susunod, kailangan nating tukuyin ang isang listahan ng mga source at destination IP address (ACL) para sa pag-encrypt, bumuo ng set ng pagbabago, lumikha ng isang cryptographic na mapa (crypto map) at itali ito sa panlabas na interface ng CS.

Itakda ang ACL:
#ip access-list pinalawig na site1
#permit gre host 10.111.21.3 host 10.111.22.3

Isang hanay ng mga pagbabagong-anyo (katulad ng para sa unang yugto, ginagamit namin ang algorithm ng pag-encrypt na "Grasshopper" gamit ang simulation insert generation mode):

#crypto ipsec transform-set GOST esp-gost341215k-mac

Gumagawa kami ng crypto map, tukuyin ang ACL, transform set at peer address:

#crypto map PANGUNAHING 100 ipsec-isakmp
#match address site1
#set transform-set GOST
#set peer 10.111.22.3

Itinatali namin ang crypto card sa panlabas na interface ng cash register:

#interface GigabitEthernet0/0
#ip address 10.111.21.3 255.255.255.0
#crypto map PANGUNAHING

Upang i-encrypt ang mga channel sa ibang mga site, dapat mong ulitin ang pamamaraan para sa paggawa ng ACL at crypto card, pagpapalit ng pangalan ng ACL, mga IP address at numero ng crypto card.

Magbayad pansin! Kung hindi ginagamit ang pag-verify ng certificate sa pamamagitan ng CRL, dapat itong tahasang tukuyin:

#crypto pki trustpoint s-terra_technological_trustpoint
#revocation-check none

Sa puntong ito, maaaring ituring na kumpleto ang pag-setup. Sa tulad ng Cisco console command output show crypto isakmp sa ΠΈ ipakita ang crypto ipsec sa Ang itinayong una at ikalawang yugto ng IPSec ay dapat na maipakita. Ang parehong impormasyon ay maaaring makuha gamit ang command palabas sa_mgr, naisakatuparan mula sa debian shell. Sa output ng command palabas ng cert_mgr Dapat lumitaw ang mga sertipiko ng malayong site. Ang katayuan ng naturang mga sertipiko ay magiging malayo. Kung hindi ginagawa ang mga tunnel, kailangan mong tingnan ang log ng serbisyo ng VPN, na nakaimbak sa file /var/log/cspvpngate.log. Ang kumpletong listahan ng mga log file na may paglalarawan ng kanilang mga nilalaman ay makukuha sa dokumentasyon.

Pagsubaybay sa "kalusugan" ng system

Ang S-Terra CC ay gumagamit ng karaniwang snmpd daemon para sa pagsubaybay. Bilang karagdagan sa mga karaniwang parameter ng Linux, sa labas ng kahon ay sinusuportahan ng S-Terra ang pag-isyu ng data tungkol sa mga IPSec tunnel alinsunod sa CISCO-IPSEC-FLOW-MONITOR-MIB, na siyang ginagamit namin kapag sinusubaybayan ang katayuan ng mga IPSec tunnels. Sinusuportahan din ang functionality ng custom OIDs na naglalabas ng mga resulta ng script execution bilang mga value. Binibigyang-daan kami ng feature na ito na subaybayan ang mga petsa ng pag-expire ng certificate. Pina-parse ng nakasulat na script ang output ng command palabas ng cert_mgr at bilang resulta ay nagbibigay ng bilang ng mga araw hanggang sa mag-expire ang lokal at root certificate. Ang pamamaraan na ito ay kailangang-kailangan kapag nangangasiwa ng malaking bilang ng mga CABG.
Nag-encrypt kami ayon sa GOST: isang gabay sa pag-set up ng dynamic na pagruruta ng trapiko

Ano ang pakinabang ng naturang pag-encrypt?

Ang lahat ng functionality na inilarawan sa itaas ay suportado ng S-Terra KSh out of the box. Iyon ay, hindi na kailangang mag-install ng anumang karagdagang mga module na maaaring makaapekto sa sertipikasyon ng mga crypto gateway at ang sertipikasyon ng buong sistema ng impormasyon. Maaaring mayroong anumang mga channel sa pagitan ng mga site, kahit na sa pamamagitan ng Internet.

Dahil sa katotohanan na kapag nagbago ang panloob na imprastraktura, hindi na kailangang muling i-configure ang mga gateway ng crypto, gumagana ang system bilang isang serbisyo, na kung saan ay napaka-maginhawa para sa customer: maaari niyang ilagay ang kanyang mga serbisyo (kliyente at server) sa anumang mga address, at lahat ng mga pagbabago ay dynamic na ililipat sa pagitan ng mga kagamitan sa pag-encrypt.

Siyempre, ang pag-encrypt dahil sa mga gastos sa overhead (overhead) ay nakakaapekto sa bilis ng paglipat ng data, ngunit bahagyang lamang - ang channel throughput ay maaaring bumaba ng maximum na 5-10%. Kasabay nito, ang teknolohiya ay nasubok at nagpakita ng magagandang resulta kahit na sa mga satellite channel, na medyo hindi matatag at may mababang bandwidth.

Igor Vinokhodov, inhinyero ng ika-2 linya ng pangangasiwa ng Rostelecom-Solar

Pinagmulan: www.habr.com

Magdagdag ng komento