業務する環境をセキュアにした話 その3

f:id:k725a:20210622123916p:plain

こんにちは✋

テクノロジー本部サービス開発部でエンジニアをしている @_k725 です。 2021年ももう半分を過ぎ、自分の取り組みも少しずつですが、進んでいるなぁと感じます。

前回出した記事(業務する環境をセキュアにした話 その2)の続編となります。

パスワードの管理

パスワードを考えること・覚えることへの課題

個人でもパスワード管理ってツールを使わないと大変ですよね。 利用するサービスが増えれば増えるほど、管理するパスワードは増えていきます。

組織のシステムを管理する側でも、そのシステムを利用する側でも悩ましいのがパスワード管理です。

管理者側の悩み

  • 利用者が同じパスワードを使い回していないか
    • 特に仕事と個人の環境
  • 全てのサービスでパスワードポリシーを満たしたパスワードを設定しているか

利用者側の悩み

  • サービスの要求するパスワードポリシーに準拠したパスワードの作成
  • パスワードの使い回しを避ける為に、様々なパスワードを覚えるコスト

立ちはだかるポリシー

サービス毎に様々なパスワードポリシーがあったり、会社としてのパスワードポリシーが存在したりします。 よくあるパスワードポリシーとしては、以下のようなポリシーがあると思います。

  • 一定の長さ
  • 複数の文字種の利用
  • 一定の複雑さ(単語の利用をしない等)
  • 定期的なパスワード変更 ※1
  • 過去に利用したパスワードの再利用禁止

何れにせよ、ポリシーを満たした上でパスワードを考えなければいけないため、色々大変です。 また、単純に長すぎるパスワードや一部記号等を受け付けないシステムも存在するため、自分の中で法則を作って長いパスワード・複雑なパスワードを作っても活かしきれない場合があります。

※1 総務省から "定期的な変更は不要" とガイドが出ているのは把握済みです。(念の為)

パスワードの共有方法に対する懸念

プライベートでは他人にパスワードを共有する事はないと思いますが、サービス広報用のSNSアカウントなど、業務上致し方なくパスワードを共有せざるを得ないケースもあります。 しかし、共有する際にSlackのダイレクトメッセージや、メールでのやり取りをすると永遠と平文で残ってしまいます。

また、メンバーの意識次第なところはありますが、意図しないところで(画面共有時等)他の人に見られる恐れがあるので好ましくありません。

パスワードマネージャーの導入

これまでに書いたパスワードの様々な懸念からパスワードマネージャーの導入を検討しました。

Wikipediaの List of password managers を見ても分かるとおり、パスワードマネージャーは非常に沢山存在します。

私達の組織で導入する際に、求めていた条件は以下でした。

  • パスワードの共有機能が使えること
  • シングルサインオンに対応していること

この条件で幾つかのサービスを比較しましたが、最終的には Bitwarden を利用することにしました。

特に良かった点としては、以下の通りです。

  • SaaS版とセルフホスティング版が選択可能
  • 組織に所属しているユーザーに、プレミアム機能(個人版の "Premium" 相当の機能)を利用させることが可能

但し、Bitwarden Sendというファイル送信機能は、組織で利用する上では好ましくないので利用不可能に設定しました。

f:id:k725a:20210622124037p:plain
組織ポリシーで "Send" 機能を無効にした図

シングルサインオンの活用

前項のパスワードマネージャーを導入する際の条件の中に、 "シングルサインオンに対応していること" と記載しました。

私達の組織では様々なSaaSのログインをするのにシングルサインオン(SAML)を活用しています。 今後シングルサインオンを設定予定のサービスは含まれていませんが、一例ですが以下のサービスで利用をしています。

  • Bitwarden
  • Datadog
  • Figma
  • GitHub
  • McAfee MVISION

Google Workspaceをシングルサインオンのプロバイダーとして利用することで便利なのが、SAMLのアプリケーションにもContext-Aware Accessが利用可能なことです。 Context-Aware Accessに関しては その1 の記事で説明をしています。

但し、Googleのヘルプにも書かれているとおり、ログイン時にのみContext-Aware Accessでの評価が行われるため、利用サービス側で 適切に ログアウトを強制する必要があります。

SAML アプリの場合、ポリシー評価はアプリへのログイン時に行われます。 https://support.google.com/a/answer/9275380?hl=ja

現在、シングルサインオンとパスワードマネージャーの活用によって、様々なサービスを利用するのにGoogle Workspaceのログインパスワードとパスワードマネージャーのマスターパスワードさえ覚えていれば良い状態になりました。

おわりに

今回はパスワードマネージャーとシングルサインオンについて書きました。 組織にパスワードマネージャーを使う文化を根付かせ、"パスワードを覚えない" 環境を目指していきたいと思います。

また、次回は番外編ということで、もう少し広く見た組織のセキュリティへの取り組みについて解説しようと思います。 🙋‍♀️

@_k725

@_k725さんのプロフィール

エンジニアリング統括部 サービス開発部 第3グループ エンジニア

お寿司が好きです🍣

※2021年6月現在の情報です。

▶エンジニアリング統括部の求人ページはこちら