コンテンツにスキップ

ソフォス パッケージ レジストリから 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.
      

Sophos GPG 鍵の取得

システムがソフォス パッケージ レジストリにアクセスできるようにするには、Sophos 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
    

GPG 鍵を確認します

Sophos Linux レジストリにアクセスできることを確認するために、作業を進める前に GPG 鍵を確認することが重要です。次のコマンドを実行して鍵を確認します。

gpg --list-packets /etc/sophos-linux-sensor.gpg

鍵が有効であれば、次のような出力が表示されます。

version 4, algo 1, created 1649376000, expires 0
        pkey[0]: [3072 bits]
        pkey[1]: [17 bits]
        keyid:6FF21324E503A54E
:user ID packet: "linux_release_2022 <sophosca@sophos.com>"
:signature packet: algo 1, keyid 6FF21324E503A54E
        version 4, created 1649376000, md5len 0, sigclass 0x13
        digest algo 10, begin of digest 55 a3
        hashed subpkt 33 len 21 (?)
        hashed subpkt 2 len 4 (sig created 2022-04-08)
        hashed subpkt 27 len 1 (key flags:2F)
        hashed subpkt 11 len 4 (pref-sym-algos:9 8 7 2)
        hashed subpkt 21 len 5 (pref-hash-algos:10 9 8 11 2)
        hashed subpkt 22 len 3 (pref-zip-algos:2 3 1)
        hashed subpkt 30 len 1 (features:01)
        hashed subpkt 23 len 1 (key server preferences:80)
        subpkt 16 len 8 (issuer key ID 6FF21324E503A54E)
        data: [3072 bits]

鍵を検証しても、インストール時に Invalid GPG Key が表示される場合は、追加の手順を実行する必要があります。詳細は、インストールエラーを参照してください。

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...完了 
    
  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...完了 
    Building dependency tree        
    Reading state information...完了 
    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...完了 
    Building dependency tree        
    Reading state information...完了 
    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