Ne kodojmë sipas GOST: udhëzues për konfigurimin e rrjedhjes dinamike të trafikut

Ne kodojmë sipas GOST: udhëzues për konfigurimin e rrjedhjes dinamike të trafikut
Nëse kompania juaj transmeton ose merr informacion të ndjeshëm dhe të dhëna personale përmes rrjetit, të cilat kërkojnë mbrojtje sipas legjislacionit, është e nevojshme të aplikohet kriptimi sipas GOST. Sot do t'ju tregojmë se si implementuam një kriptim të tillë në bazën e portës së kriptimit (KŠ) S-Terra për një nga klientët tanë. Kjo histori do të jetë interesante për specialistët e sigurisë IT, si dhe për inxhinierët, projektuesit dhe arkitektët. Nuk do të thellojmë në nuancat e konfigurimit teknik në këtë postim — do të ndalemi në pikat kryesore të konfigurimit bazë. Ka një mori dokumentacioni për konfigurimin e demonëve të sistemit operativ Linux, mbi të cilin bazohet KŠ S-Terra, i cili është në dispozicion të lirë në internet. Dokumentacioni për konfigurimin e softuerit pronar S-Terra gjithashtu është i disponueshëm në portal i prodhuesit.

Pak fjalë mbi projektin

Topologjia e rrjetit te klienti ishte tipike — full mesh midis qendrës dhe filialeve. Ishte e nevojshme të implementohej kriptimi i kanaleve të informacionit midis të gjitha vendeve, të cilat ishin 8 në total.

Zakonisht në projekte të tilla, gjithçka është statike: në portat e kriptimit (KŠ) vendosen rrugë statike në rrjetin lokal të vendit, dhe përfshihen lista të IP-adresave (ACL) për kriptimin. Megjithatë, në këtë rast, vendet nuk kanë menaxhim të centralizuar, dhe brenda rrjeteve të tyre lokale mund të ndodhë gjithçka: rrjetet mund të shtohen, fshihen dhe modifikohen në të gjitha mënyrat. Për të shmangur riparametrizimin e rrugëzimit dhe ACL në KŠ gjatë ndryshimit të adresave të rrjeteve lokale në vendet, u mor vendimi për të përdorur tunelizimin GRE dhe rrugëzimin dinamik OSPF, në të cilin përfshihen të gjithë KŠ dhe shumica e ruterëve të nivelit të kernelit në vendet (në disa vende, administratorët e infrastrukturës preferuan të përdorin SNAT në drejtim të KŠ në ruterët e kernelit).

Tunelizimi GRE lehtësoi zgjidhjen e dy problemeve:
1. Të përdoren në ACL për kriptimin IP-adresa e ndërfaqes së jashtme të KŠ, në të cilin inkapsulohet të gjithë trafiku që drejtohet ndaj vendeve të tjera.
2. Të organizohen tunele p-t-p midis KŠ, të cilat lejojnë të konfigurohet rrugëzimi dinamik (në rastin tonë midis vendeve është organizuar një MPLS L3VPN ofruesi).

Klienti kërkoi implementimin e enkriptimit si shërbim. Përndryshe, ai do të duhej jo vetëm të mbante porta kripto ose t'ia besonte një organizate tjetër, por gjithashtu të ndjekë vetë ciklin e jetës së sertifikatave të enkriptimit, duke i rinovuar në kohë dhe duke instaluar të reja.
Ne kodojmë sipas GOST: udhëzues për konfigurimin e rrjedhjes dinamike të trafikut
Tani, kujtesa – si dhe çfarë kemi konfiguruar.

Subjekti KII në vëmendje: konfigurimi i portës kripto.

Konfigurimi bazë i rrjetit.

Së pari, nisim portën e re kripto dhe hyjmë në konsolën e administratës. Duhet të fillojmë me ndryshimin e fjalëkalimit të administratorit të integruar — komanda. ndrysho fjalëkalimin e administratorit.Pas kësaj, duhet të kryhet procedura e inicializimit (komanda. initialize.) gjatë së cilës vendosen të dhënat e licencës dhe inicizohet gjeneratori i numrave të rastësishëm (GNU).

Keni parasysh! Gjatë inicializimit të portës S-Terra, vendoset politika e sigurisë, sipas së cilës interface të portës së sigurisë nuk lejojnë kalimin e paketave. Duhet ose të krijoni një politikë të vetën, ose me anë të komandës. ekzekuto csconf_mgr aktivizo. të aktivizoni politikën e miratuar të vendosur paraprakisht.
Më pas, duhet të konfigurojmë adresimin e interfaceve të jashtme dhe të brendshme, si dhe rrugën e paracaktuar. Puna me konfigurimin e rrjetit të portës dhe konfigurimi i enkriptimit preferohet të bëhet përmes konsolës Cisco-like. Kjo konsolë është e dedikuar për futjen e komandave të ngjashme me komandat Cisco IOS. Konfigurimi, i formuar përmes konsolës Cisco-like, tërthorazi konvertohet në skedarët përkatës të konfigurimit, me të cilët punojnë demonët e sistemit operacional. Të kalojmë në konsolën Cisco-like nga konsola e administratës mundet me komandën. konfiguro..

Ndryshojmë fjalëkalimet për përdoruesin e integruar cscons dhe enable:

>enable.
Fjalëkalimi: csp (parazgjedhur).
#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.

Dale nga konsola Cisco-like, dhe kaloni në shell-in debian me komandën. sistem.Vendosim fjalëkalimin tonë për përdoruesin. root nëpërmjet komandës. passwd.
Çdo derë kripto ka një tunel të veçantë për çdo vendndodhje. Konfigurimi i interface-t të tunelit kryhet në skedarin. /etc/network/interfaces. Krijimi i vetë interface-it përkujdeset nga utiliti IP tunnel, që bën pjesë në paketën e parazgjedhur iproute2. Komanda për krijimin e interface-it Shtrohet në opsionin pre-up.

Shembuj i konfigurimit tipik të interface-t të tunelit:
auto site1.
iface site1 inet static.
adresa 192.168.1.4.
maske e rrjetit 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.

Keni parasysh! Duhet theksuar se konfigurimet e interfazheve të tunelit duhet të vendosen jashtë seksionit

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

Në të kundërt, këto konfigurime do të fshihen kur ndryshohen configurimet e natyrshme të interfazheve fizike përmes konsolës Cisco-like.

Routimi dinamik

Në S-Terra, routimi dinamik realizohet me ndihmën e paketës së programeve Quagga. Për të konfiguruar OSPF, na nevojitet aktivizimi dhe konfigurimi i demonëve zebra и ospfd. Demoni zebra merret me ndërveprimin mes demonëve të routimit dhe OS. Demoni ospfd, siç kuptohet nga emri, merret me implementimin e protokollit OSPF.
Konfigurimi i OSPF mund të bëhet ose përmes konsolës së demonit, ose drejtpërdrejt përmes skedarit të konfigurimit /etc/quagga/ospfd.conf. Në skedarin shtohen të gjithë interfazet fizike dhe të tunelit që marrin pjesë në routimin dinamik, si dhe shpallen rrjetet që do të anonsohen dhe të pranojnë anonsimet.

Shembulli i konfigurimit, që duhet të shtohet në 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

Në këtë rast, adresat 192.168.1.x/31 janë rezervuar për rrjetet point-to-point (ptp) të tunelit ndërmjet vendeve, ndërsa adresat 192.168.2.x/30 për rrjetet transit ndërmjet KSH dhe routerëve të bërthamës.

Keni parasysh! Për të reduktuar tabelën e rutimit në instalime të mëdha, mund të filtrohet anonsimi i vetë rrjeteve transit duke përdorur konstrukte no redistribute connected или redistribute connected route-map.

