本ツールはSELinux関連の調査を容易にします。 SELinux Information Extract は調査対象のマシンからSELinuxの設定情報を抽出します。 SELinux Information Viewer は、抽出したデータをもとに検索ビューを提供します。
本ツールはSELinuxの調査を効率よく行うために提供するものです。マシンのSELinuxに関する情報を、複雑なコマンドなしに調査することができます。
本ツールは2つのツールからなります。1つ目はSELinuxに関する設定情報をファイルに出力する抽出ツール。2つ目は抽出したファイルをもとにSELinux情報のデータベースを構築し、Webブラウザ上で検索できるビューワです。
データ抽出ツールにより、顧客環境など占有できないマシンについても、ビューワの利用が可能になります。 また、ビューワにより、検索機能など、CUIに比べ効率よく簡便に調査することができます。
SELinuxのファイルコンテキストについて検索できます。またファイルコンテキストのパターンに一致するファイルの一覧も表示できます。
まずProcess Domainを指定して下さい。これはポリシールールのソースドメインに対応します。システムは、ポリシールールのターゲットタイプに関連するファイルコンテキストを検索します。
ファイルに対してマッチするファイルコンテキストを確認できます。またドメインがファイルに対して許可された権限も確認できます。
そのほか以下についても確認できます。
- プロセス
- コネクション
- ブーリアン
- ポリシールール
- マシン情報
- policycoreutils-python
- python2
- python2
- Development Tools
- python-devel
調査対象のマシン上でSELinux Information Extractを実行してください。 resultフォルダ内に抽出結果が出力されます。
sudo python selinux-info-extract.py
config.iniファイルにオプションを記載できます。
- prune : 探索時に無視するディレクトリを指定できます。
- root-path : 探索するルートディレクトリを指定できます。デフォルトは / です。
- output-dir : 探索結果を出力するディレクトリを指定できます。デフォルトは ./resultです。
例えば /opt ディレクトリのみを抽出の対象とし、そのうえで/opt/tmpディレクトリは対象から外し、さらに結果を/tmpディレクトリに出力したい場合、以下のようになります。
[settings]
prune = /opt/tmp
root-path = /opt
output-dir = /tmp/result
注意:このプログラムは環境によっては時間がかかるかもしれません。
- 一般ユーザでログインしてください。
- ビューワ用マシン上にSELinux Information Viewerを配備してください。
- 下記コマンドを実行し必要なサードパティツールをダウンロードしてください
- ./install.sh
- このコマンドは PostgreSQLといくつかのツールをローカルの"thirdparty"ディレクトリにダウンロードおよびビルドします。
- 本ツールではPostgreSQL 9.6 以上を使用しています.
- ローカルビルドのため,アンインストールする際は"thirdparty"ディレクトリを削除ください。
- プロキシを超える必要がある場合、~/.curlrcファイルを作成し、プロキシ情報を記載してください。
- proxy-user = "<username>:<passwd>"
- proxy = "<proxy-url>"
- ./install.sh
- 同フォルダにSELinux Information Extractの実行結果であるresultディレクトリを配備してください。
- 一般ユーザでログインしてください。
- 下記コマンドを実行してサーバを起動してください。
- ./sh/start.sh
- ブラウザから http://<ip-adress>:8080 にアクセスしてください
- ブラウザを閉じます。
- コンソールに戻り、Ctrl+cで停止します。
一般ユーザでログインしてください。
- 起動 : ./sh/start_daemon.sh を実行してください。
- 停止 : ./sh/stop_daemon.sh を実行してください。
参照するデータを変更・更新する場合は、データベースの再構築が必要です。
- 一般ユーザでログインしてください。
- ビューワを起動している場合、「ビューワの起動と停止」または「デーモンの起動と停止」に従い、停止させてください。
- ./sh/destroy_db.sh を実行してください。
- resultフォルダの中身を更新してください。
- ./sh/start.shを起動し、データベースを再構築します。
バグレポート、バグフィックス、および改善に貢献してくださったことに感謝します。
不具合があった場合はIssueから報告してください。
修正・機能追加はPull Requestで報告してください。
Copyright (c) 2017 Hitachi, Ltd. All Rights Reserved.
Licensed under the MIT License. You may obtain a copy of the License at
This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND.