Squid — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS. Использование кэширующего прокси-сервера становится выгодно примерно с 2000 посетителей в сутки.

Squid поддерживает несколько видов идентификации пользователей:

  • По IP-адресу (или доменному имени узла)
  • По переданным реквизитам (логин/пароль)
  • По идентификатору пользовательского агента (браузера)

Для идентификации по логину/паролю возможно использовать:

  • Обычные логин/пароль
  • NTLM-авторизацию
  • Внешние программы авторизации (определяющие формат авторизации)

В этой заметке приведены основные строки конфигурационного файла squid, необходимые для создания простого прозрачного прокси-сервера с авторизацией по паролю.

# WELCOME TO SQUID 2.7.STABLE9
# ----------------------------
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
#Recommended minimum configuration:
acl passwd proxy_auth "/etc/squid/passwd"
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
#
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
#Default:
http_access allow passwd
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
#Allow ICP queries from local networks only
icp_access allow localnet
icp_access deny all
access_log /var/log/squid/access.log squid
#Suggested default:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
# Show hosts  file
hosts_file /etc/hosts
# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid
# ports for connection
http_port 192.168.1.7:443
https_port 127.0.0.1:443

Как добавлять пользователей

В конфигурационном файле несколько полей отвечают за запрос пароля у подключающихся пользователей.

Эта строка разрешает доступ к серверу по паролю:

http_access allow passwd

Эта строка определяет, каким механизмом будет производиться авторизация, и в каком файле хранятся сведения о пользователях:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd

Добавление/изменение пользователей осуществляется с помощью проги htpasswd.

Создание нового файла passwd делается только первый раз. passwd — это файл, где будут храниться пароли с именами name_user. После ввода команда запросит пароль и потверждение пароля.

htpasswd -c /etc/squid/passwd name_user

Добавление следующих пользователей делается так:

htpasswd /etc/squid/passwd name_user

Изменение пароля пользователей выполняется так же, как и создание, просто перезаписывается существующая строка.

Удаление пользователя выполняется простым удалением строки с нужным именем из файла /etc/squid/passwd в любом текстовом редакторе.

Источник www.squid-cache.ru

Один комментарий к “Простой config-файл прокси-сервера Squid с авторизацией по паролю”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *