ウェブサイト検索

SquidGuard の構成、コンテンツ ルールの有効化、および Squid ログの分析 - パート 6


LFCE (Linux Foundation Certified Engineer) は、Linux システムでのネットワーク サービスのインストール、管理、トラブルシューティングに必要なスキルを備えた専門家であり、システム アーキテクチャ全体の設計、実装、継続的なメンテナンス。

Linux Foundation 認定プログラムの紹介。

以前の投稿では、Squid + squidGuard をインストールする方法と、アクセス リクエストを適切に処理または制限するように Squid を設定する方法について説明しました。この記事で説明する内容の背景とコンテキストを設定する前に、これら 2 つのチュートリアルを必ず確認し、Squid と suckGuard の両方をインストールしてください。作業中のsquid環境にsquidguardを統合して、ブラックリスト ルールとコンテンツ コントロールを実装します。プロキシサーバー。

要件

  1. Squid と SquidGuard のインストール – パート 1
  2. アクセス制限付きの Squid プロキシ サーバーの構成 – パート 5

SquidGuard を何に使用できますか?/できないのですか?

squidGuard は確かに Squid の機能を強化し強化しますが、何ができて何ができないのかを強調することが重要です。

squidGuard は次の目的で使用できます。

  1. 一部のユーザーに許可される Web アクセスを、承認済み/既知の Web サーバーおよび/または URL のリストのみに制限し、他のブラックリストに登録された Web サーバーおよび/または URL へのアクセスを拒否します。
  2. 一部のユーザーの正規表現または単語のリストに一致するサイトへのアクセスを (IP アドレスまたはドメイン名によって) ブロックします。
  3. ドメイン名の使用を必須にする/URL での IP アドレスの使用を禁止する。
  4. ブロックされた URL をエラー ページまたは情報ページにリダイレクトします。
  5. 時刻、曜日、日付などに基づいて個別のアクセス ルールを使用します。
  6. 異なるユーザーグループに対して異なるルールを実装します。

ただし、squidGuard も Squid も次の目的には使用できません。

  1. ドキュメント内のテキストを分析し、その結果に基づいて動作します。
  2. HTML コード内の JavaScript、Python、VBscript などの埋め込みスクリプト言語を検出またはブロックします。

ブラックリスト – 基本

ブラックリストはsquidGuardの重要な部分です。基本的に、これらはプレーン テキスト ファイルであり、これを使用して特定のキーワードに基づいてコンテンツ フィルターを実装できます。無料で利用できるブラックリストと商用のブラックリストがあり、squidguard blacklists プロジェクトの Web サイトにダウンロード リンクがあります。

このチュートリアルでは、Shalla Secure Services が提供するブラックリストをsquidGuard インストールに統合する方法を説明します。これらのブラックリストは個人/非営利目的で無料で使用でき、毎日更新されます。今日の時点で、1,700,000 件を超えるエントリが含まれています。

便宜上、ブラックリスト パッケージをダウンロードするためのディレクトリを作成しましょう。

mkdir /opt/3rdparty
cd /opt/3rdparty 
wget http://www.shallalist.de/Downloads/shallalist.tar.gz

以下で強調表示されているように、最新のダウンロード リンクがいつでも利用可能です。

新しくダウンロードしたファイルを解凍した後、ブラックリスト (BL) フォルダーを参照します。

tar xzf shallalist.tar.gz 
cd BL
ls

ls の出力に表示されるディレクトリはバックリスト カテゴリとして、それに対応する (オプションの) サブディレクトリはサブカテゴリとして考えることができ、ファイルにリストされている特定の URL とドメインまで下降します。それぞれURLドメイン です。詳細については、下の画像を参照してください。

ブラックリストのインストール

ブラックリスト パッケージ全体または個々のカテゴリのインストールは、BL ディレクトリまたはそのサブディレクトリの 1 つをそれぞれ /var/ にコピーすることによって実行されます。 lib/squidguard/db ディレクトリ。

もちろん、最初にブラックリスト tarball をこのディレクトリにダウンロードすることもできますが、前に説明したアプローチを使用すると、特定の時点でどのカテゴリをブロックするか (またはブロックしないか) をより詳細に制御できます。

次に、anonvpnハッキングチャットのブラックリストをインストールする方法と、それらを使用するためにsquidGuardを設定する方法を説明します。

ステップ 1: /opt/3rdparty/ から anonvpnhackingchat ディレクトリを再帰的にコピーします。 BL/var/lib/squidguard/db に変換します。

