はじめに
実務で脆弱性対応を行ったのですが、脆弱性?(セキュリティ)の種類や一般的な対応方法が自分の中で理解しきれていないと感じたのでざっくりまとめました。
開発環境としては、AWS・Java(Spring Boot)を前提にしています。
フロントでも対策できる部分はありますが、ツールで編集できたりするので今回は統一性を意識して無効と考えています。
※個人でまとめたものになるので、誤りがある可能性は十分にあります。
参考
- 徳丸 浩 (2018/6/21) 「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」
- 松本 照吾, 桐谷 彰一, 畠中 亮, 前田 駿介 (2023/2/10) 「AWSではじめるクラウドセキュリティ クラウドで学ぶセキュリティ設計/実装」
- 齋藤 孝道 (2022/6/24) 「マスタリングTCP/IP 情報セキュリティ編 (第2版)」
- 株式会社一創 (2024/06/12) 「Spring Securityとは何か?その基本と重要性を解説」 https://www.issoh.co.jp/tech/details/2465/#Spring_Security-4
- 東日本電信電話株式会社 (2023/10/25) 「AWSの責任共有モデルとは?事業者とユーザーの責任範囲や必要な情報セキュリティ対策を解説」 https://business.ntt-east.co.jp/content/cloudsolution/column-463.html#section-5
セキュリティ構成
- 暗号技術
- 認証技術
- セキュリティプロトコル
- ネットワークセキュリティ
- Webセキュリティ
AWS
- 暗号技術
- AWS KMS
- AWS Certificate Manager
- 認証技術
- AWS IAM
- Amazon Cognito
- セキュリティプロトコル
- ネットワークACL
- セキュリティグループ
- AWS VPN
- ネットワークセキュリティ
- AWS WAF
- AWS Shield
- AWS VPC
- Webセキュリティ
- AWS Shield
- AWS Inspector
- AWS WAF
Java(Spring Boot)
- 暗号技術
- メッセージダイジェスト
- ソルト
- ストレッチング
- メッセージダイジェスト
- 認証技術
- Spring Security
- 認証
- Spring Security
- Webセキュリティ
- Spring Security
- 認可
- セッション管理
- CSRF(クロスサイトリクエストフォージェリ)対策
- CORS(クロスオリジンリソースシェアリング)設定
- HTTPレスポンスヘッダー
- バリデーション
- ディレクトリ・トラバーサル
- OSコマンド・インジェクション
- DoS
- XSS
- Content-Typeの設定(Apache Tika)
- ファイルアップロードのXSS
- プレースホルダの利用
- SQLインジェクション
- Spring Security
さいごに
ログの取得や検知・診断などを考えると上記だけでは足りないです。
詳しい使い方については、参考資料か公式ドキュメントを参考にしていただけたらと思います。