Insights for RHEL Malware Service を使用した RHEL システムでのマルウェア署名の評価および報告

Red Hat Insights 2023

RHEL インフラストラクチャーのシステムがマルウェアのリスクにさらされる状況を把握する

Red Hat Customer Content Services

概要

IBM X-Force 脅威インテリジェンス署名とともに Insights for Red Hat Enterprise Linux マルウェア検出サービスを使用して、インフラストラクチャー内のシステムがマルウェア攻撃の被害者であるかを把握します。
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ を参照してください。

第1章 RHEL マルウェア検出サービスのインサイトの概要

Red Hat Insights for Red Hat Enterprise Linux のマルウェア検出サービスは、RHEL システムをスキャンしてマルウェアの存在を監視および評価するツールです。マルウェア検出サービスは、YARA パターンマッチングソフトウェアおよびマルウェア検出署名を組み込みます。署名は、Red Hat 脅威インテリジェンスチームと密接に連携している IBM X-Force 脅威インテリジェンスチームと提携して提供されます。

マルウェア検出サービス UI では、ユーザーアクセスを許可された管理者およびビューアーが、以下を行うことができます。

  • RHEL システムがスキャンされる署名の一覧を参照してください。
  • Insights クライアントで、マルウェア検出が有効になっているすべての RHEL システムの集約結果を表示します。
  • 各システムの結果を参照してください。
  • システムにマルウェアの存在を示す証拠がある場合は、それを知ることができます。

これらの機能により、セキュリティー脅威の評価者や IT インシデント対応チームは、対応準備のための貴重な情報を得ることができます。

マルウェア検出サービスでは、マルウェアのインシデントを解決または修正する解決策を推奨していません。

マルウェアの脅威に対処する戦略は、多くの基準と、各システムおよび各組織固有の考慮事項に従います。組織のセキュリティーインシデント対応チームは、状況ごとに効果的な緩和および修復戦略を設計し、実装するのに最善の資格を有しています。

1.1. YARA マルウェア署名

YARA シグネチャー検出は、Insights for Red Hat Enterprise Linux マルウェア検出サービスの基盤です。YARA 署名は、マルウェアタイプをパターンとして表現したものです。各説明は、文字列のセットと、ルールを定義するブール式で構成されます。署名の条件のうち、スキャンした RHEL システムに 1 つ以上の条件が存在する場合、YARA はそのシステムに検出を記録します。

1.2. IBM X-Force 脅威インテリジェンス署名

Insights for Red Hat Enterprise Linux マルウェア検出サービスには、IBM X-Force 脅威インテリジェンスチームが開発した定義済み署名が含まれており、RHEL システムで実行しているマルウェアを公開します。X-Force 脅威インテリジェンスチームがコンパイルした署名は、マルウェア検出サービスで XFTI- 接頭辞 (XFTI_FritzFrog など) で識別できます。

第2章 Insights for RHEL マルウェア検出サービスの使用

マルウェア検出サービスの使用を開始するには、以下のアクションを実行する必要があります。本章では、各アクションの手順を説明します。

注記

手順によっては、システムで sudo アクセスを必要とするものと、アクションを実行する管理者が、マルウェア検出管理者ロールを持つユーザーアクセスグループのメンバーであることが必要です。

表2.1 マルウェア検出サービスを設定するための手順とアクセス要件

アクション詳細必要な特権

YARA のインストールと Insights クライアントの設定

YARA アプリケーションをインストールし、Insights クライアントが malware-detection サービスを使用するように設定します。

Sudo アクセス

Red Hat Hybrid Cloud コンソールでのユーザーアクセスの設定

Red Hat Hybrid Cloud Console > Settings メニュー(歯車アイコン)> Identity & Access Management > User Access > Groups で、マルウェア検出グループを作成して、適切なロールとメンバーをグループに追加します。

Red Hat アカウントの組織管理者

結果の表示

