Ваш шлюз прымае сертыфікат кліента, якога ён ніколі не бачыў, бо наладжаны ён на даверанага эмітэнта, а сертыфікат прыходзіць падчас рукапаціскання. Менавіта так пратакол і павінен працаваць, і менавіта таму пералік каталога на серверы — дрэнны інвентар. Эмітэнт ведае, што ён стварыў, сервер ведае, што падключылася, а стан адклікання ведае, што было адабрана. Інвентар, які змешвае гэтыя тры запісы, у выніку сцвярджае тое, чаго не казаў ніводны з іх.

Шлюз давярае эмітэнту, а не пераліку файлаў

Праверка супастаўляе прадстаўлены сертыфікат з давераным якарам, таму ідэнтычнасць, створаная ўчора тым жа эмітэнтам, падключаецца, ніколі не існуючы на дыску сервера. Для гэтага нічога не трэба капіяваць, і ніхто не павінен ухваляць гэта ўручную. Такім чынам, уласныя запісы сервера апісваюць прыходы, а не сукупнасць ідэнтычнасцей, якія маглі б прыйсці.

Зваротны разрыў гэткі ж няёмкі. Каталог можа змяшчаць састарэлыя сертыфікаты, адкліканыя і ідэнтычнасці, выдадзеныя для прылад, якія так і не былі разгорнуты. Падлік файлаў адказвае, колькі файлаў ёсць, а гэта пытанне, якога ніхто не задаваў. Пачніце замест гэтага з запісаў, якія нясуць сэнс.

Чатыры пытанні, чатыры розныя запісы

Кожны тып запісу добра адказвае на адно пытанне і дрэнна на астатнія, таму справаздача, якая іх аб’ядноўвае, выглядае поўнай, хоць памыляецца канкрэтным чынам. Табліца ніжэй упарадкоўвае іх па пытанні, якое яны вырашаюць, а не па сістэме, якая іх стварае.

Question you are answeringWhere the answer livesHow quickly it changesWhat it will never show
Was this identity ever created?The issuer's issuance databaseOnly when something is issuedWhether the device still exists
Is a copy sitting on this host?The paths you actually inspectedWhenever anyone copies filesCertificates that were never copied here
Has the issuer withdrawn it?Published revocation stateWhen the issuer next publishesWithdrawals that are not published yet
Is it connected right now?The live session tableContinuouslyAnything about past or future sessions

Архіў публічных сертыфікатаў не з’яўляецца сакрэтам, бо не змяшчае прыватных ключоў, але і не падзяляецца. Суб’екты і назвы прылад раскрываюць аперацыйныя дэталі, і справаздача павінна заставацца ў тых, каму яна патрэбная. Прыватныя ключы цалкам застаюцца па-за інвентаром, бо інвентару патрэбны метаданыя, а не ўліковыя даныя.

Эмітэнт плюс серыйны нумар — адзіны стабільны ключ

Суб’екты паўторна выкарыстоўваюцца, а імёны файлаў перайспользваюцца, таму назва, якая летась пазначала адну прыладу, сёння можа пазначаць іншую. Ні адно, ні другое не з’яўляецца ключом, і справаздача, пабудаваная на любым з іх, у рэшце рэшт зліе дзве ідэнтычнасці ў адзін радок.

Пара эмітэнт і серыйны нумар адназначна вызначае сертыфікат, і абодва палі бяруцца з самога сертыфіката. Запішыце іх разам з суб’ектам, датамі дзеяння, крыніцай, адкуль узяты асобнік, і адказным чалавекам ці прыладай. Дадайце стан адклікання і разгортвання як асобныя палі з уласнымі часамі назірання, бо сертыфікат у межах тэрміну дзеяння не аўтаматычна дазволены. Гэтыя два факты жывуць у розных сістэмах, і іх аб’яднанне хавае выпадак, калі ідэнтычнасць была адабрана, а яе файл усё яшчэ выглядае актуальным.

Чытайце па адным сертыфікаце

Шаблон, які разгортваецца па каталогу, не з’яўляецца пакетным інтэрфейсам, і ён хавае, які файл даў які вынік. Чытайце метаданыя па кожным сертыфікаце, а бок адклікання чытайце з яго ўласнага артэфакта. Даведка OpenSSL x509 пералічвае палі, якія друкуюць гэтыя параметры.

openssl x509 -in <cert>.pem -noout -issuer -serial -subject -dates -fingerprint -sha256
openssl crl -in <issuer>.crl -noout -text | head -n 40

Для кіраванай PKI Easy-RSA запытайце базу выдачы праз працоўны працэс, які падтрымлівае інструмент, замест таго каб меркаваць структуру каталога, і трымайце арыгіналы толькі для чытання, пакуль збіраецца інвентар. Фармат рэестра дастаткова рэгулярны, каб палічыць сапраўдныя запісы і пералічыць адабраныя, не адкрываючы базу ўручную.

grep -c '^V' pki/index.txt
grep '^R' pki/index.txt | cut -f4,5

Інвентар, які перажыве наступную выдачу

Аднаразовы скід каталога састарэе ў той момант, калі выдаецца наступны сертыфікат, таму будуйце справаздачу з працэсу выдачы і дазвольце ёй абнаўляцца як частцы звычайнай працы. Гэта таксама робіць справаздачу ўзнаўляльнай, што важна, калі два чалавекі не згодныя наконт таго, што было выдадзена.

Выкарыстоўвайце вынік для рашэнняў аб працягу і зняцці з эксплуатацыі, а не як практыкаванне з табліцай. Выдаленне лакальнага асобніка не анулюе аддаленых асобнікаў, якія ўжо існуюць. Адклічце ідэнтычнасць праз наладжаны працэс адклікання і аўтарызацыі, затым запішыце адкліканне з датай. Ідэнтычнасць, якая знікла з сервера, але па-ранейшаму давераная эмітэнту, не знята з эксплуатацыі, і менавіта гэтая розніца аддзяляе дакладны інвентар ад проста супакойлівага.

Падобныя артыкулы