コンテンツにスキップ

ソフォス パッケージリポジトリから Sophos Linux Sensor をインストールする方法

Sophos Linux Sensor (SLS) は Linux ホストにインストールされる軽量エージェントで、ホストからイベントを収集して、警告生成や自動対応を実施します。SLS は、既存のログおよび警告インフラと統合します。SLS は、パブリッククラウドやプライベートクラウド、コンテナや VM、オンプレミス版ベアメタルなど、Linux のあるあらゆる環境、およびさまざまなカーネルバージョンおよび Linux ディストリビューションにインストールできます。

前提条件

ソフォス パッケージ リポジトリから Sophos Linux Sensor (SLS) をインストールする前に、次の手順を実行する必要があります。

  • サポートされている Linux ディストリビューションがあり、システム要件を満たしていることを確認します。 リリースノートのシステム要件セクションを参照してください。
  • Sophos Linux Sensor パッケージリポジトリ API トークンを生成する方法に従って、{LINUX_REPO_API_KEY} および {tenant-id} を取得します。

    • {LINUX_REPO_API_KEY} は "SLS-" で始まる短い文字列です。
    • {tenant-id} は以下の形式の文字列です。

      1a2345b6-78c9-012d-ef34-5a6b789c0de1
      
  • Linux デバッグサブシステムをオンにします。これは、カーネルとユーザー空間のイベントをインストルメント化するために使用されます。

    • 新しいカーネルでは、デフォルトでオンになっています。
    • デバッグサブシステムをオンにするには、次のコマンドを使用します。

      sudo mount -t debugfs nodev /sys/kernel/debug
      

      次の出力が表示されるはずです。

      mount: /sys/kernel/debug: nodev already mounted or mount point busy.
      

ソフォス GPG 鍵の取得

システムがソフォスパッケージリポジトリにアクセスできるようにするには、ソフォスの GPG 鍵が必要です。次の手順を実行します。

  1. コマンドプロンプトを開きます
  2. 次のコマンドを実行し、 {LINUX_REPO_API_KEY} を Sophos Linux リポジトリトークンに置き換えます。

    curl -f https://{LINUX_REPO_API_KEY}@packages.sophos.com/sophos-linux-sensor/release/sophos-linux-sensor-archive-keyring.gpg > /etc/sophos-linux-sensor.gpg
    

    これにより、ソフォス GPG 鍵が /etc/sophos-linux-sensor.gpg ファイルに出力されます。

    出力のサンプル:

      合計 % 受信 % Xferd 平均速度 時刻 時刻 電流
                                     ダウンロード アップロード 総 使用済み  残り 速度
    100   907  100   907    0     0   1455      0 --:--:-- --:--:-- --:--:--  1453
    

    警告

    出力に次の行、または同様の行が表示された場合は、curl コマンドでソフォス GPG 鍵を取得できませんでした。

    curl: (22) The requested URL returned error: 401
    

Sophos Linux リポジトリにアクセスするようにシステムを設定する

  1. /etc/apt/sources.list.d ディレクトリに、拡張子が .list のファイルを作成します。名前はどのようなものでもかまいません。
  2. ファイルに次の情報を入力します。

    deb [signed-by=/etc/sophos-linux-sensor.gpg] https://packages.sophos.com/sophos-linux-sensor/release/ stable main
    

    警告

    前のセクションで /etc/sophos-linux-sensor.gpg 以外のファイルにソフォスの GPG キーを保存した場合は、このステップの `signed-by=' の後にファイルへのパスを入力する必要があります。

  3. 変更内容を保存します。

  4. /etc/apt/auth.conf.d ディレクトリに、拡張子が .conf のファイルを作成します。名前はどのようなものでもかまいません。
  5. ファイルに次の情報を入力します。

    machine packages.sophos.com login {LINUX_REPO_API_KEY}
    
  6. 変更内容を保存します。

  7. 次のコマンドを実行します。成功すると、エラーは表示されません。

    apt-get update
    

    次に例を示します。

    $ apt-get update
    
    Hit:2 https://artifactory.sophos-ops.com/esg-debian-dirty-remote-ubuntu bionic InRelease
    Hit:3 https://artifactory.sophos-ops.com/esg-debian-dirty-remote-ubuntu bionic-updates InRelease
    Hit:4 https://artifactory.sophos-ops.com/esg-debian-dirty-remote-ubuntu bionic-backports InRelease
    Hit:1 https://artifactory.sophos-ops.com:443/esg-debian-dirty-remote-ubuntu bionic-security InRelease
    Hit:5 https://packages.sophos.com/sophos-linux-sensor/release stable InRelease
    Reading package lists...Done
    
  1. /etc/yum.repos.d/ ディレクトリに、拡張子が .repo のファイルを作成します。名前はどのようなものでもかまいません。
  2. ファイルに次の情報を入力します。

    #sls.repo
    [sls]
    name=CentOS-7 - sls
    baseurl=https://{LINUX_REPO_API_KEY}@packages.sophos.com/sophos-linux-sensor/release/
    gpgcheck=1
    enabled=1
    gpgkey=file:///etc/sophos-linux-sensor.gpg
    

    警告

    前のセクションで /etc/sophos-linux-sensor.gpg 以外のファイルにソフォスの GPG キーを保存した場合は、このステップの `gpgkey=file://' の後にファイルへのパスを入力する必要があります。

  3. 変更内容を保存します。

Sophos Linux Sensor のインストール

  1. 次のコマンドを使用して SLS をインストールします。

    apt install sophoslinuxsensor-systemd
    

    次に例を示します。

    $ apt install sophoslinuxsensor-systemd
    
    Reading package lists...Done
    Building dependency tree
    Reading state information...Done
    The following NEW packages will be installed:
    sophoslinuxsensor-systemd
    0 upgraded, 1 newly installed, 0 to remove and 18 not upgraded.
    Need to get 30.3 MB of archives.
    After this operation, 78.4 MB of additional disk space will be used.
    Get:1 https://packages.sophos.com/sophos-linux-sensor/release stable/main amd64 sophoslinuxsensor-systemd amd64 5.0.0.68 [30.3 MB]
    Fetched 30.3 MB in 2s (13.9 MB/s)
    Selecting previously unselected package sophoslinuxsensor-systemd.
    (Reading database ...111121 files and directories currently installed.)
    Preparing to unpack .../sophoslinuxsensor-systemd_5.0.0.68_amd64.deb ...
    Unpacking sophoslinuxsensor-systemd (5.0.0.68) ...
    Setting up sophoslinuxsensor-systemd (5.0.0.68) ...
    2022-06-23T17:46:10.033Z    INFO    config ".." has been read
    Sophos Linux Runtime Detections Agent version 5.0.0.68 (Build: 2032)
    2022-06-23T17:46:10.034Z    INFO    Successfully set capabilities.
    ---------------------------
    Sophos
    *   https://sophos.com/
    
    User & group created:
    *   sophos-spl-user
    *   sophos-spl-group
    
    Services installed:
    *   Sensor (sophoslinuxsensor)
    ---------------------------
    
  2. 次のコマンドを使用してデフォルトのコンテンツをインストールします。

    apt-get install sophoslinuxcontent
    

    次に例を示します。

    $ apt-get install sophoslinuxcontent
    
    Reading package lists...Done
    Building dependency tree
    Reading state information...Done
    The following NEW packages will be installed:
    sophoslinuxcontent
    0 upgraded, 1 newly installed, 0 to remove and 18 not upgraded.
    Need to get 27.2 kB of archives.
    After this operation, 224 kB of additional disk space will be used.
    Get:1 https://packages.sophos.com/sophos-linux-sensor/release stable/main amd64 sophoslinuxcontent all 4.9.1.19 [27.2 kB]
    Fetched 27.2 kB in 2s (14.7 kB/s)
    Selecting previously unselected package sophoslinuxcontent.
    (Reading database ...111131 files and directories currently installed.)
    Preparing to unpack .../sophoslinuxcontent_4.9.1.19_all.deb ...
    Unpacking sophoslinuxcontent (4.9.1.19) ...
    Setting up sophoslinuxcontent (4.9.1.19) ...
    
  3. 次のコマンドを実行してインストールを確認します。

    apt list --installed | grep -i sophos
    
  4. /etc/sophos/runtimedetections.yaml をテキストエディタで開き、{tenant-id} を固有の Sophos Central ID に置き換えます。

    次に例を示します。

    send_labs_telemetry: true
    endpoint_telemetry_enabled: true
    cloud_meta: auto
    # Set your customer id:
    customer_id: "{tenant-id}"
    alert_output:
      outputs:
      -   type: stdout
        enabled: true
        template: 'Alert triggered: {{ .StrategyName}}'
    

    テレメトリデータをソフォスに送信しない場合は、send_labs_telemetryfalse に設定してください。

  5. 次のコマンドを使用して SLS を開始します。

    sudo systemctl start sophoslinuxsensor
    
  1. 次のコマンドを使用して SLS をインストールします。

    yum install sophoslinuxsensor-systemd
    

    次に例を示します。

    $ yum install sophoslinuxsensor-systemd
    
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package sophoslinuxsensor-systemd.x86_64 0:5.0.0.68-1 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ===================================================================
    Package                      Arch      Version       Repository
                                                                サイズ
    ===================================================================
    Installing:
    sophoslinuxsensor-systemd    x86_64    5.0.0.68-1    E2E     29 M
    
    Transaction Summary
    ===================================================================
    Install  1 Package
    
    Total size: 29 M
    Installed size: 75 M
    Is this ok [y/d/N]: y
    Downloading packages:
    warning: /var/cache/yum/x86_64/7.7.1908/E2E/packages/sophoslinuxsensor-systemd-5.0.0.68-1.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID e503a54e: NOKEY
    Retrieving key from file:///tmp/key.gpg
    Importing GPG key 0xE503A54E:
    Userid     : "linux_release_2022 <sophosca@sophos.com>"
    Fingerprint: f41d 7750 b5eb af51 8ea3 c5b6 6ff2 1324 e503 a54e
    From       : /tmp/key.gpg
    Is this ok [y/N]: y
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Installing : sophoslinuxsensor-systemd-5.0.0.68-1.x86_64     1/1
    2022-06-24T18:42:17.803Z    INFO    config ".." has been read
    Sophos Linux Runtime Detections Agent version 5.0.0.68 (Build: 2032)
    2022-06-24T18:42:17.803Z    INFO    Successfully set capabilities.
    ---------------------------
    Sophos
    *   https://sophos.com/
    
    User & group created:
    *   sophos-spl-user
    *   sophos-spl-group
    
    Services installed:
    *   Sensor (sophoslinuxsensor)
    ---------------------------
    Verifying  : sophoslinuxsensor-systemd-5.0.0.68-1.x86_64     1/1
    
    Installed:
    sophoslinuxsensor-systemd.x86_64 0:5.0.0.68-1
    
    Complete!
    
  2. 次のコマンドを使用してデフォルトのコンテンツをインストールします。

    yum install sophoslinuxcontent
    

    次に例を示します。

    $ yum install sophoslinuxcontent
    
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package sophoslinuxcontent.noarch 0:4.9.1.19-1 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ===================================================================
    Package                Arch       Version           Repository
                                                                サイズ
    ===================================================================
    Installing:
    sophoslinuxcontent     noarch     4.9.1.19-1        E2E      30 k
    
    Transaction Summary
    ===================================================================
    Install  1 Package
    
    Total download size: 30 k
    Installed size: 219 k
    Is this ok [y/d/N]: y
    Downloading packages:
    sophoslinuxcontent-4.9.1.19-1.noarch.rpm      |  30 kB   00:00
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Installing : sophoslinuxcontent-4.9.1.19-1.noarch            1/1
    Verifying  : sophoslinuxcontent-4.9.1.19-1.noarch            1/1
    
    Installed:
    sophoslinuxcontent.noarch 0:4.9.1.19-1
    
    Complete!
    
  3. 次のコマンドを実行してインストールを確認します。

    yum list installed | grep -i sophos
    

    次に例を示します。

    $ yum list installed | grep -i sophos
    
    Loaded plugins: fastestmirror, langpacks
    Determining fastest mirrors
    ======================= N/S matched: sophos =======================
    sophoslinuxcontent.noarch : Sophos Platform
    sophoslinuxsensor-runit.x86_64 : Sophos Platform
    sophoslinuxsensor-sysV.x86_64 : Sophos Platform
    sophoslinuxsensor-systemd.x86_64 : Sophos Platform
    sophoslinuxsensor-upstart.x86_64 : Sophos Platform
    
  4. /etc/sophos/runtimedetections.yaml をテキストエディタでを開き、customer_id として {tenant-id} を追加します。

    次に例を示します。

    send_labs_telemetry: true
    endpoint_telemetry_enabled: true
    cloud_meta: auto
    # Set your customer id:
    customer_id: "{tenant-id}"
    alert_output:
      outputs:
      -   type: stdout
        enabled: true
        template: 'Alert triggered: {{ .StrategyName}}'
    

    テレメトリデータをソフォスに送信しない場合は、send_labs_telemetryfalse に設定してください。

  5. 次のコマンドを使用して SLS を開始します。

    sudo systemctl start sophoslinuxsensor
    

次の段階の手順

インストールのステータスの確認

次のコマンドを実行して、SLS ログでエラーを確認します。

sudo journalctl -u sophoslinuxsensor

次のコマンドを実行して、SLS インストールの状態を確認します。

sudo systemctl status sophoslinuxsensor

警告

次の行が表示されている場合は、SLSのデフォルトコンテンツがインストールされていないことを意味します。

sophoslinuxsensor[12650]: 2022-07-19T14:24:22.762Z        WARN        Zero policies configured

検出と警告が機能するようにするには、SLS とデフォルトコンテンツの両方をインストールする必要があります。詳細は、Sophos Linux Sensor のインストールを参照してください。

テスト警告を開始する

次のコマンドを実行して、警告のテストポリシーを開始します。

sophoslinuxsensor -test-alert

出力のサンプル:

2022-05-17T15:28:31.470Z        INFO    config "/etc/sophos/runtimedetections-rules.yaml" has been read
Sophos Linux Runtime Detections Agent version 5.0.0.28 (Build: 1917)
2022-05-17T15:28:31.472Z        INFO    using sensor configuration file "/etc/sophos/runtimedetections-rules.yaml"
2022-05-17T15:28:31.474Z        INFO    Alert testing command executed, exiting

次の警告が表示されるはずです。

$ May 17 15:28:31 vagrant sophoslinuxsensor[26137]: Alert triggered: Alert Tester

警告は、設定した警告の出力先にも表示されます。SLS はデフォルトで、stdout に警告を出力します。

ヒント

任意の警告を開始して、デフォルトのコンテンツをテストできます。詳細は、デフォルト検出のテストを参照してください。

ケーパビリティのエラーログのチェック

インストールの一環として、SLS には CAP_SYS_ADMIN、CAP_DAC_OVERRIDE、CAP_SYS_PTRACE および CAP_KILLL ケーパビリティがあるはずです。スーパーバイザプロセスは、非特権ユーザーとして SLS を実行するため、これは必要です。

「アクセス許可が拒否されました」というエラーが表示される場合は、getcap を実行して、このようなケーパビリティが設定されていることを確認できます。次のコマンドを実行します。

getcap /usr/local/bin/sophoslinuxsensor

必要な機能を設定するには、次のコマンドを実行します。

setcap cap_sys_admin,cap_dac_override,cap_sys_ptrace,cap_kill=+epi /usr/local/bin/sophoslinuxsensor