Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: squid + аuthentication + acl за 5 минут  (Прочитано 5726 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн neoromancer

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
squid + аuthentication + acl за 5 минут
« : 09 Июля 2009, 15:56:20 »
Цель:
Оперативно организовать доступ пользователей к сети Интернет через squid. При этом необходимо иметь возможность накладывать элементарные ограничения на различных пользователей.

Примечания:
Вопросы безопасности при применении базовой аутентификации в squid в данной инструкции не затрагиваются, однако следует учитывать, что при наличии серьезных требований по безопасности предпочтительнее использовать другой тип аутентификации (например digest).

Тестовый стенд:
ПК выполняющий роль сервера со установленным Ubuntu 9.04 Desktop, имя server1, IP 10.0.1.2/24
ПК выполняющий роль клиента со установленным Microsoft Windows XP Pro SP3 и Internet Explorer 8, имя client1, IP 10.0.2.2/24
CISCO ASA 5550 с необходимыми настройками в качестве межсетевого экрана.

Первым делом устанавливаем необходимые пакеты:
sudo apt-get install squid apache2-utils

Создаем файл /etc/squid/squid_user

Открываем /etc/squid/squid.conf и ищем строчку "#auth_param basic program".

Убираем комментарий и дописываем чтоб получилось следующее:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_user

Убираем комментарий со следующих 4-х строчек при необходимости поправляя параметры:
auth_param basic children 5 #Грубо говоря влияет на количество одновременно возможных запросов на аутентификацию.
auth_param basic realm Super Mega Proxy #Это название будет фигурировать в окне запроса пароля у пользователя.
auth_param basic credentialsttl 2 hours #Столько squid должен помнить пользователя.
auth_param basic casesensitive off #Очевидно.

Ищем "acl localnet src" и при необходимости вносим исправления. По умолчанию прописаны все адреса зарезервированные для частных сетей, однако в силу привычки я их закомментировал и прописал:
acl localnet src 10.0.2.0/24

Теперь ищем строчку "# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS" и добавляем правила:
acl inet proxy_auth REQUIRED
acl micupd dstdomain .update.microsoft.com .c.microsoft.com .download.windowsupdate.com
acl odmin proxy_auth_regex ^odmin
acl winuser proxy_auth_regex ^winuser
http_access allow inet odmin
http_access allow inet winuser micupd


Выше описанное означает что пользователь odmin может ходить в Интернет без ограничений, а пользователь winuser может только пользоваться Microsoft Update (это что-то отдаленно похожее на Менеджер Обновлений в Ubuntu, только работает через браузер IE). В squid предусмотрено множество разных ACL (что-то около 25 типов). Можно ограничивать время работы, определенные выражения в url-ках, используемые браузеры и много и много другого. Но поскольку обещал за 5 минут, то ограничимся вышеприведенным примером, он позволяет оценить гибкость, а также понять как это в целом работает (ибо для ciscoвода схема не особо привычная и может вызвать легкий ступор при первом знакомстве).

Теперь проверяем что ниже присутствует строчка "http_access deny all" и сохраняем конфиг.

Осталось только завести пользователей. Это делается так:
sudo htpasswd /etc/squid/squid_user odmin
sudo htpasswd /etc/squid/squid_user winuser


Теперь не забыть прописать в браузерах у клиентов прокси (ip 10.0.1.2 порт 3128) и можно работать!

Удачи!

Оффлайн rd3adx

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: squid + аuthentication + acl за 5 минут
« Ответ #1 : 20 Января 2010, 16:31:23 »
спс все работает по инструкции  :2funny: спс

Пользователь решил продолжить мысль 20 Января 2010, 16:32:35:
аа и незабываете /etc/init.d/squid restart

Оффлайн Dimolder

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: squid + аuthentication + acl за 5 минут
« Ответ #2 : 25 Февраля 2010, 16:13:19 »
 
Есть инет подключен через витую пару к ноуту (eth0) получаю автоматически по маку, установлена ubuntu 9.10.
Задача раздавать инет через встроенный wi-fi (wlan0) на другой ноут (win7) и смартфон.
Делал по вашей схеме https://forum.ubuntu.ru/index.php?topic=61834.0 но к моему огорчению так и не получилось настроить.
также делал по вашей схеме но увы ничего не получилось, получаю  ответ нет ответа от шлюза.
Укажите плз на мои ошибки, или как поднять сеть.

ifconfig
(Нажмите, чтобы показать/скрыть)
iwconfig
(Нажмите, чтобы показать/скрыть)
sudo gedit /etc/network/interfaces
(Нажмите, чтобы показать/скрыть)
sudo gedit /etc/rc.local
(Нажмите, чтобы показать/скрыть)
route
(Нажмите, чтобы показать/скрыть)
cat /var/log/syslog | grep hostap
(Нажмите, чтобы показать/скрыть)
home@comp2:~$ /etc/init.d/squid restart
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 25 Февраля 2010, 16:16:23 от Dimolder »

 

Страница сгенерирована за 0.33 секунд. Запросов: 26.