CentOS 6.x 64およびWin2008ADからの認証付きのSquid

Win2008ADからの許可 、グループ配布、 MACアドレスへのバインド、ファイル拡張子および禁止サイトのフィルターを使用して、 SquidCentOS 6.x 64にインストールします。



Win2008AD自体のインストールについては説明しません。 コントローラーが既にインストールおよび構成されていることを意味します。 最初のタスクは、将来特定の権限を持つユーザーの分布のためのグループ構造を作成することです。



私たちはsquidユーザーを作成します。彼は、パスワードとグループ所属のユーザーのリストを受け取る責任があります。 これらの機会に彼の代表団を割り当てます。



ドメインのルートを右クリックし、[ 制御の委任]を選択します。 セットアップウィザードが表示されます。 次へをクリックします。 追加をクリックします。 ドメインからの読み取り権限を持つsquidユーザーを作成しています。 OKをクリックします。 ユーザーが追加されました。 次へをクリックします。 すべてのユーザー に関する情報の読み取りとintOrgPersonのすべての情報の読み取りをオンにします。 次へをクリックします。 完了をクリックします。



ドメインツリーのルートにプロキシ ユニットを作成します。 ドメインのルートを右クリックして、[ 作成]を選択し、[ 部門]を選択します 。 名前プロキシを記述します。 OKをクリックします。 名前プロキシを持ついわゆる組織単位がドメインのルートに表示されます。



この部門では、ユーザーを配布してSquidを介して異なるアクセス権を受け取るためのグループ構造を作成します。 admins-proxyおよびusers-proxyグループを作成します。



プロキシを右クリックして、[ 作成 ]を選択し、[ グループ ]を選択しますadmins-proxyグループの名前を書きます。 OKをクリックします。 users-proxyグループに対して繰り返します



最初のグループにはフルアクセスがあり、2番目のグループには制限があります。 既存のユーザーを各グループに追加します。 ユーザーpadminsをadmins -proxy グループに、ユーザーpusersを以前に作成したとし、 ユーザープロキシグループに追加します。 グループの名前をダブルクリックします。 [ グループのメンバー ]タブを選択します。 追加をクリックします。 適切なユーザーを作成しています。 OKをクリックします。 他のユーザーとグループに対して繰り返します。



Squidパッケージをインストールします。



yum install squid



インストールが成功したら、 squidの自動実行を規定します。



上のchkconfig squid



LDAPに基づくsquidの 認証を使用します 。 これを行うには、まずSquidに組み込まれているWin2008AD LDAPメカニズムとの接続を確認する必要があります



ドメインからのログインpadminsとパスワードVzRGI5xSユーザーの束を確認します。



私たちは実施します:



echo "padmins VzRGI5xS" | / usr / lib64 / squid / squid_ldap_auth -R -D squid@developer.com -w 3zdjK2H9 -b "dc = developer、dc = com" -f "sAMAccountName =%s" -h 192.168.151.2



padmins#/ドメインユーザー/

VzRGI5xS#/ドメイン内のユーザーpadminsのパスワード/

squid@developer.com#/パスワードのユーザーのリストとそれらに関するすべてのデータを表示する権限を持つドメインユーザー/

3zdjK2H9#/委任されたユーザーパスワードsquid /

dc =開発者、dc = com#/ドメインコントローラー/

192.168.151.2#/ドメインIPアドレス/




したがって、これが正しく行われると、 OK応答が返されます。 これは、ユーザーpadminsがドメイン内で見つかり、 VzRGI5xSパスワードに対して検証されることを意味します。 一致するものがない場合、 エラーERR Successが返されます。



次に、ユーザーが属するドメインからのpadminsログインとadmins -proxyグループ接続を確認します。



私たちは実施します:



echo "padmins admins-proxy" | / usr / lib64 / squid / squid_ldap_group -R -D squid@developer.com -w 3zdjK2H9 -b "dc = developer、dc = com" -f "(&(objectclass = person)(sAMAccountName =%v)(memberof = cn =%a、ou =プロキシ、dc =開発者、dc = com)) "-h 192.168.151.2



