Меню

Squid3 sams2 установка и настройка



Настройка на ОС Ubuntu связки SQUID и SAMS2

Одной из задачь системного администратора есть обеспечение сетевой безопасности организации. Сетевая безопасность включает целый комплекс действий, куда входит и контроль сетевого трафика и раздача прав на применение локальных ресурсов и доступа к интернет. Для раздачи прав на пользование ресурсами интернета применяют прокси сервак. ВУбунту эту роль выполняет прокси сервак SQUID. В ранних версиях Убунту настройка SQUID выполнялась в консоли, в последних версиях Убунту разработан Web интерфейс SAMS. О том как поставить и настроить связку SQUID + SAMS2 на убунту 10.10 и пойдет речь.

Итак посетив большое количество форумов и перечитав немало инструкций, составил для вас и для себя инструкцию:

1. Устанавливаем собственно прокси сервер SQUID:

# sudo apt-get install squid

2. Устанавливаем apache:

# sudo apt-get install apache2

Автоматически установятся все необходимые пакеты.

3. Устанавливаем php5:

# sudo apt-get install php5 libapache2-mod-php5 php5-cli php5-common php5- mysql php5-gd

4. Устанавливаем mysql:

# sudo apt-get install mysql-server-5.1 mysql-client-5.1 libmysqlclient15off

Если libmysqlclient15off не установился, скачиваем по ссылке ниже:

5. Устанавливаем libpcre3:

# sudo apt-get install libpcre3

6. Ставим sams2, sams2web и sams2doc:

Скачать пакеты можно ОТСЮДА.

Дополнительно выбираем установку squidguard.

# GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY «yourpassword»;

# GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY «yourpassword»;

Где: yourpassword — пароль

После этого имя пользователя и пароль надо вписать в файл конфигурации SAMS — /etc/sams2.conf

# sudo gedit /etc/sams2.conf

; Username for database connection
DB_USER=root — Имя пользователя MySQL, от имени которого будет работать SAMS.
; Password for database connection
DB_PASSWORD=»yourpassword» — Пароль пользователя в MySQL.

8. Включаем sams2:

# sudo gedit /etc/init.d/sams2

Изменяем значение параметра SAMS_ENABLE = FALSE на SAMS_ENABLE = TRUE

9. Настраиваем php.ini:

# sudo gedit /etc/php5/apache2/php.ini

В текущей версии SAMS научился работать с PHP в режиме safe_mode=On.

Но это требует дополнительной настройки конфигурации.Для этого редактируем файл конфигурации php.ini и включаем режим safe mode.

Для этого выставляем параметр safe_mode = On (Однако если вы работаете с CMS например с Joomla, то включение этого параметра запретит вм устанавливать обновления в Joomla. Об этом описано тут. Будьте внимательны!)

SAMS для некоторых функций WEB интерфейса использует системные команды, например wbinfo. В режиме safe_mode php блокирует доступ к системным командам. Php позволяет выполнять системные команды, расположенные в каталоге, заданном параметром safe_mode_exec_dir.

Изменяем этот параметр:

Далее разрешаем исполнение системных скриптов из кода php. Ищем в файле конфигурации параметр и убираем из него запрет вызова функций phpinfo system shell_exec exec:

Все. PHP готов к работе.

11. Открываем права на запись в папку /usr/share/sams2:

Под рутом выполняем команду:

# chmod -R 777 /usr/share/sams2

12. Запускаем Web интерфейс:

Идем в браузер и пишем localhost/sams2

Далее в настройках можно поставить Русский язык и приступить к настройке Прокси сервера.

Источник

Sani4.ru

Записки Саныча

Строим сервер ubuntu 16.04 + Desktop + squid + sams2 + DHCP

Строим сервер ubuntu 16.04 server + squid(с блокировкой сайтов по ssl) + DHCP + sams2

Читайте также:  Настройка фотоаппарата для детской фотосессии

Установка Ubuntu … server …

1. после ввода данной команды отобразятся все сетевые интерфейсы

