コンサルティング

システム開発をITベンダーに依頼するさいにはRFPを作成して渡すのがおすすめです、場合によってはミニRFPも有効

この記事は約5分で読めます。

RFPRFPとは「Request For Proposal」のことです。日本語では「提案依頼書」とか「提案要求書」とかと訳されていますが、システム業界では「RFP」と言う方が多いように思います。
さて、このRFPですが、小規模のシステム開発や官公庁に関係ない民民ではあまり使われていないようですね。RFPが使われているのは、公的機関がシステム開発を依頼する場合や、補助金採択事業でシステム開発会社を選定する場合の公平性を担保する場合などの事が多いです。
RFPが有効なのはわかるけど、作成自体が面倒くさいというか項目が多すぎて工数がかかりすぎてたいへんだということもあります。
その場合は、ミニRFPというか簡易版のRFPというのも有効ではないかと思います。いきなりITベンダーに相談する前に、少し考えてみませんか。

システム開発予算が300万円以内の目論見ならミニRFPで十分

RFPに記載する項目はかなり多いので、本当に作成するだけでもたいへんです。当社でもRFP作成の支援というメニューがありますが、実際に本格的なRFPを作成しようとすると数ヶ月はかかります。

▼RFPに記載する項目の一例
rfpkoumoku.jpg

最近では、有名どころのクラウドサービスを使うのが前提だったりするので、そこの仕様についてはある程度省略してもいいでしょう。

また、システム開発の予算規模がそれほど大きくない場合(ここでは300万円以内程度を想定)は、フルのRFPを作成しなくても重点項目だけのミニRFPでもよいように思います。

いきなりITシステムベンダーに相談して、いいなりになるような展開よりは、一度システムコンサルタントやITに強い中小企業診断士などに相談して、ミニRFPを作成してからITベンダーに打診するという流れにしたほうが、結果的によいシステムが早くてコストパフォーマンスがよかったりします。

RFPのセキュリティ項目は重視したほうがいいです

そうはいっても簡単にすませられないのが昨今のセキュリティ状況です。インターネットは、サイバー攻撃やウイルスがまんえんしているという前提で使わざるを得ません。インターネット活用のシステムならば、セキュリティ面に関しては十分に配慮しておく必要があります。

また、発注者と受注者では、セキュリティに関するリテラシーのレベルが違いすぎて同じ土俵で話し合っていないことが多いです。

JNSA(日本ネットワークセキュリティ協会)では、3つのタイプのセキュリティ要件を提示し、RFPを作成する組織にとって適したタイプを選ぶことを推奨しています。

3つのタイプとは、「対策手法の視点」、「現象面の視点」、「脅威モデルの視点」です。

ミニRFPの中小企業レベルでは「現象面の視点」で十分だと思います。その例が紹介されていました。

WEBシステムのセキュリティ要件をどうRFPに盛り込むか
https://www.itmedia.co.jp/im/articles/0602/04/news011_2.html

以下の内容は上記のページからの引用です。(必須項目のところは黄色の背景色をつけました)

1. システムダウン・レスポンス低下防止策

・DoS、DDoS攻撃によるシステムダウン、レスポンス低下 任意
・アクセス集中によるシステム/サービスのダウン、レスポンス低下 任意
・OSのバグやセキュリティホールを利用した攻撃によるシステムダウン、レスポンス低下 推奨
・不正侵入による悪意あるシステムダウン 必須
・故意/過失による高負荷処理に耐えられる構成 推奨

2. なりすまし・否認防止策

・ユーザーIDやパスワードの推測、盗聴 必須
・セッションハイジャック 必須
・クロスサイトリクエストフォージュリ 必須
・事後否認の防止 推奨

3. 漏えい対策

・通信経路上の盗聴 必須
・万一、データ盗難が起きた場合における安全策 推奨
・正常な操作(権限を有する操作)における情報漏えい 必須
・人的ミスによる情報漏えい 推奨

4. 改ざん防止対策

・通信経路上での通信データの改ざん 必須
・コンテンツやデータの改ざん 必須
・各種ログファイルの改ざん 必須

5. ユーザーへの被害対策

・クロスサイトスクリプティング 必須
・フィッシング 必須
・ウイルス・ワーム・スパイウェア等のユーザー・閲覧者への感染 必須
・迷惑メール対策(本システムが迷惑メールの発信に悪用されないこと) 必須

6. 脆弱性対策

・Webアプリケーションの脆弱性を利用した不正アクセス 必須
・OSやミドルウェア等のパッチを適用するための適切な構成・対策 必須
・脆弱なサービスや設定による不正アクセスを防ぐ(要塞化) 必須

7. 内部者対策

・内部者による故意の情報漏えい・改ざん等の防止 推奨
・内部者による故意の情報漏えい・改ざん等の抑止 必須
・内部者のミスオペレーションに起因する漏えいや設定ミス等の防止 必須

8. 全般的な対策

・攻撃検知・防御機能 推奨
・ログ・監査証跡の取得。システムのログ、アクセスログ、操作ログなどについてそれぞれどの項目・操作について取得するかを明確化すること 必須
・バックアップデータの保護策 推奨

9. セキュリティ運用

上記すべての対策に関して、セキュリティを維持・向上するための運用設計を行うこと 必須

こうやって見てみると、WEBシステムはセキュリティに関して注意すべきことがとてもたくさんあることがわかります。

セキュリティを考慮すると、0からWEBシステムを作るというのは相当ハードルが高いです。やはりセキュリティ面で一定のレベルが確保されているクラウドサービスの利用を前提に検討したほうがいいのではないでしょうか。