インターネットに接続されているサーバーは、1日を通して絶え間ない攻撃とスキャンの流れにさらされています。ファイアウォールと定期的なシステム更新は、システムを安全に保つための優れた最初の防御策ですが、攻撃者が侵入していないことも定期的に確認する必要があります。このチュートリアルで説明するツールは、マルウェア、ウイルス、ルートキットをスキャンするこれらのテスト用に作成されています。それらは定期的に、たとえば毎晩実行され、電子メールでレポートを送信する必要があります。また、Chkrootkit、Rkhunter、ISPProtectを使用して、高負荷、疑わしいプロセスなどの疑わしいアクティビティに気付いたとき、またはサーバーが突然マルウェアの送信を開始したときに、システムをスキャンすることもできます。
これらのスキャナーはすべて、rootユーザーとして実行する必要があります。それらを実行する前にrootとしてログインします。 Ubuntuでは、次を使用します:
sudo -s
rootユーザーになります。
chkrootkit-Linuxルートキットスキャナー
Chkrootkitは、従来のルートキットスキャナーです。サーバーに疑わしいルートキットプロセスがないかチェックし、既知のルートキットファイルのリストをチェックします。
ディストリビューションに付属のパッケージをインストールします(DebianとUbuntuでは実行します
apt-get install 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ディレクトリを別の場所に移動できます。 / usr / local / chkrootkitへ:
cd ..
mv chkrootkit-<version>/ /usr/local/chkrootkit
簡単にアクセスできるようにシンボリックリンクを作成します:
ln -s /usr/local/chkrootkit/chkrootkit /usr/local/bin/chkrootkit
chkrootkitを使用してサーバーを確認するには、次のコマンドを実行します。
chkrootkit
一般的な誤検知レポートは次のとおりです。
Checking `bindshell'... INFECTED (PORTS: 465)
メールサーバーでこのメッセージが表示されても心配しないでください。これはメールシステムのSMTPS(Secure SMTP)ポートであり、よく知られている誤検知です。
cronジョブでchkrootkitを実行して、結果を電子メールで送信することもできます。まず、次のコマンドを使用して、chkrootkitがサーバーにインストールされているパスを見つけます。
which chkrootkit
例:
[email protected]:/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ベースのシステム用のセキュリティ監査ツールです。システムの多くのセキュリティ面と構成の詳細な監査を実行します。 https://cisofy.com/downloads/lynis/から最新の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がディレクトリ/ usr / local / lynisにインストールされ、簡単にアクセスできるようにシンボリックリンクが作成されます。今すぐ実行
lynis update info
最新バージョンを使用しているかどうかを確認します。
これで、次のコマンドを実行して、システムでルートキットをスキャンできます。
lynis audit system
Lynisはいくつかのチェックを実行してから停止し、結果を読む時間を与えます。 [ENTER]を押してスキャンを続行します。
最後に、スキャンの概要が表示されます。
Lynisを非対話的に実行するには、-quickオプションで開始します。
lynis --quick
夜間にLynisを自動的に実行するには、次のようなcronジョブを作成します。
0 3 * * * /usr/local/bin/lynis --quick 2>&1 | mail -s "lynis output of my server" [email protected])
これにより、Lynisは毎晩3:00に実行されます。メールアドレスを実際のアドレスに置き換えます。
ISPProtect-Webサイトマルウェアスキャナー
ISPProtectはWebサーバー用のマルウェアスキャナーであり、WebサイトファイルやWordPress、Joomla、DrupalなどのCMSシステム内のマルウェアをスキャンします。Webホスティングサーバーを実行している場合、ホストされているWebサイトはサーバーの中で最も攻撃されている部分です。それらの健全性チェックを定期的に行うことをお勧めします。 ISPProtectには5つのスキャンエンジンが含まれています:
- 署名ベースのマルウェアスキャナー。
- ヒューリスティックマルウェアスキャナー。
- 古いCMSシステムのインストールディレクトリを表示するスキャナー。
- サーバー全体の古いWordPressプラグインをすべて表示するスキャナー。
- MySQLデータベースに悪意のある可能性のあるコンテンツがないかチェックするデータベースコンテンツスキャナー。
ISPProtectは無料のソフトウェアではありませんが、登録なしでサーバーのマルウェアをチェックしたり、感染したシステムをクリーンアップしたりするために使用できる無料の試用版があります。サーバーでソフトウェアのフルバージョンを一度使用するための無料のライセンスキーは、単に「試用版」です。 '。
ISPProtectでは、サーバーにPHPとClamAVをインストールする必要があります。これは、ほとんどのホスティングシステムに当てはまります。 ClamAVは、ISPProtect独自のマルウェアシグネチャセットを使用して、最初のスキャンレベルでISPProtectによって使用されます。コマンドラインPHPをまだインストールしていない場合は、次を実行します。
sudo apt install php7.4-cli php7.4-curl clamav
Debian11またはUbuntu20.04または
yum install PHP php-curl
AlmaLinux、Fedora、CentOS、またはRockyLinuxの場合。
次のコマンドを実行して、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
スキャナーは自動的に更新をチェックし、キーを要求し(ここに「トライアル」という単語を入力)、Webサイトのパス(通常は/ var / www)を要求します。
Please enter scan key: <-- trial
Please enter path to scan: <-- /var/www
スキャナーがスキャンを開始します。スキャンの進行状況が表示されます。スキャンの最後に感染したファイルの名前が画面に表示され、結果は後で使用できるように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 protected] --non-interactive --scan-key=AAA-BBB-CCC-DDD
「[emailprotected]」を自分のメールアドレスに置き換えると、スキャンレポートがこのアドレスに送信されます。次に、「AAA-BBB-CCC-DDD」をライセンスキーと交換します。ここでライセンスキーを取得できます。
ISPProtect ispp_scanコマンドのコマンドラインオプションの完全なリストは、次のコマンドで取得できます。
ispp_scan --help