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