Прокси-сервер – это программа, которая выступает посредником, перенаправляя HTTP-трафик, поступивший к ней, другому адресату. Её часто используют в локальных сетях для организации выхода в интернет, либо для обхода блокировок сайтов.
Покажем как быстро и безопасно настроить прокси-сервер с аутентификацией.
Настройка прокси-сервера
Будем считать, что вы располагаете собственным сервером с Ubuntu на борту. Зайдите на него по SSH и установите прокси-сервер Squid.
apt update
apt install squid3
По умолчанию сервер сразу запустится. Проверить его состояние можно при помощи команды.
service squid status
Вы получите примерно следующий текст
Для остановки, запуска и перезапуска — вам помогут команды:
service squid stop
service squid start
service squid restart
Мы будем редактировать файл с конфигурацией прокси-сервера /etc/squid/squid.conf. Рекомендуем сначала сохранить копию этого файла, например как squid.conf.backup
Теперь откройте оригинальный файл squid.conf и замените всё его содержимое на следующий текст.
http_port 3128
http_access allow all
Обратиться к прокси-серверу можно, установив в браузере соответствующий адрес в окне настроек прокси-сервера
Настройка аутентификации
Для настройки аутентификации нам понадобится пакет apache2-utils, содержащий утилиту для генерации паролей htpasswd
apt install apache2-utils
Для того, чтобы сгенерировать пароль для пользователя username введите следующую команду
htpasswd -c /etc/squid/passwords username
Программа попросит вас дважды ввести пароль для пользователя username и запишет его в файл /etc/squid/passwords.
Перейдите в директорию Squid: /etc/squid3/ и замените текст из файла конфигурации squid.conf на следующий
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm Squid proxy-caching web server
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_port 3128
Разберем данную конфигурацию подробнее
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords
- Указывает серверу использовать аутентификацию по паролю из файла /etc/squid/passwords
auth_param basic realm Squid proxy-caching web server
- Указывает серверу показывать пользователю фразу Squid proxy-caching web server в окне ввода пароля
acl authenticated proxy_auth REQUIRED
- Устанавливает обязательную аутентификацию
http_access allow authenticated
- Разрешает доступ аутентифицированным пользователям
http_port 3128
- Устанавливает порт, на котором будет работать прокси-сервер
Сервер необходимо перезапустить при помощи следующей команды
service squid restart
Выводы
Мы показали пример минимальной настройки прокси-сервера с поддержкой аутентификации по логину и паролю.