- Squid + DG +何らかの方法でリストの更新を設定します。これは法務省の禁止リソースのリストと相関するはずです
- ワークステーションソリューション(NetPolice、iCensorなど)
- ゲートウェイとして機能するさまざまな「ウィンドサーバー」ソリューション
私にとって魅力的なものはありませんでした。 低電力サーバーと保護が必要な50台のワークステーションを使用して、Unixのようなソリューションを使用したいと思います。 明らかに、Squidは不可欠です。 確立された要件を満たすソリューションの検索が開始されました。 その結果、UserGateと呼ばれるソフトウェアを製造するあまり知られていないEntensys社から興味深いオプションが見つかりました。 コンテンツフィルタリングソフトウェアソリューションは、UserGate WebFilterと呼ばれます。 過去の経験、インターネットトラフィックが金よりも高価で、プロキシが単に必要だった年の経験に基づいて、UserGateはバグやリソースを集中的に使用しているため(同じ過去の状況において)好まれませんでした。製品がプロプライエタリであるという事実にもかかわらず、それをテストすることにしました。
パート0.製品の機能
。私にとって最も重要な機会をリストします。
- DNSとHTTPの2方向のフィルタリング
- ページの形態学的分析
- 自動的に更新されたドメインのブラックリストとホワイトリストの可用性、形態学的ベース
- すてきなこと-検索クエリの結果をフィルタリングする
- Webインターフェイスを介した上記のすべての柔軟な構成
- そして最も重要なこと:法的要件の遵守
価格や機能の完全なリストを含む他のすべての情報は、Entensys Webサイトで入手できます。
パート1.インストールの準備
システム要件については、製造元が主張するとおり、ソフトウェアは次のOSで動作します。
- Ubuntu Server 12.04 i386、amd64
- Ubuntu Desktop 12.04 i386、amd64
- Debian 6、7 i386、amd64
- CentOS 6 i386、amd64
最小ハードウェア要件、最大100ユーザー:Intel Atom D2500 1.86GHz、2Gb RAM、HDD 500Gb
そしてもちろん、ICAPクライアントとクライアントマシンのサポートで構築されたSquidプロキシサーバーは、プロキシを使用するように事前に構成されています。 Squidバージョンの要件は指定されていませんが、直感的には少なくとも3.0で十分であることが示唆されています。
実際、次のものがあります。IntelCore2Duo、Debian 7がボードにインストールされた4GB RAM、および透過モードのSquid3。
パート2.インストール
Entensysには独自のリポジトリがあるため、インストールは簡単ではありません。
sudo apt-get install webfilter3
初期設定は次のとおりです。
- serverip:4040のWebインターフェースに入ります。
- 「メイン」ノードのタイプを選択します
- パスワードを指定して、「インストール」をクリックします
- ドキュメントの指示に従ってSquidを構成します
Webfilterは必要なすべての構成ファイルを生成し、デーモンを実行します。
インストール後すぐに、リスニングポートの数に驚かされましたが、私の状況では、フィルターテーブルのINPUTチェーンにDROPポリシーがあるため、これは特別な脅威にはなりません。 リッスンされたこのポートヒープのすべてで、1344(ICAPサーバー)、4040(Webインターフェイス)、10053(DNSクエリのバックエンド)が区別されます。
新しいソフトウェアをローカルインフラストラクチャに適応させるプロセスで、このような機能に遭遇しました。メインのwebfilter3デーモンに加えて、initスクリプトwebfilter3_rulesもあります。 HTTPトラフィックのリダイレクト。 自分でファイアウォールを設定した私(偏執病)にとって、iptablesテーブルへの干渉は単に受け入れられませんでした。したがって、
sudo /etc/init.d/webfilter3_rules stop sudo insserv -r webfilter3_rules
ここでの質問は、着信DNS要求をフィルタリングする方法です。 ポート53から10053へのiptablesを介したリダイレクトは、論理的なようです。独自のDNSレコードを持たず、すべてのDNSトラフィックが暗黙的に別のサーバーに転送される場合、このソリューションは最適です(またはwebfilter3_rulesをオンのままにします)。 / etc / hostsとdnsmasq configに静的エントリがあり、さらにdnsmasqを操作するための特別なオプションがありました。 したがって、私は次のことを行うことにしました。
#/etc/dnsmasq.conf no-resolv server=<server-ip>#10053 // ip , .
この構成では、dnsmasqは、DNSフィルターに応答できない要求をリダイレクトします。
パート3.セットアップ
フィルターは、Webインターフェースを介して構成されます。 設定の詳細はすべてドキュメントに記載されています。 簡単な最小セットアップアルゴリズムは次のとおりです。
- ユーザーグループを追加します。 使用済みリストをカスタマイズします。 私の場合、すべての組み込みリストが使用されました
- ユーザーを追加します。 次の承認メカニズムが利用可能です。
- ip
- IP範囲
- ログイン:RADIUSサーバー経由のパスワード
- フィルタリングルールを作成します。
- 最も厳しいフィルタリングの場合、ルールロジックは「OR」である必要があります
- 禁止されるサイトのカテゴリを選択します(ポルノや暴力、詐欺サイトなど)
- ページのコンテンツを分析するときに考慮される形態のカテゴリを選択します
- 個々のルールの作業スケジュールを設定します。 (「OR」ルールのロジックの場合、すべての日を空のままにするのが論理的です。そうでない場合、ルールはマークされた日のリクエストによってトリガーされます)
- ユーザーまたはグループの設定で作成されたフィルタリングルールをアクティブにします
- ページをブロックする場合にユーザーがリダイレクトされるページのアドレスを変更します
- ルールを確認します。
- メニュー「URLを確認」に移動します
- 検証済みアドレスとしてpornhub.comまたはpornolab.netを使用します
- プッシュチェック
- 正しく構成されている場合、結果は次のようになります。
「ルールでブロック」フィールドの空でない値は、ルールが有効で機能していることを意味します
最小限の設定が行われ、フィルタリングを完全に機能させるのに十分です。ドキュメントを使用して、独自のニーズに合わせてフィルタリングを構成します。
パート4.テスト
スピード
自然な質問:「どのくらいフィルタリングするとサイトの読み込みが遅くなりますか」 最初は、さまざまなサイトのダウンロード速度をテストおよび比較し、結果を表で提供したかったのです。 Chromeに組み込まれている開発者ツールを使用して測定が行われました。 フィルターなしでロードする場合、10個の要求に基づいて平均ロード時間を計算できた場合、フィルターの下ではロード時間は既に非常に大きく変動しており、場合によっては100から500ミリ秒であったため、このような比較分析は機能しないと判断しました。 実際には、ロード時間が増加しているので、私が何とかキャッチできたのは3回です。 ただし、高速インターネットでは、100ミリ秒と300ミリ秒の差は目に見えません。200ミリ秒と600ミリ秒の差はわずかにはっきりしており、あまり不快感を感じることはありません。 一般に、主観的に、サイトはすばやく読み込まれます。
フィルタリング
UserGate WebFilterのフィルタリングは素晴らしいです。 禁止されたドメインのリストは非常に広範囲です。 私がアクセスしようとした「悪い」サイトのほとんどは、ドメインのリストによって正確に破棄されているため、問題は形態素解析にさえ到達しません。
形態素解析に関しては、すべてがここでも非常に優れています。 テストとして、私は法務省によって承認された過激派資料のリストにあるサイトにアクセスしようとしました。 正常に動作します。 それにもかかわらず、不適切なコンテンツをスキップするケースもありましたが、その数はゼロになる傾向があります。
耐障害性
この記事の執筆時点では、サーバーは1か月以上稼働しており、webfilterデーモンもサーバー全体も再起動する必要はありませんでした。 ピーク時に、HTTPトラフィックは最大8 Mb / sの速度で長時間サーバーを通過します。 グリッチ、フリーズ、その他の誤動作については、ユーザーは不満を言いません。
おわりに
このソフトウェアでの作業は、非常に快適な体験を残しました。 宣言された機能はすべて正常に機能しています。 ソフトウェアの低コスト(たとえば、年間ライセンスの50%が13,500 pです)を考えると、このソフトウェアは教育機関でのコンテンツフィルタリングに理想的なソリューションです。