Hybrid Cloud Console でシステムスキャンの結果を表示します。

マルウェア検出ビューアーロールを持つユーザーアクセスグループのメンバーシップ

2.1. YARA のインストールおよび Insights クライアントの設定

以下の手順に従って、RHEL システムに YARA および malware-detection コントローラーをインストールし、test スキャンおよび完全 malware-detection スキャンを実行して、Insights for Red Hat Enterprise Linux アプリケーションにデータを報告します。

前提条件

  • システムのオペレーティングシステムのバージョンは、RHEL8 または RHEL9 でなければならない。
  • 管理者は、システムで sudo アクセスがある。
  • システムには Insights クライアントパッケージがインストールされており、Insights for Red Hat Enterprise Linux に登録されている必要がある。

手順

  1. YARA をインストールします。

    RHEL8 および RHEL9 の YARA RPM は、Red Hat カスタマーポータル から入手できます。

    $ sudo dnf install yara
    注記

    Red Hat Enterprise Linux マルウェア検出の Insights は、RHEL7 ではサポートされていません。

  2. まだ完了していない場合は、システムを Insights for Red Hat Enterprise Linux に登録します。

    重要

    マルウェア検出サービスを使用する前に、Insights クライアントパッケージをシステムにインストールし、システムを Insights for Red Hat Enterprise Linux に登録する必要があります。

    1. Insights クライアント RPM をインストールします。

      $ sudo yum install insights-client
    2. Insights for Red Hat Enterprise Linux への接続をテストします。

      $ sudo insights-client --test-connection
    3. システムを Red Hat Enterprise Linux の Insights に登録する。

      $ sudo insights-client --register
  3. Insights クライアントのマルウェア検出コレクターを実行します。

    $ sudo insights-client --collector malware-detection

    コレクターは、この初回実行時に次のアクションを実行します。

    • /etc/insights-client/malware-detection-config.yml でマルウェア検出設定ファイルを作成します。
    • テストスキャンを実行し、結果をアップロードします。

      注記

      これは、簡易テストルールを使用して、システムのごく最小限のスキャンを行うものです。テストスキャンは、主に、インストール、操作、およびアップロードが、マルウェア検出サービスに対して正しく機能していることを確認するために行います。一致するものがいくつか見つかりますが、これは意図的なもので、心配するものではありません。初期テストスキャンの結果は、malware-detection サービス UI に表示されません。

  4. ファイルシステムのフルスキャンを実行します。

    1. /etc/insights-client/malware-detection-config.yml を変更し、test_scan を false に設定します。

      test_scan: false

      スキャン時間を最小限にとどめるため、以下のオプションを設定することを検討してください。

      • filesystem_scan_only - システム上の特定のディレクトリーのみをスキャンする
      • filesystem_scan_exclude - 特定のディレクトリーをスキャンから除外する
      • filesystem_scan_since - 最近変更されたファイルのみをスキャンする
    2. クライアントコレクターを再実行します。

      $ sudo insights-client --collector malware-detection
  5. 必要に応じて、プロセスをスキャンします。まずファイルシステムをスキャンし、次にすべてのプロセスをスキャンします。ファイルシステムおよびプロセスのスキャンが完了したら、Red Hat Enterprise Linux > Malware で結果を表示します。

    重要

    デフォルトでは、スキャンプロセスは無効になっています。Linux システムでは、システムパフォーマンスが低下する可能性がある YARA およびスキャンプロセスに関する 問題 があります。この問題は、YARA の次期リリースで修正される予定です。ただ、それまではプロセスをスキャンしないことが推奨されます

    1. プロセススキャンを有効にするには、/etc/insights-client/malware-detection-config.ymlscan_processes: true を設定します。

      scan_processes: true
注記

