近年、ランサムウェア被害の増加が大きな課題となっており、その対策の一つとして “認証方式の強化” が改めて注目されています。
今回は、その対策として有効な “リモートアクセスの証明書認証” を実際に検証してみました。
「許可した端末以外からはリモートアクセスさせたくない」 といったご要件も、
証明書認証を利用することで実現できます。
本記事では、 リモートアクセス は Meraki MX と AnyConnect VPN (Cisco Secure Client VPN) で行い、
IdP・SSO・証明書 などは Soliton OneGate を用いた例で、設定内容と動作を確認していきます。
現在 typeM で AnyConnect VPN や Cisco Secure Connect(SASE) をご利用中の方、
これからリモートアクセスやSASEの導入を検討されている方にも、ご参考にしていただければ幸いです。
それでは、管理画面の設定を交えながら検証していきましょう。
1.接続設定
ユーザーIDおよび証明書を管理する Soliton OneGateの管理画面 です。 発行・管理・運用はすべてこの管理画面から行います。

OneGateでは、デフォルトですぐに利用できる IdP証明書 が1つ用意されています。 今回はこちらのIdP証明書を利用します。

続いて、MXと連携させるために必要な IdPメタデータ をダウンロードします。


MXからのSAML認証リクエストにSSOができるように、サービス連携設定を登録します。
事前にMerakiの管理画面から、 MXのホスト名(DDNS) をコピーしておきます。

作成したクラウドサービス連携設定のSSOを有効化します。




MX用のSSOが有効化できたら、 次にMXにSSOするユーザーを作成します。
クラウドサービス連携設定の SAML設定 > ユーザー名 (例:SSO User 1) と
ユーザー作成時の SSO User 1~5 の入力箇所 (例:SSO User 1) は一致させるよう設定します。


作成したユーザー情報を同期します。

次に、Merakiの管理画面で CSR(証明書署名要求) を生成します。



生成したCSRファイルをIdP側の管理画面へアップロードし、VPN用のサーバー証明書を発行します。



あわせて CA証明書 もダウンロードします。


ダウンロードした サーバー証明書・CA証明書 をMerakiの管理画面にアップロードし、証明書認証およびSSOの設定を行います。

最後に、Meraki管理画面で クライアントVPN の基本設定を行います。
SAML設定 (AnyConnect Server URL) は、 サーバー証明書のSublect Alt Nameの設定と一致させます。

これで、リモートアクセスの連携設定は完了です!
2.ユーザーへの証明書配布
続いて、OneGateの管理画面からユーザーへ証明書を配布します。
まずは、 証明書を配布するための 招待設定 を行います。
今回の配布先OSは Windows のため、Windows版を選択します。
証明書の格納先は、 ユーザー もしくは コンピュータストア が選択できますので、社内運用によって変更してください。


これでWindows OSに証明書を配布できる状態になりました。 実際にユーザーへ 証明書配布コード を送信します。



ユーザーのメールアドレス宛に、配布コードの案内メールが届きました。
次に、ユーザー側のPCで証明書をインストールします。
最初に、証明書を受け取るためのソフトウェア Soliton KeyManager を、以下のURLの手順に沿ってインストールします。
Windows/Mac版: https://www.soliton.co.jp/download/ssx_download.html#skm

Soliton KeyManager のインストールが完了しました。
続いて、招待メールに記載されたURLをクリックします。
Soliton KeyManagerが起動し、証明書のインストールが自動的に開始されます。


証明書のインストールが完了しました。
「アプリを開く」をクリックし、証明書一覧から証明書が正しくインストールされていることを確認できます。


3.OneGate側の証明書認証 設定
最後に、OneGateの管理画面から、 OneGateログインページに対して 証明書認証 を有効化します。

これにより、リモートアクセス接続時のユーザーログインにおいて、OneGate側でも証明書認証が行われるようになります。
有効化する際は、 OneGateの管理画面へのログインにも証明書認証が適用されるため、
管理者が利用する端末にもクライアント証明書を配布してください。
4.接続検証
それでは、実際に接続検証を行います!
・証明書をインストールしていない端末
・証明書をインストールした端末
それぞれからリモートアクセスを試します。
はじめに、 証明書をインストールしていない端末 でVPN接続を行います。


「証明書の検証の失敗」というエラーが表示され、接続できませんでした。
次に、 証明書をインストールした端末 から接続を試みます。



エラーは表示されず、 ログイン画面が表示されました!
作成したユーザーのログイン名とパスワードを入力し、ログインします。
「受け入れ」をクリックします。


無事にVPNに接続することができました!
Meraki管理画面のイベントログでも確認してみます。

接続成功のログも確認できました。
これで “証明書をインストールした端末からのみリモートアクセスが可能” であることを、検証により実証できました!
※現在、Meraki ではクライアント証明書の失効確認において、CRLによる失効確認は未サポートとなっています。
そのため、Meraki側の証明書認証では失効状態の確認は行われません。
一方で、OneGate側の証明書認証では失効確認が可能なため、基本的には、OneGate側で証明書認証を有効化する構成を推奨しております。
まとめ
ランサムウェアの感染経路は、約8割が リモートアクセス(VPN) や RDP とも言われています。
ID・パスワード漏洩による不正侵入も増える中、 証明書認証やID・証明書の一元管理、SSOを導入することで、
セキュリティと運用性を両立することが可能になります。
SASEとの組み合わせによる導入や、既存環境にあわせた柔軟な構成も可能ですので、
セキュリティ対策をご検討中の方の参考になれば幸いです。
ご相談等がございましたら、弊社ホームページの お問い合わせフォーム または 弊社営業担当 までお気軽にご連絡ください。
今回は以上となります。次回もお楽しみに!
明日も Ping 打ってみな!飛ぶぞ!