この記事は、セキュリティ ビジネス グループのプロダクト マネージャーである Jayant Thakre によるブログ「How to get started on programming Firepower using FMC APIs?」(2018/3/16)の抄訳です。
API によって製品間の相互作用が可能になることが一般的になってきました。脅威対策製品である Cisco Firepower もその 1 つです。Firepower デバイスを集中管理・イベント解析を行う Firepower Management Center では、REST API を使ってセンサーとして分散配置された Firepower デバイスをプログラミングすることで、デバイスを自動的にプロビジョニングし、ポリシーと制御を適用し、デバイスの状態を監視できます。今回の記事では、これらの API により Firepower を最大限に活用する方法についてご説明します。
FMC API は Firepower 6.1 リリースで導入されました。FMC API を使用すれば、FMC から管理できる各種類のデバイスをプログラミングできます(下図を参照)。
API の使用方法を説明する前に、最初のリリースで使用可能なものを簡単にご紹介します。FMC 6.1 の API では、以下のような一般的なプログラミング ニーズの大部分に対処できます。
- Firepower/Firepower Threat Defense デバイスの登録/登録解除
- Firepower/Firepower Threat Defense デバイスにおける、標準化されたアクセス制御オブジェクト/ルールのプログラミングと適用
- Firepower/Firepower Threat Defense デバイスの正常性とインターフェイス状態の監視
FMC 6.2.3 がリリースされたことで、現在は Firepower Threat Defenseデバイスのインターフェイスや NAT など多くの機能をサポートすることが可能となりました。
これらの FMC API は FMC ソフトウェアにパッケージ化されているため、ライセンスなしでご利用いただけます。FMC の設定から API を有効にするだけで使用を開始できます。上記の API を有効にした後は、ボタンをクリックするだけで FMC ユーザにアクセスを許可できます。これらの FMC API は完全に安全であり、API ユーザはトークンで認証されます。
利用可能な API 動作を確認する最も簡単な方法は、「FMC API Explorer」を使用することです(全バージョン共通)。FMC API Explorer は次の URL から起動できます:
https://fmc_url/api/api-explorer/
<fmc_url> には、FMC のドメイン名または IP アドレスを挿入します。FMC API Explorer の画面は次のようになります。
上図でわかるように、Firepower API Explorer では、利用可能な API 動作に関する情報だけでなく、使用できるコードも確認できます。コードを生成するには、左側の機能をクリックし、REST 動作を選択します。[動作を次の形式で出力する(Export operation in…)] プルダウンメニューをクリックして右側のパネルのコードを使用します。
REST クライアントからこれらの動作を実行するには、API リクエストの認証に必要な「X-auth-access-token」トークンを使用する必要があります。トークンの取得には、「認証(authorization)」パラメータ(ユーザ名とパスワード)を含む「トークン生成(generate token)」要求を使用します。「X-auth-access-token」トークンを取得した後は、API リクエストで使用できます。
FMC API Explorer で確認できたコードを使用すれば、カスタム スクリプト、サードパーティ製のポリシー オーケストレーション ソリューション、シスコ製ソリューションなどを使用して Firepower デバイスをプログラミングできます。概要については、短い FMC 6.1 API のチュートリアル ビデオをご確認ください。
さらに詳しい情報は、『Firepower REST API クイックスタート ガイド』をご覧ください。
最後になりますが……
これらの FMC API に加えて、Firepower/Firepower Threat Defense 用の ACI デバイス パッケージも提供されています。そのため、Cisco APIC をお使いで、Virtual Firepower/Firepower Threat Defense デバイスを動的に具現化し、FMC API からプログラミングする必要がある場合にも対応できます。詳しくは、『ACI における Firepower デバイス パッケージの使用方法』をご覧ください。