В один прекрасный день, в одной прекрасной стране, у одного прекрасного провайдера я узнал что доступ к некоторым сайтам сайтам заблокирован.
Но меня это не устраивало, поэтому было решено установить в другой прекрасной стране прокси.
После долгих мучений с добавлением авторизации в SOCKS прокси dante мой выбор пал на SQUID.
Для начала установим SQUID
apt-get install squid3
Создадим файл с паролями:
touch /etc/squid3/squid_passwd
добавим в него пользователей в формате
username:password
где password это md5 хэш от пароля.
Хэш генерируем командой
echo -n "password"| md5sum
где вместо password указывается пароль.
После добавления пользователей займемся конфигурированием самого SQUID
конфигурирование происходит в файле /etc/squid3/squid.conf
Приведем имеющийся конфиг с комментариями к такому виду, или просто запишем этот конфиг вместе имеющегося:
(далее идет конфиг)
# укажем программу для авторизации и имя файла с паролями.
# /usr/lib/squid3/ncsa_auth программа, используемая для авторизации.
# /etc/squid3/squid_passwd файл с паролями
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/squid_passwd
#Лист в котором указаны любой IP (параметр all равен 0.0.0.0/0)
acl all src all
# создадим группу ncsa_users и потребуем для нее обязательную авторизацию
acl ncsa_users proxy_auth REQUIRED
#Правила для локальной сети и IP 1.2.3.4
acl localnet src 192.168.0.0/24 # RFC1918 possible internal network
acl azo src 1.2.3.4
# порты, которые разрешено проксировать
acl SSL_ports port 443 # SSL
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 5190 # ICQ
acl CONNECT method CONNECT
# разрешаем доступ пользователям локальной сети (описанной в правиле localnet)
# всем кто имеет IP 1.2.3.4 и группе ncsa_users
# причем для локальной сети и IP 1.2.3.4 пароль спрашиваться не будет
http_access allow localnet
http_access allow azo
http_access allow ncsa_users
#Разрешим проксируемые порты
http_access allow !Safe_ports
# Разрешим SSL
http_access allow !SSL_ports
# Запретим все остальное
http_access deny all
# Укажем порт, на котором будет висеть прокси
http_port 3128
#Будем выбирать ipv4 адрес из выдачи DNS первым
dns_v4_first on
Теперь сохраним конфигурационный файл и перезапустим SQUID
/etc/init.d/squid3 restart
Теперь можно настраивать прокси в нужных приложениях и начинать им пользоваться.
Заказать создание и поддержку безопасной IT-инфраструктуры любой сложностиБыть уверенным в своей IT-инфраструктуре – это быть уверенным в завтрашнем дне. Для того, чтобы сделать заказ:
|
В debian 7 не “/usr/lib/squid3/basic_ncsa_auth”, а “/usr/lib/squid3/ncsa_auth”.
Спасибо за дополнение! В Debian unstable используется именно basic_ncsa_auth
А вот в стабильной версии и правда используется ncsa_auth.