Настройка аутентификации прокси-сервера Squid в Ubuntu 18.04 / Fedora 29/28 / CentOS 7 |

Генерация паролей аутентификации squid proxy

htpasswd и htdigest – это два инструмента, которые можно использовать для генерации паролей аутентификации пользователя прокси.

В то время как htpasswd шифрует пароли и хранит их в хешированном формате, htdigest хранит пароли в виде простого текста и, следовательно, небезопасно.

В этом руководстве мы будем использовать утилиту htpasswd.

Дополнительная информация:

Реконфигурированием прокси-сервера squid занимается демон samsdaemon.

Реконфигурирование прокси-сервера squid происходит путем изменения файла squid.conf и подачей сигнала squid на реконфигурацию.

При внесении изменений в squid.conf samsdaemon привязывается к тэгам начала разделов, например
# TAG: acl
Наличие этих тэгов необходимо!!!
Кроме того, sams добавляет только те настройки, которые необходимы для работы пользователей,
зарегистрированных в SAMS.
acl типа acl all src 0.0.0.0/0.0.0.

0 и прочие не вносятся и не удаляются.
Если вы создали какие-то свои настройки для sams в squid.conf, чтобы они не уничтожались при реконфигурировании,
поставьте после ваших правил знак комментария # (решетка). samsdaemon не удаляет строки где есть знак #.

Конфигурируем squid на авторизацию пользователей через ldap в active directory

Проверяем авторизатор SQUIDа на работу с Active Directory. Для этого нужно запустить:

Конфигурируем squid на работу с ncsa авторизацией

в файл /etc/squid/squid.conf добавляем строки:
auth_param basic program /usr/libexec/ncsa_auth /etc/squid/ncsa.sams
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

Внимание!!! NTLM и NCSA авторизация одновременно работать не могут. используйте их раздельно.

Конфигурируем squid на работу с ntlm авторизацией в домене windows 2000 и выше

Для того, чтобы SQUID мог авторизоватьпользователей в домене Windows 2000, необходимо
установить и настроить SAMBA:

Разработчики SQUID рекомендуют использовать с Samba3 (Active Directory) хелпер,
идущий в составе samba3:
ntlm_auth.

Далее проверяем авторизатор SQUIDа на работу с winbind. Для этого нужно запустить:
/path/to/ntlm_auth –helper-protocol=squid-2.5-basic

И ввести вручную домен имя пароль (через пробел).

Если все работает корректно, то буден выдан ответ:

[2007/08/28 16:11:41, 3] utils/ntlm_auth.c:check_plaintext_auth(292)
NT_STATUS_OK: Success (0x0)
OK

в файл /etc/squid/squid.conf добавляем строки:

auth_param ntlm program /path/to/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param basic program /path/to/ntlm_auth –helper-protocol=squid-2.

Причем важно чтобы NTLM авторизация шла первой, иначе будет применяться
авторизация basic, и IE будет спрашивать пароль.

Конфигурируем squid на работу с ntlm авторизацией в домене windows nt 4

Для того, чтобы SQUID мог авторизоватьпользователей в домене Windows, необходимо
установить и настроить SAMBA :

Далее проверяем авторизатор SQUIDа на работу с winbind. Для этого нужно запустить:
/usr/lib/squid/wb_auth -d
И ввести вручную домен имя пароль (через пробел).

Если все работает корректно, то буден выдан ответ:

/wb_auth[91945](wb_basic_auth.c:129): Got ‘dmn XXXXX’ from squid (length: 10)
/wb_auth[91945](wb_basic_auth.c:55): winbindd result: 1
/wb_auth[91945](wb_basic_auth.c:58): sending ‘OK’ to squid

в файл /etc/squid/squid.conf добавляем строки:
auth_param ntlm program /usr/lib/squid/wb_ntlmauth
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param basic program /usr/local/squid/libexec/wb_auth
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

Причем важно чтобы NTLM авторизация шла первой, иначе будет применяться
авторизация basic, и IE будет спрашивать пароль.

Настройка squid sams ncsa на ubuntu 10.04

К Вашему всеобщему вниманию выкладываю свой ман — полностью рабочий и со всеми дополнениями, которых не хватает частенько при настройке серверов прокси squid. Подобную информацию можно нарыть в интернете, но после «тех» настроек сервак или не запуститься или работать будет некорректно, так что приятного прочтения.

