Kryptering enligt GOST: en guide för instÀllning av dynamisk trafikdirigering

Kryptering enligt GOST: en guide för instÀllning av dynamisk trafikdirigering
Om ditt företag överför eller tar emot personuppgifter och annan konfidentiell information som skyddas enligt lag, krÀvs det att du anvÀnder kryptering enligt GOST. I dag kommer vi att berÀtta hur vi implementerade sÄdan kryptering baserad pÄ kryptogatewayen (KG) S-Terra för en av vÄra kunder. Denna historia kommer att vara intressant för informationssÀkerhetsspecialister samt ingenjörer, designers och arkitekter. Vi kommer inte att gÄ djupt in i nyanserna av teknisk konfiguration i detta inlÀgg - vi kommer att fokusera pÄ de viktigaste punkterna i grundinstÀllningen. Det finns enorma mÀngder dokumentation för att stÀlla in Linux-operativsystemets tjÀnster, som KG S-Terra baseras pÄ, fritt tillgÀngliga pÄ internet. Dokumentationen för att stÀlla in den proprietÀra programvaran S-Terra finns ocksÄ tillgÀnglig. portal tillverkaren.

NÄgra ord om projektet

NÀtverkstopologin hos kunden var typisk - full mesh mellan centralen och filialerna. Det krÀvdes att implementera kryptering av informationsutbytena mellan alla platser, vilka var 8 stycken.

Vanligtvis Àr allt statiskt i sÄdana projekt: kryptogatewayarna (KG) stÀller in statiska rutter i den lokala nÀtverksplatsen, IP-adresslista (ACL) för kryptering skrivs in. Men i det hÀr fallet finns det ingen centraliserad förvaltning av platserna, och inom deras lokala nÀtverk kan allt hÀnda: nÀtverk kan lÀggas till, tas bort och modifieras pÄ olika sÀtt. För att undvika omkonfigurering av routing och ACL pÄ KG vid förÀndringar av adresseringen av de lokala nÀtverken pÄ platserna, fattades beslutet att anvÀnda GRE-tunneling och dynamisk routing OSPF, dÀr alla KG och de flesta kÀrnrutrar i nÀtverken pÄ platserna Àr inkluderade (pÄ vissa platser föredrog infrastrukturen administratörer att anvÀnda SNAT mot KG pÄ kÀrnrutrarna).

GRE-tunneling möjliggjorde att lösa tvÄ uppgifter:
1. AnvÀnda externa IP-adressen för KG:ns grÀnsnitt i ACL för kryptering, dÀr all trafik som gÄr till andra platser kapslas in.
2. Organisera p-t-p tunnlar mellan KG, som möjliggör att stÀlla in dynamisk routing (i vÄrt fall organiserades en leverantörs MPLS L3VPN mellan platserna).

Kunden har bestÀllt implementering av kryptering som en tjÀnst. Annars skulle de behöva inte bara hantera kryptogateways eller outsourca till nÄgon organisation, utan ocksÄ sjÀlv följa livscykeln för krypteringscertifikat, förlÀnga dem i tid och installera nya.
Kryptering enligt GOST: en guide för instÀllning av dynamisk trafikdirigering
Och nu för sjĂ€lva anteckningen – hur och vad vi har konfigurerat

Till KIIs subjekt: vi konfigurerar kryptogateway

GrundlÀggande nÀtverksinstÀllning

Först startar vi den nya KG och kommer in i administrationskonsolen. Det första steget Ă€r att Ă€ndra lösenordet för den inbyggda administratören — kommandot change user password administrator. Sedan mĂ„ste vi genomföra initieringsproceduren (kommandot initialize) under vilken licensdata anges och en slumpgenerator (RNG) initieras.

Observera! Vid initiering av KG S-Terra stÀlls en sÀkerhetspolicy in, dÀr sÀkerhetsgatewayens grÀnssnitt inte slÀpper igenom paket. Antingen mÄste man skapa en egen policy, eller anvÀnda kommandot run csconf_mgr activate för att aktivera den förinstallerade tillÄtande policyn.
DÀrefter mÄste vi konfigurera adresseringen för externa och interna grÀnssnitt, samt standardrutt. Arbetet med nÀtverkskonfigurationen av KG och krypteringsinstÀllningar bör helst utföras via Cisco-liknande konsol. Denna konsol Àr avsedd för att ange kommandon som liknar de i Cisco IOS. Konfigurationen, som skapas med hjÀlp av den Cisco-liknande konsolen, omvandlas i sin tur till motsvarande konfigurationsfiler, som OS-demoner arbetar med. För att gÄ till Cisco-liknande konsol frÄn administrationskonsolen kan man anvÀnda kommandot konfigurera.

