ブラウザーの【JavaScript】が無効になっているため、画面を正常に表示することができません!

Avast Business Antivirus for Linux:REST API(Representational State Transfer API)|株式会社アークブレイン
株式会社アークブレイン HOME

REST API : Representational State Transfer API:Avast Business Antivirus for Linux


製品概要 技術資料 バージョン履歴 サポートするOS
技術概要 インストール 初期設定 avast-fss VPS REST API AMaViS scan avast CentOS 7 リンク集

avast-restパッケージ をインストールすると、REST APIが利用可能になります。
REST API は、 Webシステムを外部から利用するためのHTTPベースの設計スタイルです。 URIでリソース(データ)を特定し、 GET、 POST、 PUT、 DELETE などのHTTPメソッドで操作します。 シンプル、ステートレス、データ形式(JSON等)の柔軟性に優れ、現代のWebサービス連携の標準です。

REST APIの主な特徴
リソース指向: ユーザー、商品、文書などを「リソース」として扱い、URIで一意に識別します。
HTTPメソッドの利用:
GET: リソースの取得
POST: 新しいリソースの作成
PUT: 既存リソースの更新
DELETE: リソースの削除
・ステートレス: 各リクエストに完全な情報が含まれ、サーバー側でセッション管理を行わないため、拡張性が高い。
・標準的なフォーマット: 主にJSONやXMLを使用してデータをやり取りします。

REST APIのメリット
・高い互換性: HTTP技術を使用するため、あらゆるプログラミング言語から利用可能。
・スケーラビリティ: ステートレスな設計により、アクセス集中時の負荷分散が容易。
・設計の統一性: リソースごとにURLが明確で、開発者にとって理解しやすい。

REST APIの構成例
・GET /users (ユーザー一覧の取得)
・GET /users/123 (IDが123のユーザー情報を取得)
・POST /users (新しいユーザーを作成)
・DELETE /users/123 (IDが123のユーザーを削除)

REST APIは、Amazon、Facebook、Twitter、Googleなどの主要なWebサービスで広く採用されています。

設定とAPIについては、avast-rest(1)のマニュアルページをご覧ください。


仕様


OpenAPI 3.0.0形式のREST API仕様は、他のドキュメントと共に以下の場所にインストールされます。

/usr/share/doc/avast-rest/api.yaml

このファイルは、オープンソースツール openapi-generator を使用して、 様々なプログラミング言語でAPIクライアントを生成するために使用できます。

例えば、 Pythonクライアントを生成するには、 ツールをインストールして以下のコマンドを実行します。

openapi-generator generate -i /usr/share/doc/avast-rest/api.yaml -g python -o /tmp/rest-apipython

これにより、 スキャンを要求するために使用できるライブラリが生成されます。 サンプルプログラムはREADME.mdに生成されます。

この例は、 openapi-generator 5.3.0 で生成された Python ライブラリを使用するプログラムを示しています。

import openapi_client
from openapi_client.api import default_api from pprint import pprint
configuration = openapi_client.Configuration(host = "http://127.0.0.1:8080")
filename = "eicar.com.txt"
content = "X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*"
with openapi_client.ApiClient(configuration) as api_client:
api_instance = default_api.DefaultApi(api_client)
api_response = api_instance.v1_scan_post(filename, body=content, full=True, archives=True, pup=False、heuristics=80)
pprint(api_response)


Bashクライアント


以下の例は、引数で指定されたファイルをスキャンする、 Bashで記述されたシンプルなクライアントを示しています。

#!/usr/bin/env bash
# 使用方法: scan-rest.sh [FILE]...
API='http://127.0.0.1:8080'
for f in "$@" ; do printf "$f\t"
curl "$API/v1/scan?filename=$(basename "$f")" \   -H "Content-Type: application/octet-stream" \   --data-binary "@$f"
done

このクライアントは、 /usr/share/avast/scan-rest.sh にもインストールされます。


NGINX統合(RHEL/CentOS)


この例では、 REST APIにHTTPSレイヤーを追加する方法を示します。

この例では、 自己署名証明書を生成します。

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/pki/tls/private/example.key \
-out /etc/pki/tls/certs/example.crt

nginxパッケージをインストールし、avastバックエンドの設定ファイル /etc/nginx/conf.d/avast-rest.conf を作成します。

upstream avast_backend
{ server 127.0.0.1:8080;
    keepalive 8;
}

server {
    server_name example.local;
    listen 443 ssl;
    ssl_certificate /etc/pki/tls/certs/example.crt;
    ssl_certificate_key /etc/pki/tls/private/example.key;
    client_max_body_size 100M;

    location /avast/ {
        proxy_pass http://avast_backend/;
proxy_http_version 1.1;
  }}

systemctl reload nginx で NGINX を再起動してください。

CURLを使用してHTTPSレイヤーをテストします。

curl -v --insecure 'https://example.local/avast/v1/scan?filename=test.dat'
-H "Content-Type: application/octet-stream" --data-binary '@/usr/share/redhat-release/EULA'

なお、 この例では自己署名証明書を使用しているため、 --insecureオプションが必要です。

 
 
 

 

 
 



 
Avast® パートナー
インテル® ソフトウェア開発製品 販売代理店
Intel® Software Resellers

株式会社アークブレイン
〒151-0073
東京都渋谷区笹塚 2丁目47番1号
TEL 03-3375-8968
FAX 03-3375-8767 (09:00~18:00 土日祝日を除く)
お問い合わせ、御見積依頼 はこちらからどうぞ

Copyright® 2026  Arcbrain Inc. ▲TOP