WEBサービスのセキュリティ対策とAWSでできる対策

この記事について

本記事は、2023年9月に社内で実施した勉強会の内容を基に、社外向けに再編集したものです。
記載の内容は執筆当時の情報であり、現在の仕様やベストプラクティスと異なる可能性があります。
実装にあたっては、必ず最新の公式ドキュメントをご確認いただくようお願いいたします。

概要

Webサービスのセキュリティ対策と、AWSでの実現方法について解説します。

セキュリティ対策

  • Firewall
  • IDS(不正侵入検知システム)/IPS(不正侵入防御システム)
  • WAF(Web Application Firewall)
目次

Firewall

ネットワークを利用した攻撃への防止システム。

  • ネットワーク通信の発信元や通信情報の不正を遮断
  • サイバー攻撃の遮断

IDS(不正侵入検知システム)/IPS(不正侵入防御システム)

OSやサーバーの脆弱性をついてサーバー内のファイル等へアクセスされることへの対策。

IDS(不正侵入検知システム)は、不正アクセスを検知した際に通知を行います。
IPS(不正侵入防御システム)は、不正アクセスを検知した際に通知と自動ブロックを行います。

システムの運用方針によって、ブロックして問題がない場合はIPSを、まずは検知のみで対応したい場合はIDSを導入するなど、運用設計に応じた選択が必要です。

また、IDSとIPSを組み合わせて運用するケースもあります。

  • IDSは通知があった際に、管理者が手動で対応を行う必要がある
  • IPSは自動的に遮断を行うため、リアルタイムで防御が可能
  • 誤検知が発生した場合、IDSでは特に影響はないが、IPSでは正常な通信が遮断されるリスクがある

悪意のないファイルのサーバー内での作業、システム上のファイル書き込みなどが検知対象となることもあります。

参考:
NTTコミュニケーションズ, 「不正アクセスを検知する『IDS』と検出と遮断をする『IPS』」(2023年9月閲覧)
https://www.ntt.com/business/services/network/internet-connect/ocn-business/bocn/knowledge/archive_14.html

Okta, 「IDSとIPSとは:定義と比較、そして両方が必要な理由」(2023年9月閲覧)
https://www.okta.com/jp/identity-101/ids-vs-ips/

WAF(Web Application Firewall)

Wabアプリケーションの保護に特化した対策。

防御可能な攻撃は多岐にわたります。

WAFで防ぐことのできる攻撃(一例)

SQLインジェクションWEBサイト上で不適切なSQLを入力し、想定外の動作を引き起こす
XSS(クロスサイトスクリプティング)WEBサイト上で悪質なスクリプトが実行され、情報漏洩を引き起こす
DDos大量アクセス等で処理負荷を与え、サーバーダウンなどを狙う
バッファオーバーフロー許容量以上のデータを送り、サーバーダウンなどを狙う
IP制限特定のIPからのアクセスのみ許可する
IPブロックアクセス数が一定数を超えたIPアドレスを遮断する
地理的一致特定の国からのアクセスのみ許可する

AWSでできる対策

これまでAWSでのセキュリティ対策は外部サービスに依存するケースが一般的でしたが、近年ではAWS自身が提供するセキュリティ機能が大幅に拡充され、多くの対策をAWS環境内で完結できるようになっています。

  • AWS Network Firewall:2021年3月より東京リージョンで利用可能
  • AWS WAF(Web Application Firewall):2018年12月より東京リージョンで利用可能

AWS Network Firewall

名前は「Firewall」ですが、実際にはIDS/IPS(不正侵入検知・防御)レベルの対策まで実施可能なサービスです。

ルールを柔軟に設定でき、その中にはIDS/IPSの検知ルールも含まれています。
さらに、AWS SNS(Simple Notification Service)と連携することで、検知時に自動で通知を送信することもできます。

参考:
DevelopersIO , のんピ, [アップデート] AWS Network Firewall でAWSが提供するマネージドのSuricata互換のIPSルール「AWS Managed Threat Signatures」が使えるようになりました(2023年9月閲覧)https://dev.classmethod.jp/articles/aws-network-firewall-threat-signatures/

DevelopersIO , 枡川 健太郎, 公開されている最新のIPS/IDSルールをAWS Network Firewallに自動取り込みできるようにするハンズオンやってみた(2023年9月閲覧)
https://dev.classmethod.jp/articles/aws-network-firewall-handson_autodownload/

DevelopersIO , のんピ, Network Firewallで Suricata互換のIPSルールを試してみた(2023年9月閲覧)
https://dev.classmethod.jp/articles/networkfirewall-suricata/

AWS WAF

AWSでは、Webアプリケーションファイアウォール(WAF)を設定することができます。
ルールの自由度が高く、柔軟なカスタマイズが可能です。

また、AWS公式が提供するルール群も別料金にて購入が可能です。

参考:
DevelopersIO , hiroyuki kaji, [アップデート] AWS WAF向けAWS製のManaged Rulesが出ました(2023年9月閲覧)
https://dev.classmethod.jp/articles/aws-waf-v2/

AWSのマーケットプレイスで有志によるルール販売もあります。

参考:
AWS Marketplace
https://aws.amazon.com/marketplace

Network FirewallとWAFを入れた構成図(イメージ)

Network FirewallWAF
紐づけ先VPCCloudFront
Application Load Balancer
API Gateway

構成図イメージ

参考:
Zenn, ShigeruOda, 【AWS Network Firewall】AWSの基礎を学ぼう おさらい(2023年9月閲覧)https://zenn.dev/shigeru_oda/articles/72a645793fd9fe607814

Amazon Inspector

Amazon Inspectorは、EC2・ECR・Lambdaの脆弱性診断を行うサービスです。
ソフトウェアの既知の脆弱性や外部からの攻撃リスクにさらされていないかを検出します。

参考:
AWS公式, Amazon Inspector
https://aws.amazon.com/jp/inspector/?nc=sn&loc=0

AWS マネジメントコンソール画面へのIP制限

少し趣が変わりますが、AWSマネジメントコンソールへのアクセスにも、IP制限を設けることが可能です。

IAMユーザーごとにアクセス可能なIPアドレスを制限する設定ができるようです。

参考:
DevelopersIO , 千葉淳, [AWS]マネージメントコンソールにIP制限をしつつ、一部利用できない機能も利用できるようにする(2023年9月閲覧)
https://dev.classmethod.jp/articles/20170215_amc-sourceip-restriction/

まとめ

セキュリティ対策として実施できることは非常に多岐にわたりますが、どこまで導入するかは運用コスト(インフラコストや人件費)とのバランス次第という印象です。
実際、WAFのみで十分とする意見も多く見られます。
最適な構成はシステムの規模や特性にも左右されると思いますが、もし一般的なベストプラクティスがあるならぜひ知りたいところです。

役に立ったらシェアしていただけると嬉しいです
  • URLをコピーしました!
  • URLをコピーしました!
目次