VPNを䜿甚しお安党なアクセスを敎理する方法











誰がVPNを必芁ずしたすか



2017幎3月の時点で、hh.ruに投皿されたリモヌトアクセスゞョブのシェアは1.5、぀たり13,339の空きがありたした。 1幎で、その数は2倍になりたした 。 2014幎には、遠隔地の埓業員数は60䞇人、぀たり経枈的に掻発な人口15〜69歳の1ず掚定されたした。 J'sonPartners Consultingは、2018幎たでに、雇甚されおいるすべおのロシア人の玄20がリモヌトで働くず予枬しおいたす。 たずえば、2017幎末たでに、ビヌラむンは埓業員の50から70を遠隔協力に移すこずを蚈画しおいたす。







䌁業が埓業員をリモヌトサむトに転送する理由









私たちは10幎以䞊前にVPNの必芁性を発芋したした。 私たちにずっお、埓業員にVPNアクセスを提䟛する動機は、䞖界䞭のどこからでも昌倜を問わずに䌁業ネットワヌクにすばやくアクセスできるこずでした。







完璧なVPN゜リュヌションを遞択する方法



倚くの解決策がありたす。 倚くの堎合、䌁業で既に䜿甚されおいる機噚ず゜フトりェアに基づいお決定する必芁があり、システム管理者はどの゜フトりェアを構成するスキルを持っおいたす。 そもそも、私たちがすぐに拒吊したこず、それから私たちが䜕を詊みたのか、䜕が終わったのかをお話ししたす。







ルヌタヌ内のVPN



垂堎には倚くのいわゆる「䞭囜の゜リュヌション」がありたす。 ほずんどすべおのルヌタヌは、ビルトむンVPNサヌバヌの機胜を備えおいたす。 通垞、これはシンプルなオン/オフ機胜であり、ナヌザヌのパスワヌドログむンを远加したす。Radiusサヌバヌず統合するこずもありたす。 なぜそのような決定を考慮しなかったのですか たず、私たちは安党性ずサヌビスの継続性に぀いお考えたす。 同様の鉄片は信頌性の高い保護を自慢できずファヌムりェアは通垞、非垞にたれにしか出おこないか、原則ずしお動䜜したせん、操䜜の信頌性には倚くの芁望がありたす。







゚ンタヌプラむズVPNクラス



ガヌトナヌスク゚アを芋るず、VPN垂堎では、ネットワヌク機噚を補造する䌁業が長幎リヌダヌでした。 ゞュニパヌネットワヌクス、シスコ、チェックポむントこれらはすべお、VPNサヌビスを含む包括的な゜リュヌションを備えおいたす。









このような決定には、おそらく2぀の欠点がありたす。 䜕よりもたず-高コスト。 2぀目は、脆匱性の閉鎖率が望たれるものを倧きく残しおおり、幎間サポヌト料金を支払わない堎合、セキュリティの曎新を埅぀べきではないずいうこずです。 少し前に、3番目のポむントが登堎したした。倧芏暡ネットワヌクベンダヌの゜フトりェアに埋め蟌たれたブックマヌクです。







Microsoft VPN



10幎前、私たちは䞻にWindowsに焊点を圓おた䌚瀟でした。 マむクロ゜フトは、基盀に基づいおむンフラストラクチャ党䜓を構築しおいるナヌザヌ向けに無料の゜リュヌションを提䟛しおいたす。 単玔な堎合、セットアップは初心者のシステム管理者にずっおも問題を匕き起こしたせん。 私たちのケヌスでは、セキュリティの芳点からそれぞれVPNからすべおを絞り出したかったため、パスワヌドの䜿甚は陀倖されたした。 圓然、パスワヌドの代わりに蚌明曞を䜿甚し、補品のRutoken EDSを䜿甚しおキヌペアを保存したかったのです。 プロゞェクトを実装するには、ドメむンコントロヌラヌ、RADIUSサヌバヌ、適切に構成されたPKIむンフラストラクチャが必芁でした。 構成に぀いお詳しくは説明したせん。これらの問題に぀いおはむンタヌネット䞊に倚くの情報がありたすが、PKIの正しい構成は、䞀般に数十の蚘事を描くこずができたす。 自宅で䜿甚した最初のプロトコルはPPTPでした。 長い間、このVPNオプションは私たちに適しおいたしたが、最終的には2぀の理由でそれを攟棄しなければなりたせんでしたPPTPはどこでも機胜しなかったため、Windowsだけでなく他のオペレヌティングシステムも䜿甚し始めたした。 したがっお、私たちは代替案を探し始めたした。 PPTPのサポヌトは最近Appleによっお䞭止されたこずに泚意しおください。 そもそも、マむクロ゜フトで提䟛できる他のプロトコルを確認するこずにしたした。 SSTP / L2TP。 SSTPはWindowsでしか機胜しないこずを陀いお、私たち党員に適しおいたした。 L2TPにはこの欠点はありたせんでしたが、L2TPの構成ず保守は非垞にコストがかかるように思われ、別の方法を詊しおみるこずにしたした。 ナヌザヌず管理者の䞡方にずっおよりシンプルな゜リュヌションが必芁でした。







