業務用エアコン関連の技術情報、エラーコード、環境問題対策に関する別サイト「エアコンの安全な修理・適切なフロン回収」

Debian12.11 : Nagios Server , Tripwire インストール

オープンソースの統合監視ソフトウェア「Nagios Server」インストール

Nagiosは、Linux 上で実行するオープンソースの監視ソリューションです。
Nagiosは、 Ethan Galstadによって開発され、 1999 年に最初にリリースされました。その後、このプロジェクトは、いくつかの貢献者によってオープンソース プロジェクトとして改良されました。

Nagiosは、ネットワーク、アプリケーション、またはサーバーの重要なパラメーターを定期的にチェックするように設計されています。これらのパラメータには、マイクロプロセッサの負荷、実行中のプロセス数、ログ ファイル、ディスクおよびメモリの使用量の他、SMTP (Simple Mail Transfer Protocol)、HTTP (Hypertext Transfer Protocol)、POP3 ( Post Office Protocol 3)の他の多くのサービスもチェックできます。

Nagoisを実行するにはPHP、MySQLなどのデータベース、ApacheやNginxなどのWebサーバーが必要です。今回はこれらすべてが構成済みという前提で進めます。

1. 必要なパッケージをインストール

2. Nagios Coreのインストール

①ダウンロード

②インストール

以下のように表示される

コンパイル

以下のように表示される

Nagios ユーザーとグループを作成

Nagios グループに Apache ユーザーを追加

Nagios Core をインストール

Nagios の init スクリプトをインストール

外部コマンド ファイルと権限をインストール

Nagios 構成ファイルをインストール

Nagios 用の Apache 構成ファイルをインストール

3. Nagios プラグインをインストール

Nagios Pluginsページから最新の codeをダウンロード

②インストール

③必要なディレクトリを作成

4. Nagios Web ユーザーの作成

Nagios Web ダッシュボードにアクセスするためのユーザー アカウントを作成する。このユーザーアカウントは、認証に使用される。
ユーザーのデフォルト名はnagiosadminで、/usr/local/nagios/etc/cgi.cfgファイル内に優先ユーザー名として定義されています。

所有権と権限を設定

Apache を再起動

ファイアウォールで HTTP サービスポートを解放します

Nagios サービスを開始と有効

システムを再起動

サービスが実行しているか確認

5. Nagios Web インターフェイスにアクセス

任意のブラウザで http://[IP_Address]/nagios/にアクセスし[Username]にnagiosadmin、[Password]には上記でユーザーを作成したとき指定したパスワードを入力し、[Sign in]

ログインに成功すると、以下のダッシュボードが表示されます。

ホストの可用性を表示
左メニューの[Hosts]をクリック

左メニューの [Tactical Overview] をクリックすると監視データを閲覧できる

左メニューの [Current Status] [Services] をクリック

6. Nagios エージェントの構成

エージェントを監視するため。以下をインストールする
• データ収集用のNagios plugins
• プラグインを実行するNRPE Agent

6.1 Nagios pluginsのダウンロードとインストール

Nagios プラグインは、/usr/local/nagios/libexec/ ディレクトリにあります。システム内で使用可能なすべてのプラグインを表示するには、このディレクトリをリストします。

下記のとおりnagios-pluginsが利用可能である

インストールされたプラグインを適用するために Nagios デーモンを再起動

6.2 Nagios NRPE Agentのインストール
NRPE エージェントは、デフォルトの Debian リポジトリで利用可能

バージョン確認

サービスを開始して有効にする

NRPEエージェントのステータスを確認

ファイアウォールでNRPEのポートを開く
NRPEはデフォルトでTCP 5666ポートを使用します。ファイアウォールが動作している場合は、Nagiosモニタリングサーバーからの外部チェックを許可するために、このポートを開きます。

ポート5666/tcpがリッスンされているか確認

7. 監視ホストの追加

下記サーバーをホストに追加し、 単純なPing による死活監視対象として設定
OS : Ubuntu24.04
IPアドレス : 192.168.11.85

7.1 設定ファイル編集

7.2 ディレクトリー作成

7.3 定義ファイル新規作成

7.4 Nagiosサーバー再起動

Nagios サーバーにログイン(http://[サーバーIPアドレス]/nagios)しHostsを見るとホストが追加されている

8. 監視サービスの追加

上記で追加したホストに監視サービスを追加する
OS : Ubuntu24.04
IPアドレス : 192.168.11.85

8.1 監視対象サーバー側の設定

8.1.1 監視対象ホストにエージェントをインストール
EPEL から nrpe 及び代表的なサービスプラグインをインストール

8.1.2 設定ファイル編集

# vi /etc/nagios/nrpe.cfg

106行目 : 接続を許可するホストを追記 (Nagios サーバーを指定)
allowed_hosts=127.0.0.1,::1,192.168.11.83

122行目 : コマンドの引数を許可
dont_blame_nrpe=1

300-304行目コメントにし、追加
# command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
# command[check_load]=/usr/lib/nagios/plugins/check_load -r -w .15,.10,.05 -c .30,.25,.20
# command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
# command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
# command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200

command[check_by_ssh]=/usr/lib/nagios/plugins/check_by_ssh $ARG1$
command[check_dhcp]=/usr/lib/nagios/plugins/check_dhcp $ARG1$
command[check_disk]=/usr/lib/nagios/plugins/check_disk $ARG1$
command[check_file_age]=/usr/lib/nagios/plugins/check_file_age $ARG1$
command[check_ftp]=/usr/lib/nagios/plugins/check_ftp $ARG1$
command[check_http]=/usr/lib/nagios/plugins/check_http $ARG1$
command[check_imap]=/usr/lib/nagios/plugins/check_imap $ARG1$
command[check_load]=/usr/lib/nagios/plugins/check_load $ARG1$
command[check_log]=/usr/lib/nagios/plugins/check_log $ARG1$
command[check_mysql]=/usr/lib/nagios/plugins/check_mysql $ARG1$
command[check_ntp]=/usr/lib/nagios/plugins/check_ntp $ARG1$
command[check_ntp_peer]=/usr/lib/nagios/plugins/check_ntp_peer $ARG1$
command[check_ntp_time]=/usr/lib/nagios/plugins/check_ntp_time $ARG1$
command[check_ping]=/usr/lib/nagios/plugins/check_ping $ARG1$
command[check_pop]=/usr/lib/nagios/plugins/check_pop $ARG1$
command[check_spop]=/usr/lib/nagios/plugins/check_spop $ARG1$
command[check_procs]=/usr/lib/nagios/plugins/check_procs $ARG1$
command[check_smtp]=/usr/lib/nagios/plugins/check_smtp $ARG1$
command[check_ssmtp]=/usr/lib/nagios/plugins/check_ssmtp $ARG1$
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh $ARG1$
command[check_swap]=/usr/lib/nagios/plugins/check_swap $ARG1$
command[check_tcp]=/usr/lib/nagios/plugins/check_tcp $ARG1$
command[check_udp]=/usr/lib/nagios/plugins/check_udp $ARG1$
command[check_ups]=/usr/lib/nagios/plugins/check_ups $ARG1$
command[check_users]=/usr/lib/nagios/plugins/check_users $ARG1$

8.1.3 nrpeサーバー有効化、起動

8.1.4 ファイアウォールでNRPEのポート5666/tcp,5666/udpを開く

8.2 Nagios サーバー側の設定

8.2.1 nrpeプラグインのインストール

8.2.2 nagiosプラグインディレクトリーにコピー

8.2.3 commands.cfg編集

8.2.4 先ほどホスト追加したときに作成した korodes.cfg を編集追加する
今回はHTTPを追加してみる

8.2.5 Nagios 再起動

8.2.6 http://[Nagios Server IP Address]/nagios にアクセスする
下図のように新しく追加した監視サービスが追加されている

Tripwireインストール

クラッカーによるLinuxサーバーのファイルの改竄を検知するシステムを導入する。
今回は、ファイル改竄検知システムにホスト型IDS(IDS=Intrusion Detection System)のTripwireを導入する。
Tripwireは、導入時のファイル状態をデータベース化し、そのデータベースとファイルの現状を比較することにより、ファイルの追加/変更/削除を検知する。

1 インストールと構成

Tripwire は、「tw.cfg」tripwire構成ファイルと 「tw.pol」tripwireポリシーファイルをセキュリティで保護するためにサイトパスフレーズを必要とします。指定されたパスフレーズを使用して両方のファイルを暗号化します。 サイトパスフレーズは、単一インスタンスのtripwireに対しても必要です。

①サイト キーの作成
Tripwire は、「tw.cfg」tripwire構成ファイルと 「tw.pol」tripwireポリシーファイルをセキュリティで保護するためにサイトパスフレーズを必要とします。指定されたパスフレーズを使用して両方のファイルを暗号化します。 サイトパスフレーズは、単一インスタンスのtripwireに対しても必要です。

②ローカルキーパスフレーズ
tripwireデータベースとレポートファイルの保護にはローカルパスフレーズが必要です。tripwireベースラインデータベースの不正な変更を避けるためにtripwireが使用するローカルキー。

③インストールが進み完了します

2 構成ファイルの設定

①トリップワイヤ構成ファイル (twcfg.txt)
トリップワイヤ構成ファイル (twcfg.txt) の詳細を以下の通りです。暗号化されたポリシー ファイル (tw.pol)、サイトキー (site.key)、およびローカルキー (ホスト名ローカル.key) などのパスは以下の通りです。

3 キーの作成やデータベース作成等の初期設定

①twcfg.txt編集

② 設定ファイル生成

③ ポリシーを最適化
次のポリシー最適化スクリプトを利用し、ポリシーを最適化する

ポリシー最適化スクリプト内容

Tripwireデータベース自体をチェック対象外にする

④データベース作成

途中でエラーで止まるときは「--verbose」オプションをつけて再実行

進行状況を表示し、エラーで止まるファイル、ディレクトリを確認し、所有者とアクセス権を設定し、再度下記を実行する

当方の場合下記ファイルでエラーが発生しました
Software interrupt forced exit /usr/lib/firmware/intel
Segmentation fault
/usr/lib/firmware/intelの所有権をrootにしたところ解決しました

4 チェックを実行

①テスト用ファイルを作成

②Tripwire の動作確認

成功すると次ような表示が出る

テストファイルを削除しておく

5 Tripwire 自動実行

①自動実行スクリプト(tripwire.sh)を作成し、自動実行させる

自動実行スクリプト(tripwire.sh)の内容

②実行権限を与え、Cronで定期実行する

参考: メールで結果報告用スクリプト

下記を実行し、指定メールアドレスに結果が届くか確認する

タイトルとURLをコピーしました