Image

(Последнее изменение: 22.04.2024)

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 готов к работе, сборка также включает настройку служб и параметров, перечисленных ниже:




Нет комментариев