Настройка sams2 на centos установка
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
nano /etc/squid/squid.conf
squid -k parse
squid -k reconfigure
service squid restart
yum install php php-mysql php-mbstring php-devel php-xml php-gd php-mcrypt
yum install -y mariadb mariadb-server mariadb-devel
yum install zip unzip
nano /etc/squid/squid.conf
squid -k check
squid -k parse
squid -k reconfigure
systemctl restart squid
failed to open /var/run/squid.pid: (2) No such file or directory
sudo killall -9 squid
systemctl start squid
«Авторизация администратора SAMS » и ввести учетные данные по-умолчанию: пользователь admin , пароль qwerty
mysql -usams2user -psams2password
SHOW DATABASES;
USE sams2db;
SHOW TABLES;
SELECT * FROM sgroup;
DELETE FROM sgroup WHERE s_group_id IN (8,9,10,11,12);
DELETE FROM sgroup WHERE s_group_id BETWEEN 10 and 248;
DELETE FROM shablon WHERE s_shablon_id BETWEEN 4 AND 246 AND s_shablon_id <> 8;
show processlist;
acl net1 src 10.1.1.0/24
acl net2 src 10.1.2.0/24
acl net3 src 10.1.3.1/32
tcp_outgoing_address ВНЕШНИЙ_IP_1 net1
tcp_outgoing_address ВНЕШНИЙ_IP_2 net2
tcp_outgoing_address ВНЕШНИЙ_IP_3 net3
tcp_outgoing_address ВНЕШНИЙ_IP_4
firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --zone=public --remove-service=dhcpv6-client --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --list-services
firewall-cmd --zone=external --list-ports
firewall-cmd --zone=external --list-services
firewall-cmd --zone=external --change-interface=enp3s0 --permanent
firewall-cmd --zone=external --remove-service=ssh --permanent
firewall-cmd --get-active-zones
firewall-cmd --zone=external --list-services
firewall-cmd --list-all
firewall-cmd --get-services
systemctl restart firewalld
firewall-cmd --permanent --new-ipset=IP-users --type=hash:net
firewall-cmd --ipset=IP-servers --add-entry=192.168.0.0/24 --permanent
firewall-cmd --ipset=IP-servers --add-entry=192.168.200.12 --permanent
firewall-cmd --ipset=IP-servers --add-entry=192.168.200.200 --permanent
firewall-cmd --ipset=IP-servers --remove-entry=192.168.20.0/24 --permanent
firewall-cmd --ipset=IP-servers --get-entries
firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset="IP-servers" service name="ssh" accept'
firewall-cmd --remove-rich-rule='rule source ipset=IP-users service name="http" drop' --permanent
firewall-cmd --permanent --zone=public --list-rich-rules
чтобы все пользователи (список ipset IP-users) ходили через squid несмотря на net.ipv4.ip_forward=1
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -m set --match-set IP-servers src -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -m set --match-set IP-servers src -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -j DROP
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -j DROP
открыть Google Play
firewall-cmd --zone=public --add-port=5228/tcp --permanent
firewall-cmd --zone=external --add-port=5228/tcp --permanent
firewall-cmd --reload
systemctl restart firewalld
/etc/sysconfig/network-scripts/
во внутренней сетевой карте не указываем GATEWAY (шлюзом будет внешняя карта)
systemctl restart NetworkManager.service
nslookup serv1.domain.office.local
yum -y install squid - установка squid
systemctl start squid - запустить
systemctl enable squid - вкл авто запуск
squid -z - создаем структуру папок под кэш следующей командой
в командной строке на контроллере домена создаём файл ключа
ktpass -princ HTTP/[email protected] -mapuser DOMAIN\squid -pass "password123" -ptype KRB5_NT_SRV_HST -out C:\myproxy123.keytab
выставляем права
chown squid:squid /etc/myproxy123.keytab
chmod u+rwx,g+rx /etc/myproxy123.keytab
если забыл пароль пользователя, то можно проверить так:
Есть ли аналог SU для Windows
Для локального аккаунта
runas /profile /user:computernamehere\username cmd
Для учетной записи домена
runas /profile /user:domainname\username cmd
runas /profile /user:username@domainname cmd
wbinfo -t
wbinfo -g
wbinfo -u
/usr/lib64/squid/basic_ldap_auth -b 'dc=domain,dc=office,dc=local'
getent passwd
getent group
net ads info
net ads lookup
net ads status -U administrator | less
klist -k /etc/krb5.keytab
Удалим полученный билет командой:
kdestroy
/usr/bin/ntlm_auth --username=test1234
Password:
NT_STATUS_OK: The operation completed successfully. (0x0)
проверка ext_kerberos_ldap_group_acl
/usr/lib64/squid/ext_kerberos_ldap_group _acl -a -d -i -g InetUsers -D DOMAIN.OFFICE.LOCAL
/usr/lib64/squid/ext_kerberos_ldap_group _acl -d -a -i -g [email protected] -D DOMAIN.OFFICE.LOCAL
ошибка
kerberos_ldap_group: ERROR: Error while starting keytab scan : Key table file '/etc/krb5.keytab' not found
лечение
ln -s /etc/myproxy123.keytab /etc/krb5.keytab
Для автоматической аутентификации через Squid, необходимо внести следующие изменения - добавляем в файл /etc/sysconfig/squid строки
KRB5_KTNAME=/etc/myproxy123.keytab
export KRB5_KTNAME
и отключаем replay-кэш (для снижения нагрузок)
KRB5RCACHETYPE=none
export KRB5RCACHETYPE
добавить в /etc/squid/squid.conf
ext_kerberos_ldap_group_acl тоже работает, но нужно поставить параметр ipv4
Настройка squid или как не купить платное решение
children — максимальное количество процессов доступные для запуска, startup количество процессов которые запущены всегда, idle максимальная очередь к помощнику при превышении указанного числа будет запускаться новый процесс помощника.
squid -k check
squid -k parse
squid -k reconfigure
systemctl restart squid
failed to open /var/run/squid.pid: (2) No such file or directory
sudo killall -9 squid
systemctl start squid
ошибки и логи
1. access.log - для записи запросов клиентов;
2. store.log - для записи действий с кэшем;
3. cache.log - для записи ошибок возникающих при работе с Squid.
tail -f /var/log/squid/cache.log
tail -f /var/log/squid/access.log
Чистим кэш Squid
grep cache_dir /etc/squid/squid.conf
service squid stop
rm -r /var/spool/squid/*
squid -z
service squid start
net.ipv4.ip_forward=0 - иначе можно будет ходить мимо squid (прописать роутинг и выставить "без прокси")
sudo sysctl -p
sudo sysctl --system
На клиентских машинах адрес прокси сервера должен быть указан в FQDN-формате (myproxy123.domain.office.local)
nano /etc/environment
https_proxy
http_proxy
ftp_proxy="ftp://user:pass@proxy:port/"
socks_proxy="socks://user:pass@proxy:port/"
no_proxy https://proxy:port/"
yum install squidGuard
из blacklists.tgz скопировать каталог suspect в каталог BL (иначе при преобразовании в БД выдаст ошибку)
squidGuard -b -d -C all
chown -R squid:squid /var/squidGuard
chown root:squid /etc/squid/squidGuard.conf
chmod 0640 /etc/squid/squidGuard.conf
chown -R squid:squid /var/log/squidGuard
в /etc/squid/squid.conf Добавляем:
url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
squid -k reconfigure
systemctl restart squid
логи
tail -f /var/log/messages
tail -f /var/log/squidGuard/squidGuard.log
Добрый день господа, думаю, я не открою Америку рассказывая про проект SAMS (Squid Accaunt Management System), статьи о нем достаточно распространены, в том числе и на Хабрахабре. Однако хотя я не расскажу вам много нового, но надеюсь, расскажу немного полезного.
Первая причина написания статьи — помочь собратьям эникейщикам (админам небольших организаций) вроде меня, получить еще одно удобное, а самое главное бесплатное средство администрирования. Вторая причина в том, что попытавшись установить данное средство у себя, по различным HowTo я обнаружил, что они либо не полные, либо устарели и человеку знакомому с линуксом поверхностно (как я) получить что либо более менее работоспособное по ним невозможно, поэтому получив результат, решил поделиться с новичками.
Задачи
Итак, данное пошаговое HowTo ставит свой целью привести вас к собственному прозрачному прокси-серверу на CentOS 6.4 i386 который позволяет аутентифицировать пользователей через Active Directory. При этом данный сервер будет иметь удобный веб-интерфейс, и самое главное, он бесплатен (кого я этим хочу удивить в топике никсов?).
Немного о SAMS
Сложности при установке
Основная проблема в установке SAMS то, что стабильная первая версия (а в настоящий момент энтузиасты продолжают разработку SAMS2, надеюсь, у них все получится) давненько не обновлялась поэтому требует установки старых библиотек не из стандартных репозиториев. “Какая глупость!” — скажете вы и будете не совсем правы, ибо как я уже говорил статья, прежде всего, новичкам совсем не знакомым с линуксом. Так же одной из проблем стало то, что HowTo по установке на CentOS(выбор ОС не тема данной статьи, так сложилось) я не нашел.
Подготовка к установке
Настройка ОС
-
Если забыли или неправильно настроили сеть, то правим конфигурацию сетевых интерфейсов ifcfg-eth0, ifcfg-eth1 (у нас же шлюз так что интерфейсов, очевидно, не менее двух)
В данной статье будет рассмотрен вопрос развертывания только системы SAMS для управления прокси-сервером SQUID. Для установки последнего читайте Установка и настройка Squid на CentOS.
Установка веб-сервера
SAMS является веб-приложением и для своей работы требует сам веб-сервер, интерпретатор PHP и СУБД. Мы установим связку Apache + PHP + MariaDB.
Apache
По умолчанию, в CentOS уже установлен данный веб-сервер. Если нет, то вводим команду:
* необходимо убедиться, что в системе не запущены другие веб-серверы. Проверить это можно командой ss -tunlp, которая покажет, заняты ли порты 80 и 443.
После установки веб-сервера, разрешаем порты в брандмауэре:
И запускаем веб-сервер:
Устанавливаем php и необходимые для работы sams компоненты:
yum install php php-mysql php-mbstring php-devel php-xml php-gd php-mcrypt
Открываем конфигурационный файл apache:
Находим модуль dir_module и приводим его к виду:
DirectoryIndex index.php index.html
* мы добавляем index.php перед index.html
И перезагружаем apache:
MariaDB
Установку сервера mariadb выполняем командой:
yum install mariadb-server
systemctl enable mariadb
systemctl start mariadb
Задаем пароль пользователя root mysql:
mysqladmin -u root password
Установка SAMS
Сборка из исходников
Устанавливаем пакеты, которые нужны для сборки sams:
yum install wget unzip autoconf automake lib pcre-devel libstdc++-devel gcc-c++ mariadb-devel
Скачиваем исходник sams:
Переходим в распакованный каталог:
Открываем исходный файл proxy.h:
enum TrafficType: long
enum usrAuthType: long
enum RedirType: long
enum ParserType: long
enum CharCase: long
make -f Makefile.cvs
Мы получим что-то на подобие:
Use MySQL API: yes
Use PostgreSQL API: no
Use unixODBC API: no
Use LDAP API: no
Use dynamic plugin: yes
Создаем каталог для копирования данных:
Собираем исходник и инсталлируем sams:
Настройка веб-сервера
Создаем конфигурационный файл в apache:
Alias /sams /usr/local//sams2
Require ip 192.168.0.0/16
Создаем базу данных и предоставляем к ней доступ новому пользователю:
> CREATE DATABASE sams2db DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Веб-установка
Открываем конфигурационный файл sams:
Редактируем следующие строки:
В следующем окне выбираем язык и кодировку:
Система проведет начальную проверку:
Заполняем поля пользователя mysql, снимаем галочку Создать пользователя SAMS для доступа к базе данных:
На последней странице завершаем установку:
Настройка CentOS
Установка на этом не завершена. Для корректной работы консоли управления необходимо внести настройки в систему и Squid.
Настройка демона
Для работы службы sams2 копируем файл ее запуска:
cp redhat/init.d /etc/init.d/sams2
* подразумевается, что мы все еще находимся в каталоге sams2-master, распакованного исходника.
Открываем на редактирование данный файл:
[ -f __CONFDIR/sams2.conf ] || exit 0
[ -f /usr/local/etc/sams2.conf ] || exit 0
* в данном случае мы заменили __CONFDIR на /usr/local/etc и __PREFIX на /usr/local/bin.
Разрешаем автозапуск демона sams2 и запускаем его:
systemctl enable sams2
systemctl start sams2
Настройка Squid
При попытке внести какие либо изменения в консоли управления SAMS мы не увидим никаких изменений в конфигурационном файле SQUID. Проблема в том, что sams ориентируется по специальным комментариям, которых нет в конфиге последнего под CentOS.
Открываем конфигурационный файл squid.conf:
* важно, чтобы между метками были разделяющие пустые строки.
Теперь можно заходить на sams и настраивать SQUID.
Установка squid+sams+ntlm на centos 6.4 по шагам
4wert 28 октября 2013 в 14:57
Добрый день господа, думаю, я не открою Америку рассказывая про проект SAMS (Squid Accaunt Management System), статьи о нем достаточно распространены, в том числе и на Хабрахабре. Однако хотя я не расскажу вам много нового, но надеюсь, расскажу немного полезного.
Задачи
Итак, данное пошаговое HowTo ставит свой целью привести вас к собственному прозрачному прокси-серверу на CentOS 6.4 i386 который позволяет аутентифицировать пользователей через Active Directory. При этом данный сервер будет иметь удобный веб-интерфейс, и самое главное, он бесплатен (кого я этим хочу удивить в топике никсов?).
Немного о SAMS
Сложности при установке
Подготовка к установке
Настройка ОС
После перезагрузки заходим в систему под суперпользователем. Дальнейшие действия я произвожу от его имени.
-
Если забыли или неправильно настроили сеть, то правим конфигурацию сетевых интерфейсов ifcfg-eth0, ifcfg-eth2 (у нас же шлюз так что интерфейсов, очевидно, не менее двух)
Пример конфигурационного файла:
yum install mc nano wget ntp -y
ntp ntpserver vi /etc/ntp.conf
Пример конфигурационного файла:
service iptables stop chkconfig iptables off
yum makecache && yum -y up
Установка требуемых библиотек
yum install php-5.2.17 php-mcrypt-5.2.17 php-gd-5.2.17 php-mbstring-5.2.17 php-pdo-5.2.17 php-mysql-5.2.17
yum install phpmyadmin yum install squirrelmail
Установка и настройка SAMS
yum install pcre-devel squid mysql-server mysql-devel gd-devel gcc make samba-server samba-client samba bind-utils -y
mkdir -p /usr/src/sams cd /usr/src/sams
если не работает ссылка, то можно попробовать
Распаковываем архив и устанавливаем
tar xf sams-1.0.5.tar.bz2 cd sams-1.0.5 ./configure && make && make install chkconfig sams on cd / && rm -fr /usr/src/sams
Альтернативный способ установки:
Качаем STABLE версию SAMS (Документация по SAMS), собранный пакет для CentOS (сам добавляет веб-директорию для apache)
Alias /sams /usr/local//sams
<Directory /usr/local//sams/>
Order Allow,Deny
Allow from all
Deny from none
раскомментируем и указываем для переменной ServerName указываем имя нашего шлюза
Если неудобно использовать редактор vi,
то можно воспользоваться редактором nano или воспользоваться фаловым менеджером Midnight Commander, команда mc (Редактирование файла F4). Чтобы выйти из программы vi набрать :w q или просто :x! Если надо выйти без сохранения, набрать :q!
Так же закомментируйте все, что связано с squidguard, ldap и rejik (если не планируете использовать)
/usr/bin/mysql_secure_installation service mysqld start
Ввести «ПАРОЛЬ» для root в mysql
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY «ПАРОЛЬ» WITH GRANT OPTION; GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY «ПАРОЛЬ» WITH GRANT OPTION; flush privileges; quit
mysql -u root -p < /usr/local//sams/data/sams_db.sql mysql -u root -p < /usr/local//sams/data/squid_db.sql
найти и отредактировать следующие строки
при отсутствии добавить строки
Перезапускаемся и стартуем squid
squid -z reboot service squid start
service sams start
Ввод шлюза в домен
- Редактируем файл (добавляем список контроллеров своего домена)
service smb restart net join -w «Имя_Домена» -S «Сетевое_имя_DC» -I «IP_адрес_DC» -U «Имя_пользователя_с_ правами_введения_в_домен»
service smb restart
Если все в порядке, добавляем в автозагрузку
chkconfig smb on && chkconfig winbind on
service iptables restart
Если, по каким-то причинам, необходимо отключить firewall, то надо набрать:
chkconfig iptables off chkconfig ip6tables off
Настройка SAMS
- В браузере зайти на страницу Proxy-. /sams (либо по ip-адресу)
- Логин: admin
Нужно изменить пароль.
Заключение
Осознавая, что в тексте много букоф и что нельзя объять необъятное, заканчиваю данную статью. Надеюсь, что данное руководство будет вам полезным.
Большое спасибо Лихоманову Антону, Коростылеву Александру, Порошину Константину и Клюшенкову Ивану чьими руководствами я пользовался.
Установка Sams на CentOS 6.5 x32
В этой записке написано как установить веб интерфейс Sams для управления прокси сервером Squid.
1. Устанавливаем Squid
2. Устанавливаем Sams
3. Настройка Sams
4. Заводим пользователя
Начинаем установку с первого пункта.
1. Устанавливаем Squid
Разрешаем ему запускаться при старте системы:
Запускаем демон Squid:
2. Устанавливаем Sams
Запускаем сервер СУБД MySQL и веб сервер Apache и заодно ставим их в автозагрузку:
Теперь пришла очередь установит Sams:
Рекомендуется включить Safe_Mode чтобы разрешить SAMS обращение к системным фукнциям:
В открывшемся окне вводим пароли к консоле MySQL (пароль secret_password) и свой любой пароль, например mypassword. Внизу на картинке пароли отображены красным цветом:
Примечание: скрипт создания базы по умолчанию создает две базы, и пользователя sams с паролем samspasswd.
Кроме паролей можно ни чего не трогать, как только заполнили поля для паролей, нажмите кнопку создания базы Create Database. Меняем пароль доступа к базам squidctrl и squidlog, пользователю sams с паролем mypassword. Базы создает установочный скрипт Sams, пользователь sams стоит по умолчанию, пароль задали свой mypassword.
Примечание: Если вас не устраивает создание базы в веб интерфейсе, можете создать их в ручную через команды:
> CREATE DATABASE squidctrl;
> CREATE DATABASE squidlog;
Далее открываем файл /etc/sams.conf и ставим свой пароль mypassword
Запускаем демон Sams:
В этом окне щелкаем меню User authentificate, далее щелкаем значек обведенный красным кружком.
29.11.2011 Выяснилось что проект SAMS остался без основного разработчика.
SAMS - веб-интерфейс для управления Squid и не только.
По многочисленным просьбам наших читателей сегодняшняя статья посвящена SAMS - веб-интерфейсу для Squid, который позволяет в графическом режиме производить все основные настройки прокси-сервера, а также реализует дополнительный функционал, позволяющий использовать его в качестве простейшего биллинга.
Мы также предупреждаем, что данный материал актуален только на текущий момент и мы не можем гарантировать, что все нижеизложенное будет работать на следующих версиях Ubuntu Server, при обновлении ПО и при любых иных условиях, отличных от изложенных в статье.
Это ограничит доступность веб-сервера внутренним интерфейсом. Теперь установим необходимые пакеты:
Затем в /etc/php5/cgi/php.ini найдем и раскомментируем следующую строку, установив ее значение как:
Мы настроили сервер, можно приступать к установке SAMS. На официальном сайте доступны две версии: стабильная 1.5 и бета 2.0, по причине заморозки проекта и некоторой нестабильности последней версии мы рекомендуем использовать 1.5. С данной страницы качаем пакеты для Debian Lenny, а также пакет libmysqlclient15off с нашего сервера (i386 / amd64). Переносим их на сервер, например при помощи флешки, ее можно смонтировать командой:
где sdb имя съемного диска, его можно увидеть на экране сервера после подключения флешки:
Перейдем в каталог /media и установим пакеты:
Теперь откроем /etc/sams.conf и укажем параметры подключения к MySQL серверу:
где password - пароль суперпользователя MySQL который вы задали на этапе его установки.
Создадим линк на папку SAMS в каталоге веб-сервера:
Скопируем дампы БД в каталог для установки:
Установим необходимые права и владельцев на папки и файлы:
В данном релизе SAMS есть один неприятный баг, сервис samsdaemon отказывается стартовать автоматически, для его устранения нужно заменить скрипт /etc/init.d/sams следующим файлом (скачать). Будем считать что он распакован и находится на флешке, которая смонтирована в /media:
На следующем экране нужно указать параметры подключения к MySQL и задать пароль пользователю БД sams.
Если все сделано правильно вы увидите следующую страницу:
Можно смело жать кнопку и переходить в веб-интерфейс. Для авторизации используйте логин: admin и пароль: qwerty.
На этом установку можно считать законченной. Настройка Squid при помощи SAMS выходит за пределы данной статьи и при наличии необходимых знаний не представляет каких-либо затруднений.
Читайте также: