- システム開発で押さえるべきセキュリティ対策の全体像
- 中小企業が狙われやすい理由と代表的な攻撃手法
- 発注者が開発会社に確認すべきセキュリティ要件
- Webアプリで実装すべきセキュリティ対策一覧
- セキュリティ事故が起きた場合の対応と備え
なぜ中小企業こそセキュリティ対策が必要なのか
「うちは小さい会社だから狙われない」——これは大きな誤解です。IPA(情報処理推進機構)の「2024年度 中小企業における情報セキュリティ対策に関する実態調査」によると、調査対象の中小企業約4,191社のうち約23.3%(975社)が、2023年度に何らかのサイバーインシデントを経験しています。さらに、被害を受けた企業の約7割が取引先にも影響を及ぼしていました。
中小企業が狙われやすい理由は明確です。
- セキュリティ対策が手薄なことが多い
- 大企業のサプライチェーンの入口として狙われる
- 被害に気づくのが遅れがち(専任の担当者がいない)
- 一度被害を受けると事業継続が困難になるケースも
システム開発を発注する際にセキュリティ要件を明確にしておくことで、これらのリスクを大幅に低減できます。
代表的なサイバー攻撃の手法
開発するシステムに対して、どのような攻撃があり得るかを知っておくことが対策の第一歩です。
| 攻撃手法 | 概要 | 被害の例 |
|---|---|---|
| SQLインジェクション | 入力フォームからデータベースを不正に操作 | 顧客情報の漏洩、データの改ざん |
| XSS(クロスサイトスクリプティング) | 悪意あるスクリプトをWebページに埋め込む | ユーザーのセッション乗っ取り、偽ページの表示 |
| CSRF(クロスサイトリクエストフォージェリ) | ユーザーに意図しない操作をさせる | 勝手に設定変更、不正な注文 |
| ブルートフォース攻撃 | パスワードを総当たりで試す | アカウントの不正アクセス |
| ランサムウェア | データを暗号化して身代金を要求 | 業務停止、データの喪失 |
| フィッシング | 偽のメールやサイトで認証情報を盗む | 管理者アカウントの乗っ取り |
Webアプリで実装すべきセキュリティ対策
認証・認可
| 対策項目 | 内容 | 重要度 |
|---|---|---|
| パスワードのハッシュ化 | bcrypt等でパスワードを暗号化して保存 | 必須 |
| 二要素認証(2FA) | パスワード+SMSやアプリでの認証 | 推奨 |
| ログイン試行回数の制限 | 一定回数失敗したらアカウントをロック | 必須 |
| セッション管理 | セッションタイムアウト、再認証の実装 | 必須 |
| 権限管理(RBAC) | ユーザーの役割に応じたアクセス制限 | 必須 |
データ保護
- HTTPS(SSL/TLS)の強制 — すべての通信を暗号化。現在は必須要件
- データベースの暗号化 — 個人情報やクレジットカード情報は暗号化して保存
- バックアップの暗号化 — バックアップデータも暗号化し、安全な場所に保管
- 個人情報のマスキング — ログやテスト環境では個人情報をマスキング
入力値の検証
- バリデーション — すべての入力値をサーバー側で検証(クライアント側だけでは不十分)
- エスケープ処理 — HTML出力時のエスケープでXSSを防止
- パラメータバインディング — SQLインジェクション対策。プレースホルダを使用
- ファイルアップロードの制限 — ファイルの種類・サイズを制限、実行可能ファイルの拒否
インフラ・ネットワーク
- ファイアウォールの設定 — 不要なポートの閉鎖、IPアドレス制限
- WAF(Web Application Firewall)の導入 — 一般的な攻撃パターンを自動でブロック
- 定期的なアップデート — OS・ミドルウェア・ライブラリの脆弱性パッチの適用
- ログの監視 — 不審なアクセスをリアルタイムで検知
インフラのセキュリティについてはクラウド移行ガイドでも解説しています。AWS等のクラウドサービスを利用することで、インフラレベルのセキュリティ対策を大幅に強化できます。
発注者が開発会社に確認すべきセキュリティ要件
開発会社を選定する際に、以下のセキュリティ要件を確認しましょう。
開発時に確認すること
| 確認項目 | 具体的な質問 |
|---|---|
| セキュリティ基準 | OWASP Top 10への対策は標準で含まれていますか? |
| 脆弱性テスト | リリース前にセキュリティテスト(脆弱性診断)を実施しますか? |
| ソースコードレビュー | セキュリティ観点でのコードレビューは実施していますか? |
| ライブラリ管理 | 使用するオープンソースライブラリの脆弱性チェックはしていますか? |
| データの暗号化 | 個人情報の保存・通信時の暗号化方式は何ですか? |
運用時に確認すること
| 確認項目 | 具体的な質問 |
|---|---|
| アップデート | セキュリティパッチの適用頻度と対応速度は? |
| 監視体制 | 不正アクセスの監視・検知体制はありますか? |
| バックアップ | バックアップの頻度と復旧にかかる時間は? |
| インシデント対応 | セキュリティ事故発生時の連絡体制と対応フローは? |
| ログ保管 | アクセスログの保管期間と閲覧方法は? |
これらの確認事項は要件定義の段階で開発会社と合意しておくことが重要です。契約にもセキュリティ要件を明記しましょう。
セキュリティ対策にかかる費用の目安
| 対策 | 費用目安 | 頻度 |
|---|---|---|
| SSL証明書 | 無料〜年数万円 | 年1回更新 |
| WAF導入 | 月額数千〜数万円 | 継続 |
| 脆弱性診断(自動ツール) | 10万〜30万円 | 年1〜2回 |
| 脆弱性診断(専門家) | 30万〜100万円 | 年1回 |
| セキュリティ監視サービス | 月額5万〜20万円 | 継続 |
開発費用全体の中でのセキュリティ費用の目安はシステム開発の費用相場まとめを参考にしてください。補助金の活用でセキュリティ対策費用を抑えられるケースもあります。
セキュリティ事故への備え
事前の備え
- インシデント対応計画を策定しておく(誰が、何を、どの順番で対応するか)
- バックアップを定期的に取得し、リストアのテストも実施
- サイバー保険への加入を検討(年間数万〜数十万円)
- 従業員への教育(フィッシングメールの見分け方、パスワード管理)
事故発生時の対応フロー
- 検知・初動 — 異常を確認し、被害の拡大を防止(システムの隔離等)
- 影響範囲の特定 — どのデータが漏洩・改ざんされたかを調査
- 関係者への報告 — 経営者、顧客、個人情報保護委員会への報告
- 復旧 — バックアップからのリストア、脆弱性の修正
- 再発防止 — 原因分析と対策の実施
セキュリティ事故後のシステム復旧については保守契約に含まれているか事前に確認しておきましょう。
関連記事: WordPressのセキュリティ対策
まとめ
セキュリティ対策は、システム開発の「オプション」ではなく「必須要件」です。
- 中小企業こそサイバー攻撃のターゲットになりやすい
- 認証・データ保護・入力値検証・インフラの4層で対策する
- 開発会社にはOWASP Top 10対策と脆弱性診断の実施を確認
- 要件定義と契約書にセキュリティ要件を明記する
- インシデント対応計画とバックアップ体制を事前に整備
- セキュリティ費用は事故が起きた場合の損害額と比較して判断
「セキュリティ要件をどう定義すればいい?」「既存システムのセキュリティ診断をしたい」という方は、お問い合わせからお気軽にご相談ください。FUNBREWでは、技術選定の段階からセキュリティを考慮した開発を行っています。
この記事をシェア