Настраиваем SQUID с авторизацией по логину и паролю

задача:

Настроить прокси-сервер SQUID на VPS, чтобы была возможность скрыть свой реальный ip-адрес

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

Опыты будем проводить над системой CentOS 6.5 :

Устанавливаем прокси-сервер squid:

yum install squid

Редактируем конфигурационный файл squid:

vi /etc/squid/squid.conf

Указываем публичное имя прокси-сервера

visible_hostname proxy.xaxatyxa.ru

, где proxy.xaxatyxa.ru — имя которое придумали

Редактируем параметры доступа к прокси-серверу

Было:

# And finally deny all other access to this proxy
http_access deny all

Стало:

# And finally deny all other access to this proxy
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/internet_users
auth_param basic children 5
auth_param basic realm =My PROXY serveR=
auth_param basic credentialsttl 2 hours
acl internet_users proxy_auth REQUIRED
http_access allow internet_users
http_access deny all

где,

/usr/lib64/squid/ncsa_auth — путь к программе NCSA аутентификации (пусть зависит от системы и может отличаться).
/etc/squid/internet_users — файл с логинами и паролями пользователей
children 5 — количество одновременных подключений.
realm =PROXY server= — сообщение окна приветствия
credentialsttl 2 hours — время жизни сессий подключившихся пользователей.
acl internet_users proxy_auth REQUIRED — включаем запрос логина и пароля для пользователей группы «internet_users».
http_access allow internet_users — разрешаем полный доступ пользователям группы "internet_users".
http_access deny all — остальным запрещаем доступ

Создаем файл с паролями

htpasswd -c /etc/squid/internet_users dtulyakov
New password: *******
Re-type new password: *******
Adding password for user dtulyakov

где dtulyakov — имя пользователя


Ключ -с необходимо указывать только один раз, при создании файла с паролями. В последующем добавлять пользователей нужно без этого ключа. Итак, мы получили файл с примерно таким содержимым. Проверим:

cat /etc/squid/internet_users
dtulyakov:Bo3pmLgswszJw

где dtulyakov — имя пользователя, а Bo3pmLcswszJw — хеш его пароля.

После того как мы завели необходимых пользователей выставим нужные права на файл «/etc/squid/internet_users».

chmod 440 /etc/squid/internet_users
chown squid:squid /etc/squid/internet_users

Запускаем squid

service squid start

В IP необходимо создать правило

iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT

где eth0 — wan интерфейс

После того как мы настроили и запустили squid переходим к настройке браузера. Для примера буду использовать internet explorer

Пробуем зайти на любой сайт, и как и требовалось видим окно авторизации

Авторизуемся и перед нами открытые интернет просторы )

Возможные ошибки SQUID

1. Ошибка «WARNING: Could not determine this machines public hostname. Please configure one or set 'visible_hostname'.» при запуске squid

Ссылки и документация по SQUID для вкуривания

  1. squid-cache.org/Versions/v3/3.1/manuals/ncsa_auth.html
  2. ru.wikipedia.org/wiki/Squid
  3. squid-cache.org/Doc/
  4. squid.h12.ru/FAQ/FAQ.html
Остались или есть ещё вопросы? Задавайте!
(не забудьте указать ссылку на этот пост)




Оставить комментарий

Установка, настройка, мониторинг и администрирование linux, unix, windows систем