🛡️

【保存版】受託案件で“手間をかけずに”守れるアクセス制限 — IP制限以外の実践ガイド

に公開

受託開発でよく聞く要求である「セキュアにしたいけどユーザーや運用の手間は増やしたくない」 や、よくある事情として「テレワークや現場の通信環境が不安定でIP制限が使えない」しかしながら「顧客が固定IPを持っていない」──
そんな要望に応える、IP制限より現実的で効果的な選択肢を比較・解説します。

弊社ワンフレームでは過去10数年間受託開発を行ってきた豊富な経験と確かな技術力でシステム開発のお手伝いを行っており、そこでよく質問される内容を記事化してナレッジ共有させて頂いています。
※(この記事は攻撃手順の具体的提示はしません。攻撃者視点はあくまで防御設計のための“狙いどころ”に留めています)


セキュリティレベル別セキュリティ対応手段一覧

次の表は「一目でわかる」比較表です。導入コスト・管理/利用者負担・セキュリティレベルに加え、攻撃者が狙うポイント(要約)主な対策も載せています。
時間がない人はこの表をチェックするだけでもOK!詳細が知りたい方は後半も是非お読みください。

手段 セキュリティ 管理者負担 利用者負担 導入コスト 攻撃者が狙うポイント(要約) 主な対策 おすすめ度
Basic認証(Basic / htpasswd) 総当たり/辞書攻撃、TLS未使用で傍受 HTTPS強制、レートリミット、強パスワード
パスワード強化 + アカウントロック リセット機能/ソーシャルエンジニアを狙う パスワード強度、再利用検出、通知、異常検知 ★★★
ワンタイムパスワード(メール / SMS / TOTP / プッシュ) フィッシング/SMSはSIMスワップ、メールはメール乗っ取り TOTPやプッシュ認証推奨、リカバリ慎重設計、監査 ★★★★
クライアント証明書(SSLクライアント認証) 最高 証明書・秘密鍵窃取、端末改竄 秘密鍵を安全に保管(TPM等)、CRL/OCSPで速やかに失効 ★★★
VPN(社内限定公開) 最高 VPN資格情報/鍵窃取、脆弱設定の悪用、内部横移動 MFA+証明書、マイクロセグメンテーション、接続ログ監視 ★★★★

各対策手段の詳細内容

1. Basic認証(基本認証 / htpasswd)

概要

Webサーバ(nginx/Apache)レベルで認証をかける最も手軽な方法。開発環境や限定公開の一時保護に多用されます。

メリット / デメリット

  • メリット:とにかく簡単。設定時間が短い。
  • デメリット:ユーザー管理が粗い。攻撃に対する耐性は低い(TLS必須)。

セキュリティ観点(ハッカー視点)

  • 狙われ方:辞書攻撃・ブルートフォース、通信が保護されていない場合の傍受。
  • 守るべきポイント:試行回数の制限・TLSの強制。

管理者の運用と手間

  • パスワード発行/削除(退職者対応)。
  • TLS対応とログ監視を必須で行うこと(失敗ログの監視)。

利用者の負担

  • ブラウザの認証入力、場合によっては毎回入力が求められる。

導入チェックリスト

  • HTTPSを常に強制する(HSTS推奨)。
  • IP別・アカウント別のレートリミット導入。
  • 定期的なパスワード変更や強度チェックを通知。

2. パスワード強化 + アカウントロック(ポリシー+ロックアウト)

概要

通常のログインに強度ポリシーと試行回数制限を加えたもの。ほとんどのサービスで最初に取り入れやすい強化策。

メリット / デメリット

  • メリット:低コストで導入可能、UXの延命がしやすい。
  • デメリット:パスワードリセットが攻撃対象となること、ユーザーのパスワード管理問題。

セキュリティ観点(ハッカー視点)

  • 狙われ方:外部で漏れたパスワードの横展開、リセット機能の悪用。
  • 守るべきポイント:リセットフローの強化、再利用検出。

管理者の運用と手間

  • ポリシー設計(桁数・複雑性・有効期限)。
  • ログの監視と、ロック発生時の問い合わせ対応プロセス整備。

利用者の負担

  • より強いパスワードの利用(パスワードマネージャー推奨)。

導入チェックリスト

  • パスワード強度チェック(辞書・過去漏洩リスト照合)。
  • ログイン試行の異常検知・通知(新しい端末や場所でのログイン時)。
  • 多要素化を将来的に導入するための設計(MFA対応のためのユーザープロパティ)。

3. ワンタイムパスワード(OTP: メール / SMS / TOTP / プッシュ)

概要

二要素認証の最も一般的な形。TOTP(アプリ生成)やプッシュ通知(承認型)が推奨されます。

メリット / デメリット

  • メリット:パスワード漏洩だけでは突破できない。SaaSで簡単導入可能。
  • デメリット:SMSは脆弱(SIMスワップ)、メールはメールアカウントの安全性に依存。利用者に端末(スマホ)が必要。

セキュリティ観点(ハッカー視点)

  • 狙われ方:フィッシングでOTPを騙し取る、SMSの乗っ取り。
  • 守るべきポイント:フィッシング耐性の高いフロー、セカンドファクタの安全な選択。

管理者の運用と手間

  • MFA導入のための実装(認証フロー、バックアップコード、再発行手順)。
  • ユーザーの端末変更や紛失時の本人確認フロー整備。

利用者の負担

  • ログイン時にスマホを使う手間(TOTP/プッシュ)。初期設定が数分必要。

導入チェックリスト

  • TOTPアプリ(Google Authenticator等)やプッシュ認証を第一選択に。
  • SMSは補助手段に留め、重要操作はハードウェアトークンも検討。
  • リカバリ用のバックアップコードは発行回数制限・厳格管理。

4. クライアント証明書(SSLクライアント認証)

概要

アクセスにクライアント側証明書を要求する方法。サーバ側で証明書を検証し、証明書を持たない端末は接続不可にします。

メリット / デメリット

  • メリット:非常に強固。証明書がなければまず入れない。
  • デメリット:発行・配布・失効管理が重い。ユーザービリティが落ちる。

セキュリティ観点(ハッカー視点)

  • 狙われ方:秘密鍵や証明書ファイルの窃取、端末乗っ取りでの悪用。
  • 守るべきポイント:鍵の安全管理、失効手続きの即時化。

管理者の運用と手間

  • CAの設計(内部CAか外部CA利用)、証明書発行フロー、CRL/OCSP運用。
  • 証明書失効や端末管理(MDM連携)を含めた運用設計が必須。

利用者の負担

  • 証明書インストール(ブラウザまたはOSレベル)、複数端末での手間。

導入チェックリスト

  • 秘密鍵は端末のセキュアストレージに保存(TPM/Keychain)。
  • 証明書の自動更新・失効プロセスを整備。
  • 端末管理(MDM)との連携を検討。

5. VPN接続(社内限定公開型)

概要

サービス自体をインターネットに公開せず、VPN経由のみアクセス可能にする方法。企業内部利用や機密運用に向きます。

メリット / デメリット

  • メリット:外部からの直接アクセスを防ぎ、社内ネットワークだけに公開可能。
  • デメリット:VPNの運用・サポート負担が大きく、接続障害が業務停止につながる。

セキュリティ観点(ハッカー視点)

  • 狙われ方:VPN認証情報や鍵の窃取、脆弱なVPN設定の悪用、内部横移動。
  • 守るべきポイント:接続にMFAを設ける、ゼロトラストでの細かいアクセス制御。

管理者の運用と手間

  • VPNサーバの運用、ユーザー証明書や認証の管理、ログ監視、脆弱性対応。
  • マイクロセグメンテーションや最小権限設計の運用。

利用者の負担

  • VPNクライアントの利用、接続作業。外出先やモバイルでは接続が煩雑になることも。

導入チェックリスト

  • VPNにもMFAを必須化。
  • 接続ログの可視化と異常検知。
  • サービスをインターネットに置く場合は、VPN越しでもゼロトラスト的なアクセス制御を実装。

じゃあどの程度のレベルを採用すべきか?

で、実際の業務で扱う情報の「感度」と「ユーザー利便性」を基準に、どの対策を採るべきかって難しいと思います。
過去の経験から大まかな尺度を整理します。

情報の感度(例) 推奨する最小レベル 追加推奨(余裕があれば) 理由
低(公開に近い/ログインは利便性優先) パスワード強化 + HTTPS ワンタイムパスワード(TOTP) 低コストでUXを損ねず最低限の保護
中(顧客基本情報、取引履歴等) パスワード強化 + ワンタイムパスワード(TOTP/プッシュ) クライアント証明書(特に管理者) 漏洩リスクと対策のバランスを重視
高(個人特定・機密データ) VPN or クライアント証明書 + MFA IP制限(可能なら) + ハードウェアトークン 高度な保護(多層防御)を必須とする
極秘(法的規制・金融・医療) ゼロトラスト設計(MFA+証明書+ログ監査) 専用ネットワーク、HSM、定期監査 法令準拠・ログ保存・厳格なアクセス管理が必要

(おまけ)多層防御(Defense in Depth)の実例構成

  1. TLS(HTTPS)+WAF(Web Application Firewall) — まず通信と一般的な攻撃の緩和。
  2. 認証基盤強化
    • 一般ユーザー:パスワード強化 + TOTP/プッシュMFA
    • 管理者:クライアント証明書+ハードウェアトークン
  3. ネットワーク制御
    • 社内管理用機能はVPN経由のみ or Private subnet
    • 可能ならIP allowlist(オプション)
  4. 監視と検知
    • ログの集約(SIEM)と異常検知ルール(多失敗、通常と異なる地理的ログイン等)
  5. 運用対策
    • 証明書管理(有効期限・失効)・ユーザーのライフサイクル管理(入退社)
    • 定期的な脆弱性スキャン・依存ライブラリ管理
  6. インシデント準備
    • 侵害対応手順、リカバリ手順、連絡先一覧

