Squid. Настройка прокси авторизации

Хотя можно настроить Squid для разрешения доступа только с определенных IP адресов, вам может понадобится, чтобы клиенты проходили проверку подлинности. Это может быть необходимо если IP адреса раздаются в сети динамически. Таким образом, авторизовавшись клиент сможет получить доступ в сеть с любой машины. Кроме того, авторизация удобна тем, что Squid ведет логи тех, кто пытается получить доступ.

Все браузеры и большинство программ умеют работать с прокси авторизацией. Браузеры используют всплывающее окно для ввода логина и пароля к прокси серверу. Другие программы(такие как wget или rpm) запросят логин и пароль в командной строке.

Каждый логин и пароль полученный Squid проходит проверку через внешнюю программу авторизации, которая и проверяет истинность введённых данных. Обычно такая программа просматривает специальный файл с логином и паролем. Но вы можете написать свою собственную программу авторизации, которая бы использовала LDAP серевер или список пользователей UNIX.

Для включеня прокси авторизации выполните следующие действия:

1. На главной странице модуля, нажмите на иконку Access Control(Контроль доступа).

Squid proxy module

Рисунок - Главная форма модуля Squid. Для увеличения картинки, нажмите на неё.

2. В появившейся форме выберите External Auth(Внешняя авторизация) из списка ACL типов и нажмите кнопку Create new ACL(Создать новый ACL).

Access Control lists

Рисунок - Таблица Access Control lists. Для увеличения картинки, нажмите на неё.

3. В форме которая открылась, введите auth в поле ACL name(Имя ACL) и выберите All users в поле External auth users(Внешние пользователи). Затем нажмите Save(Сохранить).

External auth ACL

Рисунок - Форма Create External Auth ACL. Для увеличения картинки, нажмите на неё.

4. Нажмите на ссылку Add proxy restriction(Добавить прокси ограничение).

5. Выберите действие Allow(Разрешить) в поле Action(Действие) и щелкните мышкой по созданному ACL auth из списка Match ACLs(Совпадающие с ACL). Это действие создаст прокси ограничение, которое разрешает доступ всем авторизованным клиентам. Они могут находится и за пределами вашей сети, поэтому Squid ведет лог файл, записывая всех, кто запросил доступ.

6. Нажмите на кнопку Save(Сохранить).

7. Используйте стрелку «Вверх» чтобы переместить новое ограничение выше всех других ограничений, которые разрешают доступ из вашей сети. Если новое ограничение будет стоять ниже их, то клиенты будут получать доступ к прокси серверу не проходя авторизацию, а следовательно и без записи в лог файл. Хотя возможно, это то, что вам и надо.

8. Нажмите на иконку Authentication Programs(Программы авторизации) на главной странице модуля.

Squid proxy module

Рисунок - Главная страница модуля Squid. Для увеличения картинки, нажмите на неё.

9. В поле Basic Authentication Program(Программа авторизации) выберите Webmin default(Webmin по умолчанию). Это означает, что будет использоваться встроенная в модуль простая система авторизации и вам не придется писать свою собственную. Конечно, вы можете использовать свою программу авторизации, выбрав последний пункт радио переключателя и введя в соседнее поле полный путь к ней(программе авторизации). Это программа должна считывать строки содержащие логин и пароль(разделенные пробелом) на входе, и на выходе должа выдавать строку OK или ERR для правильного или ошибочного ввода, соответственно.

External authentication program options

Рисунок - Таблица External authentication program options. Для увеличения картинки, нажмите на неё.

10. Окно авторизации в браузере будет содержать описание прокси сервера к которому производится подключение. По умолчанию это Squid proxy-caching web server, но вы можете заменить описание на что-нибудь своё(например, Corporate proxy) заполнив поле Proxy authentication realm(Описание прокси сервера).

11. Обычно, Squid кэширует пароли пользователей на 1 час. Таким образом, изменение пароля пользователя не вступит в силу одномоментно - должен пройти 1 час, чтобы изменение вступило в силу. Для уменьшения времени кэширования паролей, введите требуемое значение в поле Time to cache password for(Время кэширования паролей). Но помните, уменьшение этого значения означает увеличение нагрузки на сервер и замедление обработки поступающих запросов.

12. Нажмите на кнопку Save(Сохранить) и затем щелкните по Apply Changes(Применить изменения) на главной странице модуля.

 

Теперь когда авторизация включена, любой кто запросит доступ к вашему прокси из веб-браузера, должен будет пройти процедуру авторизации. Поскольку ни один пользователь ещё не создан, то никто не сможет пройти авторизацию. Для создания нескольких пользователей для авторизации, следуйте следующим инструкциям:

 

