> 活用事例 > /etc/hostsファイルの点検

/etc/hostsファイルの点検

/etc/hostsファイルの改ざんは、企業に潜在的な影響をもたらす可能性があります。/etc/hostsファイルは、ネットワーク上のホスト名とIPアドレスのマッピングを定義するための重要な設定ファイルです。このファイルが改ざんされると、以下のような影響が考えられます。

1.ネットワーク通信の障害

改ざんによって不正なホスト名とIPアドレスのマッピングが作成されると、ネットワーク通信が妨げられる可能性があります。正当な通信がブロックされたり、正しいリソースに接続できなくなったりすることで、業務の継続性に悪影響を与える可能性があります。

2.セキュリティリスク

不正な/etc/hostsファイルによって、ユーザーが意図しないウェブサイトやサーバーにリダイレクトされる可能性があります。これにより、フィッシング攻撃やマルウェア感染のリスクが高まります。企業の機密情報や顧客データの漏洩や侵害の可能性があるため、セキュリティ上の深刻な懸念事項です。

このようなリスクを回避するために、企業は定期的に/etc/hostsファイルの改ざんを検知する必要があります。
POLESTAR Automationには点検の機能があり、自動化した点検手法で、早期の発見と迅速な対応を支援します。

本活用事例では、/etc/hostsファイルが上書きされていないかを点検する方法についてご紹介します。

/etc/hostsファイルの点検概要

重要な設定ファイルの一つである/etc/hostsファイルが、1日前の期間で上書きされていないかを点検することを目的にします。点検するデバイスはWindowsサーバーとし、点検は毎日実行し、点検ポリシーの条件式で判定し、点検の自動化を行います。

構成イメージ
構成イメージ

スクリプト

/etc/hostsファイルの最終更新日時と現在の日時を比較し、変更されたかどうかを判断する方法をPowerShellスクリプトで作成します。

余談ですが、今回は「ChatGPT」を利用して作成しました。数十秒でスクリプトが作成され、コメント文も挿入されており、スクリプトの構文は良くできていました。若干編集を加え、再度「ChatGPT」にスクリプトの全体の確認依頼を行ったところ、問題箇所を修正して返答してきました。スクリプトも正常に動作し、結果も期待通りの値が返ってきました。

<スクリプト>※参考のスクリプトです。
# 対象のファイルパス
$hostsFilePath = “C:\Windows\System32\drivers\etc\hosts”

# 現在の日付と1日前の日付を取得
$currentDate = Get-Date -Format “yyyyMMddHHmmss”
$previousDate = (Get-Date).AddDays(-1).ToString(“yyyyMMddHHmmss”)

# ファイルの最終更新日を取得
$fileLastModified = (Get-Item $hostsFilePath).LastWriteTime

# ファイルが1日前の期間で上書きされたかどうかをチェック
if ($fileLastModified -ge [datetime]::ParseExact($previousDate, “yyyyMMddHHmmss”, $null) -and $fileLastModified -lt [datetime]::ParseExact($currentDate, “yyyyMMddHHmmss”, $null)) {
 Write-Output “/etc/hosts file is modified. Modify date: $fileLastModified”
} else {
 Write-Output “/etc/hosts file is not modified”
}

点検ポリシー設定

スクリプト作成が完了したら、8割方完成です。あとは、POLESTAR Automationで設定するだけです。
POLESTAR Automationの「構成リスト」の①の箇所に、作成したスクリプトを貼り付けます。
②の箇所で、”/etc/hostsファイル”が上書きされていないかどうかの条件式を設定します。

  条件式: Contents AS String = /etc/hosts file is not modified

スクリプトの実行結果が、”/etc/hosts file is not modified”  の場合は、点検OKとなります。
これ以外の場合は点検NGとなり、”/etc/hostsファイル”が上書きされたことになります。

「構成リスト」を設定した後、「点検グループ」と「点検ジョブ」の設定が必要です。設定フローは、点検ジョブのページをご参照ください。

点検ポリシー設定
図1 点検ポリシー設定

点検結果

点検の結果は、POLESTAR Automationのダッシュボードから確認することができます。(図2)
ダッシュボード内の青枠が点検状況のサマリで、赤枠内が点検ポリシーの条件式に違反している数量となります。

ダッシュボード
図2 ダッシュボード

違反の数字をクリックすると詳細情報の確認ができます。(図3)
デバイス名:Win2012_90 のサーバーが違反していることが分かります。

デバイス毎の点検結果
図3 デバイス毎の点検結果

デバイス名:Win2012_90 に対するスクリプト結果を参照すると、/etc/hostsファイルが ”05/11/2023 16:47:43 ” に上書きされていることが分かります。(図4)

点検結果の詳細
図4 点検結果の詳細

今回ご紹介したように、POLESTAR Automationには点検機能があり、ユーザー自身で運用ポリシーの点検をセットすることやオプションの点検ポリシーを利用することができ、点検業務の自動化が可能です。運用ポリシーに合致しないデバイスを早期に発見し、迅速な対応を支援します。


カテゴリー別活用事例一覧へ