
Kui teie ettevõte edastab või saab võrgus isikuandmeid ja muud konfidentsiaalset teavet, millele kehtivad seaduslikud kaitsenõuded, on vajalik rakendada krüpteerimist vastavalt GOST standardile. Täna räägime, kuidas implementisime sellist krüpteerimist krüptoülevaataja (KŠ) S-Terra põhjal ühe kliendi juures. See lugu on huvitav infosüsteemide spetsialistidele, samuti inseneridele, projekteerijatele ja arhitektidele. Me ei süvene selles postituses tehnilise konfigureerimise nüanssidesse — peatume põhiseadistuse olulistel punktidel. Suurelt osalt on Internetis vabalt kergesti kättesaadavat dokumentatsiooni Linuxi OS demoonide seadistamiseks, millele KŠ S-Terra põhineb. Samuti on S-Terra patenteeritud tarkvara seadistamise dokumentatsioon avatud juurdepääsuga. tootjalt.
Mõned sõnad projektist
Kliendi võrgutopoloogia oli tüüpiline — täielik võrgusild (full mesh) keskuse ja filiaalide vahel. Oli vajalik rakendada krüpteerimist teabe vahetamise kanalites kõigi 8 objekti vahel.
Tavaliselt on sarnastes projektides kõik staatiline: krüptograafia väravates (KV) määratakse staatilised marsruudid kohalikku võrku, kirjutatakse üles IP-aadresside loetelud (ACL), et võimaldada krüptimist. Siiski antud juhul puudub platvormidel tsentraliseeritud haldus, ja nende kohalikes võrkudes võib toimuda kõikvõimalik: võrgud võivad lisanduda, kaduda ja igasuguseid muudatusi läbida. Selleks, et vältida marsruutimise ja ACL-i seadistamise vajadust KV-del kohalike võrkude aadresside muutumisel, tehti otsus kasutada GRE-tunnelitehnoloogiat ja dünaamilist marsruutimist OSPF, kuhu on kaasatud kõik KV-d ja enamus tuumvõrgu marsruutereid platvormidel (mõnedes kohtades eelistavad infrastruktuuri administraatorid SNAT-i KV-de suunal tuum marsruuteritel).
GRE-tunnelitehnoloogia lahendas kaks ülesannet:
1. Kasutada ACL-is krüptimiseks KV välise liidese IP-aadressi, kuhu kapseldatakse kogu liiklus, mis suunatakse teistele platvormidele.
2. Seadistage p-t-p tunneli ühendused KSH-de vahel, mis võimaldavad seadistada dünaamilist marsruutimist (meie puhul on platvormide vahel korraldatud teenusepakkuja MPLS L3VPN).
Klient tellis krüpteerimise rakendamise teenusena. Vastasel juhul oleks tal tulnud mitte ainult toetada krüptosilte või anda mõnele organisatsioonile välja, vaid ka iseseisvalt jälgida krüpteerimissertifikaatide elutsüklit, õigel ajal neid pikendada ja uusi paigaldada.

Ja nüüd tegelikult meenutus – kuidas ja mida me seadistasime.
KII subjektidele tähelepanuks: seadistame krüptosilla.
Võrgu põhinõuded.
En首先 запускам новый КШ и попадаем в консоль администрирования. Начать стоит с изменения пароля встроенного администратора — команда change user password administrator. Затем необходимо провести процедуру инициализации (команда initialize), mille käigus sisestatakse litsentsiandmed ja initsialiseeritakse juhuslike numberite generaator (JNG).
Palun pöörake tähelepanu! S-Terra käivitamisel luuakse turvapoliitika, mille kohaselt turbevärava liideseid ei lasta pakette läbi. Tuleb kas luua oma poliitika või kasutada käsku run csconf_mgr activate aktsepteeritud poliitika aktiveerimiseks.
Edasi tuleb seadistada väliste ja siseste liideste aadressid ning vaikimisi marsruut. Võrgu konfiguratsiooni ja krüpteerimise seadistamine on soovitatav teha Cisco-like konsoolis. See konsool on mõeldud käskude sisestamiseks, mis on sarnased Cisco IOS käsudega. Cisco-like konsooli abil loodud konfiguratsioon muudetakse vastavateks konfiguratsioonifailideks, millega töötavad OS-i demonid. Cisco-like konsooli pääseb administratiivkonsoolist käsuga configure.
Vahetame paroolid sisemise kasutaja cscons ja enable jaoks:
>enable
Parool: csp (eelmääratud)
#configure terminal
#username cscons privilege 15 secret 0 #enable secret 0 Настраиваем базовую сетевую конфигурацию:
#interface GigabitEthernet0/0
#ip address 10.111.21.3 255.255.255.0
#no shutdown
#interface GigabitEthernet0/1
#ip address 192.168.2.5 255.255.255.252
#no shutdown
#ip route 0.0.0.0 0.0.0.0 10.111.21.254
GRE
Väljastame Cisco-like konsoolist ja liigume debian shelli käsuga süsteem. Seadistame kasutajale oma parooli root käsku passwd.
Igal KSH-l seadistatakse iga saidi jaoks eraldi tunnel. Tunnelialli interfatsi seadistamine toimub failis /etc/network/interfaces. Interfatsi loomise eest vastutab IP tunnel utiliit, mis kuulub eelinstallitud iproute2 komplekti. Interfaci loomise käsk kirjutatakse pre-up valikusse.
Tüüpilise tunnelialli interfatsi konfiguratsiooni näide:
auto site1
iface site1 inet static
address 192.168.1.4
netmask 255.255.255.254
pre-up ip tunnel add site1 mode gre local 10.111.21.3 remote 10.111.22.3 key hfLYEg^vCh6p
Palun pöörake tähelepanu! Oluline on märkida, et tunnelialli seadistused tuleb paikneda väljaspool sektsiooni
###netifcfg-begin###
*****
###netifcfg-end###
Vastasel juhul need seadistused kirjutatakse üle füüsiliste interfatsioonide võrgu seadistuste muutmisel Cisco-taolise konsooli kaudu.
Dünaamiline marsruutimine
S-Terras teostatakse dünaamiline marsruutimine Quagga tarkvarapaketi abil. OSPF seadistamiseks vajame demonite zebra ja ospfd. Demon zebra vastutab marsruudi demonite ja operatsioonisüsteemi vahelise suhtluse eest. Demon ospfd, nagu nimigi ütleb, vastutab OSPF protokolli rakendamise eest.
OSPF seadistamine toimub kas demoni konsooli kaudu või otse konfiguratsioonifaili kaudu. /etc/quagga/ospfd.conf. Faili lisatakse kõik füüsilised ja tunnelid, mis osalevad dünaamilises suunamises, samuti kuulutatakse välja võrgud, mida tuuakse ja aktsepteeritakse.
Konfiguratsiooni näide, mille tuleb lisada 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
Sel juhul on aadressid 192.168.1.x/31 reserveeritud punktidevaheliste tunnelite jaoks, aadressid 192.168.2.x/30 aga omavaheliste võrkude jaoks, mis on seotud ja tuumruutijatega.
Palun pöörake tähelepanu! Suurte paigalduste suunamisünni vähendamiseks saab filtrida transiidi võrkude kuulutamist konstruktsioonide abil. no redistribute connected või redistribute connected route-map.
Pärast deemonite seadistamist tuleb muuta deemonite käivitamisstaatust /etc/quagga/daemons. Valikutes tuleb zebra ja ospfd no asendada yes'iga. Käivita deemon quagga ja seadista selle automaatne käivitamine käsklusega update-rc.d quagga enable.
Kui GRE-tunnelite ja OSPF seadistamine on õigesti teostatud, peaksid KSH ja tuumruutijates ilmuma teed teiste platside võrkudele, luues seeläbi võrguühenduse kohalike võrkude vahel.
Krüpteerime edastatavat liiklust
Nagu juba mainitud, määrame tavaliselt tehingute vahel šifreerimisel IP-aadresside vahemikud (ACL), mille vahel liiklus šifreeritakse: kui allika ja sihtkoha aadressid kuuluvad neisse vahemikesse, siis šifreeritakse liiklus nende vahel. Siiski on selles projektis struktuur dünaamiline ja aadressid võivad muutuda. Kuna oleme juba seadistanud GRE-tunneli, saame allika ja sihtkoha aadressid liikluse šifreerimiseks määrata välised KSH aadressid — lõpuks jõuab šifreeritav liiklus juba GRE-protokolli ümbrikus. Teisisõnu, šifreeritakse kõik, mis liiklusjust KSH-st tuleb kohaliku võrgu kaudu ühele platvormile, suunates võrku, mis on teised platvormid teada andnud. Iga platvormi sees võib aga toimuda mistahes ümbersuunamine. Seega, kui kohalikes võrkudes toimub muudatus, piisab administraatorile ainult teatega, mis suunab tema võrgust KSH, muuta, ja see muutub teiste platvormide jaoks kergesti ligipääsetavaks.
S-Terra KSH krüpteeritakse IPSec protokolli kaudu. Kasutame "Jett" algoritmi vastavalt GOST R 34.12-2015, samas kui vanemate versioonidega ühilduvuse tagamiseks saab kasutada GOST 28147-89. Autentimine võib tehniliselt toimuda nii määratud võtmete (PSK) kui ka sertifikaatide alusel. Siiski on tööstuslikus kasutuses vajalik kasutada sertifikaate, mis on väljastatud GOST R 34.10-2012 kohaselt.
Sertifikaatide, konteinerite ja CRL-iga töötamine toimub utiliidi kaudu cert_mgr. Esiteks peab kasutama käsku cert_mgr create , et luua privaatvõtme konteiner ja sertifikaadi taotlus, mis saadetakse sertifikaatide halduskeskusele. Pärast sertifikaadi saamist tuleb see koos juursertifikaadi ja CRL-iga (kui seda kasutatakse) importida käsuga cert_mgr import. Veenduge, et kõik sertifikaadid ja CRL oleksid edukalt paigaldatud, kasutades käsku cert_mgr show.
. Pärast sertifikaatide edukat paigaldamist liikuge IPSec seadistamiseks Cisco-tüüpi konsolisse.
Loome IKE-poliitika, kus määratakse soovitud algoritmid ja parameetrid loodava turvakanali jaoks, mis pakutakse partnerile kooskõlastamiseks.
#crypto isakmp policy 1000
#encr gost341215k
#hash gost341112-512-tc26
#authentication sign
#group vko2
#lifetime 3600
See poliitika kehtib IPSeci esimese etapi loomisel. Esimese etapi edukaks läbituks on SA (turvaassotsiatsiooni) loomine.
Edasi peame määrama IP-aadresside loendi allikast ja saajast (ACL) krüpteerimiseks, looma teisenduste komplekti (transform set), looma krüptokaardi (crypto map) ja siduma selle KSH välisseinale.
Määratleme ACL:
#ip access-list extended site1
#permit gre host 10.111.21.3 host 10.111.22.3
Teisenduste komplekt (nagu ka esimese etapi jaoks, kasutame krüpteerimise algoritmi „Kuznechik” ja autentimismoodulit):
#crypto ipsec transform-set GOST esp-gost341215k-mac
Loome krüptokaardi, määrates ACL, transform set ja peer-aadress:
#crypto map MAIN 100 ipsec-isakmp
#match address site1
#set transform-set GOST
#set peer 10.111.22.3
Sidume krüptokaardi KSH välisseinale:
#interface GigabitEthernet0/0
#ip address 10.111.21.3 255.255.255.0
#crypto map MAIN
Kanalite krüpteerimiseks teiste platvormidega tuleb kordata ACL-i ja krüptokaardi loomise protseduuri, muutes ACL-i nime, IP-aadresse ja krüptokaardi numbri.
Palun pöörake tähelepanu! Kui CRL-i kaudu sertifikaate ei kontrollita, tuleb see selgelt märkida:
#crypto pki trustpoint s-terra_technological_trustpoint
#revocation-check none
Selle seadistust võib pidada lõpetatuks. Cisco-sarnase konsooli käskude väljundis show crypto isakmp sa ja show crypto ipsec sa peavad kajastuma loodud esimesed ja teised etapid IPSec. Sama teavet saab vaadata ka käsu abil sa_mgr show, mis on täidetud debian shеll'i kaudu. Käskluse väljundis cert_mgr show peavad ilmuma kaugel asuvate kohtade sertifikaadid. Nende sertifikaatide staatuseks on remote. Juhul kui tunnelid ei loo, tuleb vaadata logi VPN-teenusest, mis asub failis /var/log/cspvpngate.log. Täielik nimekiri logifailidest koos nende sisu kirjeldusega on dokumentatsioonis.
Jälgime süsteemi „tervise”
KSH S-Terra jaoks kasutatakse jälgimiseks tavalist demonit snmpd. Lisaks tüüpilistele Linuxi parameetritele toetab S-Terra „karbist välja” andmete edastamist IPSec-tunnelite kohta vastavalt CISCO-IPSEC-FLOW-MONITOR-MIB, mida me kasutame IPSec-tunnelite oleku jälgimiseks. Samuti toetatakse kohandatud OIDide funktsionaalsust, mis tagastavad väärtustena skripti täitmise tulemusi. See võimalus võimaldab meil jälgida sertifikaatide kehtivusaja lõppemist. Kirjutatud skript analüüsib käsu väljundit. cert_mgr show ja tulemuseks antakse päevade arv kuni kohalike ja juure sertifikaatide aegumiseni. See meetod on asendamatu suure hulga KSH haldamisel.