したがって、これが正しく行われると、 OK応答が返されます。 これは、ユーザーpadminsがドメインのadmins -proxyグループにあることを意味します。 一致するものがない場合、 エラーERR Successが返されます。



Squidを設定するために撮影されました。



ディレクトリ/ etc / squid / rulesを作成します



mkdir / etc / squid /ルール



/ etc / squid / rulesディレクトリで、ルール用のファイルを作成します。



touch block-extension.txt



inet-mac.txtをタッチします



url-block.txtをタッチします



block-extension.txtファイルの内容(ファイル拡張子フィルター):



\ .exe $

\ .mp3 $

\ .mpg $

\ .mp4 $

\ .mpeg $

\ .flv $

\ .avi $

\ .wmv $

\ .swf $

\ .mov $

\ .mkv $

\ .wav $

\ .rar $

\ .msi $

\ .zip $

\ .tar $

\ .iso $

\ .nrg $




inet-mac.txtファイルの内容( MACアドレスフィルタが許可されています):



04:00:27:3a:45:13

10:6e:87:c4:8c

00:1f:d0:b5:c4:65




url-block.txtファイルの内容(URLフィルター):



odnoklassniki \ .ru

vk \ .com

facebook \ .com



/etc/squid/squid.conf構成ファイルを編集用に開き、 の形式にします。



squid.conf
######################################################### #################################



#通常、Squidはポート3128をリッスンします

http_port 3128



visible_hostname router-int.developer.com





#推奨される最小構成:



ACLマネージャープロトタイプcache_object

acl localhost src 127.0.0.1/32 :: 1

acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 :: 1



#ローカルネットワークからのアクセスを許可するルールの例。

#ブラウジング元の(内部)IPネットワークのリストに適応

#許可する必要があります

acl localnet src 10.0.0.0/8#RFC1918可能な内部ネットワーク

acl localnet src 172.16.0.0/12#RFC1918可能な内部ネットワーク

acl localnet src 192.168.0.0/16#RFC1918可能な内部ネットワーク

acl localnet src fc00 :: / 7#RFC 4193ローカルプライベートネットワーク範囲

acl localnet src fe80 :: / 10#RFC 4291リンクローカル(直接プラグイン)マシン



acl SSL_portsポート443

acl Safe_portsポート80#http

acl Safe_portsポート21#ftp

acl Safe_portsポート443#https

acl Safe_ports port 70#gopher

acl Safe_portsポート210#wais

acl Safe_ports port 1025-65535#未登録ポート

acl Safe_portsポート280#http-mgmt

acl Safe_portsポート488#gss-http

acl Safe_portsポート591#ファイルメーカー

acl Safe_ports port 777#multiling http

acl CONNECTメソッドCONNECT





#推奨される最小アクセス許可の構成:



#localhostからのcachemgrアクセス​​のみを許可

http_access allow manager localhost

http_access拒否マネージャー



#特定の安全でないポートへのリクエストを拒否

http_access deny!Safe_ports



#セキュアSSLポート以外への接続を拒否

http_access deny CONNECT!SSL_ports



#無実を保護するために、以下のコメントを外すことを強くお勧めします

#プロキシサーバーで実行されているWebアプリケーションは、

#「localhost」上のサービスにアクセスできるのはローカルユーザー

#http_access de_to_localhost





#クライアントからのアクセスを許可するために、ここに独自のルールを挿入します





######################################################### #################################

### AD2008R2に接続するためのADコマンド###

######################################################### #################################

auth_param基本プログラム/ usr / lib64 / squid / squid_ldap_auth -R -D squid@developer.com -w 3zdjK2H9 -b "dc = developer、dc = com" -f "sAMAccountName =%s" -h 192.168.151.2

auth_param基本子5

auth_param基本レルムWindows資格情報を挿入してナビゲートしてください

auth_param基本資格情報ttl 1時間

######################################################### #################################



