見出し画像

20200505_まなんだこと

一応お休み中ですけど。地域アクセス制御の方法について色々。

「FWポリシーべた書き以外にもっと他に楽な方法あるよな、GeoなんちゃらとかDNSの解決のまわりとか・・Route53もGeoルーティング的なのあったよな確か・・」くらいの淡い淡い認識だったので調べ直した。


基本、リクエストヘッダのsrcIPアドレス or 任意の値を見て制御。IPアドレスの取得元については、GeoIP DBもしくは各RIRが出しているIPアドレスDB。

1.ネットワーク側でできること

・FWポリシーで設定

FortiとかPaloだと地域/国指定ができて、自分でGeoIPリストを確認して更新して~をやらなくていいんですね。

が、checkpointとかjuniper※は見つからなかった・・アドレス移転情報に気を配って都度アップデートしないとってことですよね・・まさかGUIでいっこいっこやるなんてことは・・

GeoIP見てくれる製品はあるみたい。

cf. アップデートが追いついてないと何が起こるか


・DNSのGeoIP機能を使う

bind9.10~で実装されてるGeoIP機能:srcIPの国を見て応答する内容を変える機能を使って、特定の国からのリクエストのみ正しいIPを答えるようにさせればよくねという発想。・・・ただ、調べてる中でそういう使い方をしてるケースって全然出てこないので、あんまりよろしくないのかもしれない。

https://blog.apnic.net/2018/11/14/geoip-in-knot-dns-2-7/

cf. Route53のGeo Routingなら・・・


・CDN / WAF使う

Geoフィルタリング系の機能をつけているCDN/WAFは多いし金があるなら使えばいいと思う。確認したAWSのはGeoIP DBベースでやってる※1※2ので、自分でIPリストのメンテが不要。


2.サーバ側でできること

・IPアドレスを.htaccess / httpd.conf / iptables(firewalld) / hosts.allow(deny)に突っ込む、モジュールやプラグインを使う

無論、GeoIPリスト更新は自動的にやらないとしんどい。

https://www.linuxsecrets.com/3805-tcp-wrapper-block


いいなと思ったら応援しよう!