非機能要件の中のセキュリティの説明です。
セキュリティー要件は、インターネットに公開するシステムだと格段に厳しくなるので、ここでは社内システムを想定します。
1.ユーザー認証
ログイン時のIDやパスワードの要件です。
社内システムの場合、通常はログインIDは社員番号となりますが、桁数以外にも注意が必要です。グループ内の複数企業で利用する場合、社員番号の他に企業コードの入力が必要になったり、人事システムがグループ内で統一されていないと、桁数が企業によって異なったりします。
パスワードについては、以下のような検討項目があります。
米NISTのガイドライン「SP-800-63-B」では、パスワードの定期変更や複数文字種の組合わせは、以下の理由で非推奨とされています。
・定期変更の強制は、pasword0928のようにパスワードの数字を変えていくという安易なルールで対応してしまう。
・長さや複雑さを要求しても、Password1!のような推測されやすいものにしてしまう。
一方、推測されやすいパスワードのブラックリスト化や一定時間あたりの認証試行回数の制限(スロットリング)は、推奨されています。
2.権限設定
機能要件にも記載しますが、セキュリティの観点で非機能要件と両方に記載するとベストです。
特に異動等で不要な権限が残らないか、権限付与の方法(ワークフロー化する等)、システム管理者のアカウント運用(貸し出し台帳とログの突合)、権限付与・変更時の記録、モニタリング等、権限の付与・剥奪が適切に行われるような運用も考慮する必要があります。
3.サーバーアカウント
サーバーアカウントの管理も重要です。払い出し方法、貸し出し台帳とログの突合、アカウントの種類、パスワード変更等の運用を決めます。
特にミドルウェアのアカウントは、アプリケーションでも使用していることが多いので、パスワード変更運用を考えると、アプリケーションで使用するアカウントとシステム管理者が使用するアカウントを分ける等の考慮が必要になってきます。
4.マルウェア対策
ウイルス対策ソフトのスキャンタイミング、定義ファイル更新方法等を決めていきます。
ウイルス対策ソフトが性能に影響することがあり、アプリケーションが使用するフォルダーをスキャン対象外とする場合があります。
ベンダーによっては事実確認をせず、推測でそのような除外設定をする場合があるので、注意が必要です。除外設定したフォルダーはセキュリティーホールとなるため、ウイルス対策ソフトによって性能劣化が発生する証拠が無い場合には、一旦は除外設定せずに本番運用した方が無難です。
5.スコープ
アプリケーションのセキュリティ要件で、注意が必要なのはスコープです。
セキュリティは、アプリケーション、ミドルウェア、OS、ネットワーク、拠点・作業部屋、人(運用)といったレイヤーに分かれます。
インフラ等のセキュリティのガバナンスが不十分な会社の場合、アプリケーションの構築であっても、作業部屋や保守PC等をアプリケーションごとに用意する必要があったりします。その場合、それらのセキュリティも考慮する必要が出てくるので、アプリケーション以外のセキュリティ要件の有無に注意する必要があります。
【振り返り】
セキュリティの説明は以上で終了となります。次回はユーザービリティ/アクセシビリティの説明をしていきたいと思います。
①可用性
②性能
③拡張性
④運用保守
⑤移行
⑥セキュリティ
⑦ユーザービリティ/アクセシビリティ
⑧システム環境