Pas konfigurimit të demonëve, është e nevojshme të ndryshohet statusi i aktivizimit të demonëve në /etc/quagga/daemons. Në opsionet zebra и ospfd no ndryshohet në yes. Aktivizo demonin quagga dhe vendos automatikisht aktivizimin e tij gjatë nisjes së KSH me komandën update-rc.d quagga enable.

Nëse konfigurimi i tunelave GRE dhe OSPF është realizuar siç duhet, atëherë në KSH dhe routerët e bërthamës duhet të shfaqen rruget në rrjetin e vendeve të tjera dhe kështu krijohet lidhja në rrjet ndërmjet rrjeteve lokale.

Kriptojmë trafikun që kalon

Si është përmendur tashmë, zakonisht gjatë kriptimit midis platformave ne tregojmë intervalet e adresave IP (ACL), midis të cilave kriptohet trafiku: nëse adresat e burimit dhe marrësit bien brenda këtyre intervaleve, traffiku midis tyre kriptohet. Megjithatë, në këtë projekt struktura është dinamike dhe adresat mund të ndryshojnë. Duke qenë se ne tashmë kemi konfiguruar tunelimin GRE, si adresat e burimit ashtu edhe ato të marrësve për kriptimin e trafikut mund të jenë adresat e jashtme të QK - sepse traffiku që vjen për kriptimin, është tashmë i inkapsuluar me protokollin GRE. Me fjalë të tjera, kriptohet gjithçka që hyn në QK nga rrjeti lokal i një platforme drejt rrjeteve që janë shpallur nga platforma të tjera. Dhe brenda secilës platformë, mund të realizohet çdo ridrejtim. Kështu, në rast të ndonjë ndryshimi të rrjeteve lokale, administratori mjafton të modifikojë shpalljet që vijnë nga rrjeti i tij drejt QK, dhe ajo do të jetë e disponueshme për platformat e tjera.

Kriptimi në QK S-Terra bëhet nëpërmjet protokollit IPSec. Ne përdorim algoritmin "Kuznecik" në përputhje me GOST R 34.12-2015, dhe për përputhshmëri me versionet më të vjetra mund të përdoret GOST 28147-89. Autentifikimi teknikisht mund të kryhet si me çelësa të përcaktuar paraprakisht (PSK), ashtu edhe me certifikata. Megjithatë, në përdorimin industrial është e nevojshme të përdoren certifikata të lëshuara sipas GOST R 34.10-2012.

Puna me certifikatat, kontenierët dhe CRL kryhet përmes utilit cert_mgr. E para, me anë të komandës cert_mgr create duhet të formohet një kontenier për çelësin privat dhe një kërkesë për certifikatën, e cila do të dërgohet në Qendrën e Menaxhimit të Certifikatave. Pas marrjes së certifikatës, ajo së bashku me certifikatën rrënjësore të CA dhe CRL (nëse përdoret) duhet të importohet me komandën cert_mgr import. Të sigurohemi se të gjitha certifikatat dhe CRL e instaluar janë të dukshme me komandën cert_mgr show.

. Pas instalimit të suksesshëm të certifikatave, kalojmë në konsolën Cisco-like për konfigurimin e IPSec.
Krijojmë një politikë IKE, në të cilën përcaktojmë algoritmet dhe parametrat e dëshiruar për kanalin e siguruar që do të ofrohet partnerit për pajtim.

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

Kjo politikë përshtatet në ndërtimin e fazës së parë të IPSec. Rezultati i një kalimi të suksesshëm të fazës së parë është themelimi i SA (Asociacioni i Sigurisë).
Më pas, do të duhet të përcaktojmë listën e adresave IP të burimit dhe merrësit (ACL) për enkriptimin, të formojmë një grup transformimesh (transform set), të krijojmë një hartë kriptografike (crypto map) dhe ta lidhim atë me ndërfaqen e jashtme të KSH.

Përcaktojmë ACL:
#ip access-list extended site1
#permit gre host 10.111.21.3 host 10.111.22.3

Grupi i transformimeve (ashtu si për fazën e parë, përdorim algoritmin e enkriptimit "Kuznjec" me përdorimin e modit të prodhimit të imitosh):

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