(почему именно NCSA, то ответ прост – перекопав много вариантов как с IP так и с доменной авторизацией, пришел к выводу что самая стабильная версия это NCSA, хоть требует первоначального геморроя с заведением пользователей, но один раз сделал (сделал бекап после первой настройки на всякий случай 😉 ) и забыл.
Если у Вас есть мечта работы хорошего прокси-сервера в Вашем офисе, то инфа как раз для Вас.
Здесь собраны мною все дополнения и команды, необходимые для полной настройки и лишнего копания в инете – сам настроил его за 30 минут и все ок.

Исходные данные для установки:
(данные IP, mask, dns and gateway использовать своей сети)
Ubuntu 10.04 х386
Будущий сервер proxy.workgroup
ip 192.168.0.99 gt:192.168.0.77 dns:192.168.0.77

Установка:
При установке выбираем конфигурацию LAMP и OPENSSH-Server
В процессе установки вас спросят пароль для root mysql
После установки проверяем имя хоста в /ets/hostname ->> proxy.workgroup
и записи в /etc/hosts
127.0.0.1 localhost proxy
192.168.0.99 proxy.workgroup proxy

Записи, относящиеся к ipv6 можно удалить … (на Ваше усмотрение)
Настройки сетевой на Ваше усмотрение (лично у меня и по DHCP работает нормально все), а так если что:

mcedit /etc/network/interfaces (если открывать через mcedit, то первоначально выполните обновление системы и установите пакет mc)
iface eth0 inet static
address ……..
netmask ……….
gateway ……..

Проверяем установки времени:

date
Если нужно изменить -> man date

Проверим вашего пользователя:

Sudo su

Если же под рутом пароль не проходит, то:

Sudo passwd root (повторяем два раза пароль и вуаля root открыт)

Обновляем систему:

apt-get update
apt-get upgrade

Для следующей работы удобнее поставить mc:

apt-get install mc

Установка SQUID3 и SAMS
Ставим необходимые пакеты для сборки и работы sams:

apt-get install mc libpcre3 libpcre3-dev libmysqlclient15-dev php5-ldap php-fpdf squid3 squidguard gcc make php5-gd

Итак, нам необходимы исходники sams
Идем на google.ru, ищем и качаем Current Stable Release: sams-1.0.1.tar.bz2
Скачиваем архив и быстрым шагом, примонтировав расшаренную папку, перекинуть по сетке:
Создаем папку:

mkdir /mnt/music

Монтируем папку (обратите внимание на параметр iocharset):

mount //ip_address/share/music /mnt/music -o iocharset=utf8,username=user,password=pass

//ip_address/share/music — это каталог на сетевом диске в котором храниться вся музыка, не забудьте заменить ip_addres на реальный IP.
/mnt/music — это каталог в которым мы будет монтировать, его мы создали чуть выше
iocharset=utf8 — кодировка, лучше оставить ее если используется сетевой диск работающий под linux, а если под какой либо windows, то скорее всего надо будет заменить на cp1251
username — имя пользователя
password — пароль пользователя

Скачав архив, кидаем его в /usr/src/:

сp /путь/ /usr/src/
cd /usr/src/
bunzip2 sams-1.0.1.tar.bz2 && tar -xpf sams-1.0.1.tar && rm sams-1.0.1.tar
cd sams-1.0.1/

В файле samsdaemon.c

mcedit samsdaemon.c

ищем строку squid -k reconfigure
и меняем на squid3 -k reconfigure

Кто плохо знаком с консольными редакторами, пользуйтесь mc
или после сборки sams делаем симлинк (но думаю это не правильно…)
ln -s /usr/sbin/squid3 /usr/sbin/squid
иначе демон samsdaemon будет пытаться при реконфигурировании запустить /usr/sbin/squid вместо squid3

Теперь непосредственно конфигурирование:

./configure – -with-httpd-locations=/var/www
make
make install

Копируем файл запуска демона конфигурации

cp /etc/samsd.debian /etc/init.d/samsd
update-rc.d samsd defaults

Займемся доступом к mysql
mysql -u root -p (тут спросят пароль root для mysql)
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY “sams”;
(вместо “sams” вписываем свой пароль для юзера sams)
GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY “sams”;
(после каждой команды g)
exit

Теперь отредактируем в конфиге пароли, логины и пути к squid3

mcedit /etc/sams.conf

Учтите, что в строке
SHUTDOWNCOMMAND=shutdown -h now
прописана команда на полный останов прокси!
Собственно редактируем следующие строки:

MYSQLPASSWORD=sams (пароль который мы указывали тут — GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY “sams”; )
SQUIDROOTDIR=/etc/squid3
SQUIDLOGDIR=/var/log/squid3
SQUIDCACHEDIR=/var/spool/squid3

Теперь импортируем таблицы в mysql (путь указан кривой, так что придется через mc найти где лежит sams и там будут эти таблицы)
cd ./mysql
mysql -u root -p < sams_db.sql
mysql -u root -p < squid_db.sql

И идем редактировать конфиг сквида под свои нужды:
mcedit /etc/squid3/squid.conf

Ни в коем случае не менять структуру файла и не удалять комменты!

sams ориентируется в конфиге по его дефолтной структуре и тегам в комментариях.
Итак, поехали:
указываем адрес, который будет слушать/обслуживать наш прокси

http_port 192.168.0.99:3128
раскомментируем:
сache_dir ufs /var/spool/squid3 100 16 256
access_log /var/log/squid3/access.log
pid_filename /var/run/squid3.pid
(наже раскомментируем строки которые и будут выполнять службу NCSA)
url_rewrite_program /usr/local/bin/samsredir
url_rewrite_children 5
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/ncsa.sams (если указан другой файл, то заменить на ncsa.sams)
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

Теперь займемся обработчиком логов squid3 (access.log) – собственно непосредственный подсчет трафика
Обработчик логов sams может быть запущен samdaemon автоматически или из cron
Мы берем для простоты вариант работы с cron, создайте демону cron задание в файле /etc/crontab:

crontab -u root -e
и вставить строку */1 * * * * /usr/local/bin/sams
Должно получиться вот так:
# m h dom mon dow command
*/1 * * * * /usr/local/bin/sams

По окончанию всех действий необходимо подправить 2 пункта, которых так часто не хватает почти во всех мануалах что находил в поисковиках:

1) изменение файлов ./sams/src/webconfigtray.php и ./sams/src/configtray.php, а именно комментирвоание строк
/* function GetHostName()
* {
* if (!($value=getenv(‘SERVER_NAME’)))
* { $value=»N.A.»; }
* return($value);
*}
*/
2) Проблема с отчетом логов –выводит только максимальный год в морде sams 2009, исправляем:
Открываем файлик mysqltools.php и вот эти номера строки в 484 560 594 676 709
меняем
for($i=2001;$i<2022;$i )
на
for($i=$year-10;$i<=$year 1;$i )

