1
|
1 \chapter{メッセージングコマンドを使用した手法の提案}
|
|
2
|
|
3 \section{システム概要}
|
|
4 システムの管理をオープンソースのセルフホスティング式のチャットサービスであるmattermostのスラッシュコマンドを通して実行する.スラッシュコマンドとは /から始まるコマンドを実行することで登録したサーバーに対しリクエストを送ることができる.また,スラッシュコマンドの後ろに空白くぎりで入力した文字列がリクエストボディとて認識される.また,スラッシュコマンドには空のメッセージボックスに / を入力すると,すべてのスラッシュ・コマンドのリストが表示される.特定の/コマンドを入力することでコマンドの引数やフラグの候補も表示される.本稿では学科で管理しているシステムの状態を確認できる機能を提供するhttpサーバーを立て,それにGET/POSTリクエストを送信することで処理を行う.図\ref{fig:chat-system}に構成図を示す.
|
|
5
|
|
6 \begin{figure}[htpb]
|
|
7 \begin{center}
|
|
8 \scalebox{0.65}{\includegraphics{fig/chatsystem4.png}}
|
|
9 \caption[monitoring]{システム構成図.}
|
|
10 \label{fig:chat-system}
|
|
11 \end{center}
|
|
12 \end{figure}
|
|
13
|
|
14 学科システムは複数のサーバーから構成されており.それぞれでHTTP severを立てるとサービス毎にリクエスト先を変更しないといけない為,統括して管理するHTTP serverを一つ立てる.
|
|
15 そのHTTP serverから他の基幹サーバー内で動作しているサービスに対し処理を送り結果をmattermostから確認できる.
|
|
16 以下に実装した操作やセキュリティ面での実装を示す.
|
|
17
|
|
18
|
|
19 \section{認証機能の実装}
|
|
20 mattermostはクラウドサーバー上で運用されているが今回実装したHTTP serverは基幹サーバー内で運用している.mattermostからHTTP serverにアクセスするためにグローバルIPを紐付け公開している.学科サーバーは在学中の生徒と教員のみがアクセス可能でありシステムの情報は秘匿するべきである.
|
|
21 その為外部からのアクセスを制限しmattermostからのみHTTP serverへのアクセスを許可した.
|
|
22
|
|
23 本研究で実装したスラッシュコマンドはmattermostのシステム管理チームが管理するワークスペースのチャンネルから実行可能である.mattermostは学科に所属する全ての生徒がログインできシステム管理チームのワークスペースも制限をおこなっていない為全生徒がスラッシュコマンドの実行が可能である.
|
|
24 しかし,学科のシステム利用者の情報はLDAPを用いて管理されており,サーバー上でシステム管理者として全ての操作を行えるのはsyskan,sudoのユーザー属性が割り振られているアカウントとなっている.
|
|
25 スラッシュコマンドでは一部rootユーザーが実行する処理があることやシステム管理の操作に慣れていない学生には操作ミスやセキュリティの観点から制限をつけるのが適切だと判断した.
|
|
26 その為,システム管理チームとそれ以外の利用者でスラッシュコマンド経由で実行できる操作に制限をかけた.
|
|
27 mattermostはログインの際にgitlab認証を使用しており,gitlabはLDAP情報からログインを行う.
|
|
28 その為mattermostのアカウント名などはLDAPに登録されている情報から作成される.
|
|
29 また,mattermostはスラッシュコマンドを実行する際にコマンド以外に実行したチャンネル情報や実行した操作者の情報をデータをして送信する.データの中にユーザー名がありHTTP serverでユーザー名でLDAP認証を行いsudo,syskanのユーザー属性を持つかを確認することによって実行できる操作に制限をかけることができる. |