CatoクラウドでDevice Postureを利用したい

Catoクラウドにリモート接続する際に、個人所有のPCやスマートデバイスなどのBYOD利用を制限するというニーズは多く、Catoのデバイス制御機能を使用しているお客様も数多くいらっしゃいます。
Catoのデバイス制御は、2024年5月現在では以下の3つの機能があります。

Catoで設定できるデバイス制御

1.Device Posture

デバイスのセキュリティ状態をチェックして、条件を満たした場合Cato接続を許可します。
自社の標準PCの仕様に合わせてCato側の設定を行えるので手間なくデバイス制御が実装できます。
当初はSDPユーザーのみがサポート対象でしたが、Cato Socket配下でもDevice Posture機能が適用されるようになりました。但し、SDPユーザーではblockされてもSocket配下からアクセスすると接続できてしまったり、Always-On設定と組み合わせて使用する事が推奨だったりするので、現時点ではSDPユーザーに対する利用がベターです。

2.Device Authentication

認証局で発行したルート証明書をCatoクラウドに登録し、各デバイスにはクライアント証明書をインストールして証明書認証によるデバイス制御を行います。証明書の配布や更新の手間はあるかもしれませんが柔軟なコントロールが可能です。

証明書による認証については以下の記事をご参照下さい。

3.MAC Authentication

こちらは補足となりますが、Cato Socket配下のデバイスに対してMACアドレスによるデバイス認証が可能です。
実装方法は、Cato接続を許可するデバイスのMACアドレスを記載したcsvファイルを作成しCatoクラウドにアップロードします。
MACアドレスの追加や削除がある場合はCato Management Application(CMA)で操作はできず、都度csvファイルを更新する必要があります。

それでは、今回はDevice Postureの設定と動作結果をご紹介します。

Device Postureの設定方法

Device Postureの設定方法は以下の3Stepです。

  1. [条件]を作成する
    Cato側で準備されている “OSの種類・ベンダー名・プロダクト名” などを選択して「条件」を作ります。
  2. [条件]を組み合わせて[プロファイル]を作る
    「条件」を組み合わせて「プロファイル」を作成します。プロファイルとは条件の組み合わせです。
    例えば、Windows Firewallが有効になっているという条件と、会社指定のウィルス対策ソフトがバージョンxx以上になっているという条件を組み合わせて1つのプロファイルにするといったものです。
  3. [プロファイル]を用いて[ポリシー]を作る
    Device Postureを適用するユーザー・プロファイル・アクションなどを決めて「ポリシー」を作成します。

では、実際にDevice Postureの設定を行いその挙動をみてみましょう。

<検証>Windows Firewallが無効のPCをブロックする

1.条件(Device Check)を作成する
Device checkの設定は、Cato Management Application(CMA)のAccess >Device Posture >Device Checksで行います。

「New」ボタンをクリックすると設定ウィンドウが開きます。設定ウィンドウの最初にある「Device Test Type」(図1)でチェックに使いたいベンダーやプロダクトを設定していく事になります。

図1. Device Test Typeの画面

2024年5月時点では以下の6つタイプがありますが、Catoのアップデートによりタイプの種類はどんどん増えています。
各タイプで指定できる条件と選択できるプロダクトをいくつかピックアップしてみました。

No タイプ 指定条件と選択できるプロダクト例
1 Anti-malware 各種ウイルス対策ソフトウェアがインストールされているか?
Windows Defenderや、Trend Micro、McAfeeなど
2 Firewall 各種ファイアウォールソフトウェア(OS標準のFirewall含む)がインストールされているか?
Windows Firewallが有効、Trend Micro Deep Security Agent、Crowdstraikeなど
3 Disk Encryption ディスクの暗号化がされているか?
4 Patch Management 各種パッチ管理ソフトウェアがインストールされているか?
Intune Client、 McAfee ePolicy Orchestrator Agentなど
5 Data Loss Prevention 各種DLPソフトウェアがインストールされているか?
Trend Micro Apex One Security Agent、 McAfee DLP Endpointなど
6 Cato Client Catoクライアントが指定のバージョンかどうか?

今回の検証ではシンプルに「Windows FirewallをオフにしているPCはCato接続させない」という設定を行います。
下記の通りタイプは「Firewall」を選択し「Microsoft Corporation」から「Windows Firewall」という条件を作成します。
尚、Windows Firewallのversion指定もできますが、今回は「any version」を選択しています。

図1. Device Checkの設定

図2のように指定のversionとイコール若しくは指定のバージョン以上という設定も可能です。

図2. Device Checkの設定(バージョン指定)

 

2.プロファイルを定義する
次に、作成した条件からプロファイルを定義します。今回は「Windows Firewall」の1つのみとしますが、前述の通り複数の条件をまとめてプロファイルを定義する事もできます。

設定箇所はAccess >Device Posture > Device Posture Profilesです。ここで「New」ボタンをクリックして以下の設定ウィンドウで設定を行っていきます。ここではプロファイル名をつけた後は全て選択形式となっています。

図3. プロファイル設定

3.ポリシーを作る
ポリシーの設定は、Access > Client Connectivity Policyで行います。
ここでも「New」ボタンをクリックして、これまでと同様に表示される設定ウィンドウに設定をしていきます。
ポリシーの設定項目は以下の通りです。
・制御対象のユーザー/グループを選択します
・プラットフォームでOSの指定ができます
・制御対象の国を選択できます
・作成したプロファイルを選択します
・アクションでAllowかblockを選択します

設定画面を貼り付けると縦に長くなるので設定後に表示される画面を以下に添付します。
また、このDevice PostureもFirewallと同様で、上位のポリシーからマッチしたもが適用されるという動きなので「順番」は要注意です。

図4. 作成したポリシー 

 

複数のポリシーを作成する例としては、例えばグループ会社毎にPC環境の違いや導入しているアプリケーションが異なる場合、会社毎のポリシーを作成して接続を許可するという使い道があります。

ポリシー01(A社用):Windows Firewallが有効 + McAfee Agentのバージョンが××以上 + 指定の証明書が入っている
ポリシー02(B社用):Windows Firewallが有効 + TrendMicro Agentのバージョン××以上 + 特定のディスクドライブの暗号化

<検証>モバイルユーザーからアクセスした結果

今回作成したDevice Postureの設定はWindows Firewallが有効なPCはCato接続を許可し、Windows Firewallが無効になっているPCはブロックするという設定です。
実際にCato Client を入れたPCでWindows Firewallを有効/無効にして接続を試してみました。

Windows Firewallが有効だと問題なく接続できましたのでこの説明は割愛させていただき、次にWindows Firewallを無効にして接続してみました。

図5. Windows Firewallを無効化

この状態でCatoに接続しようとすると、図6の通り認証エラーとなりました。
エラー画面の「Details」をクリックすると「Windows Firewall」のルールでブロックされたとの内容が確認できます。
ネットワーク管理者は、ユーザーからこの内容を聞き出す事で切り分けができると思います。

図6. ブロックエラー画面

図6. ブロックの理由

また、CMAではブロックされたログが出力されていました。

図7. CMAのブロックログ

設定したプロダクトやバージョンを検出してくれない

Device Postureで設定したベンダーのプロダクトやバージョンを期待通りに検出してくれず、稀にClient Connectivity Policyのルールをスルーする事があるようです。
その原因ですが、Cato Clientは「OPSWAT Framework」を使用してアプリケーションの識別をしているため、実際のプロダクト・バージョンと何らかの差異があった場合に検出がされないようです。

<参考>OPSWATのカテゴリ

Windows
https://software.opswat.com/OESIS_V4/Win/docs/support_charts/support_charts.html
macOS
https://software.opswat.com/OESIS_V4/Mac/docs/support_charts/support_charts.html

2024年5月時点で、上記URLにあるOPSWATのカテゴリのうち、以下がDevice Checkの対応製品となりますがこれ以外のカテゴリは未対応です。

Device Test Type(Cato) OPSWAT Category
Anti-Malware  ANTIMALWARE
Firewall FIREWALL
Patch Management  PATCH_MANAGEMENT
Data Loss Prevention DATA_LOSS_PREVENTION

また、OPSWAT Frameworkの更新がされる際は、Catoのプロダクトアップデート情報にて次の様な内容が掲載されます。

  • Updated Vendors and Versions for Device Posture Checks: We updated the OPSWAT framework used by the Client to version x.x.xx.xxx

期待通りに検出されない場合の対処法は、一旦バージョン指定を無くして「Any-version」にするとか、別のベンダープロダクトに変更するかしか今のところはないように思います。
ただアップデートの頻度は多いので、暫くすると改善される可能性はあるかと思います。

まとめ

今回はDevice Postureの簡単な設定例をご紹介しました。
実際のDevice Checkでは複数の条件を組み合わせてポリシーを作成し、期待通りに接続が許可されるか又はブロックされるかのテストが必要になります。
またCatoが用意している条件はかなりの数があるので、そこから自社のデバイス環境に合うものを選択して動作テストする事も必要です。
更に条件のアップデートもどんどん行われるので、自社の環境により合うものをウォッチする必要もあるかもしれません。
ちょっと大変そうな気もしますが、ただこういった機能の利用をコンソール1つでコントロールできるのはクラウドならではの事だと思いますので是非活用してみて下さい。

タイトルとURLをコピーしました