Divi klienta sertifikāti ar atšķirīgiem sērijas numuriem, atšķirīgām atslēgām un pat atšķirīgiem pilniem subjektiem joprojām var nonākt vienā politikas failā, jo serveris neskatās ne uz vienu no tā. Tas nolasa nosaukumu no sertifikāta un atver atbilstošo klienta konfigurācijas failu. Ja abi sertifikāti nes vienu un to pašu nosaukumu, otrais manto pirmā politiku tajā mirklī, kad tas pieslēdzas.

Sadursme rodas reģistrācijas laikā un tiek atklāta tikai pieslēgšanās laikā, parasti tad, kad ierīce saņem adresi vai maršrutu kopu, kas pieder citai mašīnai. Lai to novērstu, ir jāvienojas, kuru lauku serveris kartē, un pēc tam jārezervē šī vērtība pirms kaut kas tiek parakstīts.

Jūsu sertifikātu rīki jūs nebrīdinās, jo unikalitāte X.509 iekšienē un OpenVPN politikas nosaukuma unikalitāte ir atšķirīgas prasības, ko īsteno dažādas sistēmas.

Serveris meklē nosaukumu, nevis pirksta nospiedumu

Parastajā sertifikātos balstītajā kartēšanā serveris paņem vispārīgo nosaukumu no uzrādītā sertifikāta un meklē failu ar šo nosaukumu savā klientu konfigurācijas direktorijā. Šis fails var piesaistīt statisku adresi, virzīt maršrutus vai piemērot ugunsmūra atzīmes katram klientam. Meklēšana ir virknes atbilstība faila nosaukumam, tāpēc lielie un mazie burti, atstarpes un pieturzīmes visi ir svarīgi.

Daži izvietojumi apzināti apmaina kartēšanu, lai autentificēts lietotājvārds pārņemtu vispārīgo nosaukumu, un tad tieši lietotājvārdam jābūt unikālam. Jebkurā gadījumā vērtība, kas izvēlas politiku, ir vērtība, ko jūs rezervējat. Izlemiet, kura tā ir, pirms kaut ko izdodat; minēt pēc sadursmes dārgāk nekā pajautāt.

Kur divas iestādes saskaras ar vienu nosaukumu

Organizācija, kas pieņem sertifikātus no vairāk nekā vienas izdevējiestādes, uztur divus neatkarīgus reģistrācijas procesus, kas raksta vienā nosaukumu telpā. Katras iestādes pašas unikalitātes noteikumi darbojas tās iekšienē, tāpēc abas var likumīgi izdot tam pašam vispārīgajam nosaukumam, un neviena nepamana neko nepareizu.

Sērijas numuri nepalīdz. X.509 prasa, lai sērijas numurs būtu unikāls tā izdevēja tvērumā, un tā ir šīs iestādes uzskaites īpašība, nevis ierīces globālā identitāte. Subjekta pārbaude arī ir cits tests nekā vispārīgā nosaukuma pārbaude: divi sertifikāti var kopīgot CN, bet atšķirties organizatoriskajā vienībā un tāpēc būt ar atšķirīgiem subjektiem. Visas šīs īpašības var pastāvēt, kamēr serveris joprojām kartē abus sertifikātus uz vienu faila nosaukumu.

OpenSSL CA dokumentācija aptver iestatījumu unique_subject, kas pārvalda tās pašas datubāzes viedokli, un godīgs sākumpunkts ir izlasīt savu izdošanas konfigurāciju, nevis pieņemt, ka tiek piemērots kāds konkrēts EasyRSA vai OpenSSL noklusējums.

Rezervējiet faktisko nosaukumu pirms parakstīšanas

Uzturiet reģistru, kas kartē ierīci uz tās apstiprināto ierakstu un no turienes uz precīzu politikas faila nosaukumu, lai nosaukums tiktu piešķirts vienreiz un paliktu piešķirts. Rezervācijai jābūt atomiskai, kas praksē nozīmē datubāzes ierobežojumu vai slēdzeni ap piešķir-un-pēc-tam-paraksti soli, nevis izklājlapu, ko rediģē divi cilvēki.

Pēc tam padariet pārbaudi par izdošanas daļu: atsakiet parakstīt, ja pieprasītais nosaukums jau pastāv, un iekļaujiet šajā pārbaudē katru iestādi, kurai serveris uzticas, jo otras iestādes rezervētais nosaukums ir tikpat aizņemts. Noraidīts pieprasījums ar skaidru iemeslu ir lētāks nekā biļete par ierīci, kas nemitīgi saņem kāda cita statisko adresi.

Atjaunināšana apzināti izmanto nosaukumu atkārtoti

Atkārtota izdošana esošai ierīcei radīs jaunu sērijas numuru zem tā paša politikas nosaukuma, un tā ir likumīga atkārtota izmantošana, nevis sadursme. Iepriekš jāizlemj pārklāšanās: vai vecais un jaunais sertifikāts drīkst būt derīgi vienlaikus, un kā vecais akreditācijas datu kopums tiek izņemts.

Nevērsieties pie duplicate-cn, lai to atrisinātu. Šī servera opcija pārvalda vienlaicīgus savienojumus, kas uzrāda vienu nosaukumu; tā nebloķē reģistrāciju, un tās iespējošana nepadara vienu kopīgu statisko adresi drošu divām mašīnām vienlaikus. Atsaukšana parasti identificē sertifikātu pēc izdevēja un sērijas numura, tāpēc veco akreditācijas datu izņemšanai nav jāpadara nederīgs tās aizvietotājs, ja vien serveris saņem un piemēro pareizos atsaukšanas datus.

Apstipriniet kartēšanu ar rīkiem mašīnā

Pirms nododat ierīcei tās jauno akreditācijas datu kopumu, nolasiet nosaukumu no sertifikāta tā, kā to darīs serveris, un pēc tam salīdziniet to ar politikas failu, kuru sagaidāt, ka tas tiks izvēlēts.

openssl x509 -in device42.crt -noout -subject -nameopt sep_multiline
ls -l /etc/openvpn/ccd/device42
grep -n "duplicate-cn" /etc/openvpn/server.conf

Pirmā komanda izdrukā subjekta laukus atsevišķi, kas uzreiz parāda nomaldījušos organizatorisko vienību vai dubultu atstarpi. Otrā apstiprina, ka politikas fails pastāv tieši ar šo nosaukumu, un trešā parāda, vai serveris ir konfigurēts atļaut vairākas sesijas ar vienu nosaukumu. Palaidiet visas trīs uz jauna sertifikāta, pirms tas pamet reģistrācijas soli, kamēr kļūda vēl maksā parakstu, nevis incidentu. Saglabājiet izvadi kopā ar biļeti, lai nākamā persona redzētu, kādu nosaukumu serveris patiešām saņēma.

Pabeidziet ar īstu savienojumu un salīdziniet piešķirto adresi un virzītos maršrutus ar politikas failu, nevis ar to, ko bijāt iecerējis rakstīt. Ja divas ierīces ziņo par vienu un to pašu statisko adresi, reģistrā ir sadursme, ko neviena sertifikātu pārbaude nekad neatklās.

Saistītie raksti