目前在Fedora下使用squid service架proxy server,
想請教高手,
1.如何限制使用此proxy server只能outgoing access某一網頁呢?
2.如何設定只能透過某組帳號login才能使用此proxy server?
1.如果只允單純的網域的網頁看,
只設在 squid.conf 上,可參考以下的例子:
<pre class="c" name="code">
#定義所允許看網頁的的網域
acl allok dstdomain .ithome.com.tw
#以下這一行要在其他 http_access allow 行之前
http_access deny !allok
以前試過,若有幾十組、幾百組網域才可看的話,
一行的 dstdomain 後面太長的話,會設定無效,
而需要拆成好幾組 dstdomain 來設定。
量大的話維護這些名單不方便。
而可以考量用 squidGuard 來做過濾機制。
台灣中小學校的proxy過濾,
應蠻多用 squid + squidGuard 為解決方案,
Google找一下有許多實例。
2.看您授權機制為何?
如果是用 LDAP 的話,就用指定Group的方式。
如果是 Fedora 上的帳號密碼的話,
無法去區分 /etc/shadow 上的群組,
最多只能把所允許的帳號複製出來,
格式上也要做些轉換,
缺點是密碼無法同步的問題。
如果是其他帳號密碼機制的話,
可寫簡單的認證程式,
用 auth_param basic program 指定自己所寫的認證程式。
經帳號密碼來確認 user 是否所允的 group,
再看密碼有通過,就回應 OK,否則回應 ERR。