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 ヘルプでは、タグ、属性、ステータスコードを確認できます。これらを表示するには、以下の手順に従います。
- API ヘルプをダウンロードします。
- ホームページに、XML のタグ、属性、および一部のステータスコードが表示されます。XML リクエストの書式については、API ヘルプページで下にスクロールして確認してください。
- 左側に表示される各モジュールのメニューと属性は、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>
その他のリソース