セキュリティ · 1 min read · Dec 09, 2025

Linuxサーバーのウイルス、マルウェア、ルートキットをスキャンするための3つのツール

インターネットに接続されたサーバーは、1日中攻撃やスキャンの絶え間ない流れにさらされています。ファイアウォールと定期的なシステム更新は、システムを安全に保つための良い第一防御ですが、攻撃者が侵入していないか定期的に確認することも重要です。このチュートリアルで説明するツールは、マルウェア、ウイルス、ルートキットをスキャンするために作られています。これらは定期的に、例えば毎晩実行し、メールでレポートを送信する必要があります。また、Chkrootkit、Rkhunter、ISPProtectを使用して、負荷が高い、疑わしいプロセスがある、またはサーバーが突然マルウェアを送信し始めたときにシステムをスキャンすることもできます。

これらのスキャナーはすべて、rootユーザーとして実行する必要があります。実行する前にrootとしてログインしてください。Ubuntuでは、次のコマンドを使用します:

sudo -s

rootユーザーになります。

chkrootkit - Linuxルートキットスキャナー

Chkrootkitは、クラシックなルートキットスキャナーです。サーバーを疑わしいルートキットプロセスの有無をチェックし、既知のルートキットファイルのリストを確認します。

ディストリビューションに付属のパッケージをインストールするか(DebianやUbuntuでは次のコマンドを実行します)、

apt-get install chkrootkit

CHKrootkitのインストール

または、www.chkrootkit.orgからソースをダウンロードして手動でインストールします:

wget --passive-ftp ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz  
tar xvfz chkrootkit.tar.gz  
cd chkrootkit-*/  
make sense

ソースからCHKRootkitをビルド

その後、chkrootkitディレクトリを他の場所に移動できます。例:/usr/local/chkrootkit:

cd ..  
mv chkrootkit-/ /usr/local/chkrootkit

簡単にアクセスできるようにシンボリックリンクを作成します:

ln -s /usr/local/chkrootkit/chkrootkit /usr/local/bin/chkrootkit

chkrootkitでサーバーをチェックするには、次のコマンドを実行します:

chkrootkit

一般的な誤検知レポートは次のとおりです:

