Open-AudIT
Open-AudITはエージェントレスのインベントリツール。
snmp/sshで情報収集する。
無料のCommunity版の他、有料のProfessional版やEnterprise版があり、使用できる機能が異なる。

紹介

https://www.ossl.co.jp/?page_id=254
https://www.io-architect.com/wp/service/openaudit.html
マニュアル

https://community.opmantek.com/display/OA/Home

公式ページ
https://www.open-audit.org/index.php





過去バージョンのダウンロード
リンクは無いので、リリースノートを確認してURLを変える
http://dl-openaudit.opmantek.com/OAE-Linux-x86_64-release_2.2.7.run


ソースコード
https://github.com/Opmantek/open-audit

SELinuxは無効化しておく必要がある
sed "s/^SELINUX=enforcing/SELINUX=disabled/" -i /etc/selinux/config
reboot

curl -s -O http://dl-openaudit.opmantek.com/OAE-Linux-x86_64-release_2.2.7.run
sh ./OAE-Linux-x86_64-release_2.2.7.run -t <インストールパス>
対話式なので、エンターを押すか-yオプションを付けて実行する
下記がインストールされる

インストールパス
/usr/local/omk/

設定ファイルパス
/usr/local/omk/conf/
cron、logrotateの設定が自動でされる

自動でインストールされるmariadbのrootユーザパスワードは”openauditrootuserpassword”になる

起動
systemctl start omkd
停止
systemctl stop omkd


ブラウザでインストールしたサーバにアクセスする
http://<IPアドレス>/

「Open-AudIT Enterprise」と「Open-AudIT」のリンクがあるので、「Open-AudIT」の方をクリックする
管理対象の機器が20台以下なら、下記機能が使えるEnterprise無料版でも良い。

画面上部のメニューバーからOpen-AudIT自体の設定やアカウント設定などを行える
日本語化はできない
無料(Community)版では使用できないメニューには錠マークが表示され、クリックできない

  1. Admin > Configuration > List Configuration
  2. “default_network_address”を開く
  3. Valueにサーバで使用するIPアドレスに変更する


Contents

管理画面


Configuration


access_token_count


Allow this many access tokens to be stored in the cookie.



access_token_enable


Should we enable access tokens for CSRF mitigation.



blessed_subnets_use


Should we only accept data from the blessed subnets list.



collector_check_minutes


The default check interval for collectors.



database_show_row_limit


The limit of rows to show, rather than download when exporting a database table.



decrypt_credentials


When we display or export credentials, should we decrypt them.



default_network_address


The ip address or resolvable hostname used by external devices to talk to Open-AudIT.



delete_noncurrent


Should we delete any attributes that are not present when we audit a device.



delete_noncurrent_netstat


Should we store non-current netstat data and generate change logs.



delete_noncurrent_variable


Should we store non-current environment variable data and generate change logs.



discovery_create_alerts


Should Open-AudIT create an entry in the alert table if a change is detected.



discovery_ip_exclude


Populate this list with ip addresses to be excluded from discovery. IPs should be separated by a space.



discovery_linux_script_directory


The directory the script is copied into on the target device.



discovery_linux_script_permissions


The permissions set on the audit_linux.sh script when it is copied to the target device.



discovery_linux_use_sudo


When running discovery commands on a Linux target, should we use sudo.



discovery_sunos_use_sudo


When running discovery commands on a SunOS target, should we use sudo.



discovery_use_dns


Should we use DNS for looking up the hostname and domain.



discovery_use_ipmi


Should we use ipmitool for discovering management ports if ipmitool is installed.



display_version


The version shown on the web pages.



download_reports


Tells Open-AudIT to advise the browser to download as a file or display the csv, xml, json reports. Valid values are download and display.



graph_days


The number of days to report on for the Enterprise graphs.



gui_trim_characters


When showing a table of information in the web GUI, replace characters greater than this with “…”.



homepage


Any links to the default page should be directed to this endpoint.



internal_version


The internal numerical version.



log_level


Tells Open-AudIT which severity of event (at least) should be logged.



log_retain_level_0


Tells Open-AudIT how many days to keep logs with severity 0.



log_retain_level_1


Tells Open-AudIT how many days to keep logs with severity 1.



log_retain_level_2


Tells Open-AudIT how many days to keep logs with severity 2.



log_retain_level_3


Tells Open-AudIT how many days to keep logs with severity 3.



log_retain_level_4


Tells Open-AudIT how many days to keep logs with severity 4.



log_retain_level_5


Tells Open-AudIT how many days to keep logs with severity 5.



log_retain_level_6


Tells Open-AudIT how many days to keep logs with severity 6.



log_retain_level_7


Tells Open-AudIT how many days to keep logs with severity 7.



maps_api_key


The API key for Google Maps.



maps_url


The web server address of opMaps.



match_dbus


Should we match a device based on its dbus id.



match_fqdn


Should we match a device based on its fqdn.



match_hostname


Should we match a device based only on its hostname.



match_hostname_dbus


Should we match a device based on its hostname and dbus id.



match_hostname_serial


Should we match a device based on its hostname and serial.



match_hostname_uuid


Should we match a device based on its hostname and UUID.



match_ip


Should we match a device based on its ip.



match_mac


Should we match a device based on its mac address.



match_mac_vmware


Should we match a device based mac address even if its a known likely duplicate from VMware.



match_serial


Should we match a device based on its serial number.



match_serial_type


Should we match a device based on its serial and type.



match_uuid


Should we match a device based on its UUID.



modules


The list of installed Opmantek modules.



nmis


Enable import / export to NMIS functions.



nmis_url


The web server address of NMIS.



oae_license


License status of Open-AudIT Enterprise.



oae_product


The name of the installed commercial application.



oae_prompt


Prompt to activate a license for Open-AudIT Enterprise.



oae_url


The web server address of Open-AudIT Enterprise.



output_escape_csv


Escape CSV output so Excel will not attempt to run contents.



page_size


The default limit of rows to retrieve.



process_netstat_windows_dns


Should we keep track of Windows netstat ports used by DNS above port 1000.



rss_enable


Enable the RSS feed.



rss_url



The RSS feed URL.



servers



The servers to report to when using Agent / Collector / Server.



server_ip



The locally detected IP Addresses of this server.



uuid



The unique identfier of this Open-AudIT server.




Attributes


https://community.opmantek.com/display/OA/Attributes

デバイス(ノード)の管理


デバイス(ノード)の登録


Linuxの場合、詳細な情報の登録にはrootユーザで収集するか、パスワード無しのsudo権限が必要である。
dmidecodeコマンドやnetstatコマンドを使用するからである。

単一のデバイスの登録


参考

  1. Discover > Discoveries > Discover a single device
  2. 登録対象の情報を入力する
    • Device IP Address
      対象ノードのIPアドレスかホスト名を入力する
      IPアドレスの場合でも/32を書く必要はない
    • Network Address
      Open-AudITサーバ自身を選択する。
      このURLに対象デバイスから情報収集スクリプトがアクセスして情報登録するので、デバイスからアクセス可能でなければならない。
    • Assign devices to Org (任意)
      登録する「組織」を選択する
    • Assign devices to Location (任意)
      登録する「場所を選択する
    • 収集方法
      • Windows WMI
        • Windows Username
        • Windows Password
      • Linux SSH
        • SSH Username
          ログインするデバイスのユーザ名を入力する。
        • SSH Password
          ログインするデバイスのパスワードを入力する。
          公開鍵認証を使用する場合などでパスワードが不要な場合は空白のままでよい。
      • SNMP Community (v1)
        コミュニティ名を入力する
      • SNMP Community (v2)
        コミュニティ名を入力する
    • Executeボタンをクリックする
  3. Manage > Devices > List Devices
    登録されていることを確認する

なお、SSHの場合はサーバで次のようなコマンドを実行してデバイス登録を行っている。
nohup /usr/local/open-audit/other/discover_subnet.sh subnet_range=<デバイスIPアドレス> \
    url=http://<Open-AudITサーバのIPアドレス>/open-audit/index.php/input/discoveries \
    submit_online=y echo_output=n create_file=n debugging=0 discovery_id=XXX > /dev/null 2>&1 & 


複数デバイスの登録


複数デバイスの登録の場合、SNMPを使用できないホストは登録のみ行われ、情報収集は別途SSH情報などを入力する必要がある

参考

  1. Discover > Credentials > Create Credentials
  2. ログイン情報を入力する
  3. Submit
  4. Discover > Discoveries > Create Discovery
  5. 登録対象の情報を入力する
    • Name
      管理名を入力する
    • Network Address
      Open-AudITサーバ自身を選択する。
      このURLに対象デバイスから情報収集スクリプトがアクセスして情報登録するので、デバイスからアクセス可能でなければならない。
    • Subnet
      探索したいネットワークアドレスを入力する
  6. Submitボタンをクリックして保存する
  7. Executeボタンをクリックして探索を実行する
  8. Execute部分がRefleshボタンからExecuteボタンに変わるまで何度かクリックする
  9. Manage > Devices > List Devices
    登録されていることを確認する
    ※実行完了後も反映に時間がかかる


なお、サーバで次のようなコマンドを実行してデバイス登録を行っている。
nohup /usr/local/open-audit/other/discover_subnet.sh subnet_range=<ネットワークアドレス> \
    url=http://<Open-AudITサーバのIPアドレス>/open-audit/index.php/input/discoveries \
    submit_online=y echo_output=n create_file=n debugging=0 discovery_id=XXX > /dev/null 2>&1 &   

デバイス(ノード)の削除


登録されたデバイスを削除する場合は次の操作を行う

  1. Manage > Devices > List Devices
  2. 対象のデバイスを開く
  3. “Status”の値を”Deleted”に変更して保存する
  4. 一定時間後に削除されるので待つ
  5. Admin > Database > List Tables
  6. “system”テーブルを開く
  7. “Device Status: deleted”欄のごみ箱ボタンをクリックする

カスタムフィールド


カスタムフィールドとはデバイスに追加する管理情報のことである。
任意の情報を管理できるが、値の取得は手動記入か別途収集方法を用意する必要がある。
Web APIが使用可能なので、Web APIを使用して登録が可能。
カスタムフィールドはグループに対して設定するので、サーバをデフォルトグループの”Computers”に入れていると、全てのサーバにカスタムフィールドが設定されてしまう。


レポート


ディスク使用率


ディスク名とパーティション名の対応、そのパーティションのサイズ、使用量と空き容量などが表示される。


待ち受けポート一覧


現在LISTEN中のポート一覧とそのプログラム名が表示される。


OS一覧


使用しているOSとそのOSを使用しているノード一覧を表示できる。
OSはバージョンレベルで一覧化できる。


ハードウェア一覧


使用しているハードウェアとそのハードウェアを使用しているノード一覧を表示できる。


CPUとメモリ一覧


ノード毎に使用しているCPUの種類、速度、数とメモリの合計サイズを一覧化できる。



サーバタイプ一覧


サーバにインストールしているソフトウェア毎に一覧化できる。
WebやDatabaseでグルーピングされ、使用しているソフトウェアの種類とバージョンを表示できる。


ソフトウェア一覧


インストールされているソフトウェア(パッケージ)一覧を表示できる。
ソフトウェア(パッケージ)毎にインストールされているノードとバージョンを一覧化できる。


サービス一覧


稼働しているサービス一覧を表示できる。
サービス毎に稼働しているノードとバージョンを一覧化できる。


Notice: Trying to get property 'queue' of non-object in /usr/local/wordpress/wp-includes/script-loader.php on line 2876

Warning: Invalid argument supplied for foreach() in /usr/local/wordpress/wp-includes/script-loader.php on line 2876