######################################################### #################################

### AD2008R2グループに接続するためのADコマンド###

######################################################### #################################

external_acl_type ldap_group%LOGIN / usr / lib64 / squid / squid_ldap_group -R -D squid@developer.com -w 3zdjK2H9 -b "dc = developer、dc = com" -f "(&(objectclass = person)(sAMAccountName =%v )(memberof = cn =%a、ou = proxy、dc = developer、dc = com)) "-h 192.168.151.2

######################################################### #################################



######################################################### #################################

### AD2008R2からのグループによるリストへのアクセスとロック###

######################################################### #################################



#(AD2008R2にあるadmins-proxyグループのユーザーのアクセスシート)

acl admins-proxy external ldap_group admins-proxy



#(AD2008R2にあるユーザープロキシグループのユーザーアクセスシート)

acl users-proxy external ldap_group users-proxy



#(MACアドレス別ユーザーアクセスシート)

acl inet-mac arp "/etc/squid/rules/inet-mac.txt"



#(URLブロックリスト)

acl url-block url_regex "/etc/squid/rules/url-block.txt"



#(ファイル拡張子リストによるブロックリスト)

acl block-extension url_regex -i "/etc/squid/rules/block-extension.txt"



#(ブロッキングストリームストリーム)

acl media rep_mime_type -i ^オーディオ/.*$

acl media rep_mime_type -i ^ video /.*$

acl media rep_mime_type -i ^ video / x-flv $

acl media rep_mime_type -i ^ application / x-shockwave-flash $

acl media rep_mime_type -i ^ application / octet-stream $



#(macsアドレスにバインドするadmins-proxyグループのすべてを許可します)

http_access allow admins-proxy inet-mac

#(users-proxyグループのURLブロックリストを無効にする)

http_access deny users-proxy url-block



#(ブロック拡張子リストをusers-proxyグループに禁止)

http_access deny users-proxy block-extension



#(ユーザープロキシグループのメディアリストを無効にする)

http_reply_accessは、ユーザープロキシメディアを拒否します



#(すべてのユーザープロキシグループを許可)

http_access allow users-proxy



######################################################### #################################



#そして最後に、このプロキシへの他のすべてのアクセスを拒否します

http_accessすべて拒否



#少なくとも次の行を使用することをお勧めします。

hierarchy_stoplist cgi-bin?



#次のコメントを外して調整し、ディスクキャッシュディレクトリを追加します。

#cache_dir ufs / var / spool / squid 100 16 256



#最初のキャッシュディレクトリにコアダンプを残す

coredump_dir / var / spool / squid



#これらの上に独自のrefresh_patternエントリを追加します。

refresh_pattern ^ ftp:1440 20%10080

refresh_pattern ^ gopher:1440 0%1440

refresh_pattern -i(/ cgi-bin / | \?)0 0%0

refresh_pattern。 0 20%4320



######################################################### #################################



指定された設定は100%動作しています。



イカの起動:



サービスイカスタート



どのように機能しますか?



ブラウザの設定 、プロキシサーバーのアドレスとポート3128を指定します。 サイトページに移動し、ユーザー名とパスワードを入力するための招待状を受け取ります。



ユーザーpadminsがパスワードを正しく入力した場合、 squidはそれを渡し、指定されたグループのルールが適用されます。 configから、 admins-proxyグループに制限がないことがわかります。 リストからのMACアドレスへのバインドのみがあります。



ユーザーpusersがパスワードを正しく入力した場合、 squidはそれをスキップし、指定されたグループのルールが適用されます。 設定から、 users-proxyグループがurl-block (ブロッキングURLのリスト)、 block-extension (ブロッキング拡張のリスト)、およびmedia (ブロッキングストリームストリームのリスト)フィルターを使用していることがわかります。



また、ポートが閉じている場合は、ポートを開くことを忘れないでください。



iptables -A INPUT -p tcp -m state -m tcp -s 192.168.0.0/16 --dport 3128 --state NEW -j ACCEPT



All Articles