この文書は、esa LLC(以降、当社と呼ぶ)の運営する、esa.ioが取り扱う情報セキュリティに関してのポリシーである。
esa.ioの利用者が、安心してサービスを利用できるようにするため、当社の情報セキュリティに対するポリシーを示し、社員全員がこれを尊守する。
セキュリティポリシーが適用される人は当社のコーポレートサイト team.esa.ioに記載される社員全員とする。
適用される情報資産は、後述の当社の取り扱う情報資産についてへ記載する。
本セキュリティポリシーは当社の他の規定よりも優先される。
本セキュリティポリシーを定め、運用と監視を行う。
本セキュリティポリシーに則り情報資産を取り扱う。
月に一度、情報資産取扱の責任者と経営メンバーにおいて以下の項目のレビューを行い、必要があれば改定を行う。
具体的には社内のslack reminderを用いて、見直し実施をお知らせし、見直しを行う。
esaの該当記事に変更箇所のdiffを貼り、それに対して社員全員が「LGTM」とコメントすることで承認したものとする。
セキュリティーポリシーの制定と改定、組織内の尊守に責任を持つ。
情報資産を取扱い、運営サポートを行うものを以下に定める。
各チームの/team
からアクセス出来るチーム情報と、ユーザー情報、投稿情報の3つに情報資産を分類する。
チーム情報、ユーザー情報については、運営サポート業務に限り、運営サポート業務を行うものへ管理者用ページのアクセス許可を与える。投稿情報に関しては、後述するDB管理者以外に一切のアクセス権限は与えない。またDB管理者においても特別の事情がない限り一切の投稿情報へのアクセスは行わないものとする。
運営サポート業務を行うものが、その業務範囲内において、以下の情報を閲覧できるページを指す。
管理者用ページは正しいアクセス権限持ったユーザーのみがアクセス出来ることを自動テストにて担保する。
PAY.JPと紐付けるtoken情報のみ保持する。PAY.JPへのアクセスキーなどは、暗号化して保存している。
暗号化とは、環境変数の暗号化を指す。
情報資産の取扱範囲について、全社員にそれぞれの役割におけるアクセス権限の範囲と責任について合意書を締結するものとする。
セキュリティポリシーに関する意識向上のための適切な教育・訓練として、以下の教育動画を定期的(約半年に一度を目安とする)に閲覧することを義務付ける。
違反のレベルに応じて、適切に対処する。
会社/情報セキュリティ規定/入社時・退職時のマニュアル(社内文書)に記載する。
業務において発見あるいは疑いをもった情報システムの脆弱性や情報セキュリティインシデント(サービス停止、情報の漏えい・改ざん・破壊・紛失、ウイルス感染等)について、従業員はすみやかに当社のslackにて報告を行う。後日、docs.esa.ioにまとめる。
業務委託先事業者、顧問などについても社員と同等のセキュリティポリシーの尊守を契約書に盛り込み、義務付ける。
サービスの提供および継続上重要な記録として以下の監査ログを取得している。
AWSのRDSを利用する。
運用に必要なデータベースの設定・管理などの作業を行う権限を持つ者を指す。
主な情報は、サービス運用ポリシー内のインフラ情報を参照のこと。
運用に必要なインフラの設定・管理などの作業を行う権限を持つ者を指す。
AWSのIAMを用いて、インフラ管理者が行う。
Webサーバ、OSデフォルトの名称やバージョン情報をエラー情報などに表示しない。
Elastic Load Balancing で事前定義された SSL のセキュリティポリシー の TLS-1-2-2017-01 を利用。
HTTPへのアクセスはHTTPSへリダイレクトしている。
ユーザーが個人で作成したGoogle アカウントもしくは、Google Workspaceやその他IdPで作成したアカウントを用いてログインを行う。よって、esa ではパスワードを管理しない。
Googleアカウントのパスワードのポリシーは「Google アカウントのヘルプ」の以下の記事に記載があるようにGoogleのポリシーに従う。
安全なパスワードを作成してアカウントのセキュリティを強化する
https://support.google.com/accounts/answer/32040?hl=ja
次のようなパスワードは使用できません。
- 安全性が著しく低いパスワード(「password123」など)
- お使いのアカウントで以前に使用したことがあるパスワード
- スペースで開始または終了するパスワード
また、Google Workspace では組織ごとに独自にパスワードポリシーを設定できるため、ユーザーが所属する組織のGoogle Workspaceのパスワードポリシーに従う。
ユーザーのパスワード要件を適用、監視する - Google Workspace 管理者 ヘルプ
https://support.google.com/a/answer/139399?hl=ja
サービスの提供に用いるアプリケーション等の新規開発時や改修時において、定期的な実施時と同等またはそれ以上の水準で脆弱性診断を行い、その結果に基づいて対策を行っている。
brakeman
A static analysis security vulnerability scanner for Ruby on Rails applications
を用いてソースコードの静的解析により対策を施している。
アプリケーションのソースコードレビューは、開発者とは別の第3者により実施され、セキュリティの観点を含んで確認を行う。
具体的にはGitHub上のPull Requestを用いて行う。
エラー発生時の表示メッセージに、問い合わせなどに必要な情報のみを記載し、内部構造が推測できるような不必要な情報を表示しない。
また、その際のサーバー内のログ出力において、開発・監視に直接関わることの少ない、ユーザーのプライバシーに関わるような情報を出さない。
セキュアな環境にて開発作業を行うために以下を作業環境ルールとする。
必要な場合は全サービスをメンテナンスモードへ移行後、直ちに各チームのownerへメールにて報告する。