0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

インベントリ収集管理システムOpen-AudIT6.0インストール手順

0
Last updated at Posted at 2026-03-03

1.Open-AudITとは

Open-AudITは対象機器に何もインストールする必要がなくエージェントレスでインベントリ収集できます。
Open-AudITは、無償で使用できるCommunity版と、有償のProfessional版、Enterprise版があり、有償版を使用すると、追加機能を使用することができます。
違いは以下に詳しく記載されております。

Open-AudITの詳細は以下をご参照ください。

2.Open-AudITの仕組み

Discovery Flow.png

Open-AudITは、対象機器に対してnmapスキャンを実行し、snmpポートがあればsnmpポーリングし、ssh/WMIポートがあればssh/WMIログインしインベントリ収集スクリプトを実行して、ハードウェア情報やソフトウェア情報を収集します。

詳細は以下に記載されております。

本記事は以下記事のアップデート版となります。

3.稼働条件

Open-AudIT 6.0.2

  • CPU: Intel i7 / 4,000 Mhz 以上(4コア以上推奨)
  • メモリ: 16GB以上
  • ディスク: 空き容量40GB以上(SSD推奨)
  • Linux: RedHat 9/10, Debian 12/13, Ubuntu 22.04 (64bit必須)
  • Windows: WindowsServer 2016以降 (64bit必須) (Windows 10 not supported)

詳細は以下をご参照ください。

4.Open-Auditが使用するポート一覧

WindowsベースサーバにインストールされたOpen-AudITのネットワーク管理トラフィック

image.png

LinuxベースサーバにインストールされたOpen-AudITのネットワーク管理トラフィック

image.png

Open-AudITのネットワーク管理ユーザトラフィック

image.png

詳細は以下をご参照ください。

5.インベントリ収集対象ホスト設定

Linuxデバイスの監査には、rootユーザ、sudo(root)アクセス権限を持つユーザの使用を推奨します。

rootユーザ、sudoを許可していないユーザでインベントリ収集を行う際には以下の情報が取得できません。

image.png

詳細は以下をご参照ください。

また、対象ホストがWindowsの場合は、Windowsセキュリティポリシーの設定変更を行う必要があります。
詳細は以下をご参照ください。

6.Open-AudITインストール手順

Open-AudITのインストールを行います。

インストール環境

  • Red Hat Enterprise Linux release 9.7 (Plow)
  • Open-AudIT 6.0.2
  • MariaDB 15.1
  • Apache 2.4
  • PHP 8.3
  • SELinuxはDisabled、Firewalldは停止されていること
  • 作業はすべてrootで実施
  • Open-AudITのインストーラにて必要なパッケージをインストールするためインターネットへの接続が可能なこと
    ※Open-AudITのインストーラにてMariaDB、Apache、PHPの他に必要なパッケージがインストールされます

Open-AudITインストール

以下より、Linux版のインストーラをダウンロードし、適当なディレクトリに配置します。

・ファイル名:OAE-Linux-x86_64-release_6.0.2.run
・配置先:/root/work

配置後、インストーラを実行し、Open-Auditのインストールを行います。

# cd /root/work/
# chmod +x OAE-Linux-x86_64-release_6.0.2.run
# ./OAE-Linux-x86_64-release_6.0.2.run 

※Open-AudITのインストーラで、MariaDB等の必要パッケージがインストールされます。

インストール完了後、ブラウザから以下にアクセスできることを確認します。

image.png

http://<OpenAuditのIPアドレス>/open-audit
ユーザ:admin
パスワード:password

ログイン後、ライセンス契約 (EULA) に同意し、ダッシュボードが表示されることを確認します。

image.png

インベントリ収集手順

本書ではLinux(RHEL)のホストをrootユーザでインベントリ収集を行うものとします。

クレデンシャルの作成

メニューバより Discover > Credentials > Create Credentials の順で移動し、必要情報を入力し、「Submit」を選択します。

image.png

Name:<クレデンシャルの名前>
Type:SSH
Username:root
Password:<rootユーザパスワード>

ディスカバリ(インベントリ収集ホスト情報)の作成

メニューバより Discover > Discoveries > Create Discoveries の順で移動し、必要情報を入力し、「Submit」を選択します。

image.png

Name:<ディスカバリの名前>
Subnet:<インベントリ収集先のサブネット>
Type:Subnet
※Subnetの指定は、単一のアドレス指定の他、以下のように範囲指定、サブネット指定することができます。
 - 単一アドレス指定例:192.168.0.1
 - 範囲指定例:192.168.0.1-5
 - サブネット指定例:192.168.0.0/24

ディスカバリの実行

メニューバより Discover > Discoveries > List Discoveries の順で移動し、作成した「Discovery」のExecuteボタンを選択し、ディスカバリを実行します。

1.png

ディスカバリ実行後、Summaryのタブにて、Statusが「runnning」になり、ディスカバリ実行中になります。
ディスカバリ終了後、Statusが「complete」になります。

image.png

また、Logsのタブにてディスカバリ実行のログが確認できます。

image.png

インベントリ収集の確認

Open-AudITのホーム画面の「Devices」を選択し、インベントリ収集を行った対象のホストが存在し、情報が取得できていることを確認します。

2.png

3.png

インベントリ収集にて、対象ホストのOS情報、ハードウェア情報、ソフトウェア情報等を取得できていることを確認することができます。

image.png

デバイスの削除

不要になったデバイスは、対象のホストを選択して、「Delete」ボタンで削除することができます。

4.png

また、複数のホストを一括で削除する場合は以下の方法で削除することもできます。

Devices の画面にて、削除対象のホストにチェックを入れ、編集ボタンを選択します。

5.png

Statusの項目でプルダウンより「Deleted」を選択します。

6.png

メニューバより、Admin > Database > List Database Tables の順に移動し、「devices」を選択します。

7.png

「Device Status: deleted」の項目にて削除ボタンを選択します。

8.png

Open-AudITのホーム画面の「Devices」を選択し、対象のホストが削除されていることを確認します。

7.Open-AudITのカスタマイズ

Open-AudITは、カスタムフィールドや、インベントリ収集スクリプトを変更することにより、様々な情報を取得することができます。

LinuxOSのRPMパッケージのインストール日取得

本書では、LinuxOSのRPM情報のインストール日はデフォルトでは取得、WebUIへの表示が行えていないため表示するようにカスタマイズする手順を記載します。

デフォルトの設定では以下のようにSoftwareのインストール日が表示されていないため表示されるように修正を行います。

image.png
image.png

WebUI表示項目の修正

パス:/usr/local/open-audit/app/Views/
設定ファイル:devicesRead.php

# cd /usr/local/open-audit/app/Views/
# cp -p devicesRead.php devicesRead.php_bk
# vim devicesRead.php

以下を追記します。

2026行目にInstall Dateを追加します。

    <th><?= __('Version') ?></th>
    <th><?= __('Publisher') ?></th>
    # Install Dateを追加
    <th><?= __('Install Date') ?></th>

2051行目にInstall Dateを追加します。

    <td><?= $row->version ?></td>
    <td><?= $row->publisher ?></td>
    # Install Dateを追加
    <td><?= $row->install_date ?></td>

修正の差分は以下になります。

# diff devicesRead.php devicesRead.php_bk 
2026d2025
<                                                   <th><?= __('Install Date') ?></th>
2051d2049
<                                                   <td><?= $row->install_date ?></td>

ファイル修正後、サービスを再起動します。

# systemctl restart httpd.service

サービス再開後、再度Softwareの項目にて、「Install Date」が表示されることを確認します。

9.png

インベントリ収集スクリプトの修正

LinuxのOSのインベントリ収集を行うスクリプト「audit_linux.sh」はデフォルトではインストール日を取得しないためスクリプトの修正を行います。
※本スクリプト修正後のサービス再起動は不要です。
パス:/usr/local/open-audit/other
設定ファイル:audit_linux.sh

# cd /usr/local/open-audit/other
# cp -p audit_linux.sh audit_linux.sh_bk
# vim audit_linux.sh
# cd /usr/local/open-audit/other
# cp -p audit_linux.sh audit_linux.sh_bk
# vim audit_linux.sh

以下を修正します。
2950行目をインストール日を取得するように修正します。

for package in $(rpm -qa --queryformat="%{NAME}\t%{VERSION}\t%{VERSION}-%{RELEASE}\t%{URL}\n"); do
for package in $(rpm -qa --queryformat="%{NAME}|%{VERSION}|%{VERSION}-%{RELEASE}|%{URL}|%{INSTALLTIME:date}\n"); do

2951~2954行目を修正し、2955行目にinstall_dateを追記します。
※インストール日はスペースが含まれるため、awkからcutコマンドに変更します。

name=$(echo "$package" | awk '{print $1}')
version=$(echo "$package" | awk '{print $2}')
version_raw=$(echo "$package" | awk '{print $3}')
pkg_url=$(echo "$package" | awk '{print $4}')
name=$(echo "$package" | cut -d'|' -f1)
version=$(echo "$package" | cut -d'|' -f2)
version_raw=$(echo "$package" | cut -d'|' -f3)
pkg_url=$(echo "$package" | cut -d'|' -f4)
install_date=$(echo "$package" | cut -d'|' -f5)

2960行目の以下に、install_dateをxmlファイルに書き込むように追記します。

echo "                  <install_date>$(escape_xml "$install_date")</install_date>" >> "$xml_file"

修正の差分は以下になります。

# diff audit_linux.sh audit_linux.sh_bk 
2950,2955c2950,2954
<                               for package in $(rpm -qa --queryformat="%{NAME}|%{VERSION}|%{VERSION}-%{RELEASE}|%{URL}|%{INSTALLTIME:date}\n"); do
<                                       name=$(echo "$package" | cut -d'|' -f1)
<                                       version=$(echo "$package" | cut -d'|' -f2)
<                                       version_raw=$(echo "$package" | cut -d'|' -f3)
<                                       pkg_url=$(echo "$package" | cut -d'|' -f4)
<                                       install_date=$(echo "$package" | cut -d'|' -f5)
---
>                               for package in $(rpm -qa --queryformat="%{NAME}\t%{VERSION}\t%{VERSION}-%{RELEASE}\t%{URL}\n"); do
>                                       name=$(echo "$package" | awk '{print $1}')
>                                       version=$(echo "$package" | awk '{print $2}')
>                                       version_raw=$(echo "$package" | awk '{print $3}')
>                                       pkg_url=$(echo "$package" | awk '{print $4}')
2961d2959
<                                       echo "                  <install_date>$(escape_xml "$install_date")</install_date>" >> "$xml_file"

インストール日取得の動作確認

ファイル修正後、再度ディスカバリを実行し、インベントリ収集を行います。
ディスカバリ完了後、Softwareの項目にてインストール日が取得できていることを確認します。

image.png

カスタムフィールドを使用した情報取得

Open-AudITではカスタムフィールドを使用して様々な情報を取得することができます。
本書では、任意のディレクトリにインストールしたJAVAのバージョンを取得し、カスタムフィールドに取得した情報を入れる手順を記載します。

なお、本書ではJAVAは以下に予めインストール済みとします。
JAVAインストール先:/opt/sos-berlin.com/js7/java/jdk/bin/java

カスタムフィールドの作成

メニューバより Manage > Fields > Create Fields の順で移動し、必要情報を入力し、「Submit」を選択します。

image.png

Name:java_version_custom
Type:Varchar

デバイス情報の「Fields」にて作成したカスタムフィールドが表示されることを確認します。

10.png

インベントリ収集スクリプトの修正

LinuxのOSのインベントリ収集を行うスクリプト「audit_linux.sh」にJAVAのバージョンを取得し、カスタムフィールドに入れるように修正を行います。
※本スクリプト修正後のサービス再起動は不要です。
パス:/usr/local/open-audit/other
設定ファイル:audit_linux.sh

# cd /usr/local/open-audit/other/
# cp -p audit_linux.sh audit_linux.sh_bk2
# vim audit_linux.sh

2011行目に以下を追加します。

if [ -x "/opt/sos-berlin.com/js7/java/jdk/bin/java" ]; then
    java_version_custom=$(/opt/sos-berlin.com/js7/java/jdk/bin/java -version 2>&1 | head -n 1 | cut -d '"' -f 2)
fi

1060目に取得したJAVAのバージョンをカスタムフィールドに入れる設定を追加します。

echo "          <id>$(escape_xml "$system_id")</id>"
echo "          <discovery_id>$(escape_xml "$discovery_id")</discovery_id>"
# JAVAのバージョンをxmlファイルに書き込むように追記
echo "          <java_version_custom>$(escape_xml "$java_version_custom")</java_version_custom>"
echo "  </sys>"

※xmlファイルに書き込む際のタグ「<java_version_custom>」は、Open-AudITのWebUIにて作成したFieldsと同じものを指定する必要があります。
また、カスタムフィールドは、「<sys>」 セクションの中に設定する必要があります。

差分は以下になります。

# diff audit_linux.sh audit_linux.sh_bk2
1011,1014d1010
< if [ -x "/opt/sos-berlin.com/js7/java/jdk/bin/java" ]; then
<       java_version_custom=$(/opt/sos-berlin.com/js7/java/jdk/bin/java -version 2>&1 | head -n 1 | cut -d '"' -f 2)
< fi
< 
1060d1055
< echo "          <java_version_custom>$(escape_xml "$java_version_custom")</java_version_custom>"

カスタムフィールドを使用した情報取得の動作確認

ファイル修正後、再度ディスカバリを実行し、インベントリ収集を行います。
ディスカバリ完了後、 Fieldsの項目にて任意のディレクトリにインストールしたJAVAのバージョンが取得できていることを確認します。

11.png

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?