nginxのフィルタをすり抜けてくる攻撃

CIDRチェックをアプリ側にも実装

Posted by めろん on 2024/11/27 13:27

nginxのIPフィルタをすり抜けてくる

nginxに海外からのIPを制限している設定をいれているのですが、すり抜けてくる
ものが稀にあるので頭を悩ませてました。

反映する順番がnginxの場合はあるのですが、allowで設定しているIPアドレス以外は
全てdenyにしているのに入ってくるんですよね。

攻撃してきているものは結局最後の最後でははじき返しているのですが、
そもそもアクセスさせたくないし見せたくない欲求があり、コードにいれることに
しました。

tornedoで作ってはいますが、ベースのアクセス部分に以下のようなコードをいれました。
gCIDRはリストなのですがCIDRで指定された許可リストです。
見直してみましたが、変なところは見つかっていません。
しかしこのままでは困るので、サーバアプリ側にも制限を実装することにしました。
ダブルチェックみたいな感じですが、よりガチガチになるでしょう。
いたちごっこだ゛とは思いますが。

ローカルPCからのアクセスは許可するようにしてないと弾かれるので注意が必要です。
これで様子を一旦みてみたいと思います。

        for checkCIDR in gCIDR:
            if len(checkCIDR) <= 0:
                break
            if ipaddress.ip_address(RemoteIP) in ipaddress.ip_network(checkCIDR):
                return True
        return False