そこにいる間にこれらのプロセス関連オプションを設定することを検討してください (processes_scan_only - システム上の特定のプロセスのみをスキャン、processess_scan_exclude - スキャンから特定のプロセスを除外、processes_scan_since - 最近開始されたプロセスのみをスキャン)。

  1. 変更を保存し、コレクターを再実行します。

    $ sudo insights-client --collector malware-detection

2.2. ユーザーアクセスでマルウェア検出グループ、ロール、およびメンバーの設定

組織管理者は、Red Hat Hybrid Cloud Console > Settings メニュー(歯車アイコン)> Identity & Access Management > User Access > Groups でマルウェア検出グループを作成し、必要なマルウェア検出ロールおよびメンバー(アカウントに登録されているユーザー)を追加する必要があります。

重要

マルウェア検出サービスユーザーには「default-group」ロールがありません。マルウェア検出サービスのデータまたは制御設定を表示できるようにするには、以下のいずれかのロールを持つ 1 つ以上の User Access グループのメンバーである必要があります。

  • マルウェア検出ビューアー
  • マルウェア検出管理者
注記

現在、これらのロールにより付与される特権に違いはありませんが、今後数か月で新しい機能が登場すると、特定のアクションは admin ユーザーのみが利用できるようになります。

Resources

Red Hat Hybrid Cloud Console でのユーザーアクセスの設定に関する完全なドキュメントは、ロールベースアクセス制御 (RBAC) のユーザーアクセス設定ガイド を参照してください。

2.2.1. ユーザーアクセスでのマルウェア検出グループの作成および設定

以下の手順では、アカウントの組織管理者がユーザーアクセスグループを作成し、そのグループにマルウェア検出管理者の ロール を追加してから、マルウェア検出サービスの管理者特権を持つ メンバー を追加する方法を示しています。

目的、ロール、またはメンバーに関係なく、以下の手順は、ユーザーアクセスでグループを作成する場合と同じです。組織管理者は、管理者用に 1 つのグループを作成し、ビューアー用に別のグループを作成する必要があります。

重要

現在、マルウェア検出管理者が付与する特権とビューアーロールには違いはありません。ただし、今後のリリースでは変更になります。

前提条件

組織管理者として Red Hat Hybrid Cloud Console アカウントにログインしている。

手順

  1. アプリケーションウィンドウの右上にある ギアアイコン をクリックし、Settings を選択します。

    img hcc toolbar settings

  2. Red Hat Hybrid Cloud Console > Settings menu (歯車アイコン) > Identity & Access Management > User Access > Groups に移動します。
  3. Create Group をクリックします。
  4. マルウェア管理者 などの グループ名 と説明を入力し、 をクリックします。
  5. このグループに追加するロール (マルウェア検出管理者 など) を選択します。そのロールのチェックボックスをクリックしてから、Next をクリックします。
  6. グループにメンバーを追加します。個々のユーザーを検索するか、ユーザー名、メール、またはステータスでフィルタリングします。対象となる各メンバーの名前の横にあるチェックボックスにチェックを入れてから、Next をクリックします。
  7. 詳細を確認して、すべてが正しいことを確認します。戻って変更する必要がある場合は Back をクリックします。
  8. Submit をクリックしてグループの作成を終了します。

2.3. Red Hat Hybrid Cloud Console でのマルウェア検出スキャンの結果の表示

Hybrid Cloud Console でシステムスキャンの結果を表示します。

前提条件

  • YARA および Insights クライアントは、本書の第 2 章で説明されている手順に従って RHEL システムにインストールおよび設定します。
  • Hybrid Cloud コンソールにログインしている必要があります。
  • マルウェア検出管理者 または マルウェア検出ビューアーロール を使用する Hybrid Cloud Console User Access Group のメンバーになっています。

手順

  1. Red Hat Enterprise Linux > Malware > Systems に移動します。
  2. ダッシュボードを表示して、マルウェア検出を有効にし、結果を報告している RHEL システムの概要を簡単に確認できます。
  3. 特定のシステムの結果を表示するには、Filter by name 検索ボックスを使用して、システムを名前で検索します。

