Debian 12 Linux proxy Server (Squid, SARG, Apache)
Корпоративный прокси сервер предназначен для обеспечения доступа к корпоративным ресурсам, которые заблокированы для доступа из общего интернета с целью обеспечения безопасности. Как правило, это внутренние сервисы и системы компании с которыми ее сотрудники ежедневно взаимодействуют. Прокси сервер может служить более удобной альтернативой чем удаленный рабочий стол, так как сотрудники получают доступ в привычном варианте без необходимости переключаться между виртуальным рабочим местом. Вы можете настроить один из браузеров для прокси сервера, например FireFox или WaterFox для прокси, а остальные браузеры будут использовать стандартный интернет. Такая конфигурация сделает работу удобной и безопасной. |
Конфигурация преднастроенного сервера доступна на форме заказа.
В качестве прокси сервера мы будем использовать службу squid, которая хорошо себя зарекомендовала и имеет возможность тонкой и удобной настройки.
1. Установим Squid.
apt update
apt install squid
Проверим статус службы
systemctl status squid
● squid.service - Squid Web Proxy Server
Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2023-03-25 18:16:48 UTC; 20h ago
По умолчанию в настройках squid запрещены все подключения. Внесем изменения в настройки:
/etc/squid/squid.conf
include /etc/squid/conf.d/*
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
Вы можете разрешить доступ для определенного ip адреса или подсети. Для это нужно раскоментировать строку http_access allow localnet и добавить правило
acl localnet src remote_ip_address
Правило содержит следующие параметры:
- acl - Корневое правило доступа.
- localnet - Группа к которой применяется правило.
- src - IP адрес, входящий в группу правил.
Настроим доступ.
Так как у нас корпоративный прокси, нам необходимо добавить авторизацию по логину и паролю для каждого пользователя. Используйте следующую команду для добавления пользователей, которым необходимо предоставить доступ:
htpasswd -c /etc/squid/passwords user_name
После проверим наличие пользователя и пароля в файле командой:
more /etc/squid/passwords
user_name:$apr1$zEyMac8p$yZ04bfdMJugpXvzMVTig60
Теперь добавим в файл конфигурации авторизацию по пользователям из созданного файла:
/etc/squid/squid.conf
include /etc/squid/conf.d/*
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
# Example rule allowing access from your local networks.
acl localnet src remote_ip_address
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
http_access allow localhost
http_access allow authenticated
# And finally deny all other access to this proxy
http_access deny all
В данном примере мы разрешаем доступ со всех ip адресов и только по логину и паролю из файла доступа. Так как правило #http_access allow localnet неактивно.
Теперь необходимо указать в настройках браузера IP адрес данного прокси сервера и порт, указанный в настройках по умолчанию: 3128.
В некоторых случаях, когда корпоративные ресурсы работают на особенных портах, необходимо будет добавить их в конфигурационный файл, так как по умолчанию разрешены базовые. Например, нам нужно добавить дополнительный порт, который работает через https.
/etc/squid/squid.conf
acl SSL_ports port 4643
acl Safe_ports port 4643 # https CRM
После внесенных изменений перезапустим службу squid, чтобы применить настройки:
systemctl restart squid
Корпоративный прокси сервер Linux Debain 12 готов к работе, сборка также включает настройку служб и параметров, перечисленных ниже: