
基本的に、X と Y という 2 台のマシンがあります。
ufw を使用して、マシン X の HTTP ポート 80 から「http:// <IP-of-Y-Here> /AFolder/」をブロックします。
簡単に言えば、これは ufw を使用して (ひどく) 完了できます。
sudo ufw deny out 80
しかし、次のようなことは可能でしょうか:
ufw deny from (X IP ADDRESS) port 80 to (Y IP ADDRESS)/AFolder
それで私の要件は満たされますか?
答え1
いいえ、ufw を使用して、Web サーバー上の特定のページへのアクセスをブロックし、他のページへのアクセスはブロックしないということはできません。
ufwは、iptables
を制御するネットフィルターLinux カーネルに組み込まれているファイアウォール。これは通常のファイアウォールであり、ヘッダーに基づいてパケットをフィルタリングするために使用できます。
IPアドレスとポートはパケットのヘッダーに含まれていますが、どのウェブ文書取得される情報は、接続が確立された後にパケット本体で送信されます。
ご存知のとおり、特定の Web サイトへのアクセスをブロックすることは可能です (ただし、通常、誰かがブロックを回避するのは非常に簡単です)。また、同じサーバー上の他のページへのアクセスを許可しながら、特定のページをブロックする粒度を提供するユーティリティもあります。ただし、ご質問の件についてお答えすると、ufw はこれを実行しません。
答え2
を使用すると、サーバー上のポートへのアクセスをブロックできますufw
。man ufw
には多数の例がありますが、有効になっていると仮定すると、次のようになります。
sudo ufw deny out to <<ip address>> port 80
これを自分のサーバーでテストしたところ、うまくいきました。ポート 443 は SSL に使用されるため、これもブロックする必要があることに注意してください。
覚えておいてください、これにより、このサーバーのポート 80 全体がブロックされます。
サブフォルダーに基づいてフィルタリングを開始する場合 (一部のパスは許可し、他のパスは許可しない)、リクエストをプロキシする何かが必要になります。ファイアウォールはコンテンツではなく、接続を確認します。ファイアウォールにとって、/subfolder へのリクエストは /a-different-subfolder へのリクエストと同じです。
つまり、あなたが探しているのは、トラフィックの一部を遮断できる透過プロキシです。ペアレンタルコントロールソフトウェアは、おそらく、素早くセットアップできる最良の選択肢です。 のようなものはdansguardian
確かに人気があったので、試してみる価値があると思います。詳細については、Wiki を参照してください。