第3章 マルウェア検出サービスのその他の概念

3.1. システムスキャン

リリース時に、マルウェア検出管理者は Insights for Red Hat Enterprise Linux マルウェア検出サービスコレクタースキャンをオンデマンドで開始する必要があります。または、管理者は、Playbook、または別の自動化方法を使用して、コレクターコマンドを実行できます。

注記

推奨されるスキャンの頻度はお客様のセキュリティーチームの判断となります。スキャンにはかなりの時間がかかる可能性があるため、Insights for Red Hat Enterprise Linux マルウェア検出サービスチームは、マルウェア検出スキャンを毎週実行することを推奨します。

3.1.1. マルウェア検出スキャンの開始

マルウェア検出スキャンを実行するには、以下の手順を実行します。スキャンが完了すると、Red Hat Enterprise Linux マルウェア検出サービスの Insights でデータが報告されます。スキャン時間は、設定オプション、実行中のプロセス数など、多くの要因により異なります。

前提条件

Insights クライアントコマンドを実行するには、システムで sudo アクセスが必要である。

手順

  1. $ sudo insights-client --collector malware-detection を実行します。
  2. Red Hat Enterprise Linux > Malware で結果を表示します。

3.2. マルウェア検出サービスの結果の解釈

ほとんどの場合は、YARA でマルウェア検出スキャンを実行すると、署名が一致するものがありません。つまり、既知のマルウェア署名セットをスキャンに含まれるファイルと比較すると、YARA が一致する文字列やブール式を検出できませんでした。マルウェア検出サービスは、この結果を Red Hat Insights に送信します。また、システムスキャンの詳細と、Insights for Red Hat Enterprise Linux マルウェア検出サービス UI で一致の欠如を確認できます。

YARA によるマルウェア検出スキャンで一致した場合は、その結果が Red Hat Insights に送信され、マルウェア検出サービスの UI でファイルや日付などの一致の詳細を確認することができます。システムスキャンと署名の一致履歴は過去 14 日間表示されるため、パターンを検出し、この情報をセキュリティーインシデント対応チームに提供できます。たとえば、あるスキャンで署名の一致が見つかったにもかかわらず、同じシステムの次のスキャンでは見つからなかった場合は、特定のプロセスが実行されているときにのみ検出可能なマルウェアが存在していることを示している場合があります。

3.3. マルウェア検出コレクターの追加設定オプション

/etc/insights-client/malware-detection-config.yml には、いくつかの設定オプションが含まれています。

設定オプション

  • filesystem_scan_only

    これは、基本的に許可リストオプションで、スキャンするファイル/ディレクトリーを指定します。指定した項目のみがスキャンされます。1 つのアイテム、またはアイテムの一覧 (アイテムの一覧を指定する yaml 構文に従う) のいずれかを指定できます。このオプションが空の場合は、基本的にすべてのファイル/ディレクトリー PID (その他のオプションによる) をスキャンすることを意味します。

  • filesystem_scan_exclude

    これは、基本的には拒否リストオプションで、スキャンしないファイル/ディレクトリーを指定します。多くのディレクトリーがすでに一覧に記載されています。つまり、ディレクトリーはデフォルトでは除外されます。これには、仮想ファイルシステムのディレクトリー (例: /proc、/sys、/cgroup)、外部にマウントされたファイルシステム (例: /mnt、/media) がある可能性があるディレクトリー、およびスキャンしないことが推奨されるその他のディレクトリー (例: /dev および /var/log/insights-client) (誤検出を防ぐため) が含まれます。ファイル/ディレクトリーを追加 (または削除) する一覧は自由に変更できます。

    同じ項目が filesystem_scan_only と filesystem_scan_exclude の両方で指定されている場合 (例: /home) は、filesystem_scan_exclude が「優先」されます。つまり、/home はスキャンされません。別の例として、親ディレクトリー (例:/ var) を filesysem_scan_only してから、その中の特定のディレクトリー (例: /var/lib や /var/log/Insights-client) を filesystem_scan_exclude することができます。これにより、/var/lib および /var/log/insights-client を除く /var 内のすべてのデータがスキャンされます。

  • filesystem_scan_since

    「since」から変更されたファイルのみをスキャンします。ここで、since には日数を表す整数、または前回のファイルシステムスキャン以降を示す last にすることができます。たとえば、filesystem_scan_since: 1 は、1 日前 (最後の日のみ) 以降に作成または変更したファイルだけを、filesystem_scan_since: 7 は、7 日前から (1 週間以内に) 作成/修正されたスキャンファイルだけをスキャンすることを意味します。filesystem_scan_since: last は、malware-client の最後の filesystem_scan が成功してから作成/修正されたスキャンファイルのみを意味します。

  • exclude_network_filesystem_mountpoints and network_filesystem_types

    exclude_network_filesystem_mountpoints: true を設定すると、マルウェア検出コレクターは、マウントされたネットワークファイルシステムのマウントポイントをスキャンしません。これがデフォルト設定で、外部ファイルシステムのスキャンを防ぐため、ネットワークトラフィックが増加し、スキャンに時間がかかります。ネットワークファイルシステムと見なされるファイルシステムは、network_filesystem_types オプションに一覧表示されています。そのため、そのリストにあり、マウントされているファイルシステムタイプは、スキャンから除外されます。これらのマウントポイントは、基本的には、filesystem_scan_exclude オプションから除外されるディレクトリーの一覧に追加されます。exclude_network_filesystem_mountpoints: false を設定しても、filesystem_scan_exclude オプションでマウントポイントを除外できます。

  • network_filesystem_types

    ネットワークファイルシステムの種類を定義します。

  • scan_processes
注記

scan_process は、多数または大規模なプロセスをスキャンするときのシステムパフォーマンスへの影響を防ぐために、デフォルトで無効になっています。ステータスが false の場合、プロセスはスキャンされず、後続の processes_scan オプションは無視されます。

+ スキャンに実行中のプロセスを含めます。

  • processes_scan_only

    これは filesystem_scan_only に似ていますが、プロセスに適用されます。プロセスは、単一の PID (123 など) または PID の範囲 (1000..2000 など) として指定することも、プロセス名 (Chrome など) で指定することもできます。たとえば、123、1000..2000 の値、および Chrome は、PID 123、1000 から 2000 までの PID、および文字列 chrome を含むプロセス名の PID のみがスキャンされることを意味します。

  • processes_scan_exclude

    これは filesystem_scan_exclude に似ていますが、プロセスに適用されます。プロセスは processes_scan_only と同様に、単一の PID、PID の範囲、またはプロセス名で指定できます。プロセスが processes_scan_only と processes_scan_exclude の両方に表示される場合は、processes_scan_exclude が「優先」され、プロセスは除外されます。

  • processes_scan_since

    これは filesystem_scan_since に似ていますが、プロセスに適用されます。「since」から開始されたプロセスのみをスキャンします。since は、数日前を表す整数、または「last」は、マルウェアクライアントの最後の成功したプロセススキャン以降を意味します。

環境変数

/etc/insights-client/malware-detection-config.yml ファイル内のすべてのオプションは、環境変数を使用して設定することもできます。環境変数を使用すると、設定ファイル内の同じオプションの値が上書きされます。環境変数は設定ファイルオプションと同じ名前ですが、大文字になります。たとえば、設定ファイルオプションの test_scan は、環境変数の TEST_SCAN です。

FILESYSTEM_SCAN_ONLYFILESYSTEM_SCAN_EXCLUDEPROCESSES_SCAN_ONLYPROCESSES_SCAN_EXCLUDE、および NETWORK_FILESYSTEM_TYPES 環境変数には、コンマ区切りの値のリストを使用します。たとえば、/etc/tmp、および /var/lib のディレクトリーのみをスキャンする場合は、以下の環境変数を使用します。