Milles seisneb sellise krüpteerimise väärtus
Ülaltoodud funktsionaalsus toetab ‘karbist välja’ KSH S-Terra. See tähendab, et ei tulnud installida mingeid täiendavaid mooduleid, mis võiksid mõjutada krüptoglüüside sertifitseerimist ja kogu infosüsteemi hindamist. Kanaliühendused võivad olla igasugused, sealhulgas interneti kaudu.
Tänu sellele, et siseinfrastruktuuri muutmisel ei pea krüptoglüüse ümber seadistama, süsteem töötab teenusena, mis on kliendi jaoks väga mugav: ta saab oma teenuseid (klientide ja serverite), paigutada mistahes aadressidele ning kõik muudatused edastatakse dünaamiliselt krüpteerimisseadmestikule.
Ilma kahtluseta, krüptimise tõttu tekkivad kulud (overhead) mõjutavad andmeside kiirust, kuid see on tagasihoidlik - kanali läbilaskevõime võib väheneda maksimaalselt 5-10%. Selle tehnoloogiaga on tehtud katseid ja see on näidanud häid tulemusi isegi satelliitkanalitel, mis on üsna ebastabiilsed ja madala läbilaskevõimega.
Igor Vinokhodov, 2. taseme halduse insener «Rostelecom-Solar»
Allikas: habr.com
