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
######################################################### #################################
#通常、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