Использование общего файла паролей (htpasswd)
Добавлено: 11 фев 2026, 16:13
если вы используете auth = "plain[passwd=/etc/ocserv/ocpasswd]" в конфигурации ocserv.
Вам понадобится хелпер basic_ncsa_auth, который обычно идет в комплекте с Squid.
/etc/squid/squid.conf
Вариант 2: Использование PAM (Единая системная авторизация)
/etc/squid/squid.conf
Важные нюансы
Порты: Убедитесь, что Squid и ocserv не конфликтуют. ocserv обычно занимает 443 (TCP/UDP), Squid по умолчанию — 3128.
Шифрование: По умолчанию Basic Auth в Squid передает логин/пароль в открытом виде (base64). Если вы хотите безопасности уровня ocserv, вам нужно настроить HTTPS-прокси (Squid с поддержкой SSL) или использовать SSH-туннель.
Формат паролей: ocserv использует специфический формат в файле ocpasswd. Если Squid отказывается принимать их напрямую через basic_ncsa_auth, лучше всего переключить оба сервиса на RADIUS или LDAP для полноценного Single Sign-On.
Проверка конфигурации
После внесения изменений проверьте конфиг и перезапустите службу:
Вам понадобится хелпер basic_ncsa_auth, который обычно идет в комплекте с Squid.
Код: Выделить всё
sudo apt update && sudo apt install squid apache2-utils -yКод: Выделить всё
# Путь к хелперу и файлу паролей ocserv
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/ocserv/ocpasswd
auth_param basic children 5
auth_param basic realm Proxy Server
auth_param basic credentialsttl 2 hours
# Создание ACL для авторизованных пользователей
acl authenticated proxy_auth REQUIRED
# Разрешение доступа
http_access allow authenticated
http_access deny allКод: Выделить всё
sudo gpasswd -a proxy shadowКод: Выделить всё
auth_param basic program /usr/lib/squid/basic_pam_auth
auth_param basic children 5
auth_param basic realm Network Access
auth_param basic credentialsttl 2 hours
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny allПорты: Убедитесь, что Squid и ocserv не конфликтуют. ocserv обычно занимает 443 (TCP/UDP), Squid по умолчанию — 3128.
Шифрование: По умолчанию Basic Auth в Squid передает логин/пароль в открытом виде (base64). Если вы хотите безопасности уровня ocserv, вам нужно настроить HTTPS-прокси (Squid с поддержкой SSL) или использовать SSH-туннель.
Формат паролей: ocserv использует специфический формат в файле ocpasswd. Если Squid отказывается принимать их напрямую через basic_ncsa_auth, лучше всего переключить оба сервиса на RADIUS или LDAP для полноценного Single Sign-On.
Проверка конфигурации
После внесения изменений проверьте конфиг и перезапустите службу:
Код: Выделить всё
sudo squid -k parse
sudo systemctl restart squid