Настройка sams2 на centos установка

Обновлено: 04.07.2024

Авторизуясь в 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/myproxy123.domain.office.local@DOMAIN.OFFICE.LOCAL -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 InetUsers@DOMAIN.OFFICE.LOCAL -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.

После установки веб-сервера, разрешаем порты в брандмауэре:

И запускаем веб-сервер:

Стартовая страница Apache

Устанавливаем 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:

Редактируем следующие строки:

В следующем окне выбираем язык и кодировку:

Выбираем язык и кодировку

Система проведет начальную проверку:

Начальная проверка при установке SAMS

Заполняем поля пользователя mysql, снимаем галочку Создать пользователя SAMS для доступа к базе данных:

Создание пользователя mysql

На последней странице завершаем установку:

Завершение установки

Настройка 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

Ввод шлюза в домен
  1. Редактируем файл (добавляем список контроллеров своего домена)

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
  1. В браузере зайти на страницу Proxy-. /sams (либо по ip-адресу)
  2. Логин: 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;

Установка и настройка SAMS2 на CentOS 7

Далее открываем файл /etc/sams.conf и ставим свой пароль mypassword

Запускаем демон Sams:

В этом окне щелкаем меню User authentificate, далее щелкаем значек обведенный красным кружком.

29.11.2011 Выяснилось что проект SAMS остался без основного разработчика.

SAMS - веб-интерфейс для управления Squid и не только.

По многочисленным просьбам наших читателей сегодняшняя статья посвящена SAMS - веб-интерфейсу для Squid, который позволяет в графическом режиме производить все основные настройки прокси-сервера, а также реализует дополнительный функционал, позволяющий использовать его в качестве простейшего биллинга.

Мы также предупреждаем, что данный материал актуален только на текущий момент и мы не можем гарантировать, что все нижеизложенное будет работать на следующих версиях Ubuntu Server, при обновлении ПО и при любых иных условиях, отличных от изложенных в статье.

sams-squid-001.jpg

Это ограничит доступность веб-сервера внутренним интерфейсом. Теперь установим необходимые пакеты:

Затем в /etc/php5/cgi/php.ini найдем и раскомментируем следующую строку, установив ее значение как:

Мы настроили сервер, можно приступать к установке SAMS. На официальном сайте доступны две версии: стабильная 1.5 и бета 2.0, по причине заморозки проекта и некоторой нестабильности последней версии мы рекомендуем использовать 1.5. С данной страницы качаем пакеты для Debian Lenny, а также пакет libmysqlclient15off с нашего сервера (i386 / amd64). Переносим их на сервер, например при помощи флешки, ее можно смонтировать командой:

где sdb имя съемного диска, его можно увидеть на экране сервера после подключения флешки:

sams-squid-002.jpg

Перейдем в каталог /media и установим пакеты:

Теперь откроем /etc/sams.conf и укажем параметры подключения к MySQL серверу:

где password - пароль суперпользователя MySQL который вы задали на этапе его установки.

Создадим линк на папку SAMS в каталоге веб-сервера:

Скопируем дампы БД в каталог для установки:

Установим необходимые права и владельцев на папки и файлы:

В данном релизе SAMS есть один неприятный баг, сервис samsdaemon отказывается стартовать автоматически, для его устранения нужно заменить скрипт /etc/init.d/sams следующим файлом (скачать). Будем считать что он распакован и находится на флешке, которая смонтирована в /media:

sams-squid-003.jpg

На следующем экране нужно указать параметры подключения к MySQL и задать пароль пользователю БД sams.

Если все сделано правильно вы увидите следующую страницу:

sams-squid-005.jpg

Можно смело жать кнопку и переходить в веб-интерфейс. Для авторизации используйте логин: admin и пароль: qwerty.

sams-squid-006.jpg

sams-squid-007.jpg

На этом установку можно считать законченной. Настройка Squid при помощи SAMS выходит за пределы данной статьи и при наличии необходимых знаний не представляет каких-либо затруднений.

Читайте также: