Вообщем такая задача.
Отслеживать трафик по именам пользователей в компании (около 200 машин), те чтобы в access.log записывались не IP адреса а имена пользователей. (Возможны различные связки для авторизации, но не в этой теме). Так вот, как бы еще так сделать, чтобы сквид был прозрачным. Пытался мучался, не получается. Вроде как и в мане написано что низя сделать авторизацию и прозрачное прокси. Но мне кажеться всетаки можно. Где то давно видел tutorial, не сохранил. Товарищи помогите, не оставте.Спасибо!!!
У себя делал так:
веб-морда которая добавляет-убирает правила в фаервол, и заодно кладет в mysql айпишник пользователя.
потом в squid.conf:
external_acl_type get_username children=20 ttl=0 negative_ttl=0 %SRC php /lalafa/squid.phphttp_access allow local1 uname
где local1 одна из моих подсетей.
squid.php:
....
$f=fopen('php://stdin' , 'r');
while($ip = fgets($f, 50))
{
$query="select from users where ip='".$ip."'";
......
if($good==1)
{
echo "OK user=".$user."\n";
}
else
{
echo "ERR\n";
}
}
сквид будет или пускать в инет и писать в лог вместо айпишника(или вместе с айпишником, смотреть ломает) имя пользователя, что будет в строке OK user=lalafa или вообще не будет пускать в инет говоря access denied, если будет ERR сказано ему.
Вообщем сделал похожее, но использовал немного другое.external_acl_type ldap %LOGIN /usr/local/libexec/squid/squid_ldap_auth -b dc=espro,dc=ru -h 192.168.1.6 -p 389
потом задаю acl
acl users external ldap
ну и прописываю естесно
http_acess allow usersзапускаю squid -d9 (yf отладку)
Выдает месадж
aclAuthenticated: authentication not applicable on accelerated requestsХотя все auth_param я вообщем то закоментил . Вообщем типа с авторизацией не хочет работать. Ии это беда squid_ldap_auth
>Вообщем сделал похожее, но использовал немного другое.
>
>external_acl_type ldap %LOGIN /usr/local/libexec/squid/squid_ldap_auth -b dc=espro,dc=ru -h 192.168.1.6 -p 389
>
>потом задаю acl
>
>acl users external ldap
>
>ну и прописываю естесно
>http_acess allow users
>
>запускаю squid -d9 (yf отладку)
>Выдает месадж
>aclAuthenticated: authentication not applicable on accelerated requests
>
>Хотя все auth_param я вообщем то закоментил . Вообщем типа с авторизацией
>не хочет работать. Ии это беда squid_ldap_auth
Нет, это он на "%LOGIN" ругается. В доках кстати об этом написано. ;)
Только %SRC можно юзать.
Соответственно задача сводится к написанию скрипта который получая айпишник пользователя будет узнавать кто на машине с этим айпишником в данный момент залогинен и возвращать ответ разрешить/запретить доступ.
>[оверквотинг удален]
>>aclAuthenticated: authentication not applicable on accelerated requests
>>
>>Хотя все auth_param я вообщем то закоментил . Вообщем типа с авторизацией
>>не хочет работать. Ии это беда squid_ldap_auth
> Нет, это он на "%LOGIN" ругается. В доках кстати об этом написано.
> ;)
> Только %SRC можно юзать.
> Соответственно задача сводится к написанию скрипта который получая айпишник пользователя
> будет узнавать кто на машине с этим айпишником в данный момент
> залогинен и возвращать ответ разрешить/запретить доступ.Наверное расстрою, но proxy_auth can't be used in a transparent proxy as the browser needs to be configured for using a proxy in order to respond to proxy authentication.
цитата из squid.conf