ユーザー ID を iptables ルールに渡すように IPSec を構成する

ユーザー ID を iptables ルールに渡すように IPSec を構成する

こんにちは、私はこの分野について非常に新しい内容なので、非常に具体的に説明する必要があります。

VPNを使用できるようにCentOSにIPSecを設定しました。ユーザーIDは/etc/ppp/chap-secrets、主に私が使用する設定スクリプトで動作するように保存されます。

では、ユーザーに基づいて特定のWebサイトをブロックするいくつかのルールを作成したいと思います。私は試した:

iptables -t nat -A PREROUTING  -s badsite.com -m owner --uid-owner 100 -i eth0 -p tcp -s --dport 80 -j REDIRECT --to-destination http://myserver.com/blockedsitewarning

ここで、100は私の子供のUnixアカウントIDです。ただし、これはchap-secretsアカウントがアカウントから完全に分離されているため機能しませんpasswd

同じ認証システムとユーザーIDを使用するようにIPSecおよび/またはiptablesをどのように設定しますか?抽象化やマニュアルページリンクではなく、実際の設定ファイルを公開します。ありがとうございます! ! !

ベストアンサー1

あなたはこれを非常にうまくできず、おそらくとにかく動作しません。

「--目的地に到達」理由http://myserver.com/blockedsitewarning「サイトではなくURLであり、iptablesURLについて何もわからないため、機能しません。TCP / IPアドレスとポートレベルで動作します。できる最善の方法は、「myserver.com」にリダイレクトすることです。

また、一部のウェブサイト(google.com、Microsoft、トラフィックの多いポルノサイトなど)には複数のIPアドレスがあるか、いわゆる「CDN」(コンテンツ配信ネットワーク)を介してアクセスされます。 iptablesにgoogle.comをブロックするように指示するとiptables解決します。その瞬間google.comの住所を入力してからその番号を使用してください。したがって、google.comのDNSシステムから返されたアドレスをブロックします。クエリの特定の瞬間にそして、おそらくしばらくすると同じクエリが返されます。その他与えられたルールに含まれていないアドレスです。

予防するにはどうすればよいですか?ウェブサイト全く違うんですね。

  • ワンインストール透明プロキシホストとURLについてのすべてを知り、iptablesポート80と443をlocalhostにリダイレクトするために使用されるSquidと同じです(以前のチュートリアルを見つけることができます)ここしかし、Googleはあなたの友達です。)今、すべてのトラフィックが経由してiptables転送されますsquid
  • イカを設定してみてください拒否リスト- あなたはそれを使用することができますイカガードしかし、「子供がブラックリスト」を投稿する組織もあることを知っています。
  • Squidに拒否されたすべてのアクセスをコンピュータのエラーページまたはローカルサイトにマッピングするように指示します。

おすすめ記事