https をブロックできないのはなぜですか?

https をブロックできないのはなぜですか?

iptables ですべての https トラフィックをブロックできないのはなぜでしょうか?

私は試した:

OUTPUT --dport 443 -j DROP

さらに:

OUTPUT --sport 443 -j DROP

どれも機能しません。https ウェブページは引き続き完全にアクセスできます。なぜでしょうか? 今回はどのような PEBKAC に陥ってしまったのでしょうか?

答え1

ついに。そう、PEBKAC でした。

解決策は次のように書くことです:iptables -I OUTPUT -p tcp --dport 443 -j DROP

私が実行していた方法では、エラーが発生しました:unknown option "--dports"

コマンドでルールを追加したのでiptablesはなく、起動時に iptables によって読み取られるファイルにルールを追加したので、私はそれを見ませんでした。愚かでした。

答え2

これを試して

次のルールを使用して、iptables ですべての https ベースのサイトへのアクセスをブロックできます。

iptables -t nat -I PREROUTING -m tcp -p tcp --dport 443 -j DROP

特定のサイトをブロックするには、-d オプションを使用してホスト名を指定します。

iptables -t nat -I PREROUTING -m tcp -p tcp -d www.example.com --dport 443 -j DROP

これを試して

iptables -A OUTPUT -p tcp --dport 443 -j DROP

関連情報