Теперь перезапустим squid и займемся настройкой

/etc/init.d/squid3 restart

Открываем в Вашем любимом браузере:
http://192.168.0.99/sams/

Админ:
admin/qwerty
Статистика:
auditor/audit

Настройка WEB интерфейса:
ставим язык russian utf-8
Показывать графики в отчетах
Создавать PDF отчеты с помощью fpdf

Администрирование SAMS:
авторизация в NCSA
файл перенаправления запроса http://192.168.0.99/sams/icon/classic/blank.gif
Путь к каталогу, где лежат файлы запрета запроса http://192.168.0.99/sams/messages
Редиректор встроенный SAMS
Сохранять данные о трафике в базе за последние 12 месяцев

Удалить все существующие группы пользователей и шаблоны пользователей
удаляем все безжалостно…

Регулярные выражения:
создать список ban и поместить туда к примеру vk.com

Создаем шаблон пользователей users:
Запрет доступа по регулярным выражениям
ban
Авторизация NCSA

Теперь добавим группу Users
и первого юзера
(не забудьте поставить галку в поле – Пользователь активен)

Запускаем демона
/etc/init.d/samsd start
Идем в меню SQUID – реконфигурировать
Теперь для проверки reboot и будем смотреть как это все работает,
В браузере прописываем настройки прокси 192.168.0.99 порт 3128
Все должно работать, а при попытке входа на запрещенный URL должны получить:

Настройка аутентификации  прокси-сервера squid в ubuntu 18.04 / fedora 29/28 / centos 7

Чтобы настроить аутентификацию прокси-сервера Squid в Ubuntu 18.04 / Fedora 29/28 / CentOS 7 с базовым именем пользователя и паролем, вам необходимо внести несколько изменений в файл конфигурации squid следующим образом;

Настройка аутентификации в прокси squid

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

Откройте файл конфигурации squid для редактирования и добавьте следующие строки

Установка редиректора

Если Вы хотите, чтобы при работе прокси сервера вырезались графические объекты (баннеры и исчетчики), необходимо настроить работу SQUID с редиректором.
SAMS автоматически не прописывает редиректор в squid.conf. Почему? Возможно вы хотите использовать другой редиректор, навязывать что-то нехочу.

Похожее:  Как настроить AutoLogon on Ubuntu 18.04 — Реальные заметки Ubuntu & Mikrotik

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

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