GNU/Linux >> Linux の 問題 >  >> Linux

WAZUHマルウェアの検出と削除–VirusTotalの統合

VirusTotalは、Googleが所有するオンラインポータルであり、多くのウイルス対策エンジンを使用してウイルスやマルウェアをチェックします。 Wazuhがファイルハッシュ、ドメイン名、IPアドレス、またはURLをスキャンするために使用するAPIサービスを提供します。この統合には、wazuh-integratordを使用します Wazuhマネージャーで実行されるコンポーネント。この統合の詳細については、VirusTotalのドキュメントを確認してください。

このユースケースでは、ディレクトリをリアルタイムで監視し、すべての新しいファイルまたは最近変更されたファイルに対してVirusTotalスキャンを実行します。ファイルが悪意のあるものとして分類されると、アクティブな応答がトリガーされ、ファイルが削除されます。

VirusTotal統合の構成

/var/ossec/etc/ossec.confに次の構成を追加して、APIキーを挿入し、WazuhマネージャーでVirusTotal統合を有効にします。 。

<ossec_config>
  <integration>
    <name>virustotal</name>
    <api_key>${your_virustotal_api_key}</api_key>
    <rule_id>100200,100201</rule_id>
    <alert_format>json</alert_format>
  </integration>
</ossec_config

この例では、スキャンを/root内の新しいファイルまたは最近変更されたファイルに制限します。 無料アプリアカウントを使用する場合の1分あたりのクエリ数の制限によるディレクトリ。そのために、/rootを監視するカスタムルールを作成します ディレクトリを作成し、それらを使用してVirusTotal統合をトリガーします。

次のカスタムルールを/var/ossec/etc/rules/local_rules.xmlに追加します 。

<group name="syscheck,pci_dss_11.5,nist_800_53_SI.7,">
    <!-- Rules for Linux systems -->
    <rule id="100200" level="7">
        <if_sid>550</if_sid>
        <field name="file">/root</field>
        <description>File modified in /root directory.</description>
    </rule>
        <rule id="100201" level="7">
        <if_sid>554</if_sid>
        <field name="file">/root</field>
        <description>File added to /root directory.</description>
    </rule>
</group>

悪意のあるファイルを削除するためのActiveResponseの構成

VirusTotalがファイルを脅威として識別すると、Wazuhはアクティブな応答をトリガーして、システムからファイルを削除します

Wazuhマネージャーの構成

次のブロックをWazuhマネージャーの/var/ossec/etc/ossec.confに追加します ファイル。

<ossec_config>

    <command>
        <name>remove-threat</name>
        <executable>remove-threat.sh</executable>
        <timeout_allowed>no</timeout_allowed>
    </command>

    <active-response>
        <disabled>no</disabled>
        <command>remove-threat</command>
        <location>local</location>
        <rules_id>87105</rules_id>
    </active-response>

</ossec_config>

アクティブな応答は、VirusTotalがファイルを悪意のあるものとして識別したときにトリップされるルール87105によってトリガーされます。

次のカスタムルールを/var/ossec/etc/rules/local_rules.xmlに追加します 。

<group name="virustotal,">
  <rule id="100092" level="12">
    <if_sid>657</if_sid>
    <match>Successfully removed threat</match>
    <description>$(parameters.program) removed threat located at $(parameters.alert.data.virustotal.source.file)</description>
  </rule>

  <rule id="100093" level="12">
    <if_sid>657</if_sid>
    <match>Error removing threat</match>
    <description>Error removing threat located at $(parameters.alert.data.virustotal.source.file)</description>
  </rule>
</group>

これらのルールは、アクティブな応答によって悪意のあるファイルが削除された場合、またはファイルの削除中にエラーが発生した場合にトリガーされます。

Wazuhマネージャーを再起動して、構成の変更を適用します。

systemctl restart wazuh-manager

VirusTotal用のWazuhエージェントの構成

/var/ossec/etc/ossec.confのファイル整合性監視設定を変更します /rootを監視する リアルタイムで。

<syscheck>
  <directories whodata="yes">/root</directories>
</syscheck>

次のアクティブな応答スクリプトを/var/ossec/active-response/bin/remove-threat.shに追加します。 。

#!/bin/bash

LOCAL=`dirname $0`;
cd $LOCAL
cd ../

PWD=`pwd`

read INPUT_JSON
FILENAME=$(echo $INPUT_JSON | jq -r .parameters.alert.data.virustotal.source.file)
COMMAND=$(echo $INPUT_JSON | jq -r .command)
LOG_FILE="${PWD}/../logs/active-responses.log"

#------------------------ Analyze command -------------------------#
if [ ${COMMAND} = "add" ]
then
 # Send control message to execd
 printf '{"version":1,"origin":{"name":"remove-threat","module":"active-response"},"command":"check_keys", "parameters":{"keys":[]}}\n'

 read RESPONSE
 COMMAND2=$(echo $RESPONSE | jq -r .command)
 if [ ${COMMAND2} != "continue" ]
 then
   echo "`date '+%Y/%m/%d %H:%M:%S'` $0: $INPUT_JSON Remove threat active response aborted" >> ${LOG_FILE}
   exit 0;
 fi
fi

# Removing file
rm -f $FILENAME
if [ $? -eq 0 ]; then
 echo "`date '+%Y/%m/%d %H:%M:%S'` $0: $INPUT_JSON Successfully removed threat" >> ${LOG_FILE}
else
 echo "`date '+%Y/%m/%d %H:%M:%S'` $0: $INPUT_JSON Error removing threat" >> ${LOG_FILE}
fi

exit 0;

このスクリプトは、VirusTotal(87105)によって生成されたアラートから悪意のあるファイル情報を受け取り、ファイルを削除して、アクティブな応答ログを書き込みます。

/var/ossec/active-response/bin/remove-threat.shを変更します 所有者と権限。

chmod 750 /var/ossec/active-response/bin/remove-threat.sh
chown root:ossec /var/ossec/active-response/bin/remove-threat.sh

Wazuhエージェントを再起動して、構成の変更を適用します。

systemctl restart wazuh-agent

アラートを生成する

監視対象ディレクトリ/rootでファイルが変更された場合 、VirusTotalスキャンをトリガーし、悪意のあるものとして検出された場合はアラートを生成します。アクティブレスポンスは、脅威を自動的に削除するように構成されています。

すべてが正しく機能していることをテストするには、EICARテストを使用してアラートを生成します。予想される結果は、ファイルが悪意のあるものとして検出され、アクティブな応答によって自動的に削除されることです

cd /root
curl -LO http://www.eicar.org/download/eicar.com


Linux
  1. ClamAVを使用してLinuxボックスをスキャンし、トロイの木馬、マルウェア、ウイルスを検出する方法

  2. `^ m`そしてそれを取り除く方法は?

  3. スーパーブロック、iノード、Dentry、およびファイル?

  1. ファイルのアクセス許可と保存?

  2. リダイレクトとパイプ出力?

  3. 高速および低速のシンボリックリンク?

  1. vsFTPDのインストールと構成

  2. Linux でサポートおよび推奨されるファイル システム

  3. スレッドとファイル記述子