エージェントレス型インベントリ収集管理システムOpen-Audit

#**Open-Auditとは**

Open-Auditは、対象機器に何もインストールする必要がないエージェントレス型のインベントリ収集システムです。
Windows／Linux／Mac OSX／vSpehre ESXi／ネットワーク機器などネットワークに接続されている機器を自動的に検出し、ハードウェア情報やソフトウェア情報を収集し、WEBインターフェースから一覧、検索することができます。また、任意のレポートをPDFやExcelファイル出力することも可能です。
詳細はこちらを参照下さい。
https://www.ossl.co.jp/?page_id=251
- - -
#**稼働条件**

Open-Audit 1.8 (2015/6現在）
* Linux (RedHat 6, CentOS 6, Debian 7, Ubuntu 12.04 and Ubuntu 14.04以上, 64bit)、Windows server 2008R2, 7以上 64bit
*  2GHz CPU、メモリ4GB以上、ディスク空き容量1GB以上
* MySQL 5<
* Apache/PHP

- - -
#**インストール手順** (CentOS6)
Windows版のインストール手順はこちら（英語）
https://community.opmantek.com/display/OA/Windows+-+Installing

##**インストール環境**

* CentOS6.6 64bit minimalインストール、標準レポジトリのみ
- SELinuxはdisabled、Firewallは停止されていること
- インストーラがRPMforgeを自動登録するので、RPMforgeに到達できること
- 以下の作業は、root権限で実行する

```
# yum groupinstall -y Base
```

##**1. Open-Auditインストール**

下記ダウンロードサイトから、最新版のLinux用をダウンロードする。

http://www.open-audit.org/downloads.php

適当なディレクトリ（ここでは/tmp）にダウンロードしたファイルを配置・解凍し、インストーラを実行するとMySQL／Apache／PHP等必要なものは自動的にインストールされる。


```
# cd /tmp
# tar xf OAE-Linux-x68_64-release_1.8.tar.gz
# cd Open-AudIT-1.8.0
# ./installer
```

インストーラーが完了後、ブラウザから下記にアクセスし動作を確認する。

http://IPアドレス/open-audit

参考情報：
https://community.opmantek.com/display/OA/Linux+-+Installing+or+Upgrading

##**2. インベントリ収集対象ホスト設定**

Open-Auditでは、収集対象のホストに下記の設定が必要となる。
設定しなければ、nmap/snmpでの情報収集となる。

###**2.1	Linux/vSphere ESXi/Mac OSX**

rootユーザでsshログイン可能なこと。
または、TTY無し、パスワード無しでのsudoを許可しているユーザであること。

対象システムでのsudo設定は、以下の行を追加する。(CentOS6の場合）

```
# visudo
Defaults:[Open-Audit専用アカウント名] !requiretty
[Open-Audit専用アカウント名] ALL=(ALL) NOPASSWD: ALL
```
###**2.2 Windows**
####**2.2.1 前提条件**

* Windows server 2008 / Vista以降
* ドメインに参加していないWindows: WORKGROUP/Administratorアカウント、またはAdministratorsグループのアカウント（下記2.2.5 UAC設定が必要）
* ADドメインのWindows: ドメイン/Administratorsグループのアカウント
* アカウントは必ずパスワード認証（WMIは空白パスワード不可）であること

####**2.2.2	DCOM設定**
1.	[スタート] - [ファイル名を指定して実行] (Windows キー + R キー) を呼び出す。
2.	"ファイル名を指定して実行" ダイアログが出たら、DCOMCNFG と入力して [OK] を押す。
![oa1.png](https://qiita-image-store.s3.amazonaws.com/0/52445/6cdac041-5a06-b396-0a62-022524faa999.png)
3.	"コンポーネント サービス" が表示されるので、左ペインを以下の通り展開していく。
	
```
　- コンソール ルート
　+- コンポーネント サービス
　　+- コンピュータ
　　　+- マイ コンピュータ ← ここを右クリックし、[プロパティ(R)] を選択
```

![oa2.png](https://qiita-image-store.s3.amazonaws.com/0/52445/60eaf7a5-a6b4-a6b3-ee33-8130dfed0c35.png)

4.　"マイ コンピュータのプロパティ" ダイアログが開くので、[既定のプロパティ] タブを選択し、「このコンピュータ上で分散COMを有効にする(E)」チェックボックスをクリック、「既定の認証レベル」を[接続]、「既定の偽装レベル」を[識別する]に設定。
![oa3.png](https://qiita-image-store.s3.amazonaws.com/0/52445/07768731-2f85-b20a-5a56-b6197da996d5.png)

5.　[COM セキュリティ] タブを選択し、それぞれのコンテナ上の [既定値の編集(D)...] をクリック。
![oa4.png](https://qiita-image-store.s3.amazonaws.com/0/52445/59cf2984-2cc4-63de-0435-042af1f6ab7b.png)

6.　	"アクセス許可" の ”既定値の編集” をクリックし、"Anonymous", "Everyone", "Interactive", "Network", "System"グループを追加し、それぞれにローカル アクセスおよびリモート アクセス双方を許可。
![oa5.png](https://qiita-image-store.s3.amazonaws.com/0/52445/07fce5ed-b951-dfad-7894-de40b3f41e2d.png)

7."起動とアクティブ化のアクセスの許可" の ”既定値の編集” をクリックし、"Anonymous", "Everyone", "Interactive", "Network", "System" グループを追加し、それぞれにローカルからの起動およびローカルからのアクティブ化およびリモートからの起動およびリモートからのアクティブ化を許可。
![oa6.png](https://qiita-image-store.s3.amazonaws.com/0/52445/0a1ff039-fab6-1a1a-886e-1f39eaf68018.png)

####**2.2.3	ローカルセキュリティポリシーの設定**
1.	Microsoft 管理コンソール (MMC) スナップインの以下3つのうち1つ、または\コントロール パネル\システムとセキュリティ\管理ツールを実行する。


* メンバー サーバーのローカル セキュリティ ポリシー スナップイン (secpol.msc)
* これらの設定を ドメイン全体で GPO として設定する場合は、デフォルト ドメイン セキュリティ ポリシー スナップイン (dompol.msc)
* 権限をドメイン コントローラーにのみ割り当てる場合は、デフォルト ドメイン コントローラー セキュリティ 設定スナップイン (dcpol.msc)

2.セキュリティ設定、ローカル ポリシー、ユーザー権限の割り当て を展開する。
![oa7.png](https://qiita-image-store.s3.amazonaws.com/0/52445/db32b7be-911d-d973-6ca9-c7a919413fa7.png)

3."Administrators Group"に以下の権限を割り当てる。
(1)	オペレーティングシステムの一部として機能
(2)	サービスとしてログオン
(3)	バッチ ジョブとしてログオン
(4)	プロセス レベルのトークンの置き換え 
![oa8.png](https://qiita-image-store.s3.amazonaws.com/0/52445/84e82752-338d-5159-b113-80f9c9df1ae5.png)
![oa9.png](https://qiita-image-store.s3.amazonaws.com/0/52445/c07384b4-6358-eb5b-850d-719dadaf35ad.png)
![oa10.png](https://qiita-image-store.s3.amazonaws.com/0/52445/d21a498c-afa1-fc60-241c-fa69cada2082.png)
![oa11.png](https://qiita-image-store.s3.amazonaws.com/0/52445/49b497a2-396c-c567-c73e-d0493594ab79.png)
![oa12.png](https://qiita-image-store.s3.amazonaws.com/0/52445/180ea157-dfa8-f577-4d55-6fb8aba343d2.png)
![oa13.png](https://qiita-image-store.s3.amazonaws.com/0/52445/1648dbcf-9951-d149-67ac-dc78de6c692a.png)

4.セキュリティ設定、ローカル ポリシー、セキュリティオプション を展開し、下記の設定をする。
(1)	DCOM: セキュリティ記述子定義言語(SDDL)構文でのコンピューターアクセス制限
* "Anonymous", "Everyone", "Interactive", "Network", "System" グループを追加し、ローカルアクセスとリモートアクセスの許可
(2)	ネットワークアクセス: Everyoneのアクセス許可を匿名ユーザーに適用する
* 有効
(3)	ネットワークアクセス:ローカルアカウントの共有とセキュリティモデル
* クラシックーローカルユーザー

####**2.2.4	Windowsファイアウォールの設定**
1.	コマンドプロンプトを管理者権限で起動。
2.	下記コマンドを実行

```
netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes
netsh advfirewall firewall set rule group="remote administration" new enable=yes
netsh advfirewall firewall set rule name="File and Printer Sharing (Echo Request - ICMPv4-In)" new enable=yes
```

または、\コントロールパネル\システムとセキュリティ\Windowsファイアウォール\詳細設定\受信の規則 から

* Windows Management Instrumentation (DCOM受信)
* Windows Management Instrumentation (WMI受信)
* Windows Management Instrumentation (非同期受信)
* Windows リモート管理 (HTTP 受信)
* ファイルとプリンターの共有 (SMB 受信)
* ファイルとプリンターの共有 (エコー要求 - ICMPv4 受信)

の有効／接続を許可するにチェック。

####**2.2.5	UAC設定**

ドメインに参加していないWindowsでWORKGROUP/Administratorアカウントを使えない場合は、WORKGROUP/Administratorsグループの任意のアカウントを使用できるが、下記の設定が必要。
1.	コマンドプロンプトを管理者権限で起動。
2.	下記コマンドを実行する。

```
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
```

元に戻す場合は、下記コマンドを実行する。

```
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /f
```

参考情報：http://blogs.technet.com/b/junichia/archive/2009/04/06/3222761.aspx

####**2.2.6	最後にWindowsを再起動して設定を反映する。**

- - -
#**インベントリ収集手順**
##**1.	Open-Audit初期画面**
ブラウザで、http://[IPアドレス]/open-audit からログインする。

初期ユーザ／パスワードは、admin/password
![oa14.png](https://qiita-image-store.s3.amazonaws.com/0/52445/635029c2-d69a-b512-1fd1-d73a749d954f.png)

MySQL等の初期設定情報はこちら
https://community.opmantek.com/display/OA/Information+about+default+users+and+passwords

ログイン画面から、adminユーザでログインすると、ホーム画面が表示される。
![oa15.png](https://qiita-image-store.s3.amazonaws.com/0/52445/96f26367-e4f6-9a95-9601-2423d71265c1.png)

Open-Auditのリスト画面では、青色表示のカラムがクリック可能になっているので、各グループのNameをクリックすると、詳細リストが表示される。
![oa16.png](https://qiita-image-store.s3.amazonaws.com/0/52445/1a48af03-dfd0-38c1-ee26-34ac44fd883b.png)

レポートメニューは、Queriesメニューから設定できる。
詳細リストから、青色カラムになっているHostnameをクリックすると、各デバイスが詳細表示される。
![oa17.png](https://qiita-image-store.s3.amazonaws.com/0/52445/38e29071-7ac8-6b46-9b77-9e671faf8416.png)

##**2.	手動による（Open-Audit WEB）インベントリ収集実行**
デバイス詳細表示画面の「Discover Devices」、またはADMINメニュー＞Discoveryから、インベントリ収集が実行できる。
![oa18.png](https://qiita-image-store.s3.amazonaws.com/0/52445/e12d9589-7f1b-e901-f10b-d5eb846d8915.png)

Open-AuditのDiscovery（インベントリ収集）は、対象IPアドレスに対してnmapスキャンを実行し、snmpが有効であればsnmpリクエストを発行、sshまたはwmiが有効であればログインし、インベントリ収集スクリプトを対象システムに転送し実行、結果ファイル（xml）を収集する。
![oa19.png](https://qiita-image-store.s3.amazonaws.com/0/52445/72571585-fee6-29d7-8285-3302f6fbbb52.png)

上図の「Local Network Address（管理サーバIPアドレス）」は、Open-AuditがインストールされているサーバのIPアドレスを入力する。
Device（対象IPアドレス）は、下記の表記が可能。
* 単一アドレス指定例：192.168.0.1
* 範囲指定例：192.168.0.1-5
* サブネット指定例：192.168.0.0/24

SSHユーザはrootまたは、TTY無しパスワード無しでのsudoを許可しているユーザであること、Windowsユーザは、Administratorsグループのアカウントを使用する。

Windowsドメインは、AD傘下でなければWORKGROUPと入力が必要。

##**3.	Open-Auditが使用するポート一覧**

|Port #|Protocol|Service Name|Connection Initiation|Application|Notes    |
|:-----|-------:|:----------:|:-------------------:|:---------:|:-------:|
|N/A|ICMP	|ping	     |Server to Device	   |Open-AudIT |ICMP Message Types 8 and 0|
|22|TCP|SSH|Server to Device|Open-AudIT|Discovery|
|23|TCP|Telnet|Server to Device|Open-AudIT|Discovery|
|25 or 587|TCP|SMTP|Server to Email Server|Open-AudIT|Scheduled Reports|
|53|UDP|	DNS|	Server to DNS Server|	Open-AudIT|	Discovery|
|52|	TCP|	DNS|	Server to DNS Server|	Open-AudIT|	Discovery|
|80|	TCP|	HTTP|	Device to Server|	Open-AudIT|	Upload of audit result|
|80|	TCP|	HTTP|	Server to Device|	Open-AudIT|	Discovery|
|135|	TCP|	WMI|	Server to Device|	Open-AudIT|	Discovery|
|139|	TCP|	Samba|	Server to Device|	Open-AudIT|	Discovery|
|161|	UDP|	SNMP|	Server to Device|	Open-AudIT|	Discovery|
|443|	TCP|	HTTPS|	Server to Device|	Open-AudIT|	Discovery|
|443|	TCP|	HTTPS|	Device to Server|	Open-AudIT|	Upload of audit result|
|445|	TCP|	Samba / RPC|	Server to Device|	Open-AudIT|	Discovery
|445|	TCP|	Active Directory|	Server to AD Controller|	Open-AudIT|	Authentication and Discovery|
|623|	UDP|	IPMI|	Server to Device|	Open-AudIT|	Discovery|

 https://community.opmantek.com/display/OA/Information+about+Network+Ports