Генерация паролей аутентификации 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/hosts127.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
Займемся доступом к mysqlmysql -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. Почему? Возможно вы хотите использовать другой редиректор, навязывать что-то нехочу.