Closed6
TerraformでAWSのバックエンドAPIのセキュリティを固める
概要
攻撃を受けたりするのを防ぐためにAPIのアクセスをパブリックからもう少し絞る
選択肢
- ALBでパスを使って制限を行う
- AWS WAFを使うように修正を行う
- フロントエンドから独自のHTTPヘッダーをつけるようにして、そのヘッダーがなければ、基本的に全般のアクセスを拒否(APIのアクセスを制限する場合にのみ有効)
といった選択肢が多分ある。
Nginxで制限する方法も考えたが、よく考えるとALBを噛ませている時点でアクセスが全てそこからになってしまうため、意味がない。
要件
- API配下のパスは制限したい
- 管理画面については社員がどこからでもアクセスできるようにしたい(日本国内とかには制限しても良いかも)
3
path指定
ALBによる制限
特定パスのIPアドレス制限はAWS WAFでも可能です。AWS WAFと比較するとAWS WAFの料金が不要である点や、固定レスポンスを利用できる点で優れています。制限したいIPアドレスが多い場合はAWS WAFが適している
これをterraformの設定で行うと良さそう
公式ドキュメント
ALBで制限する
日本国内のみにしたい
IPアドレスを使った制限をするしかないが
ここのサイトに並んでいる日本に割り当てられているアドレスの数を見ると、これをALBに設定するのはかなりきつい。
これやるなら素直にWAFを使った方が良さそうな気もする。
ALBで制限する
日本国内のみにしたい
IPアドレスを使った制限をするしかないが
ここのサイトに並んでいる日本に割り当てられているアドレスの数を見ると、これをALBに設定するのはかなりきつい。
これやるなら素直にWAFを使った方が良さそうな気もする。
↑設定する方法として一覧はこちらが良さそうだった。
なるほど。NOT条件が使えないのか。
このスクラップは2022/01/02にクローズされました