Інвентарызацыя сертыфікатаў VPN: што можа даказаць рэестр CA
Каталог на серверы, рэестр CA, спіс адклікання і табліца сеансаў адказваюць на розныя пытанні. Трымайце іх асобна падчас інвентарызацыі ідэнтычнасцей VPN.
Ваш шлюз прымае сертыфікат кліента, якога ён ніколі не бачыў, бо наладжаны ён на даверанага эмітэнта, а сертыфікат прыходзіць падчас рукапаціскання. Менавіта так пратакол і павінен працаваць, і менавіта таму пералік каталога на серверы — дрэнны інвентар. Эмітэнт ведае, што ён стварыў, сервер ведае, што падключылася, а стан адклікання ведае, што было адабрана. Інвентар, які змешвае гэтыя тры запісы, у выніку сцвярджае тое, чаго не казаў ніводны з іх.
Шлюз давярае эмітэнту, а не пераліку файлаў
Праверка супастаўляе прадстаўлены сертыфікат з давераным якарам, таму ідэнтычнасць, створаная ўчора тым жа эмітэнтам, падключаецца, ніколі не існуючы на дыску сервера. Для гэтага нічога не трэба капіяваць, і ніхто не павінен ухваляць гэта ўручную. Такім чынам, уласныя запісы сервера апісваюць прыходы, а не сукупнасць ідэнтычнасцей, якія маглі б прыйсці.
Зваротны разрыў гэткі ж няёмкі. Каталог можа змяшчаць састарэлыя сертыфікаты, адкліканыя і ідэнтычнасці, выдадзеныя для прылад, якія так і не былі разгорнуты. Падлік файлаў адказвае, колькі файлаў ёсць, а гэта пытанне, якога ніхто не задаваў. Пачніце замест гэтага з запісаў, якія нясуць сэнс.
Чатыры пытанні, чатыры розныя запісы
Кожны тып запісу добра адказвае на адно пытанне і дрэнна на астатнія, таму справаздача, якая іх аб’ядноўвае, выглядае поўнай, хоць памыляецца канкрэтным чынам. Табліца ніжэй упарадкоўвае іх па пытанні, якое яны вырашаюць, а не па сістэме, якая іх стварае.
| Question you are answering | Where the answer lives | How quickly it changes | What it will never show |
|---|---|---|---|
| Was this identity ever created? | The issuer's issuance database | Only when something is issued | Whether the device still exists |
| Is a copy sitting on this host? | The paths you actually inspected | Whenever anyone copies files | Certificates that were never copied here |
| Has the issuer withdrawn it? | Published revocation state | When the issuer next publishes | Withdrawals that are not published yet |
| Is it connected right now? | The live session table | Continuously | Anything 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
Інвентар, які перажыве наступную выдачу
Аднаразовы скід каталога састарэе ў той момант, калі выдаецца наступны сертыфікат, таму будуйце справаздачу з працэсу выдачы і дазвольце ёй абнаўляцца як частцы звычайнай працы. Гэта таксама робіць справаздачу ўзнаўляльнай, што важна, калі два чалавекі не згодныя наконт таго, што было выдадзена.
Выкарыстоўвайце вынік для рашэнняў аб працягу і зняцці з эксплуатацыі, а не як практыкаванне з табліцай. Выдаленне лакальнага асобніка не анулюе аддаленых асобнікаў, якія ўжо існуюць. Адклічце ідэнтычнасць праз наладжаны працэс адклікання і аўтарызацыі, затым запішыце адкліканне з датай. Ідэнтычнасць, якая знікла з сервера, але па-ранейшаму давераная эмітэнту, не знята з эксплуатацыі, і менавіта гэтая розніца аддзяляе дакладны інвентар ад проста супакойлівага.