1. Нажмите на иконку Proxy Authentication(Прокси авторизация) на главной странице модуля и вы увидите таблицу пользователей прокси. Изначально она пуста.

Squid proxy module

Рисунок - Главная страница модуля Squid. Для увеличения картинки, нажмите на неё.

2. Нажмите на ссылку Add a new proxy user(Добавить нового пользователя прокси).

Proxy users

Рисунок - Таблица Proxy Authentication. Для увеличения картинки, нажмите на неё.

3. Введите логин в поле Username(Имя пользователя) и пароль в поле Password(Пароль).

Create proxy user

Рисунок - Форма Create Proxy User.

4. Для временного выключения пользователя, без его удаления, воспользуйтесь полем Enabled?(Включен?) и установите его значение в No(Нет).

5. Нажмите кнопку Create(Создать) для добавления пользователя, а затем на Apply Changes(Применить изменения). Шаг применения изменений обязателен после создания пользователя, так как программа авторизации Squid считывает файл с пользователями, только при запуске. Соотвтественно, Squid перечитает файл и при перезапуске.

 

Данные пользователя могут быть отредактированы по нажатию на его имя в списке пользователей прокси. Редактирование позволяет изменить логин, пароль и статус активности пользователя. После внесения изменений в данные пользователя, обязательно нужно нажать кнопку Save(Сохранить). Форма редактирования пользователя также позволяет удалить его из списка, путём нажатия на кнопку Delete(Удалить). И снова, кнопка Apply Changes(Применить изменения) должна быть ещё раз нажата для применения соответсвующих изменений. Squid кэширует пароли для снижения нагрузки на программу авторизации, поэтому изменение пароля произойдет через некоторое время после нажатия кнопки Apply Changes(Применить измениния).

Этот модуль управление пользователями прокси работает только, если выбрано Webmin default(Webmin по умолчанию) в поле Basic Authentication program(Программа авторизации) или если ваша собственная программа работает файлом пользователей, оформленным в стиле файла пользователей Apache. Если ваша программа авторизует пользователей используя другую базу данных  или другой сервер, или модуль не может определить файл содержащий пользователей, тогда иконки Proxy Authentication(Прокси авторизация) не будет на главной странице модуля.

 

Иногда вам может понадобится разрешить обычным UNIX пользователям авторизоватся в прокси сервере теми паролям, которыми они обычно используют при доступе к FTP или Telnet. Хотя можно написать программу которая производит авторизацию сверяясь с базой данных UNIX пользователей, здесь можно посоветовать иное решение - сконфигурировать модуль таким образом, чтобы он добавлял, удалял и обновлял пользователей прокси как только соответствующие UNIX пользователи были созданы, удалены или переименованы соответственно. Это очень полезно, чтобы открыть доступ всем UNIX пользователям разом, а не делать этого для каждого пользователя в отдельности. Как только вы включили авторизацию, которая идет по умолчанию в модуле, выполните следующие действия:

1. На главной странице модуля нажмите на ссылку Module Config(Конфигурация модуля), в левом верхнем углу.

Squid proxy module

Рисунок - Главная страница модуля Squid. Для увеличения картинки, нажмите на неё.

2. Поля Create proxy users when creating system users, Update proxy users when updating system users и Delete proxy users when deleting system users, говорят сами за себя. Они предназначены для автоматического создания, изменения и удаления пользователей прокси при создании, изменении и удалении UNIX пользователей. Для каждого из этих полей вы можете выбрать значения Yes(Да) или No(Нет). Возможно, вам необходимо, чтобы происходила синхронизация при удалении и изменении UNIX пользователей, но не хотите этого при создании пользователя, так как сами желаете решать какие пользователи будут иметь доступ к прокси серверу.

Squid module config

Рисунок - Конфигурирование модуля Squid. Для увеличения картинки, нажмите на неё.

3. Нажмите кнопку Save(Сохранить) для применения изменений. Теперь действия произведенные в модуле Webmin Users and Groups(Пользователи и группы), будут иметь силу и для Squid пользователей. Добавление же пользователей через консоль командами useradd или изменения пароля через passwd, однако, не будет иметь того же эффекта для Squid.




Ссылки:

К содержанию

© Copyright 2004-2017 - CMS Made Simple
Сайт работает на CMS Made Simple version 1.4.1

© Все печеньки Break-people.ru принадлежат авторам проекта.

Яндекс цитирования Рейтинг@Mail.ru Яндекс.Метрика