コンテンツにスキップ

API

アプリケーションプログラミングインターフェース (API) を使用して、ルールやポリシーなどの設定を更新できます。

設定の追加や、更新、削除を、全体的または部分的に行うことができます。

XML 文字列または .xml ファイルを使って、変更を加えます。

API インターフェースを使用して、同じ設定を複数のファイアウォールに適用できます。そうすれば、各ファイアウォールの Web 管理コンソールを使って個々のモジュールやオブジェクトを変更する手間が省けます。

  • API を使って設定を行うには、「バックアップとファームウェア > API」に移動します。
  • XML 文字列の属性について詳しくは、API ヘルプを参照してください。

以下のいずれかの方法で、設定を更新できます。

XML 文字列: 文字列を使用して、個々のルール、ポリシー、設定、オブジェクトに変更を加えることができます。詳しくは、API の使用方法を参照してください。

XML 文字列は、以下に入力できます。

  • Sophos Firewall のコマンドラインインターフェース。または、Sophos Firewall コンソールにアクセスするエンドポイントデバイスのオペレーティングシステムを使用します。
  • ブラウザのアドレスバー。主要なブラウザはすべて、XML 文字列をサポートしています。
  • Postman などのアプリケーション。

.xml ファイル: 設定に大幅な変更を加えるには、このファイルを使用します。「バックアップ & ファームウェア > インポートとエクスポート」に移動し、設定の全体または一部をエクスポートします。.tar ファイルを .xml ファイルに展開し、変更を加えます。再び .tar ファイルに変換し、.tar ファイルをインポートします。詳しくは、インポートとエクスポートを参照してください。

API 設定

設定 説明
API 設定 権限をもつ管理者に対して、API による設定の取得や指定を許可します。

管理者が設定を変更できるようにするには、読み取り/書き込み権限を与える必要があります。

読み取り/書き込み権限を持つ管理者プロファイルを作成するには、「プロファイル > デバイスのアクセス」に移動します。

変更する必要があるオブジェクトおよび設定に対してのみ、読み取り/書き込み権限を与えることをお勧めします。

管理者にプロファイルを適用するには、「認証 > ユーザー」に移動します。
許可されている IP アドレス 設定の変更操作を行うホストの IP アドレス。

IP アドレスを取得するには、オンラインで検索します。または、Web 管理コンソールにサインインし、「ログビューア」に移動して、リストから「管理者」を選択し、サインイン元の IP アドレスを確認します。

XML 文字列の要素

XML 文字列には、API コントローラ、管理者のサインインリクエスト、および設定リクエストを含める必要があります。これらの要素の詳細を以下に示します。

コンポーネント 説明
API コントローラ文字列 https://<Firewall IP>:<port>/webconsole/APIController?reqxml=<Add XML request here>

<Firewall IP>: Sophos Firewall の IP アドレスまたはホスト名。

<port>: 「管理 > 管理の設定」で指定した管理コンソールの HTTPS ポート
管理者のサインインリクエスト <Request><Login><Username>admin</Username><Password>1234</Password></Login>
設定リクエスト 設定の取得:
<Get><Attribute></Attribute></Get>

設定の追加または更新:
<Set><Attribute></Attribute></Set>

設定の削除:
<Remove><Attribute></Attribute><Remove>

ブラウザの場合は、以下の XML 文字列を使用します。

https://<Firewall IP>:<port>/webconsole/APIController?reqxml=<Add the XML request here>

CLI の場合は、以下の XML 文字列を使用します。

curl -k "https://<Firewall IP>:<port>/webconsole/APIController?reqxml=<Add the XML request here>"

取得リクエスト:

https://1.1.1.1:4444/webconsole/APIController?reqxml=<Request><Login><Username>admin</Username><Password>xyz123
                </Password></Login><Get><IPHost/></Get></Request>

設定リクエスト:

https://1.1.1.1:4444/webconsole/APIController?reqxml=<Request><Login><Username>admin</Username><Password>xyz123
                </Password></Login><Set><IPHost><Name>Test10</Name><IPFamily>IPv4</IPFamily><HostType>IP</HostType>
                <IPAddress>198.1.2.1</IPAddress></IPHost></Set></Request>

削除リクエスト:

https://1.1.1.1:4444/webconsole/APIController?reqxml=<Request><Login><Username>admin</Username><Password>xyz123
                </Password></Login><Remove><IPHost><Name>Test10</Name><IPFamily>IPv4</IPFamily><HostType>IP</HostType>
                <IPAddress>198.1.2.1</IPAddress></IPHost></Remove></Request>

XML タグと属性

XML タグ 説明
<Request> XML リクエストの送信に使用します。

属性: API version

例::
<Request APIVersion="1800.1" IPS_CAT_VER="1"><Login> <Username>admin</Username><Password passwordform="encrypt">8b1e6eb1b182b1806390ffefc99753fc</Password></Login></Request>
<Login> 管理者を認証します。