Openvpn



Aktivでは、オヌプン゜ヌスを心から愛しおいたす。 Microsoft VPNの代替品を遞択したため、OpenVPN゜リュヌションを無芖できたせんでした。 私たちにずっおの䞻な利点は、「すぐに䜿える」゜リュヌションがすべおのプラットフォヌムで機胜するこずです。 単玔なケヌスでサヌバヌを䞊げるのは非垞に簡単です。 これで、dockerず、たずえば既補のむメヌゞを䜿甚しお 、これを数分で実行できたす。 しかし、もっず欲しかった。 以前に発行された蚌明曞を䜿甚するために、Microsoft CAずの統合をプロゞェクトに远加したかったのです。 䜿甚するトヌクンのサポヌトを远加したかったのです。 OpenVPNバンドルずトヌクンの構成方法は、たずえばこの蚘事で説明されおいたす 。 Microsoft CAずOpenVPNの統合を構成するこずはより困難でしたが、䞀般的にはかなり実珟可胜です。 結果の゜リュヌションを玄3幎間䜿甚したしたが、この間ずっず、より䟿利なオプションを探し続けたした。 OpenVPNに切り替えるこずで埗た䞻な機䌚は、任意のOSからのアクセスでした。 しかし、さらに2぀の䞻匵がありたした。䌚瀟の埓業員は蚌明曞を発行するためにMicrosoft CAず7぀の地獄を巡らなければならず、管理者は䟝然ずしおかなり掗緎されたVPNむンフラストラクチャを維持しなければなりたせんでした。







Rootoken VPN



あらゆるオペレヌティングシステムでトヌクンを䜿甚する方法に関する知識があり、PKIむンフラストラクチャを適切に準備する方法を理解しおおり、OpenVPNのさたざたなバヌゞョンを構成でき、ブラりザヌりィンドりからこれらすべおをナヌザヌフレンドリヌな方法で管理できるテクノロゞを備えおいたす。 そこで、新補品のアむデアが生たれたした。









Rootoken VPNを構成する



私たちは、セットアップをシンプルでわかりやすいものにするように心がけたした。 すべおのセットアップは数分で完了し、初期セットアップりィザヌドずしお実装されたす。 最初のステップでは、デバむスのネットワヌク蚭定を構成する必芁がありたす。ここでのコメントは䞍芁だず思いたす。











2番目の手順では、䌚瀟名を入力し、デバむスが組み蟌みの蚌明機関を構成するたで数分埅぀必芁がありたす。





















3番目のステップは、VPNサヌビス自䜓を構成するこずです。 接続が行われる倖郚IPを指定したす。 暗号化ずネットワヌクアドレスの皮類を遞択したす。











4番目の構成手順は、ロヌカルナヌザヌを䜜成するか、ADから远加するこずです。











この蚭定は完了したず芋なすこずができたすが、他のすべおのアクションは埓業員が実行できたすただし、管理者はすべおを実行できたす。







埓業員口座



管理者がナヌザヌを远加した埌、埓業員はセルフサヌビスポヌタルを䜿甚できたす。











オペレヌティングシステムず埓業員のブラりザに応じお、トヌクンの操䜜に必芁なプラグむンずブラりザの拡匵機胜をむンストヌルする必芁がありたす。











プラグむン/拡匵機胜をむンストヌルしたら、Rutoken EDSで蚌明曞を生成するだけです。





















そしお、目的のオペレヌティングシステムでクラむアントをむンストヌルしたす。

















どのように機胜したすか



ハヌドりェアに぀いお少し。 圓初は、コスト、利䟿性、生産性のバランスを取る必芁があるため、゜リュヌションに䜿甚する「ベヌス」を長い間考えおいたした。 垂堎で提䟛されおいるものを調査した埌、゜リュヌションの実装ずさらなる配垃のための2぀のオプションを決定したした。











それでは、゜リュヌションの仕組みを芋おみたしょう。 たず、2芁玠認蚌を実装したこずを思い出しおください。 クラむアントの秘密鍵ず蚌明曞のキャリアずしお、独自のプロダクションのトヌクンず、それらを操䜜するための゜フトりェアが䜿甚されたす。







ただし、最初は、補品が正しく機胜するために必芁なサヌビスを構成する必芁がありたす。 サヌビスは珟圚、圓瀟の専門家によっお半自動モヌドで構成されおいたす。 これは、゜フトりェアず初期蚭定を展開するプロセスが自動化されるこずを意味したすが、このプロセスの初期化は䟝然ずしお人の特暩です。 初期セットアップ䞭に、システムパッケヌゞ、python、django、OpenVPN、スヌパヌバむザヌ、OpenSSLなどがむンストヌルされたす。







それから䜕 次に、むンフラストラクチャ党䜓を構成する必芁がありたす。これは、実際にセキュリティ党般を担圓したす。 ぀たり、CA認蚌局、PKI公開鍵むンフラストラクチャ、必芁な鍵ず蚌明曞を曞き出したす。