例:中規模の受託サービス向け「現実的な多層構成」

  • フロント:HTTPS + WAF
  • 公開ログイン:パスワード(強制)+TOTP
  • 管理画面:クライアント証明書 + 管理者MFA
  • 管理者の操作ログをS3/ELKに保存し7年保存(要件により調整)

IP制限以外でもセキュアにする方法はある

受託案件では「セキュアにしたいが、顧客/ユーザーの手間は増やしたくない」という要望が非常に多いです。IP制限が最も強力に見えますが、現実の業務や通信環境(固定IPなし、モバイル接続など)では柔軟性に欠けます。現実的でバランスの良い選択肢は、まずは**パスワード強化+TOTP(MFA)**を全ユーザーに提供し、管理者や重要操作にはクライアント証明書やハードウェアトークンを組み合わせることです。これだけで攻撃リスクは大きく下がり、運用負担も許容範囲に収まります。


用語補足

以下は記事中に出てくる「技術っぽい言葉」を簡単に説明したものです。実務で判断するときの参考にしてください。

ブルートフォース攻撃(Brute-force attack)

たくさんのパスワード候補を片っ端から試して正しいものを見つける方法。「力任せに試す」イメージです。対策は「試行回数を制限する」「強いパスワードを要求する」など。

辞書攻撃(Dictionary attack)

辞書に載っている単語やよく使われるパスワード(例: password123)を順に試す攻撃。人が考えるような単語を優先して試すので、単純なパスワードが危険です。

フィッシング(Phishing)

本物そっくりの偽サイトや偽メールで、ユーザーのパスワードやワンタイムコードを騙し取る手口。見分けるのが難しいため、MFAや正規のアプリ確認が有効です。

SIMスワップ

携帯電話番号を不正に別のSIMカードに移してしまい、SMSで届く認証コードを受け取れるようにする乗っ取り手法。SMS認証だけに頼るとリスクになります。

TOTP(Time-based One-Time Password)

スマホアプリ(例:Google Authenticator)が表示する「30秒で変わる数字」。ネット接続不要で、ワンタイムコードとして使います。SMSより安全視されます。

プッシュ認証(Push認証)

スマホに「ログインしていいですか?」という通知が届き、ユーザーが「承認/拒否」する方式。入力の手間が少なく、フィッシングに強い設計も可能です。

ハードウェアトークン

小さな物理デバイス(カードやUSB型)でワンタイムコードを生成したり、認証に使うもの。端末紛失時の管理をしっかりする必要がありますが、強力です。

クライアント証明書

利用者の端末にインストールする「電子の身分証明書」のようなもの。証明書がない端末はそもそも接続できないので非常に強い防御になりますが、配布・管理が手間です。

秘密鍵(Private key)

証明書や暗号で使う、非常に重要な「秘密のデータ」。外に漏れると本人になりすませることができるため、必ず安全に保管します(端末内の安全領域に保存するなど)。

CRL / OCSP(証明書失効の仕組み)

発行した証明書を「無効にする(失効する)」ための仕組みです。端末や証明書を紛失したときに、その証明書を使えないようにします。運用を怠ると、盗まれた証明書が使われ続ける恐れがあります。

レートリミット

短時間に同じ操作(ログイン試行など)が何度も行われるのを制限する仕組み。不正な大量試行を止めるのに有効です。

マイクロセグメンテーション

ネットワークを小さく分けて、必要な通信だけを許可する考え方。ある領域に侵入されても被害を小さく抑えられます。

ゼロトラスト(Zero Trust)

「社内だから安全/外部だから危険」といった前提を捨て、すべてのアクセスを常に検証する考え方。多層的な認証と細かい権限制御が特徴です。

WAF(Web Application Firewall)

ウェブアプリへのよくある攻撃(不正な入力など)を遮断するゲートのような仕組み。最初の防波堤として有効です。

SIEM / ログ監視

ログ(誰がいつ何をしたかの記録)を集めて解析し、異常を検出する仕組み。問題が起きたときに早く気づき、対処するために重要です。

ラテラルムーブ(横移動)

一度侵入された攻撃者が、侵入先から社内やシステム内を順に移動して別の資源にアクセスする動き。VPNやネットワーク分離で対策します。

HSM / TPM(鍵を守る専用装置)

暗号の鍵を安全に保つための専用ハードウェア。極めて重要な鍵を守る用途で使われます(大規模・高セキュリティ向け)。

oneframe

Discussion