例:
<Login><Username>admin</Username><Password passwordform="encrypt">8b1e6eb1b182b1806390ffefc99753fc</Password></Login>
<Username> 管理者のユーザー名。

例:
<Username>admin</Username>
<Password> 管理者のパスワード。

例:
<Password passwordform="encrypt">8b1e6eb1b182b1806390ffefc99753fc</Password>

プレインテキストまたは暗号形式のパスワードを使用できます。暗号形式のパスワードは、.xml ファイルにあります。または、コマンドラインコンソールで取得することもできます。

詳しくは、暗号化したパスワードを取得し、API リクエストで使用するを参照してください。
<Get> 指定したタグの情報を取得します。属性については、API ヘルプを参照してください。

例:
<Request><Login><Username>admin</Username><Password passwordform="encrypt">8b1e6eb1b182b1806390ffefc99753fc</Password></Login><Get><IPHost></IPHost></Get></Request>
<Set> 指定したタグについて、追加や更新を行います。属性については、API ヘルプを参照してください。

例:
<Request> <Login><Username>admin</Username><Password passwordform="encrypt">8b1e6eb1b182b1806390ffefc99753fc</Password></Login><Set operation="add"><IPHost> <Name>CustomIPHostTypeIPV4</Name><IPFamily>IPv4</IPFamily><HostType>IP</HostType><IPAddress>1.1.1.1</IPAddress></IPHost></Set></Request>

“operation” およびその値 ("add" または "update") を入力しなかった場合は、設定が追加されます。既存の設定がある場合は、設定が更新されます。
<Remove> 設定を削除します。属性については、API ヘルプを参照してください。

例:
<Request><Login><Username>admin</Username><Password passwordform="encrypt">8b1e6eb1b182b1806390ffefc99753fc</Password></Login><Remove><IPHost><Name>CustomIPHostTypeIPV4</Name></IPHost></Remove></Request>
<Filter> <Key> <Key> タグで指定した条件に一致するデータを取得します。このフィルタは、Name 属性のみに適用可能です。

<Filter> タグ内で <Key> を使って、絞り込みのキーと条件を指定します。

例:
<Request><Login><Username>admin</Username> <Password passwordform="encrypt">8b1e6eb1b182b1806390ffefc99753fc</Password></Login><Get><IPHost><Filter><key name="Name" criteria="like">CustomIPHostTypeIPV4</key></Filter></IPHost></Get></Request>
<Response> リクエストへの応答を示します。

属性: APIVersion
属性値: アクティブなファームウェア API のバージョンが表示されます。XML リクエストで指定した値が示されます。

例:
<Response APIVersion="1800.1" IPS_CAT_VER="1"><Login><status>Authentication Successful</status></Login><IPHost transactionid=""><Status code="200">Configuration applied successfully.</Status></IPHost></Response>
<Status> 設定ステータスをコードに基づいて示します。

属性: Status code
属性値: コード番号

例:
<Response APIVersion="1800.1" IPS_CAT_VER="1"><Login><status>Authetication Successful</status></Login><IPHost transactionid=""><Status code="200">Configuration applied successfully.</Status></IPHost></Response>

ステータスコードについては、API ヘルプを参照してください。

API ヘルプ

API ヘルプでは、タグ、属性、ステータスコードを確認できます。これらを表示するには、以下の手順に従います。

  1. API ヘルプをダウンロードします。
  2. ホームページに、XML のタグ、属性、および一部のステータスコードが表示されます。XML リクエストの書式については、API ヘルプページで下にスクロールして確認してください。
  3. 左側に表示される各モジュールのメニューと属性は、Web 管理コンソールと似た構成になっています。属性について詳しくは、該当するページを参照してください。

API エクスプローラ

API を使用して、ユーザーのサインインおよびサインアウトができます。

API を使用してユーザーをサインインすると、「現在のアクティビティ > ライブユーザー」で、ユーザーのクライアントタイプが「API クライアント」として表示されます。

<Request><LiveUserLogin><UserName>sophos</UserName><Password>sophos</Password><IPAddress>10.21.18.15</IPAddress>
<MacAddress>00:0C:29:2D:D3:AC</MacAddress> </LiveUserLogin></Request>
<Request><LiveUserLogout><Admin><UserName>admin</UserName><Password>admin</Password></Admin><UserName>sophos</UserName>
<IPAddress>10.21.18.15</IPAddress></LiveUserLogout></Request>

https://<Sophos Firewall IP address>:4444/webconsole/APIController?reqxml=<Request><LiveUserLogin><UserName>sophos
</UserName><Password>sophos</Password><IPAddress>10.21.18.15</IPAddress><MacAddress>00:0C:29:2D:D3:AC</MacAddress>
</LiveUserLogin></Request>

暗号化したパスワードを取得し、API リクエストで使用する

API リクエストでは、プレインテキストまたは暗号形式のパスワードを使用できます。

暗号化されたパスワードを取得するには、Advanced shell で以下のコマンドを入力します。

aes-128-cbc-tool -k Th1s1Ss1mPlygR8A -t 1 -s <password>

その他のリソース