10分で「指で」PKIに぀いお





私は同僚にsabzhの内郚ミニ講矩を行うこずを提案したした-アむデアが浮䞊したした。 圌は座り蟌んで講矩蚈画を曞き、いく぀かの人はびっくりしたした-やがお目が芚め、小さなガむドが远加されたした。 ここに䜕かを远加しお、お気に入りのHabrahabrを含む情報を怜玢しながら蚘憶を曎新する準備をしおいるずきに、PKIずは䜕か、なぜPKIが必芁なのか、どのように機胜するのかをすぐに理解するず䟿利だず思いたしたが、この圢匏の蚘事芋぀かりたせん。



OpenVPNサヌバヌぞのパスワヌドなしのアクセスやHTTPSを䜿甚したリ゜ヌスぞのアクセスの保護など、倚くの人がよく知っおいる日垞のタスクの䟋を曞いおいたす。



理論なしではできない



PKI公開キヌ基盀はセキュリティに関するものです。 むンフラストラクチャ内の各゚ンティティには独自のキヌがあり、それによっお䞀意に識別されるこずが理解されおいたす。 ぀たり、キヌが盗たれた堎合、盗たれた゚ンティティが圱響を受ける゚ンティティのように芋える堎合がありたす。 PKIは、このような盗難の結果を迅速に最小限に抑えるために必芁です。 キヌは、パブリックずプラむベヌトの2぀の郚分で衚されたす。



アナログはSSHのRSAキヌですが、それらを管理するための集䞭化されたメカニズムがないため、それらをむンフラストラクチャず呌ぶこずは困難です。 たた、違いは、SSHのキヌペアのキヌの公開郚分は倉曎されず、蚌明曞PKIメンバヌキヌの公開郚分はい぀でも再発行できるこずです。



PKIには、1぀実際には少なくずも2぀必芁たたは耇数の認蚌局がありたす。認蚌局認蚌局は、眲名された蚌明曞を発行された顧客にキヌの公開郚分を枡したす。 したがっお、むンフラストラクチャの参加者は、誰がそれらを管理しおいるか、自分に発行された蚌明曞たたは「仲間」が珟時点で有効かどうかを「理解」したす蚌明曞の最も重芁な属性の1぀は有効期間です。 たたは、サヌバヌずそのクラむアントが動䜜するむンフラストラクチャのCAキヌの公開郚分を持぀サヌバヌは、有効な蚌明曞を持぀クラむアントが来たこずを理解し、それを蚱可するか、そうでなければそれを犁止したす。



OpenVPN仕組み



実際、倚くの䌁業はすでにこのケヌスの「PKI」を所有しおおり、埓業員の1人であるため名前を持っおいたす。 そのような人、たずえばPoluektに名前を付けお、それが通垞どのように機胜するかを説明し、それから理想的な方法を説明したす。



䌚瀟に新しい埓業員が珟れるず、Poluektはアヌカむブを䜜成しお送信したす。アヌカむブには、OpenVPNクラむアント自䜓の構成に加えお、ファむル埓業員A. Ivanovなどがありたす。





これらは、特別なPEM圢匏の単玔なテキストファむルです。 たずえば、Microsoftの倧脳JavaキヌストアやPFXずは異なり、蚌明曞は単玔な猫ず1぀のファむルにマヌゞしおCAチェヌンを圢成できたすいわゆるバンドルは、nginxに䟿利です。たずえば、 CA蚌明曞の指瀺、䜕らかの理由で必芁な堎合は、CA蚌明曞ず独自の蚌明曞、さらには秘密鍵を組み合わせるこずができたす。 もう1぀の䟿利な点は、CA蚌明曞をOpenVPNクラむアントの構成の<ca> </ ca>タグの間に盎接登録できるこずです。 おそらく、この方法で蚌明曞を登録できるはずです。 しかし、私はすでに詳现に気を取られおいたす。



Acmeでは、これらのファむルはすべおSemiectによっお生成されたす...



そしお今、あるべき姿



私の䟋では、単玔化した





openssl genrsa -out openvpn.key 2048









openssl req -new -key openvpn.key -out a.vrublevskiy-office. csr

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [XX]: RU

State or Province Name (full name) []:.

Locality Name (eg, city) [Default City]: Moscow

Organization Name (eg, company) [Default Company Ltd]: Pixonic

Organizational Unit Name (eg, section) []: Sysadmins Dept

Common Name (eg, your name or your server's hostname) []: Alexander Vrublevskiy

Email Address []: a.vrublevskiy@pixonic.ru



Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:








最埌にパスワヌドを指定しない方が良いです。そうしないず、接続するたびにパスワヌドを入力する必芁がありたす。これを防ぐために、蚌明曞に応じた蚌明曞のみがありたす。さらに、PixonicのGoogleからOTPがありたす 。







openssl x509 -req -in a.vrublevskiy-office. csr -CA ca. crt -CAkey ca. key -out a.vrublevskiy-office. crt -days 90









合理的な疑問が生じたすなぜそのような困難なのですか PKIトリックずは䜕ですか 答えたす。 事実は、このチェヌンにはチップがないずいうこずです。 そしお、それはCRL蚌明曞倱効リストず呌ばれたす。 これはCAによっお発行された倱効した蚌明曞のリストであり、たずえば、物質で過剰に䜿甚されおいお、秘密鍵を競合他瀟に指瀺するこずができた堎合に、Poluectが以前に発行しお眲名した蚌明曞を入力できたすたあ、たたは圌らは私から盗んだラップトップ。



この機胜が必芁ですか議論のための質問です。 したがっお、これを実装する方法は、これたでのずころ、この蚘事の範囲倖です。



たた、クラむアント蚌明曞の有効性に぀いおPixonicで3か月間の䞀時契玄の䞋で仕事を埗お、それを曎新しなかったず仮定した堎合、蚘茉された状況では、VPNぞのアクセスは蚌明曞の発行日から90日埌に自動的に切断されたす。 同僚がFreeIPAのアカりントを切断したり、authorized_keysから行を手動で削陀するのを忘れた堎合、SSHアクセスでは䜕が起こりたせん。 Cはsesuriteです。



珟圚、 Borschev HTTPSによるず



蚪問者がブラりザを矎しくロックできるように、サむトで「SSLを有効にする」ず仮定したす。 実際、ここではすべおが同じですが、いく぀かのニュアンスがありたす。





そのようなこず。 蚘事の冒頭で玄束した理解が珟れたこずを願っおいたす。



PSもちろん、この犬を食べた由緒あるプロガヌドは、PKIのような耇雑なものがこの蚘事でどのように説明されおいるかから、最も控えめな堎所で髪をかき回すかもしれたせん。 この小さなガむドは、職堎でこれに遭遇しおいるように芋えたすが、それが䜕を、なぜ行っおいるのかを本圓に理解しおいない人のために曞きたした。 そしお、あなたのむンタヌネットにこれらがなければ、私には十分な筋金入りの「マタン」がありたす。 それにもかかわらず、䜕か蚀いたいこずがあれば、コメントを歓迎したす。



All Articles