Добро пожаловать в наше руководство по настройке базовой аутентификации Squid Proxy в Ubuntu 18.04 / Fedora 29/28 / CentOS 7 по имени пользователя и паролю.
Настройка аутентификации прокси-сервера Squid в Ubuntu 18.04 / Fedora 29/28 / CentOS 7
Чтобы настроить аутентификацию прокси-сервера Squid в Ubuntu 18.04 / Fedora 29/28 / CentOS 7 с базовым именем пользователя и паролем, вам необходимо внести несколько изменений в файл конфигурации squid следующим образом;
Генерация паролей аутентификации Squid Proxy
htpasswd и htdigest – это два инструмента, которые можно использовать для генерации паролей аутентификации пользователя прокси.
В то время как htpasswd шифрует пароли и хранит их в хешированном формате, htdigest хранит пароли в виде простого текста и, следовательно, небезопасно.
В этом руководстве мы будем использовать утилиту htpasswd.
Чтобы использовать htpasswd, вам нужно установить httpd/apache2-utils.
Установите его;
sudo apt-get install apache2-utils
sudo yum install httpd-tools
После установки выполните приведенные ниже команды, чтобы сгенерировать пароль для аутентификации пользователей.
htpasswd -c /etc/squid/.squid_users amos New password: Re-type new password: Adding password for user amos
Это создает пароль для пользователя amos и сохраняет его в /etc/squid/.squid_users.
Чтобы добавить больше пользователей, вам нужно удалить опцию -c из команды htpasswd, например;
htpasswd /etc/squid/.squid_users john New password: Re-type new password: Adding password for user john
Когда вы проверяете файл паролей, теперь есть два пользователя с их зашифрованными паролями;
less /etc/squid/.squid_users amos:$apr1$IyfTZICg$2fPImX5o14XC2KPF1kZWv/ john:$apr1$5o0XKeto$m6c5B5KK5ZAK/7A/VIgYB/
Пользователь squid должен уметь читать этот файл.
Поэтому выполните команду ниже, чтобы установить соответствующие разрешения;
chown squid /etc/squid/.squid_users
Убедитесь, что имена пользователей и пароли работают нормально с прокси Squid. Для каждой правильной записи вы должны увидеть OK, как показано ниже;
/usr/lib64/squid/basic_ncsa_auth /etc/squid/.squid_users amos password OK john password OK
Настройка аутентификации в прокси Squid
Поскольку все выглядит нормально, перейдите к настройке базовой проверки подлинности прокси-сервера squid.
Откройте файл конфигурации squid для редактирования и добавьте следующие строки
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.squid_users auth_param basic children 5 auth_param basic realm Proxy Authentication Required auth_param basic credentialsttl 2 hours auth_param basic casesensitive off acl auth_users proxy_auth amos john http_access allow auth_users
В качестве краткого обзора строк, указанных выше;
- Первая строка говорит Squid использовать вспомогательную программу basic_ncsa_auth и найти имена пользователей и пароль в файле /etc/squid/.squid_users.
- Строка auth_param basic children 5 указывает максимальное количество процессов проверки подлинности squid.
- auth_param basic realm определяет область защиты, которая должна быть сообщена клиенту для схемы аутентификации.
- auth_param basic credentialsttl 2 часа указывает, как долго squid принимает внешне проверенное имя пользователя: пара паролей действительна для
- auth_param basic casesensitive off указывает, учитывают ли имена пользователей регистр.
- acl auth_users proxy_auth amos john определяет ACL аутентификации Squid для пользователей, которым разрешено проходить аутентификацию.
Когда вы закончите настройку, сохраните файл и перезапустите squid.
systemctl restart squid
Настройте свой клиент для использования аутентификации прокси-сервера vai squid, как описано в нашей предыдущей статье.
Со стороны клиента, если вы попытаетесь получить доступ к Интернету через браузер, вам будет предложено пройти аутентификацию. Смотрите скриншот ниже;
Когда вы аутентифицируетесь должным образом, вы сможете получить доступ к Интернету в браузере.
Если вы попытаетесь загрузить файл с помощью wget, вам будет предложено пройти аутентификацию;
wget google.com --2018-12-19 00:38:21-- http://google.com/ Connecting to 192.168.43.69:3128... connected. Proxy request sent, awaiting response... 407 Proxy Authentication Required 2018-12-19 00:38:21 ERROR 407: Proxy Authentication Required.
Следовательно,
wget --proxy-user=amos --proxy-password=password google.com --2018-12-19 00:39:36-- http://google.com/ Connecting to 192.168.43.69:3128... connected. Proxy request sent, awaiting response... 301 Moved Permanently Location: http://www.google.com/ [following] --2018-12-19 00:39:37-- http://www.google.com/ Reusing existing connection to 192.168.43.69:3128. Proxy request sent, awaiting response... 200 OK Length: unspecified Saving to: ‘index.html.8’ index.html.8 [ <=> ] 11.72K --.-KB/s in 0.1s 2018-12-19 00:39:38 (97.6 KB/s) - ‘index.html.8’ saved [12001]
Ну, вот и все. Вы успешно настроили аутентификацию прокси-сервера Squid в Ubuntu 18.04 / Fedora29 / 28 / CentOS 7 с именем пользователя и паролем.
В следующем уроке мы узнаем, как интегрировать прокси-сервер Squid с серверами LDAP для централизованной аутентификации.
Спасибо, что не прошли мимо. Мы надеемся, что это было информативно.