Ändra lösenord för den inbyggda anvĂ€ndaren cscons och enable:

>enable
Lösenord: csp (standardinstÀlld)
#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

Vi lÀmnar den Cisco-liknande konsolen och gÄr till Debian-skalet med kommandot system. Vi stÀller in ett eget lösenord för anvÀndaren root med kommandot passwd.
För varje KG skapas en separat tunnel för varje plats. Konfigurationen av tunnelgrÀnssnittet utförs i filen /etc/network/interfaces. För skapandet av sjÀlva grÀnssnittet ansvarar verktyget IP tunnel, som ingÄr i den förinstallerade uppsÀttningen iproute2. Kommandot för att skapa grÀnssnittet anges i alternativet pre-up.

Exempel pÄ konfiguration av ett typiskt tunnelgrÀnssnitt:
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

Observera! Det bör noteras att instÀllningar för tunnelgrÀnssnitt mÄste placeras utanför sektionen

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

Annars kommer dessa instÀllningar att raderas vid Àndring av nÀtverksinstÀllningar för fysiska grÀnssnitt via en Cisco-liknande konsol.

Dynamisk routing

I S-Terra implementeras dynamisk routing med programvarupaketet Quagga. För att konfigurera OSPF behöver vi aktivera och stÀlla in demonerna zebra och ospfd. Demon zebra ansvarar för interaktionen mellan routingdemoner och operativsystemet. Demon ospfd, som namnet antyder, ansvarar för implementeringen av OSPF-protokollet.
Konfiguration av OSPF görs antingen via demonens konsol eller direkt genom konfigurationsfilen /etc/quagga/ospfd.conf. Filen mÄste inkludera alla fysiska och tunnelgrÀnssnitt som deltar i dynamisk routing samt de nÀtverk som ska annonseras och ta emot annonseringar.

Exempelkonfiguration som mÄste lÀggas till i 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

I detta fall Ă€r adresserna 192.168.1.x/31 avsedda för tunnel-ptp-nĂ€tverk mellan platserna, adresserna 192.168.2.x/30 — för transitnĂ€t mellan KSH och kĂ€rnrouter.

Observera! För att minska routingtabellen i stora installationer kan annonsering av sjÀlva transitnÀten filtreras med hjÀlp av konstruktionerna no redistribute connected eller redistribute connected route-map.

Efter att demonerna har konfigurerats mÄste startstatus Àndras i /etc/quagga/daemons. I alternativen zebra och ospfd Àndra no till yes. Starta demon quagga och stÀll in dess automatisk start vid systemstart med kommandot update-rc.d quagga enable.

Om instÀllningen av GRE-tunnlar och OSPF har genomförts korrekt, kommer rutter i nÀtverket för de andra platserna att visas pÄ KSH och kÀrnroutrarna och dÀrmed uppnÄs nÀtverksanslutning mellan de lokala nÀten.

Vi krypterar den överförda trafiken

Som redan nĂ€mnts, anger vi vanligtvis IP-adressintervall (ACL) mellan plattformar vid kryptering, för att trafik ska krypteras: om kĂ€ll- och mottagaradresserna faller inom dessa intervaller, krypteras trafiken mellan dem. Men i detta projekt Ă€r strukturen dynamisk och adresserna kan Ă€ndras. Eftersom vi redan har konfigurerat GRE-tunneling, kan vi anvĂ€nda externa adresser till KSH som kĂ€ll- och mottagaradresser för att kryptera trafiken — eftersom trafiken som anlĂ€nder redan Ă€r inkapslad med GRE-protokollet. Med andra ord krypteras allt som gĂ„r in i KSH frĂ„n det lokala nĂ€tverket pĂ„ en plattform mot nĂ€tverket som har annonserats av andra plattformar. Inom varje plattform kan dock vilken omdirigering som helst utföras. DĂ€rför, om nĂ„gra lokala nĂ€tverk Ă€ndras, rĂ€cker det för administratören att modifiera annonserna som gĂ„r frĂ„n hans nĂ€tverk till KSH, och den blir tillgĂ€nglig för andra plattformar.

Kryptering i KSH S-Terra utförs via protokollet IPSec. Vi anvÀnder algoritmen "Kuznechik" enligt GOST R 34.12-2015, och för kompatibilitet med Àldre versioner kan GOST 28147-89 anvÀndas. Autentisering kan tekniskt sett utföras bÄde med fördefinierade nycklar (PSK) och med certifikat. I praktisk anvÀndning Àr det dock nödvÀndigt att anvÀnda certifikat som utfÀrdats enligt GOST R 34.10-2012.

