Ubuntu server

Як показав читацький відгук, однією з найбільш цікавих тем є налагодження аутентифікації через проксі-сервер Squid. Сьогодні, маючи в своєму розпорядженні невеликим вільним часом, ми вирішили написати невелику замітку на цю тему, яка в підсумку вилилася в повноцінну статтю.

Відразу важливе попередження: аутентифікація і прозорий проксі несумісні! Доведеться вибирати щось одне. Друге попередження: аутентифікація через проксі дозволить обмежити доступ в Інтернет тільки по HTTP протоколу. Решта протоколи: FTP, SMTP, POP3 та інші будуть спокійно продовжувати працювати через NAT. Хоча в невеликих організаціях це не настільки критично, найбільш вживаним (і зловживати) є саме протокол HTTP, і одним із завдань адміністратора є обмеження доступу співробітників в інтернет саме через браузер.

Підготовка сервера.

Також слід заборонити HTTP з'єднання (порт 80) через NAT, для цього перед рядком:

У разі необхідності можна заборонити за умовчанням всі порти і протоколи, а потім дозволити потрібні. Для цього правило буде виглядати наступним чином:

Перезавантажуємося, перевіряємо правильність роботи ланцюжків.

Налаштування Squid

Перший рядок вказує кількість одночасно доступних каналів для аутентифікації, друга виведене вітання, можете замінити Squid proxy-caching web server на те, що вам подобатися, наприклад Інтернет сервер ТОВ "Роги і копита". Третій рядок відповідає за час зберігання пари логін - пароль, після закінчення цього часу сервер попросить повторну перевірку.

І додамо поруч рядок, яка дозволяє доступ тільки для аутентіфіцированний користувачів:

Не забуваємо прибрати настройку, що відповідала за прозорість, замість

Важливо. в версіях Squid3, починаючи з 3.1 і новіше, замість опції transparent використовується intercept.

Зберігаємо файл. Тепер нам треба створити файл паролів і завести користувачів. Для цього нам знадобиться утиліта htpasswd зі складу apache2-utils. встановимо цей пакет:

Тепер заведемо користувача командою:

Ключ -с вказує створити файл паролів в разі його відсутності, другого і подальшого користувачів слід заводити командою:

На клієнтській машині в браузері явно вкажемо використання проксі і спробуємо вийти в інтернет, якщо все зроблено правильно повинно з'явитися вікно запиту логіна - пароля.

Ubuntu server

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

Ubuntu server
Відкриємо конфігураційний файл Lighttpd і додамо в нього наступну секцію:

Тепер в кореневій папці веб-сервера створимо файл WPAD:

Відкриємо його внесемо наступний текст:

Крім того, відправимо безпосередньо протокол HTTPS, який Squid все одно не обробляє, тим самим знявши можливі проблеми з сайтами працюють за цим протоколом:

В результаті файл повинен прийняти вигляд:

Якщо у вашій мережі використовується Internet Explorer можна передавати розташування скрипта WPAD за допомогою DHCP сервера, для цього в /etc/dnsmasq.conf додайте:

У властивостях підключення браузера досить буде встановити галочку "Автоматичне визначення параметрів"

Ubuntu server
Google Chrome використовує настройки Internet Explorer. проте не вміє отримувати настройки по DHCP, тому буде потрібно додатково вказати прямий шлях до скрипта автонастройки:

Ubuntu server
На цьому настройку можна вважати закінченою. Залишається побажати аптайма вашого сервера.

Додаткові матеріали:

Схожі статті