Krijojmë një hartë kriptografike, duke treguar ACL, grupin e transformimeve dhe adresën e peer:

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

Lidhim harten kriptografike me ndërfaqen e jashtme të KSH:

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

Për të enkriptuar kanalet me platforma të tjera, është e nevojshme të përsërisim procedurën e krijimit të ACL dhe harten kriptografike, duke ndryshuar emrin e ACL, adresat IP dhe numrin e harten kriptografike.

Keni parasysh! Në rastin që nuk përdoret verifikimi i certifikatave përmes CRL, kjo duhet të tregojë qartë:

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

Në këtë pikë, konfigurimi mund të konsiderohet i përfunduar. Në dolllimin e komandave të konsolës Cisco-like show crypto isakmp sa и show crypto ipsec sa duhet të pasqyrohen fazat e para dhe të dyta të IPSec. Këtë informacion mund ta marrim gjithashtu me komandën sa_mgr show, e cila ekzekutohet nga shëll debian. Në dolllimin e komandës cert_mgr show duhet të shfaqen certifikat e platformave të largëta. Statusi i atyre certifikatave do të jetë remote. Në rast se tunelët nuk ndodhin, duhet të shikoni në logun VPN-shërbimit, i cili ruhet në skedarin /var/log/cspvpngate.log. Lista e plotë e skedave të logut me përshkrimin e përmbajtjes së tyre është e pranishme në dokumentacion.

Monitorojmë "shëndetin" e sistemit

Në KSH S-Terra për monitorimin përdoret demon standard snmpd. Përveç parametrave tipikë për Linux, S-Terra "nga fabrika" mbështet ofrimin e të dhënave në lidhje me tunelët IPSec sipas CISCO-IPSEC-FLOW-MONITOR-MIB, për çfarë ne përdorim, duke ndjekur gjendjen e tunelëve IPSec. gjithashtu mbështetet funksionaliteti i OID-ve të personalizuara që jepin si vlera rezultatet e ekzekutimit të skriptit. Kjo mundësi na lejon të ndjekim afatet e skadencës së certifikatave. Skripti i shkruar analizën e dolllimit të komandës cert_mgr show dhe si rezultat jep numrin e ditëve deri në skadencën e certifikatave lokale dhe atyre të rrënjës. Ky proces është i pazëvendësueshëm për administrimin e një numri të madh të KSH.
Ne kodojmë sipas GOST: udhëzues për konfigurimin e rrjedhjes dinamike të trafikut

Cila është rëndësia e këtij enkriptimi?

Të gjitha funksionalitetet e përmendura më sipër përkrahen "nga kutia" nga KSH S-Terra. Kjo do të thotë se nuk ishte e nevojshme të instalonin module shtesë që mund të kishin ndikim në certifikimin e kripto-gateway-ve dhe në vlerësimin e tërë sistemit informacion. Kanalet midis vendeve mund të jenë të ndryshme, madje edhe përmes internetit.

Falë faktit se nuk është e nevojshme të rinisni kripto-gateway-t gjatë ndryshimit të infrastrukturës së brendshme, sistemi funksionon si një shërbim, që është shumë praktike për klientin: ai mund të vendosë shërbimet e tij (klientike dhe serverike) në çdo adresë, dhe të gjitha ndryshimet do të shpërndahen dinamikisht ndërmjet pajisjeve të kriptimit.

Pa dyshim, kriptimi për shkak të ngarkesave (overhead) ndikon në shpejtësinë e transferimit të të dhënave, por në mënyrë të papërfillshme — kapaciteti i kanalit mund të ulet maksimumi me 5—10 %. Teknologjia është testuar dhe ka treguar rezultate të mira edhe në kanale satelitore, të cilat janë mjaft të pasigurta dhe kanë kapacitet të ulët.

Igor Vinokhodov, inxhinier i linjës së dytë të administratës "Rostelecom-Solar"

Burimi: habr.com

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster