AnsibleでCheck Pointを操作する(2.9.0版) ①セットアップ編
前回の記事で、Ansible2.8.0を使ってCheck Pointのポリシー設定変更を行いました。
2019年10月末にリリースされたAnsible2.9.0では、これまでの9つのモジュール(checkpoint_xxx)に加え、90のモジュール(cp_xxx)が追加され、合計で99のモジュールが揃いました。
本記事では、新しいモジュールを使ってみる前に、環境のセットアップ手順を備忘録としてメモしておきます。
用意した環境
今回はAWS上ではなく、Windows10のVMware Workstation上にSecurity Gateway(ファイアウォール)とSecurity Management(管理サーバ)を兼ねたVM1を立てました(下図)。
合わせて、Workstation上にAnsible用のVM2とUser PC用のVM3を準備しました。VM3はポリシーテスト用に作ったVMで、なくてもAnsibleを使った操作確認は可能です。
OSイメージは、Check Pointサイトからダウンロードできる無償評価版(R80.10)を利用しました。トライアル期間は1ヶ月です。
supportcenter.checkpoint.com
セットアップ手順
手順1. 仮想マシンの作成
- VMware Workstationの新規仮想マシン作成ウィザードを開きます。イメージファイルは、ダウンロードしたisoファイル「Check_Point_R80.10_T462_Gaia.iso」を指定します。
- ゲストOSの選択で、ゲストOSを「その他」、バージョンを「その他」に指定。
- 任意の仮想マシン名を指定。今回は「Check_Point_test」としています。
- ディスク容量を100GBに指定。(テスト用なので、もっと少なくて良いかも知れません。)
- ハードウェアをカスタマイズをクリックし、プロセッサのコア数を2、メモリを6GBにカスタマイズ。Release Notes R80.10を見ると、推奨リソースは以下の通りのようです。
- ネットワークアダプタをブリッジ接続に変更。さらにネットワークアダプタ2を追加し、LANセグメントを指定。
- 設定が終わったら、完了をクリック。
※AnsibleやUser PCの仮想マシン作成手順は割愛します。
手順2. Check Pointのインストール
- VMware Workstationで、手順1で作成した仮想マシンを再生します。
- インストール開始画面が出てきたら、「Install Gaia on a system listed in sk77660」を選択。
- 続く画面でインストールを開始して問題ないか聞かれるので、OKをクリックします。
- キーボード設定をJapaneseに指定。
- パーティション設定は、今回はSystem-rootを22GB、Logsを20GBに設定しました。
- adminアカウントのパスワードを設定します。
- マネジメントポートを、eth0(外部セグメント)に指定します。
- マネジメントポートのIPアドレスを指定します。今回は固定IPにしました。
- 最後に、インストールして問題ないか聞かれるので、OKをクリックします。
- インストール完了後、リブートを行います。
- リブート後、ログイン画面が出てきたら、インストール成功です。
手順3. Gaiaポータルの初回設定
- Gaiaポータル(https://[マネジメントIPアドレス])にログインします。※自分の環境では、ChromeやFireFoxの場合ログイン後に何も表示されなくなったため、Edgeを使いました。
- Nextを選択。
- そのままNextを選択。
- 指定したIPアドレスがセットされている事を確認し、そのままNextを選択。
- eth1のIPアドレスを設定します。
- DNSサーバを設定します。必要に応じて、プロキシサーバも設定します。
- 日本時間になっている事を確認し、Nextを選択。
- Security Gateway and/or Security Managementを選択。
- Security GatewayとSecurity Management両方にチェックが入っている事を確認し、Nextを選択。
- Security Managementの管理パスワードを設定します。今回は、手順2で設定したadminパスワードを使います。
- Security ManagementへログインできるGUIクライアントを設定します。今回はテスト環境なので、すべてのIPアドレスにしました。
- 最後にFinishボタンを選択します。
- 設定とリブートが完了するまで待ちます。
- リブート後、adminアカウントで再ログインします。Security GatewayがPlatform: VMwareにインストールされた事が確認できます。
手順4. Smart Consoleのインストール、Security Managementへのアクセス
- 先ほどの画面の上にある「Management Software Blades using SmartConsole ↓ Download Now!」をクリックします。
- ダウンロードしたSmart Consoleのexeファイルをインストールします。
- インストール後、アイコンをクリックし、adminアカウントでSecurity Managementにアクセスします。
手順5. Security Gatewayのポリシー設定変更
初期状態では、Firewallポリシーがデフォルトで拒否となっています。そのため、冒頭のテスト環境構成で記載した通信の内、①の自身から外部向けの通信は可能ですが、②③のCheck Point向けや④のCheck Pointを通過する通信はできません。
以降で②③の通信許可設定を行います。
- ホストグループの作成
- ポリシーの作成
- 画面上のAdd rule aboveをクリックし、以下のNo.1,2の通り設定を行います。(No.3はデフォルトの拒否設定です。)
- セッションの公開
- 画面一番上のPublishをクリックし、他のユーザが編集内容を閲覧できる状態にします。
- ポリシーのインストール
- 画面一番上のInstall Policyをクリックし、上記の設定を確定します。(公開とインストールを同時に行うことも可能です。)
手順6. Security ManagementへのHotfix適用
Ansible2.9.0でリリースされたCheck Pointモジュールを使うには、以下のHotfixの適用が必要なため、インストール作業を行います。
- Gaiaポータル(https://[マネジメントIPアドレス])にログインし、Software Updatesの右側のリンクをクリックします。
- [重要!] AnsibleのHotfix適用前に、これまでのHotfixをまとめたパッケージ「R80.10 Jumbo Hotfix Accumulator GA (Take 225)」をインストールしないと、後続の手順でAPIの有効化に失敗してしまいます。「Install Update」をクリックし、必ず先にインストールしておきます。
- 自動でダウンロード、インストール、リブートが行われますので、完了まで待ちます。
- 再度ログインし、先ほどのパッケージ一覧画面右の「Add Hotfixes from the Cloud」をクリックし、検索バーに「Check Point R80.10 JHF T245 Ansible Hotfix for sk114661」と入力して検索を行います。
- 出てきた候補をクリックし、パッケージが追加された後、「Install Update」をクリックします。
- リブート完了まで待ちます。
手順7. API設定
AnsibleからAPIを叩けるよう、Check PointにSSHログインの上、Expertモードで設定を行います。
1.Expertパスワードを設定の上、Expertモードに移行します。
gw-2fd599> lock database override gw-2fd599> set expert-password Enter new expert password: Enter new expert password (again): gw-2fd599> expert Enter expert password: Warning! All configurations should be done through clish You are in expert mode now. [Expert@gw-2fd599:0]#
2.APIサービスはデフォルトで停止しているため、コマンド「api start」で開始します。
[Expert@gw-2fd599:0]# api start 2019-Nov-10 12:22:02 - Starting API... . . . . . . . 2019-Nov-10 12:22:38 - API started successfully.
3.コマンド「mgmt_cli ~」ですべてのIPアドレスからのAPIコール許可設定を行います。
[Expert@gw-2fd599:0]# mgmt_cli -r true set api-settings accepted-api-calls-from "All IP addresses" --domain 'System Data' --------------------------------------------- Time: [13:16:58] 10/11/2019 --------------------------------------------- "Publish operation" in progress (60%) --------------------------------------------- Time: [13:17:08] 10/11/2019 --------------------------------------------- "Publish operation" succeeded (100%)
4.コマンド「api restart」でAPIサービス再起動します。
[Expert@gw-2fd599:0]# api restart 2019-Nov-10 13:17:14 - Stopping API... 2019-Nov-10 13:17:16 - API stopped successfully. 2019-Nov-10 13:17:16 - Starting API... . . . . . . . . . . . . . . 2019-Nov-10 13:18:35 - API started successfully.
5.コマンド「api status」で、APIプロセスがStartedとなり、「API readiness test SUCCESSFUL.」と表示されれば成功です。
[Expert@gw-2fd599:0]# api status API Settings: --------------------- Accessibility: Require all granted Automatic Start: Disabled Processes: Name State PID More Information ------------------------------------------------- API Started 3302 CPM Started 5741 Check Point Security Management Server is running and ready FWM Started 5525 APACHE Started 4876 Port Details: ------------------- JETTY Internal Port: 50277 APACHE Gaia Port: 443 Apache port retrieved from: httpd-ssl.conf -------------------------------------------- Overall API Status: Started -------------------------------------------- API readiness test SUCCESSFUL. The server is up and ready to receive connections Notes: ------------ To collect troubleshooting data, please run 'api status -s <comment>'
最後に
ここまでで、AnsibleからCheck Pointを操作するための事前準備ができました。次の記事で、実際に操作を行ってみたいと思います。