Checking `bindshell'...  
INFECTED (PORTS: 465)

メールサーバーでこのメッセージが表示されても心配しないでください。これはメールシステムのSMTPS(Secure SMTP)ポートであり、よく知られた誤検知です。

chkrootkitをcronジョブとして実行し、結果をメールで受け取ることもできます。まず、次のコマンドでchkrootkitがサーバーにインストールされているパスを確認します:

which chkrootkit

例:

root@server1:/tmp/chkrootkit-0.52# which chkrootkit  
/usr/sbin/chkrootkit

chkrootkitはパス/usr/sbin/chkrootkitにインストールされています。このパスを以下のcron行に使用します:

実行:

crontab -e

次のようなcronジョブを作成します:

0 3 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit output of my server" [email protected])

これにより、毎晩3:00にchkrootkitが実行されます。上記のコマンドから受け取ったchkrootkitのパスを置き換え、メールアドレスを実際のアドレスに変更してください。

Lynis - ユニバーサルセキュリティ監査ツールおよびルートキットスキャナー

Lynis(以前はrkhunter)は、LinuxおよびBSDベースのシステム用のセキュリティ監査ツールです。システムの多くのセキュリティ側面と設定の詳細な監査を実行します。最新のLynisソースをhttps://cisofy.com/downloads/lynis/からダウンロードします:

cd /tmp  
wget https://downloads.cisofy.com/lynis/lynis-3.0.7.tar.gz  
tar xvfz lynis-3.0.7.tar.gz  
mv lynis /usr/local/  
ln -s /usr/local/lynis/lynis /usr/local/bin/lynis

Lynisセキュリティスキャナーのインストール

これにより、Lynisがディレクトリ/usr/local/lynisにインストールされ、簡単にアクセスできるようにシンボリックリンクが作成されます。次に、次のコマンドを実行して

lynis update info

最新バージョンを使用しているか確認します。

Lynisセキュリティスキャナーの更新

次に、次のコマンドを実行してシステムをルートキットのスキャンします:

lynis audit system

Lynisは数回のチェックを実行し、結果を読む時間を与えるために停止します。[ENTER]を押してスキャンを続行します。

Linuxセキュリティ監査

最後に、スキャンの概要が表示されます。

Lynisからのセキュリティ監査結果

Lynisを非対話的に実行するには、–quickオプションを付けて開始します:

lynis --quick

Lynisを自動的に夜間に実行するには、次のようなcronジョブを作成します:

0 3 * * * /usr/local/bin/lynis --quick 2>&1 | mail -s "lynis output of my server" [email protected])

これにより、毎晩3:00にLynisが実行されます。メールアドレスを実際のアドレスに置き換えてください。

ISPProtect - ウェブサイトマルウェアスキャナー

ISPProtectは、ウェブサーバー用のマルウェアスキャナーで、ウェブサイトファイルやWordPress、Joomla、DrupalなどのCMSシステム内のマルウェアをスキャンします。ウェブホスティングサーバーを運営している場合、ホストされているウェブサイトはサーバーの最も攻撃される部分であり、定期的に健全性チェックを行うことが推奨されます。ISPProtectには5つのスキャンエンジンがあります:

  • シグネチャベースのマルウェアスキャナー。
  • ヒューリスティックマルウェアスキャナー。
  • 古いCMSシステムのインストールディレクトリを表示するスキャナー。
  • サーバー全体の古いWordPressプラグインを表示するスキャナー。
  • 潜在的に悪意のあるコンテンツをMySQLデータベースでチェックするデータベースコンテンツスキャナー。

ISPProtectは無料ソフトウェアではありませんが、登録なしでサーバーをマルウェアからチェックしたり、感染したシステムをクリーンアップしたりするために使用できる無料トライアルがあります。ソフトウェアのフルバージョンをサーバーで1回使用するための無料ライセンスキーは単に ‘trial‘ です。

ISPProtectは、サーバーにPHPとClamAVがインストールされていることを必要とします。これはほとんどのホスティングシステムで当てはまるはずです。ClamAVは、ISPProtectの最初のスキャンレベルでISPProtect独自のマルウェアシグネチャセットを使用します。まだコマンドラインPHPがインストールされていない場合は、次のコマンドを実行します:

sudo apt install php7.4-cli php7.4-curl clamav

Debian 11またはUbuntu 20.04の場合、または

yum install PHP php-curl

AlmaLinux、Fedora、CentOS、またはRocky Linuxの場合。

次のコマンドを実行してISPProtectをインストールします。

mkdir -p /usr/local/ispprotect
chown -R root:root /usr/local/ispprotect
chmod -R 750 /usr/local/ispprotect
cd /usr/local/ispprotect
wget http://www.ispprotect.com/download/ispp_scan.tar.gz
tar xzf ispp_scan.tar.gz
rm -f ispp_scan.tar.gz
ln -s /usr/local/ispprotect/ispp_scan /usr/local/bin/ispp_scan

ISPProtectを開始するには、次のコマンドを実行します:

ispp_scan

スキャナーは自動的に更新をチェックし、次にキーを要求します(ここで「trial」と入力します)、その後、ウェブサイトのパスを尋ねます。通常は/var/wwwです。

ISPProtectでLinuxのマルウェアをスキャン

Please enter scan key: <-- trial  
Please enter path to scan: <-- /var/www

スキャナーはスキャンを開始します。スキャンの進行状況が表示されます。スキャンの最後に感染したファイルの名前が画面に表示され、結果は後で使用するためにISPProtectのインストールディレクトリ内のファイルに保存されます:

ISPProtectスキャン進行状況

ISPProtectを更新するには、次のコマンドを実行します:

ispp_scan --update

ISPProtectを自動的に夜間のcronジョブとして実行するには、nanoでcronファイルを作成します:

nano /etc/cron.d/ispprotect

次の行を挿入します:

0 3  * * *   root   /usr/local/ispprotect/ispp_scan --update && /usr/local/ispprotect/ispp_scan --path=/var/www --email-results=root@localhost --non-interactive --scan-key=AAA-BBB-CCC-DDD

「root@localhost」をあなたのメールアドレスに置き換え、スキャンレポートがこのアドレスに送信されるようにします。次に、「AAA-BBB-CCC-DDD」をライセンスキーに置き換えます。ライセンスキーはここで取得できます。

ISPProtectのispp_scanコマンドのコマンドラインオプションの完全なリストは、次のコマンドで取得できます:

ispp_scan --help
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。