annotate Paper/chapter/chatsystem.tex @ 1:564982476950

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