LoginSignup
8
11

More than 3 years have passed since last update.

Linuxセキュリテイ対策 ホストの侵入検知(chkrootkit/rkhunter/maldetect)

Last updated at Posted at 2020-03-02

はじめに

本記事はLinuxのセキュリティ対策として、ホストの侵入検知について記載しています。

ホストの侵入検知の目的は、ルートキットの存在やマルウェアを検知することです。

本記事では以下のツール(※)を扱います。

  • chkrootkit
  • rkhunter
  • maldetect

(※)バージョンについては本記事執筆時点の最新バージョンを使用

chkrootkit

chkrootkitはルートキットの存在を検知するためのツールです。
CentOSの標準リポジトリには、Ubuntuのようにchkrootkitのパッケージは含まれていません。

chkrootkitはchkrootkit.orgDownloadからダウンロードできます。
本記事ではCentOS 7を例にchkrootkitの導入手順について解説します。

なお、chkrootkitは以下のコマンドを使用します。既に改ざんされた後では意味がないため、導入時には考慮が必要です。また、chkrootkitはrootkitを検出しても自動的に対処する機能はないため、検出後は手動で対応する必要があります。

次のコマンドは、chkrootkitスクリプトによって使用されます。

awk、cut、echo、egrep、find、head、id、ls、netstat、ps、strings、sed、uname

chkrootkitの導入

  • 必要なパッケージのインストール
    # yum groups install -y "Development Tools"
    # yum install -y wget glibc-static

  • chkrootkitのダウンロード
    # wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

  • 解凍
    # tar xzvf chkrootkit.tar.gz

  • make
    # cd chkrootkit-0.53
    # make sense

  • シンボリックリンク作成
    # cd ../; mv chkrootkit-0.53/ /usr/local/
    # ln -s /usr/local/chkrootkit-0.53/ /usr/local/chkrootkit

chkrootkitの実行

  • ルートキットの検出
    # cd /usr/local/chkrootkit
    # ./chkrootkit
  • ルートキットの検出(指定したディレクトリを対象に実行)
    # ./chkrootkit -r <ディレクトリ>

cronで設定することで定期的に検査を行うことができます。
以下は毎日3時に実行し、メールで通知します。

0 3 * * * (cd /usr/local/chkrootkit; ./chkrootkit 2>&1 | mail -s "chkrootkit output" root)

rkhunter

rkhunterもルートキットの存在を検知するためのツールです。
chkrootkitと同じくCentOSの標準リポジトリには含まれてはいないため、rkhuntersourceforge.netからダウンロードします。あるいはEPELリポジトリからインストールすることができます。

rkhunterの導入

  • rkhunterのダウンロード
    # wget https://sourceforge.net/projects/rkhunter/files/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz
  • 解凍
    # tar xzvf rkhunter-1.4.6.tar.gz

  • rkhunterのインストール
    # cd rkhunter-1.4.6
    # ./installer.sh --install

EPELリポジトリからインストールする場合は、以下の手順でインストールできます。

  • epel-releaseのインストール
    # yum install -y epel-release
  • rkhunterのインストール
    # yum install rkhunter

rkhunterの実行

rkhunterの動作設定は/etc/rkhunter.confで設定し、デフォルトのデータベースディレクトリは/var/lib/rkhunter/dbになります。ルートキットの検出を実行すると、/var/log/rkhunter.logファイルにログが出力されます。

  • rkhunterのアップデート
    # rkhunter --update
  • コマンドの実行ファイルの状態を更新
    # rkhunter --propupd
  • ルートキットの検出(--checkでルートキットの検知を実行、-skip-keypressでEnterの入力を行わない、--report-warnings-onlyでコマンドの結果について警告のみ表示)
    # rkhunter --check --skip-keypress --report-warnings-only

maldetect(Linux Malware Detect)

maldetect(Linux Malware Detect)はGNU GPLv2のライセンスのもとリリースされている無料のマルウェア検知ツールです。公式ブログはR-FX NETWORKSを参照。

maldetectの特徴は以下になります。

  • マルウェア検知用のシグネチャ(※)の自動更新
  • 検出エンジンにオープンソースのアンチウイルスソフトウェアとしてClamAVを採用
  • 検知対象とするファイルシステムの情報をデータベース化し、検査した情報と比較して改ざんを検知する

(※)特定のマルウェア検体に共通するバイトシーケンスのこと

maldetectの導入

  • ダウンロード
    # wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
  • 解凍
    # tar xzvf maldetect-current.tar.gz
  • インストール
    # cd maldetect-1.6.4/
    # ./install.sh

maldetectによってインストールされたcronjobは/etc/cron.daily/maldetに配備されます。定期的にスキャンおよびシグネチャのアップデートを行う様に設定されます。

maldetectの実行

maldetectの動作設定は何も指定しない場合、/usr/local/maldetect/conf.maldetにインストールされます。

  • アップデート
    # maldet --update
  • マルウェアのスキャン実行(指定したディレクトリを対象に実行)
    # maldet --scan-all <ディレクトリ>

おわりに

サーバを構築して運用する場合は、システムを管理する責任があります。

システム管理は知識の集合です。無理にお金をかけなくてもOSS等を利用することで、セキュリティを向上することはできます。

8
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
11