2. Включить выключить интерфейс:

прописать В файл /etc/network/interfaces примерно так:
(это для моего проводного соединения со статическими IP)

# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # Моя проводная сеть. auto enp3s2 iface enp3s2 inet static address 192.168.100.119 netmask 255.255.255.0 auto enp3s3 iface enp3s3 inet static address 10.33.0.119 netmask 255.255.255.0 gateway 10.33.0.211 dns-nameservers 10.33.0.211 #iface enp3s2 inet static — указывает, что интерфейс (iface enp3s2) находится в диапазоне адресов IPv4 (inet) со статическим ip (static); #address 192.168.100.119 — указывает что IP адрес (address) нашей сетевой карты enp3s2 192.168.100.119; #netmask 255.255.255.0 — указывает что наша маска подсети (netmask) имеет значение 255.255.255.0; #gateway 10.33.0.211 — адрес шлюза; #dns-nameservers 10.33.0.211 8.8.8.8 — адреса DNS серверов (о ниж мы расскажем позже) #auto enp3s2 — указывет системе что интерфейс enp3s2 необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.

перед установкой доп компанентов
обновимся

Ubuntu 16.04 Desktop Установим графический интерфейс. ЭТОТ ШАГ МОЖНО И ПРОПУСТИТЬ

после установки перезагрузимся уже в наш интерфейс и продолжим работу

Ubuntu 16.04 прозрачный Squid HTTPS Без подмены сертификатов

Чтобы постоянно не вводить sudo переходим в root

разрешим скачивание исходников

для этого разблокируем ветки где указан deb-src, уберем #

deb http://. # deb-src http://.

поставим необходимые библиотеки для сборки

и продолжим из под root

Создадим папку где будет производится сборка

Качаем зависимости (для выполнения этой операции был поставлен dpkg-dev)

В случае ошибки доступа _apt «Невозможно сбросить права для скачивания» меняем права и повторяем

В моем случае это был файл squid3_3.5.12-1ubuntu7.5.dsc может быть и squid3_3.5.12-1ubuntu7.7.dsc и другие разновидности

Если этого не сделать или будут ошибки, то не появится папка debian

Переходим в полученную папку

Добавляем поддержку ssl
Редактируем файл правил

Добавляем строчки после proxy
ВАЖНО: чтобы все параметры заканчивались \ , а именно дописать после proxy \

—enable-ssl \ —enable-ssl-crtd \ —with-openssl \

теперь собираем DEB пакеты ( Процесс очень долгий )

configure: error: library ‘crypto’ is required for OpenSSL

Необходимо установить libssl-dev и перезапустить процесс сборки

и повторим установку

Идем на папку выше и там должны быть получившиеся пакеты

squid3_3.5.12-1ubuntu7.5_all.deb squid_3.5.12-1ubuntu7.5_amd64.deb squid-cgi_3.5.12-1ubuntu7.5_amd64.deb squidclient_3.5.12-1ubuntu7.5_amd64.deb squid-common_3.5.12-1ubuntu7.5_all.deb squid-dbg_3.5.12-1ubuntu7.5_amd64.deb squid-purge_3.5.12-1ubuntu7.5_amd64.deb

Устанавливаем наши пакеты

Правим зависимости и переставляем

Если все успешно то смотрим версию squid и что у нас вышло

выдаваемый код сократил.

Squid Cache: Version 3.5.12 Service Name: squid Ubuntu linux configure options.

Конфигурация с блокировкой сайтов по ssl. Чтобы Именно посмотреть работу прозрачного режима. Настройка Обычная базовая с добавлением SSL

Переходим в папку squid и генерируем сертификат

Добавим сеть src 192.168.100.0/24
Добавим порты под HTTP 3128 и HTTPS 3129
Добавим генерацию сертификатов sslcrtd_program и sslcrtd_children

Читайте также:  Настройка обновлений для других продуктов майкрософт

acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl WhiteIp src «/etc/squid/whiteip.list» # список IP которым разрешен доступ acl BlackURL dstdomain «/etc/squid/bad_url.list» # блокируем обычные сайты acl local src 192.168.100.0/24 acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access deny BlackURL http_access allow localhost http_access allow WhiteIp http_access deny all http_port 192.168.100.119:3128 intercept https_port 192.168.100.119:3129 intercept ssl-bump cert=/etc/squid/squidCA.pem acl blocked_fast ssl::server_name «/etc/squid/https.list» acl blocked_ssl ssl::server_name_regex -i «/etc/squid/https.list» ssl_bump peek all ssl_bump terminate blocked_fast ssl_bump terminate blocked_ssl ssl_bump splice all sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB sslcrtd_children 8 startup=1 idle=1 coredump_dir /var/spool/squid visible_hostname name.domain.local refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 refresh_pattern . 0 20% 4320

создадим файл с блокируемыми сайтами

.vseigru.net .stoboi.ru .igroutka.net

создадим Список белых IP

192.168.100.8 192.168.100.56 192.168.100.89

Создадим файл с сайтами что будем блокировать глобально .

вот с таким содержимым

И теперь применяем конфигурацию

теперь Для работы необходимо настроить iptables

Настройка NAT

#!/bin/bash #========================================================== # Настройка IPTABLES #========================================================== #========================================================== # Сетевый интерфейсы #========================================================== LAN=»enp3s2″ WAN=»enp3s3″ LO=»lo» #========================================================== # Локальная сеть #========================================================== LAN_RANGE=192.168.100.0/255.255.255.0 #========================================================== # Путь к таблицам #========================================================== IPTABLES=»/sbin/iptables» #========================================================== # Список портов #========================================================== SSH=»22″ DNS=»53″ SQUIDH=»3128″ SQUIDS=»3129″ HTTP=»80″ HTTPS=»443″ # Сбрасываем все правила #========================================================================================= $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F $IPTABLES -X $IPTABLES -t nat -X $IPTABLES -t mangle -X # Базовая расстановка правил #========================================================== $IPTABLES —policy INPUT ACCEPT #DROP $IPTABLES —policy OUTPUT ACCEPT #DROP $IPTABLES —policy FORWARD DROP #ACCEPT # Включаем форвардинг ip в ядре. #========================================================================================= /bin/echo 1 > /proc/sys/net/ipv4/ip_forward # Включаем маскарадинг для маскарад для отработки NAT #========================================================================================= $IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE # Разрешаем пакеты по уже установленным соединениям #========================================================================================= $IPTABLES -A INPUT -m conntrack —ctstate ESTABLISHED,RELATED -j ACCEPT # Разрешаем доступ к SSH и DNS серверу если INPUT DROP (Не пригодилось) #========================================================================================= #$IPTABLES -A INPUT —protocol tcp -i $LAN —dport $SSH -j ACCEPT #$IPTABLES -A INPUT —protocol tcp -i $LAN —dport $DNS -j ACCEPT #$IPTABLES -A INPUT —protocol udp -i $LAN —dport $DNS -j ACCEPT # Разрешаем доступ к HTTP и HTTPS серверу если INPUT DROP (Не пригодилось) #========================================================================================= #$IPTABLES -A INPUT —protocol tcp -i $LAN —dport $HTTP -j ACCEPT #$IPTABLES -A INPUT —protocol tcp -i $LAN —dport $SQUID -j ACCEPT # Заворачиваем SQUID #========================================================================================= iptables -t nat -A PREROUTING -i $LAN -p tcp —dport $HTTP -j REDIRECT —to-port $SQUIDH iptables -t nat -A PREROUTING -i $LAN -p tcp —dport $HTTPS -j REDIRECT —to-port $SQUIDS # Смотрим что мы натворили #========================================================================================= $IPTABLES -L -n -t nat -v

Читайте также:  Мапа для настройки положения рук в cs go

Если в качестве шлюза используется маршрутизатор, то на нем перенаправляем порты 80 и 443 на сервер где стоит SQUID на порты 3128 и 3129 соответственно
В таком случае правила «Заворачиваем SQUID» для iptables ненужны.

