Як показав читацький відгук, однією з найбільш цікавих тем є налагодження аутентифікації через проксі-сервер Squid. Сьогодні, маючи в своєму розпорядженні невеликим вільним часом, ми вирішили написати невелику замітку на цю тему, яка в підсумку вилилася в повноцінну статтю.
Відразу важливе попередження: аутентифікація і прозорий проксі несумісні! Доведеться вибирати щось одне. Друге попередження: аутентифікація через проксі дозволить обмежити доступ в Інтернет тільки по HTTP протоколу. Решта протоколи: FTP, SMTP, POP3 та інші будуть спокійно продовжувати працювати через NAT. Хоча в невеликих організаціях це не настільки критично, найбільш вживаним (і зловживати) є саме протокол HTTP, і одним із завдань адміністратора є обмеження доступу співробітників в інтернет саме через браузер.
Підготовка сервера.
Також слід заборонити HTTP з'єднання (порт 80) через NAT, для цього перед рядком:
У разі необхідності можна заборонити за умовчанням всі порти і протоколи, а потім дозволити потрібні. Для цього правило буде виглядати наступним чином:
Перезавантажуємося, перевіряємо правильність роботи ланцюжків.
Налаштування Squid
Перший рядок вказує кількість одночасно доступних каналів для аутентифікації, друга виведене вітання, можете замінити Squid proxy-caching web server на те, що вам подобатися, наприклад Інтернет сервер ТОВ "Роги і копита". Третій рядок відповідає за час зберігання пари логін - пароль, після закінчення цього часу сервер попросить повторну перевірку.
І додамо поруч рядок, яка дозволяє доступ тільки для аутентіфіцированний користувачів:
Не забуваємо прибрати настройку, що відповідала за прозорість, замість
Важливо. в версіях Squid3, починаючи з 3.1 і новіше, замість опції transparent використовується intercept.
Зберігаємо файл. Тепер нам треба створити файл паролів і завести користувачів. Для цього нам знадобиться утиліта htpasswd зі складу apache2-utils. встановимо цей пакет:
Тепер заведемо користувача командою:
Ключ -с вказує створити файл паролів в разі його відсутності, другого і подальшого користувачів слід заводити командою:
На клієнтській машині в браузері явно вкажемо використання проксі і спробуємо вийти в інтернет, якщо все зроблено правильно повинно з'явитися вікно запиту логіна - пароля.

Автоматичне визначення налаштувань проксі-сервера

Тепер в кореневій папці веб-сервера створимо файл WPAD:
Відкриємо його внесемо наступний текст:
Крім того, відправимо безпосередньо протокол HTTPS, який Squid все одно не обробляє, тим самим знявши можливі проблеми з сайтами працюють за цим протоколом:
В результаті файл повинен прийняти вигляд:
Якщо у вашій мережі використовується Internet Explorer можна передавати розташування скрипта WPAD за допомогою DHCP сервера, для цього в /etc/dnsmasq.conf додайте:
У властивостях підключення браузера досить буде встановити галочку "Автоматичне визначення параметрів"