cp -a /opt/3rdparty/BL/anonvpn /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/hacking /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/chat /var/lib/squidguard/db

ステップ 2: ドメイン ファイルと URL ファイルを使用して、squidguard のデータベース ファイルを作成します。次のコマンドは、特定のカテゴリに 2 つ以上のサブカテゴリがある場合でも、インストールされているすべてのブラックリストの .db ファイルを作成するのに機能することに注意してください。

squidGuard -C all

ステップ 3: /var/lib/squidguard/db/ ディレクトリとその内容の所有権をプロキシ ユーザーに変更して、Squid がデータベース ファイルを読み取れるようにします。

chown -R proxy:proxy /var/lib/squidguard/db/

ステップ 4: squidGuard を使用するように Squid を設定します。 /etc/squid/squid.conf 内の Squid の url_rewrite_program ディレクティブを使用して、Squid に URL リライター/リダイレクターとしてquidGuard を使用するように指示します。

次の行を squid.conf に追加し、/usr/bin/squidGuard がこの場合の正しい絶対パスであることを確認してください。

which squidGuard
echo "url_rewrite_program $(which squidGuard)" >> /etc/squid/squid.conf
tail -n 1 /etc/squid/squid.conf

ステップ 5: 必要なディレクティブをsquidGuardの設定ファイル(/etc/squidguard/squidGuard.confにあります)に追加します。

さらに詳しく説明するには、次のコードの後にある上のスクリーンショットを参照してください。

src localnet {
        ip      192.168.0.0/24
}

dest anonvpn {
        domainlist      anonvpn/domains
        urllist         anonvpn/urls
}
dest hacking {
        domainlist      hacking/domains
        urllist         hacking/urls
}
dest chat {
        domainlist      chat/domains
        urllist         chat/urls
}

acl {
        localnet {
                        pass     !anonvpn !hacking !chat !in-addr all
                        redirect http://www.lds.org
                }
        default {
                        pass     local none
        }
}

ステップ 6: Squid を再起動してテストします。

service squid restart 		[sysvinit / Upstart-based systems]
systemctl restart squid.service 	[systemctl-based systems]

ローカル ネットワーク内のクライアントで Web ブラウザを開き、ブラックリスト ファイル (ドメインまたは URL) で見つかったサイトを参照します。次の例では http://spin.de/ チャットを使用します。 )、別の URL (この場合は www.lds.org) にリダイレクトされます。

リクエストがプロキシ サーバーに対して行われたが拒否され (301 http レスポンス – 永久に移動)、代わりに www.lds.org にリダイレクトされたことを確認できます。

制限の解除

何らかの理由で、過去にブロックされたカテゴリを有効にする必要がある場合は、/var/lib/squidguard/db から対応するディレクトリを削除し、関連する ACL をコメント化 (または削除) します。 squidguard.conf ファイル内。

たとえば、anonvpn カテゴリによってブラックリストに登録されたドメインと URL を有効にしたい場合は、次の手順を実行する必要があります。

rm -rf /var/lib/squidguard/db/anonvpn

そして、squidguard.conf ファイルを次のように編集します。

BEFORE で黄色で強調表示されている部分は、AFTER では削除されていることに注意してください。

特定のドメインと URL のホワイトリストへの登録

場合によっては、ブラックリストに登録されたディレクトリ全体ではなく、特定の URL または ドメイン を許可したい場合があります。その場合、myWhiteLists という名前のディレクトリ (または任意の名前) を作成し、目的の URLドメイン の下に挿入する必要があります。 /var/lib/squidguard/db/myWhiteListsは、それぞれ url とドメインという名前のファイルにあります。

次に、以前と同様に新しいコンテンツ ルールを初期化します。

squidGuard -C all

そしてsquidguard.conf を次のように変更します。

先ほどと同様に、黄色で強調表示されている部分は追加する必要がある変更を示しています。 myWhiteLists 文字列は、pass で始まる行の先頭にある必要があることに注意してください。

最後に、変更を適用するために必ず Squid を再起動してください。

結論

このチュートリアルで概説されている手順に従うと、強力なコンテンツ フィルターと URL リダイレクターが Squid プロキシと連携して動作するようになります。インストール/設定プロセス中に問題が発生した場合、または質問やコメントがある場合は、squidGuard の Web ドキュメントを参照してください。また、いつでもお気軽に以下のフォームを使用してご連絡ください。できるだけ早くご連絡いたします。可能。