После сохранения изменений обеспечим для файла права на исполнение:

Далее необходимо поставить созданный файл на автозагрузку при включении сервера. Для этого откроем рассмотренный ранее файл interfaces:

и добавим в самый низ строку:

Перезагрузим сервер для автоматического применения новых настроек:

Теперь настроим Сервер DHCP

Файл конфигурации по умолчанию находится в /etc/dhcp/dhcpd.conf, откроем файл в редакторе с помощью команды:

В большинстве случаев минимальная настройка производится внесением блока вида:

После изменения конфигурационного файла необходимо перезапустить сервер DHCP для применения новых настроек:

Теперь все клиенты локальной сети будут получать все настройки автоматически при подключении.

Ну вот и подошли к Sams2 и php 7

и заходим в распакованный каталог
# cd sams2.0.0-rc1/
Перед сборкой конфигурации необходимо отредактировать файл
# vi debian/control
и меняем все php5 на php7
Собираем скрипт конфигурации:

По окончании работы скрипта вы должны увидеть следующее сообщение:

Use MySQL API: yes Use PostgreSQL API: no Use unixODBC API: no Use LDAP API: yes Using pcre: pcre Use dynamic plugin: yes

6. Файл libtool, который генерирует скрипт, нуждается в патче.
И нам необходимо его отредактировать.

и в строке 7486
absdir=`cd «$dir» && pwd`
заменить на
absdir=»/usr/lib»
Cобираем SAMS2

Меняем владельца директории sams2 на www-data:

10.В директории /etc/apache2/conf-enabled/ создаем файл sams2.conf со следующим содержимым

Alias /sams2 /usr/local/share/sams2 Options +FollowSymLinks AllowOverride All order allow,deny allow from all

ServerName /sams2 DocumentRoot /usr/local/share/sams2 ErrorLog $/sams2.error.log CustomLog $/sams2.access.log combined

теперь перезагрузим apache2

И еще необходимо создать файл php5tophp7.php
с текстом

data_seek($row); $datarow = $res->fetch_array(); return $datarow[$field];> function mysql_connect($a, $b, $c) < $h = M_HOST; $p = M_PORT; $s = ""; if ($a[0] == "/") < $h = ""; $s = $a; $p = 0; >; $GLOBALS[«MySQLconn»] = mysqli_connect($h, $b, $c,M_BASE,$p,$s); return $GLOBALS[«MySQLconn»];> function mysql_real_escape_string($a)

Заходим на http://ip-address-proxy/sams2/setup.php настраиваем следуя инструкции.

Добавление сайтов в Apache2

скопируем файл настроек

ServerName /test DocumentRoot /var/www/test ErrorLog $/test.error.log CustomLog $/test.access.log combined

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

Alias /test /var/www/test Options FollowSymLinks MultiViews

теперь перезагрузим apache2

Установка PHP 5.6 в Ubuntu 16.04

Добавим ppa-репозиторий в систему:

Далее запускаем установку PHP 5.6

Переключать активные версии можно командами:
Отключаем PHP 7.0

Включаем PHP 5.6

Проверить рабочую версию в данный момент, можно функцией phpinfo

Может быть интересно

  • Android (3)
  • Freebsd (21)
    • DNS (2)
    • Lang (Язык) (1)
    • Script (1)
    • SQUID (3)
  • PHP (3)
  • Windows (25)
    • 1С (7)
    • MS Office (2)
  • WordPress (6)
  • Авто (7)
    • Lanos (5)
  • Для детей (10)
    • Игры (3)
    • Мультики (7)
      • Бен 10 (4)
      • Люди Икс (1)
      • Человек паук (1)
  • Игры (2)
  • Разное (19)
  • чтобы помнить (4)

Информация о пользователе

Ваш IP-адрес:
135.181.114.104
Ваш браузер:
Chrome
Примерное местоположение:

Источник

Adblock
detector