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


LFCE LinuxFoundation認定エンジニア)は、Linuxシステムにネットワークサービスをインストール、管理、トラブルシューティングするために必要なスキルを持ち、システムアーキテクチャ全体の設計、実装、および継続的なメンテナンス。

LinuxFoundation認定プログラムのご紹介。

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

  1. Install Squid and SquidGuard – Part 1
  2. Configuring Squid Proxy Server with Restricted Access – Part 5

SquidGuardは何に使用できますか/できませんか?

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

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

  1. limit the allowed web access for some users to a list of accepted/well known web servers and/or URLs only, while denying access to other blacklisted web servers and/or URLs.
  2. block access to sites (by IP address or domain name) matching a list of regular expressions or words for some users.
  3. require the use of domain names/prohibit the use of IP address in URLs.
  4. redirect blocked URLs to error or info pages.
  5. use distinct access rules based on time of day, day of the week, date etc.
  6. implement different rules for distinct user groups.

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

  1. analyze text inside documents and act in result.
  2. detect or block embedded scripting languages like JavaScript, Python, or VBscript inside HTML code.

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

このチュートリアルでは、Shalla SecureServicesが提供するブラックリストを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とドメインまで下がっていきます。それぞれ urls domains 。詳細については、以下の画像を参照してください。

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

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

次に、 anonvpn hacking 、および chat ブラックリストをインストールする方法と、それらを使用するようにsquidGuardを構成する方法を示します。

ステップ1 /opt/3rdparty /から anonvpn hacking 、および chat ディレクトリを再帰的にコピーします。 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 ディレクティブを使用して、squidGuardをURLリライタ/リダイレクタとして使用するようにSquidに指示します。

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

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

# squidGuard -C all

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

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

最後に、変更を適用するためにSquidを再起動することを忘れないでください。

結論

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

全著作権所有。 © Linux-Console.net • 2019-2022