WEB & SYSTEMS

Webシステムのセキュリティ対策の基本

Webシステムのセキュリティは、つくるときに脆弱性を作り込まない対策、公開の前の脆弱性診断、動かし続ける間の更新・多要素認証・WAF・バックアップ・ログの3つの段階で考えます。IPAとOWASPの資料をもとに基本を整理します。

この記事の要点

  • 開発の段階では、IPAの「安全なウェブサイトの作り方」やOWASP Top 10を参考に、よく知られた脆弱性を作り込まないようにします
  • 公開の前と大きな変更の後に脆弱性診断を行い、見つかった問題を直してから公開します
  • 運用の間は、更新・多要素認証・WAF・バックアップ・ログを、担当を決めて続けます

Webシステムのセキュリティ対策は、つくるとき、公開する前、動かし続ける間の3つの段階に分けて考えると、抜けを減らせます。どれか1つで足りるものではなく、3つを重ねて守るのが基本の考え方です。

Webシステムは、インターネットにつながっている限り、だれからでも接続を試みられます。この記事では、公的な機関や国際的な団体が公開している資料をもとに、発注する側も押さえておきたい対策の基本を整理します。

つくるときの対策

よく知られた種類の脆弱性を作り込まないことが、つくるときの対策の中心です。脆弱性とは、システムの作りや設定の不備のうち、悪用されると情報の漏えいや改ざんにつながる弱点のことです。

公的な資料を参考にする

IPA(独立行政法人情報処理推進機構)は、Webサイトの開発者や運営者に向けた資料として「安全なウェブサイトの作り方」を公開しています。改訂第7版では、SQLインジェクションをはじめとする11種類の脆弱性について、原因と対策を解説しています。

出典:安全なウェブサイトの作り方(IPA)

国際的な資料では、OWASP Top 10がよく参照されます。OWASP Top 10とは、Webアプリケーションのセキュリティ上の代表的なリスクを、10の分類にまとめた文書のことです。2026年10月時点の最新の2025年版では、1番目に「アクセス制御の不備」が挙げられ、利用している部品の問題を扱う「ソフトウェアサプライチェーンの不備」も含まれています。

出典:OWASP Top 10:2025(OWASP Foundation)

権限の確認を、処理のたびに行う

アクセス制御の不備とは、本来見られないはずのデータや機能に、ほかの人が届いてしまう状態のことです。画面にボタンを出さないだけでは防げず、URLを直接入力すれば他人のデータが見えてしまう、といった形で起こります。データを返す処理や更新する処理のたびに、その人に権限があるかをサーバーの側で確かめる作りにします。

使っている部品を把握する

Webシステムは、フレームワークやライブラリなど、外部で作られた多くの部品を組み合わせてできています。どの部品のどの版を使っているかを一覧にしておくと、部品に脆弱性が見つかったときに、影響があるかをすぐに確かめられます。

公開の前に確かめる

公開の前と、大きな変更を加えた後には、脆弱性診断を行います。脆弱性診断とは、システムに脆弱性がないかを、専用のツールや専門の技術者の手作業で調べることです。

診断の結果には、見つかった問題ごとに危険度が示されます。危険度の高いものは公開の前に直し、すぐに直せないものは、影響の範囲と、直すまでの間の対策を決めて記録します。診断は一度きりではなく、定期的に、また機能を追加したときに行うと、作り込まれた問題を早く見つけられます。

脆弱性診断で見つかった問題の扱い

  • 危険度の高いもの公開の前に直す
  • すぐに直せないもの影響の範囲と、直すまでの間の対策を決めて記録する

診断は一度きりではなく、定期的に、また機能を追加したときに行います

動かし続ける間の対策

公開した後は、更新・多要素認証・WAF・バックアップ・ログの5つを続けます。運用の間の対策が途切れると、公開した時点では安全だったシステムも、時間とともに危険が増えていきます。

更新

OS、Webサーバー、データベース、フレームワーク、ライブラリなどに、セキュリティパッチ(脆弱性を直すための更新)が出たら、影響を確かめて当てます。CMSを使っている場合は、本体だけでなく追加した機能(プラグイン)も対象です。提供の終わった版は更新が出なくなるため、終わる時期も把握しておきます。

多要素認証

管理画面、サーバー、クラウドの管理のアカウントには、多要素認証を設定します。多要素認証とは、パスワードに加えて、スマートフォンのアプリなど別の手段でも本人であることを確かめる方法です。パスワードが漏れても、それだけでは入られにくくなります。

WAF

WAFとは、Webシステムへの通信を調べ、攻撃とみられるものを止める仕組みのことです。脆弱性を突く通信を手前で防ぐ保険の役割を持ちますが、脆弱性そのものを直す代わりにはなりません。作りの修正と組み合わせて使います。

バックアップ

データとシステムの設定を定期的に保存し、元の環境とは別の場所に、複数の世代を残します。ランサムウェアのように、データを暗号化して使えなくする攻撃では、バックアップまで同じ場所にあると一緒に被害を受けます。実際に戻せるかを、ときどき試しておくことも大切です。

ログ

アクセスの記録、ログインの成功と失敗、管理の操作などを記録し、保存の期間と、だれがいつ確かめるかを決めます。ログは、事故が起きたときに何が起きたかを調べる手がかりになるだけでなく、不審な動きに早く気づくためにも使います。

体制を決めておく

対策を続けるには、担当と手順を決めておくことが欠かせません。

  • 脆弱性の情報をだれが確かめ、だれが更新を判断するか
  • 事故が起きたときに、だれに連絡し、どう止めて、どう知らせるか
  • 開発や保守を外部に委託している場合、どこまでを委託先が受け持つか(契約に書いておく)

IPAは、同じページで、運用の点検の項目を「安全なウェブサイトの運用管理に向けての20ヶ条」としてまとめています。自社の体制を見直すときの手がかりになります。

クラウドの選び方はクラウド(AWS・Azure・Google Cloud)の選び方、生成AIを組み込むときの注意は生成AIのセキュリティ:情報の漏えいとプロンプトインジェクションで取り上げています。

当社のご支援

当社では、Webシステムを開発するとき、扱う情報の重要さに合わせて、データの保存先とアクセスの権限を設計しています。外部のタグやサイトのプログラムの安全確認をAIで行う仕組みをつくった例は、AI開発の例に載せています。開発はソリューション提供、いまのシステムとのつなぎ込みと運用はAIインテグレーションをご覧ください。

  • セキュリティ
  • OWASP
  • 脆弱性診断
  • WAF

この記事に出てくる用語

この記事を書いた人

石田 誠 フロレンティナ 取締役CTO

インターネットの黎明期から、ホスティング事業の立ち上げや、インフラ・セキュリティのプロジェクトに携わってきました。現在は、AWS・Azure へのクラウド移行の支援と、業務アプリケーションの要件定義から実装までを担っています。

このコラムは一般的な情報の提供を目的としたもので、個別の状況への助言ではありません。製品・サービスの名前と内容は、記事の更新日の時点のものです。

あわせて読みたい

Webとシステム開発のコラムを見る コラムの一覧に戻る