FILESYSTEM_SCAN_ONLY=/etc,/tmp,/var/lib

コマンドラインでこれを指定する (テストスキャンを無効にする) には、以下のコマンドを使用します。

$ sudo FILESYSTEM_SCAN_ONLY=/etc,/tmp,/var/lib TEST_SCAN=false insights-client --collector malware-detection

Resources

Insights クライアントの詳細は、Red Hat Insights のクライアント設定ガイド を参照してください。

第4章 マルウェアイベントの通知と統合の有効化

マルウェアサービスが少なくとも 1 つのシステムスキャンでシグネチャーの一致を検出し、アラートを生成するたびに通知を送信するように、Red Hat Hybrid Cloud Console の通知サービスを有効にすることができます。通知サービスを使用すると、Red Hat Insights for Red Hat Enterprise Linux ダッシュボード でアラートを継続的にチェックする必要がなくなります。

たとえば、通知サービスを設定して、マルウェアサービスがシステムに対する潜在的な脅威を検出するたびに電子メールメッセージを自動的に送信したり、マルウェアサービスが毎日生成するすべてのアラートの電子メールダイジェストを送信したりできます。

メールメッセージの送信に加え、他の方法でイベントデータを送信するように通知サービスを設定できます。

  • 認証済みクライアントを使用して Red Hat Insights API にイベントデータをクエリーする
  • Webhook を使用して受信要求を受け入れるサードパーティーのアプリケーションにイベントを送信する
  • 通知を Splunk などのアプリケーションと統合して、マルウェアイベントをアプリケーションダッシュボードにルーティングする

マルウェアサービスの通知には、次の情報が含まれます。

  • 影響を受けるシステムの名前
  • システムスキャン中に検出された署名の一致数
  • Red Hat Hybrid Cloud Console で詳細を表示するためのリンク

通知サービスを有効にするには、以下の 3 つの主要なステップが必要です。

  • まず、組織管理者は Notifications 管理者ロールを持つユーザーアクセスグループを作成し、そのグループにアカウントメンバーを追加します。
  • 次に、通知管理者が通知サービス内のイベントの動作グループを設定します。動作グループは、通知ごとに配信方法を指定します。たとえば、動作グループは、電子メール通知をすべてのユーザーに送信するか、組織の管理者にのみ送信するかを指定できます。
  • 最後に、イベントから電子メール通知を受信するユーザーは、各イベントの個別電子メールを受け取るようにユーザー設定する必要があります。

関連情報

  • ドマルウェアアラートの通知を設定する方法の詳細は、Red Hat Insights 通知 を参照してください。

Red Hat ドキュメントへのフィードバック (英語のみ)

当社のドキュメントに関するご意見やご感想をお寄せください。フィードバックを提供するには、ドキュメントのテキストを強調表示し、コメントを追加してください。

前提条件

  • Red Hat カスタマーポータルにログインしている。
  • Red Hat カスタマーポータルで、マルチページ HTML 形式でドキュメントを表示している。

手順

フィードバックを提供するには、以下の手順を実施します。

  1. ドキュメントの右上隅にある Feedback ボタンをクリックして、既存のフィードバックを確認します。

    注記

    フィードバック機能は、Multi-page HTML 形式でのみ有効です。

  2. フィードバックを提供するドキュメントのセクションを強調表示します。
  3. ハイライトされたテキスト近くに表示される Add Feedback ポップアップをクリックします。

    ページの右側のフィードバックセクションにテキストボックスが表示されます。

  4. テキストボックスにフィードバックを入力し、Submit をクリックします。

    ドキュメントに関する問題が作成されます。

  5. 問題を表示するには、フィードバックビューで問題リンクをクリックします。

法律上の通知

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.