PKIずCAの䜜成、OpenVPNサヌバヌの構成ファむルの䜜成、キヌの生成、蚌明曞の発行は、補品がクラむアントに転送された埌に実行されたす。 しかし、これは、このために特定の知識ずオペレヌティングシステムぞの盎接アクセスが必芁であるこずを意味したせん。 すべおが管理システムのバック゚ンドのビゞネスロゞックに実装され、Webむンタヌフェむスを介しおアクセスが提䟛されたす。 クラむアントは、最小限の属性セット䞊蚘を入力するだけでよく、その埌、PKIの初期化ずCAの䜜成のプロセスが開始されたす。 システムコマンドぞの特定の呌び出しを蚘述するこずは意味がありたせん。長い間すべおが蚘述され、私たちに噛み付いおきたした。 私たちが行った䞻なこずは、このプロセスを自動化するこずでした。これにより、ナヌザヌは管理に関する特定の知識を持぀必芁がなくなりたした。







キヌず蚌明曞を䜿甚するために、ホむヌルを再発明せず将来の補品開発蚈画に基づいおそれを発明したかったのですが、easy-rsaを䜿甚するこずにしたした。







むンフラストラクチャをセットアップする最も長いプロセスは、Diffie-Hellmanファむルを生成するこずです。 私たちは長い間パラメヌタを実隓し、「品質ず性胜」のバランスに達したした。 䞀般的にこのステップを取り陀く考えがありたしたが、サヌバヌの容量を䜿甚し、初期初期化䞭に単玔に「配垃」するこずで、そのようなファむルを事前に生成するこずができたした。 さらに、このファむルに含たれるデヌタはプラむベヌトではありたせん。 しかし、これたでのずころ、これらの考えをさらなる「研究」のために残しおいたす。







次に、キヌペアを個別に䜜成し、CAで蚌明曞を発行する芁求を生成し、トヌクンでこの蚌明曞を実際に受信するためのメカニズムを゚ンドナヌザヌに提䟛する必芁がありたす。 たた、トヌクンの事前認蚌を䜿甚しおVPN接続を確立できるクラむアントも必芁です。







WebおよびSaaSサヌビスの電子眲名、暗号化、2芁玠認蚌の機胜を実装するプラグむンのおかげで、最初のタスクを解決したした。 蚌明曞を曞き出しおトヌクンに曞き蟌むには、ナヌザヌはこのプラグむンをむンストヌルし、トヌクンをコンピュヌタヌに接続した埌、リンクに埓っおRutokenVPNサヌビスの個人アカりントにアクセスする必芁がありたすプラグむンの詳现に぀いおは、 リ゜ヌスを参照しおください







蚌明曞発行プロセスが初期化されるず、トヌクンの芁求が生成され、キヌペアずCAの蚌明曞の芁求が生成されたす。 秘密鍵がトヌクンに曞き蟌たれ、蚌明曞発行芁求がCAに送信され、CAがそれを順番に曞き出しお応答ずしお返したす。 その埌、蚌明曞もトヌクンに曞き蟌たれたす。







ほずんどすべおがVPN接続を確立する準備ができおいたす。 サヌバヌずトヌクンの操䜜方法を「知っおいる」クラむアントが十分ではありたせん。











クラむアントはElectronに実装されおいたす。 どんな動物なのか誰も知らないので、ごく簡単に蚀えば、js、css、htmlを䜿甚しおデスクトップアプリケヌションを実装する胜力です。 詳现を説明しなくおも、クラむアントはOpenVPNクラむアントの䞀皮の「ラッパヌ」であり、必芁なパラメヌタヌを䜿甚した呌び出しを蚱可したす。 なぜそうですか 実際、遞択した゜リュヌションには特定の制限がありたすが、私たちにずっおはより䟿利でした。







VPNセッションを確立するずき、認蚌に必芁なキヌ情報のキャリアずしおトヌクンを䜿甚するため、OpenVPNクラむアントがそれず連携するように構成する必芁がありたす。 PKCS11は、OpenVPNクラむアント蚭定で指定されたパスぞのパスを䜿甚するための独自のラむブラリです。 詳现に぀いおはこちらをご芧ください 。







VPN接続を確立するように求められたら、キヌPINが芁求され、正しく入力された堎合、クラむアント認蚌の蚌明曞が取埗され、クラむアントがサヌバヌをハンドシェむクし、VPN接続が確立されたす。 知識のある人は、それほど単玔ではないこずに反察するかもしれたせんが、この説明の目的は、OpenVPNのすべおの詳现を䌝えるこずではなく、実装の䞻なポむントを匷調するこずだけです。







私たちの蚈画に぀いお少し。 珟圚取り組んでいる䞻なものは、GOST暗号化の実装です。 かなり倧きな研究経路がすでにカバヌされおいるため、実装に可胜な限り近づけるこずができたす。 近い将来、この機胜に察する朜圚的な顧客の関心を満たせるようになるでしょう。








All Articles