Arbetet med certifikat, containrar och CRL utförs med hjÀlp av verktyget cert_mgr. Först och frÀmst, med hjÀlp av kommandot cert_mgr create Àr det nödvÀndigt att skapa en behÄllare för den privata nyckeln och en begÀran om certifikat som kommer att skickas till certifikathanteringscentralen. Efter att certifikatet har mottagits ska det tillsammans med rotcertifikatet frÄn CA och CRL (om det anvÀnds) importeras med kommandot cert_mgr import. För att vara sÀker pÄ att alla certifikat och CRL har installerats kan kommandot anvÀndas cert_mgr show.

. Efter att certifikaten har installerats framgÄngsrikt gÄr vi vidare till Cisco-liknande konsol för att konfigurera IPSec.
Vi skapar en IKE-politik dÀr önskade algoritmer och parametrar för den skyddade kanalen anges, som kommer att föreslÄs för partnern för överenskommelse.

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

Denna policy tillÀmpas vid uppbyggnaden av den första fasen av IPSec. Resultatet av en framgÄngsrik genomgÄng av den första fasen Àr etableringen av SA (Security Association).
NÀsta steg Àr att ange en lista med IP-adresser för kÀllan och mottagaren (ACL) för kryptering, skapa en transformationsuppsÀttning (transform set), skapa en kryptografisk karta (crypto map) och koppla den till den externa grÀnssnittet av KG.

Ange ACL:
#ip access-list extended site1
#permit gre host 10.111.21.3 host 10.111.22.3

TransformationsuppsÀttning (precis som i den första fasen, anvÀnder vi krypteringsalgoritmen "Kuznets" med imitskapslÀge):

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

Vi skapar kryptokartan, anger ACL, transform set och peer-adressen:

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

Vi kopplar kryptokartan till den externa grÀnssnittet av KG:

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

För att kryptera kanaler med andra platser mÄste proceduren för att skapa ACL och kryptokartan upprepas, med Àndrade namn pÄ ACL, IP-adresser och nummer pÄ kryptokartan.

Observera! Om certifikatkontroll via CRL inte anvÀnds, mÄste detta anges uttryckligen:

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

Nu kan instÀllningen anses vara slutförd. I utskriften av Cisco-liknande konsol show crypto isakmp sa och show crypto ipsec sa bör de uppbyggda första och andra faserna av IPSec Äterspeglas. Denna information kan ocksÄ erhÄllas med kommandot sa_mgr show, utförd frÄn debian shell. I utskriften av kommandot cert_mgr show bör certifikaten för de fjÀrran platserna visas. Statusen för sÄdana certifikat kommer att vara remote. Om tunnlarna inte byggs mÄste man titta i loggen VPN-tjÀnsten, som lagras i filen /var/log/cspvpngate.log. En fullstÀndig lista över loggfiler med beskrivning av deras innehÄll finns i dokumentationen.

Övervaka "hĂ€lsan" hos systemet

I KG S-Terra anvÀnds den standardmÀssiga demon snmpd för övervakning. Förutom typiska Linux-parametrar stöder S-Terra "out of the box" att ge data om IPSec-tunnlar enligt CISCO-IPSEC-FLOW-MONITOR-MIB, som vi anvÀnder för att övervaka tillstÄndet för IPSec-tunnlar. Funktionaliteten för anpassade OID:er stöds ocksÄ, som returnerar resultat frÄn körningen av skriptet som vÀrden. Denna funktion gör att vi kan övervaka utgÄngstiderna för certifikat. Det skrivna skriptet analyserar utskriften av kommandot cert_mgr show och ger som resultat antalet dagar kvar till utgÄng av lokala och rotcertifikat. Denna metod Àr ovÀrderlig vid administrationen av ett stort antal KG.
Kryptering enligt GOST: en guide för instÀllning av dynamisk trafikdirigering

Vad Àr syftet med sÄdan kryptering?

All the functionality described above is supported out of the box by the S-Terra Crypto Gateway. This means that no additional modules had to be installed that could affect the certification of the crypto gateways and the accreditation of the entire information system. The channels between sites can be anything, even via the internet.

Thanks to the fact that internal infrastructure changes do not require reconfiguring the crypto gateways, the system operates as a service, which is very convenient for the client: they can place their services (both client and server) at any addresses, and all changes will be dynamically transmitted between the encryption equipment.

Certainly, encryption due to overhead impacts the speed of data transmission, but only slightly — the bandwidth of the channel may decrease by a maximum of 5-10%. At the same time, the technology has been tested and has shown good results even on satellite channels, which are rather unstable and have low bandwidth.

Igor Vinokhodov, second-line administration engineer at "Rostelecom-Solar"

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster