2020年~2021年にかけて内閣府や某大手企業様でのPPAPの全面禁止が注目を集めました。ご存じの方がほとんどであると思いますが、PPAPとは以下の一連の手順を揶揄したものです。
「P」:Password付きzip暗号化ファイルを送ります
「P」:Passwordを送ります
「A」:暗号化します
「P」:プロトコル
最近ではPPAPに関するセキュリティ面に関する問題や運用面に関する問題が挙げられており、様々な代替手段が取られるようになっています。
弊社でも基本的にPPAPは禁止しており、クラウドストレージサービスを使ってファイル送受信を行うようにしています。
ただ、せっかくセキュリティを高める目的で使うのであれば、ログの監視まで考えたいところです。
そこで今回はPPAPの代替手段の1つである、クラウドストレージサービス・「Box」のログをSumo Logicに取り込んで可視化してみることにしました。
BoxからSumo Logicへ直接ログを送ることができないため、BoxとSumo Logicの間に中間サーバが必要となります。
ログを取り込むまでの流れとしましては以下となります。
- 中間サーバを準備し、Installed Collectorのインストール
- Boxログを取り込むために必要な中間サーバの設定
- Sumo Logic側のデータソース設定
前提条件
- BOXのユーザアカウントはシステム管理者もしくは共同管理者の権限が付与されていること
- 共同管理者の場合「Run new reports and access existing reports」権限のみ必要
- Webブラウザを使用してインターネットに接続できる環境であること
- Javaが使えること
今回試した環境
- Ubuntu 20.04 LTS Server
- OpenJDK 11.0.11
- Chrome 94.x
それでは流れに沿ってやっていきたいと思います。
Collectorのインストール
中間サーバからBoxのログをアップロードするためにInstalled Collectorを使用します。
もし既にインストール済みの環境を使用する場合は次に進んでください。
Sumo LogicのWebUIにログインして、まずはAccess Keyを作成します。
左側のAdministration -> Securityの順にクリックします。
表示された画面上部のAccess Keys -> Add Access Keyをクリックします。
Access Key Nameに任意の名前を入力しSaveをクリックします。
Access IDとAccess Keyが表示されます。
Access Keyはこの画面を閉じると見れなくなってしまうのでコピーしておくようにしてください。
次にCollectorのインストーラーをダウンロードします。
# wget "https://collectors.sumologic.com/rest/download/linux/64" -O SumoCollector.sh && chmod +x SumoCollector.sh
続いてCollectorをインストールします。
と には発行したAccess ID/Access Keyを入力します。
# ./SumoCollector.sh -q -Vsumo.accessid= -Vsumo.accesskey=
Sumo Logicの画面上のManage Data -> CollectionにCollectorが表示されたらインストールは完了です。
Boxのログ取り込みに必要な中間サーバの設定
CollectorをインストールしたサーバにSumoJanus for Boxパッケージをダウンロードします。
# wget https://s3.amazonaws.com/script-collection/box/rc3.0.0/sumojanus-box-dist.3.0.0.tar.gz
ダウンロードしたパッケージを展開します。
# tar zxvf sumojanus-box-dist.3.0.0.tar.gz
プロパティファイルの編集を行います。
# vi sumojanus-box/conf/sumologic.properties
以下を追記します。
[boxcollector] token_path = ${path}/data/box_enc.token stream_pos_path = ${path}/data/box_stream_position.dat # optional, default is admin event #event_type = admin # optional, encrypt token file or not. Default is false encrypt_token_file = true # Optional, Overwrite default encryption key # encryption_key = # optional, startTime to query for Event Log files, in epoch milliseconds, optional, default is 2 days back. #startTime = 1435709058000 # optional, endTime to query for Event Log files, in epoch milliseconds #endTime = 1436377600000
Javaをインストールします。
# apt install openjdk-11-jre-headless # java -version
SumoJanus_Box.bashファイルを更新します。
# vi /opt/sumojanus-box/bin/SumoJanus_Box.bash
以下を変更します。
"export JAVAPATH="${JAVA_HOME}"" ↓ "export JAVAPATH=/opt/SumoCollector/jre/""
Collectorのインストールしてあるディレクトリを指定します。
/opt/SumoCollector/jre もしくは /usr/local/SumoCollector/jreとなると思われます。
続いてsumojanus-boxフォルダに移動して以下のコマンドを実行します。
# bin/SumoJanus_Box.bash -s
以下のようなメッセージが出てくるので表示されたURLをコピーしてWebブラウザでアクセスします。
≪省略≫ Cannot open a browser. Please open the following manually from THE SAME machine: https://app.box.com/api/oauth2/authorize?response_type=code&client_id=xxxxxxxxxxxxxxxxxxxxxxxx&state=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxx&redirect_uri=https://localhost:8080/
※この時にBoxからはログアウトしておくようにしてください。
ログイン後、Boxへのアクセスを許可するかの画面が表示されるので「Boxへのアクセスを許可」をクリックします。
「Boxへのアクセスを許可」をクリックすると「このサイトにアクセスできません」という画面が表示されます。
URLを以下に変更してください。
https → http localhost → UbuntuサーバのIPアドレス
再度アクセスすると以下のような画面が表示されるのでブラウザは閉じます。
それと同時にサーバ側も以下のようなメッセージが出てきます。
このメッセージが出てきたらサーバ側の準備は完了です。
Inside BoxOAuth2Handler.getCode Code: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 01 Oct 2021 14:19:00,677 INFO SumoJanus:478 – Framework exited successfully
すべての設定が完了したらサーバでBoxのログが取得できるか確認します。
# bin/SumoJanus_Box.bash
出力を確認したらCtrl+Zでログの取得を停止します。
データソースの設定
次にSumo Logicのデータソースの設定になります。
先ほどインストールしたCollectorのAdd -> Add Sourceをクリックします。
以下の画面でScriptを選択します。
以下の設定を行います。
Name:BoxCollector Source Category:test/box Frequency:Every 5 Minutes Specify a timeout for your command:有効(チェックボックスにチェック) 60Minutes Command:/bin/bash Script:/opt/sumojanus-box/bin/SumoJanus_Box.bash Working Directory:/opt/sumojanus-box
Boxのログを取り込めたことが確認できました。
今回はログ取り込み編、ということで一旦ここまでとして、次回は今回取り込んだBoxのログにAppCatalogを適用してみたいと思います。
App Catalogとは、Sumo Logicの利用者が必要とするクエリーやダッシュボードを、アプリケーションカタログという形でSumo Logic側でテンプレート化したものです。
App Catalogが用意されているアプリケーションのログであれば、Sumo Logicにログを取り込んですぐに可視化が可能になります。
様々な製品のAppCatalogが公開されていますので、「この製品のログを取り込んで可視化してみたい!」などご要望ございましたらお気軽にお問い合わせください。
それでは。
- カテゴリ:
- Sumo Logic
- 技術情報