Меню Рубрики

Установка squid sams debian jessie

Устанавливаем прокси сервер Squid c веб интерфейсом SAMS в Debian Wheezy

Сегодня мы с Вами установим и настроим прокси сервер SQUID с веб интерфейсом SAMS версии 1.5 для управления прокси сервером на Debian Wheezy. Данное руководство это одна из статей инструкции по установке и настройке интернет сервера.

]]> SAMS ]]> — это система для управления доступа пользователей через прокси сервер к ресурсам интернет. Она идеально подходит для использования как в частных фирмах так и в госудаственных учреждениях. Всю работу по проксированию, перенаправлению запросов, кэшированию и авторизации берет на себя proxy-сервер Squid, а SAMS занимается учетом трафика и управлением пользователями.

После того как настроили сервер по указанной выше инструкции приступаем к установке прокси сервера squid, а также настройке веб интерфейса SAMS для управления прокси сервером SQUID, а также мы установим редиректор для блокирования доступа к сайтам.

Добавляем репозиторий от Debian Squeeze для установки зависимостей во время установки веб интерфейса SAMS выполнив команду:

Обновляем репозиторий выполнив команду:

Редакторы конфигурационных файлов:

vi – требует прочтения инструкции пользователем. Для того чтоб пройти экспресс курс запустить команду vimtutor и пройдите основные команды для удобного пользования программой.
mcedit — более легкий в работе для начинающего линуксоида, можете зменить vi на mcedit и редактировать конфигурационные файлы. После открытия файла в редакторе mcedit нажимаем F7 появится окно поиска, вводим в него то, что необходимо найти нажимаем Enter. Если нашло не то что нужно, снова повторяем поиск, и так пока не найдем нужную строку. После того как Вы внесли необходимые изменения и хотите сохранить файл нажимаем кнопку F2 и соглашаемся с изменением. После сохранения для закрытия сохраненного файла нажимаем кнопку F10

Устанавливаем прокси сервер SQUID выполнив команду:

делаем бекап конфига squid который будем изменять выполнив команду:

Открываем удобным для Вас редактором (vi, mcedit, nano) конфигурационный файл /etc/squid/squid.conf

Далее я буду писать что ищем и как должно выглядеть после изменения (первый как должно выглядеть, остальные по примеру):

Внимание. Если у Вас пользователи будут авторизироватся при помощи пароля, прозрачная авторизация работать не будет, необходимо в браузере пользователя прописывать IP:PORT Вашего прокси сервера.

источник

SAMS2 на Debian 8 (Jessie)

Модифицированная версия SAMS2 с форума sams.perm.ru — качать тут. Ветка форума — смотреть здесь
Отличия от SAMS2.0.2: (патченная версия, можно скачать на sams.perm.ru)
— поддержка паролей больше 8 символов;
— редиректор для squid (который был выложен ранее);
— добавлен sams2.service, изменен файл init.d для запуска демона sams2daemon

Процесс установки и сборки:

Ставим Debian 8 (для x64 правка proxy.h не требуется — в исходниках уже внесены все необходимые изменения)

apt-get update && apt-get upgrade

Подключаем репозиторий php7

wget —no-check-certificate https://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg
echo -e «deb http://packages.dotdeb.org jessie all\ndeb-src http://packages.dotdeb.org jessie all» > /etc/apt/sources.list.d/dotdeb.list
apt-get update

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

apt-get install squid3 apache2 php7.0 postgresql libapache2-mod-auth-pgsql build-essential php7.0-gd automake libtool libpcre3-dev postgresql-server-dev-all libapache2-mod-php php7.0-pgsql

CREATE DATABASE sams2db;
CREATE USER sams2user WITH password ‘PASSWORD’ ;
GRANT ALL privileges ON DATABASE sams2db TO sams2user;
\q

make –f Makefile.cvs
./configure

Важно: в выводе по окончанию этой фазы должны быть строки
Use PostgreSQL API: yes
Using pcre: pcre

DB_ENGINE=PostgreSQL
Вводим имя и пароль, изменяем CACHENUM на 0 (если база создана впервые)

Дополнительные настройки перед запуском:

chown -R www-data:www-data /usr/local/share/sams2
chown www-data:www-data /usr/local/etc/sams2.conf
cp /etc/apache2/conf.d/sams2.conf /etc/apache2/sites-available/
chown www-data:www-data /etc/apache2/sites-available/sams2.conf
a2ensite sams2
service apache2 reload

Заходим на веб-интерфейс и заканчиваем установку.
Russian UTF-8, имя и пароль базы данных те же, что и при настройке sams2conf

Аккаунт администратора — admin\qwerty

В папке инсталлятора заходим в подпапку debian

Правим SAMSPATH на настоящий путь установки (если нигде ничего не меняли, то это будет /usr/local/bin/sams2daemon)

cp ./sams2.service /etc/init.d
cp ./init.d /etc/init.d/sams2
chmod +x /etc/init.d/sams2

Создаем символьную ссылку для squid, понятную sams2

ln -s /usr/sbin/squid3 /usr/sbin/squid

systemctl enable sams2.service
service sams2 start

В /etc/squid/squid.conf редактируем:

Включаем ведение логов:
access_log daemon:/var/log/squid3/access.log squid
и перезаписываем их каждые 30 дней:
logfile_rotate 30

На этом все, авторизацию и прочие радости жизни настраиваем самостоятельно.

источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Сборка Squ >

  • Автор: Уваров А.С.
  • 15.05.2019

Прокси-сервер Squid давно пользуется заслуженной популярностью, как открытое и эффективное средство контроля интернет трафика, но тенденции последних лет по массовому использованию защищенных соединений доставляют администраторам массу хлопот. Дело в том, что пакеты Squid в репозиториях дистрибутивов основанных на Debian или Ubuntu собраны без поддержки SSL, что делает невозможной фильтрацию шифрованного трафика. Что же делать? Собрать пакет с поддержкой SSL самостоятельно и сегодня мы расскажем, как это сделать.

Многих современных пользователей Linux пугает процесс сборки из исходных кодов и, надо сказать, не зря — это достаточно сложный процесс, требующий от собирающего определенных объемов знаний и навыков, особенно если что-то пойдет не так. Поэтому мы взяли на себя всю работу по нахождению правильного алгоритма, строго следуя котрому вы должны будете собрать пакет без каких-либо затруднений. Для тех, кто не хочет сам возиться со сборкой, мы также выложим уже собранные пакеты.

Читайте также:  Установка порогов на тигго

По этому поводу хотим еще раз напомнить: никогда не скачивайте пакеты из неизвестных источников, помните, что в такой пакет злоумышленники могут поместить вредоносное ПО. Также после скачивания всегда проверяйте контрольные суммы, чтобы удостовериться, что вы скачали именно то, что выложил автор.

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

В данной статье мы будем считать, что читатель знаком с базовыми навыками работы в среде Debian / Ubuntu и не будем подробно останавливаться на этих вопросах. Все описанные действия следует выполнять с правами суперпользователя.

Debian 9 / Ubuntu 18.04

Прежде всего откроем список источников пакетов /etc/apt/sources.list и убедимся, что репозитории с исходными кодами подключены, от обычных они отличаются адресом, имея в начале deb-src, а не просто deb. Обычно в Debian они по умолчанию подключены, а в Ubuntu отключены, для включения следует просто раскомментировать строки начинающиеся на deb-src. После чего следует обновить список пакетов:

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

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

Установим библиотеку для поддержки SSL:

Убедитесь, что все пакеты установлены без ошибок, отсутствие любого из них приведет к ошибкам при сборке.

Перейдем в домашнюю папку и создадим директорию для сборки, сразу установив на нее нужные права:

Перейдем в созданную директорию и скачаем исходные коды Squid:

При этом сразу будут наложены все необходимые патчи и создана среда для сборки.

В директории build появится папка с именем squid3 и номером релиза, в нашем случае squid3-3.5.23, для осуществления сборки вы должны будете находится в ней.

Но перед тем, как собирать пакет укажем свои параметры сборки, а именно включим поддержку ssl, для этого во вложенной папке debain найдем файл rules и откроем его.

Найдем перечисление опций компиляции и добавим после них:

Обратите внимание, что все строки, кроме последней, должны заканчиваться символом «\«. Если вы все сделали правильно, у вас должно получиться так:

Сохраним этот файл, теперь можно собирать. Как мы уже писали выше, при сборке важно удостовериться, что вы находитесь в правильной директории, поэтому, на всякий случай, сменим ее принудительно:

Совет: при наборе длинных путей используйте автодополнение по клавише Tab.

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

Теперь можно смело идти пить, нет не пиво, кофе. В зависимости от мощности компьютера сборка может занять от десятков минут до получаса и более. Хотя бывалые линуксоиды говорят, что можно бесконечно смотреть на горящий огонь, текущую воду и собирающийся код.

По окончании сборки вы столкнетесь с ошибкой подписи пакетов, это нормально, ведь у вас нет закрытого ключа разработчика.

Вернемся в директорию build в которой обнаружим достаточно много deb-пакетов, но нам нужны не все, будет достаточно squid-common (архитектура all), squid и squidclient (архитектура amd64 или i386).

Готовые пакеты для Debian 9:

Готовые пакеты для Ubuntu 18.04:

Кстати, для проверки контрольной суммы MD5 в Linux можете воспользоваться командой:

Ubuntu 16.04

Процесс сборки Squid для Ubuntu 16.04 ничем не отличается от сборки для Debian9 / Ubuntu 18.04 за одним небольшим исключением, вместо пакета libssl1.0-dev следует установить libssl-dev:

Готовые пакеты для Ubuntu 16.04:

Debian 10

В Debian 10 представлена гораздо более свежая версия Squid — 4.6, однако ее сборка ничем не отличается от предыдущих версий. Небольшим отличием является, также как и в Ubuntu 16.04, использование пакета libssl-dev вместо libssl1.0-dev:

Также в последующих командах следует указывать просто squid, а не squid3, однако это не является обязательным условием, система автоматически поправит вас в случае ошибки:

источник

Установка из исходников прокси-сервера Squ > 06.03.2019 Автор:Жаконда

Рассмотрим как установить из исходников актуальную (на момент написания статьи) версию кеширующего прокси-сервера Squid 4.6 на Debian 9 Stretch.

Подготовка системы

Обновляем систему до актуального состояния:

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

Установка прокси-сервера Squid

Скачиваем исходник «squid», распаковываем его:

Выполняем конфигурацию «squid», с указанием каталогов размещения файлов «squid», а так же поддержку HTTPS:

Компилируем «squid» и по окончании компиляции выполняем установку:

Создаем необходимые каталоги, для работы «squid» и назначаем для них права доступа:

В файле конфигурации (/etc/squid/squid.conf), необходимо указать расположение каталога с файлами ошибок:

Теперь создаем стартовый скрипт прокси-сервера «squid»:

Читайте также:  Установка косилки заря на минитрактор

Вписываем в него следующее:

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

Запускаем прокси-сервер «squid»:

Проверим запустился ли демон «squid»:

На этом установка кешируешего прокси-сервера Squid 4.6 завершена. В рамках данной статьи, настройка «squid» не будет рассматриваться, с вариантом настройки можно ознакомится в этой статье.

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

Всего комментариев: 15 Комментировать

Здравствуйте.
Все делаю по инструкции. При запуске ошибка. Помогите 🙁
https://yadi.sk/i/OJl3ZpMKaBRTCA

Поправил листинг INIT-файла, проверил сейчас нормально.

Почему при добавлении в конфиг HTTPS_PORT 3130 начинает ругаться

После всех манипуляций при запуске получаю ошибку:
————-
squid.service — LSB: Squid HTTP Proxy version 4.x
Loaded: loaded (/etc/init.d/squid; generated)
Active: failed (Result: exit-code) since Tue 2019-05-28 11:46:18 MSK; 1min 23s ago
Docs: man:systemd-sysv-generator(8)
Process: 1403 ExecStart=/etc/init.d/squ > Main P >

мая 28 11:46:16 chr1-proxy02 squid[1494]: Squid Parent: (squid-1) process 1527 started
мая 28 11:46:17 chr1-proxy02 (squid-1)[1527]: FATAL: I don’t handle this error well!
мая 28 11:46:17 chr1-proxy02 squid[1494]: Squid Parent: squid-1 process 1527 exited with status 1
мая 28 11:46:17 chr1-proxy02 squid[1494]: Squid Parent: (squid-1) process 1536 started
мая 28 11:46:18 chr1-proxy02 (squid-1)[1536]: FATAL: I don’t handle this error well!
мая 28 11:46:18 chr1-proxy02 squid[1494]: Squid Parent: squid-1 process 1536 exited with status 1
мая 28 11:46:18 chr1-proxy02 squid[1494]: Squid Parent: squid-1 process 1536 will not be restarted for 3600 secon
мая 28 11:46:18 chr1-proxy02 squid[1494]: Exiting due to repeated, frequent failures
мая 28 11:46:18 chr1-proxy02 systemd[1]: squ > мая 28 11:46:18 chr1-proxy02 systemd[1]: squid.service: Failed with result ‘exit-code’.
———
Подскажите, пожалуйста, как исправить!

Добрый день! Видимо не все манипуляции были выполнены корректно. Внимательно еще раз идите по шагам. Все что написано в статье 146% проверено и не раз разворачивалось.

«Выполняем конфигурацию «squid», с указанием каталогов размещения файлов «squid», а так же поддержку HTTS:»

вот тут важный опечаток 🙂
HTTP или HTTPS?

Опечатка 🙂 Поправил, спасибо!

пыхчу сейчас над конфигурацией прокси v4.8 с https
использую твои 2 статьи и еще несколько ресурсов познания.
вопрос. 🙂
кальмар ругается на опции ssl
ERROR: Directive ‘sslproxy_flags’ is obsolete.
sslproxy_flags : Remove this line. Use tls_outgoing_options flags= instead.
как теперь должна выглядеть следующая строка?
acl blocked ssl::server_name «/etc/squid/blsite/blacklist»
получается что из следующей статьи конфиг кальмара сюда уже не совсем подходит.

Там все проще, в первой статье этой первый опыт был работы со Squid, много считаю лишнего там в конфиге. Сейчас все проще сделано у меня и успешно контрится HTTP и HTTPS трафик. Попробую сегодня или завтра выложить конфиг пример.

буду благодарен.
Прочитав кучу статей, мне больше понравились твои 2. и конфиг кальмара с поставленной задачей совпадают 🙂

это я сам_дурак называется.
ругается совсем на другую строчку.
sslproxy_flags DONT_VERIFY_PEER
вот на нее. отключил. все равно не запускается кальмар… причем squid -k parse не ругается и ошибок нет.
отключил все строки по https — завелось. Ковыряюсь дальше 🙂

Здравствуйте!
Аналогичная проблема, все по инструкции, и вот нате вам!

# service squid start
Job for squid.service failed because the control process exited with error code.
See «systemctl status squid.service» and «journalctl -xe» for details.
root@omv:

# service squid status
● squid.service — LSB: Squid HTTP Proxy version 4.x
Loaded: loaded (/etc/init.d/squid; generated; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2019-10-12 21:34:33 +05; 34s ago
Docs: man:systemd-sysv-generator(8)
Process: 2465 ExecStart=/etc/init.d/squ >

окт 12 21:34:33 omv systemd[1]: Starting LSB: Squid HTTP Proxy version 4.x…
окт 12 21:34:33 omv squid[2465]: /etc/init.d/squid: 103: /etc/init.d/squid: Syntax error: «(» unexpected (expecting «>»)
окт 12 21:34:33 omv systemd[1]: squ > окт 12 21:34:33 omv systemd[1]: Failed to start LSB: Squid HTTP Proxy version 4.x.
окт 12 21:34:33 omv systemd[1]: squid.service: Unit entered failed state.
окт 12 21:34:33 omv systemd[1]: squid.service: Failed with result ‘exit-code’.

После выполнения команды «Make» и «Make Install» возникает сообщение
make: *** No targets specified and no makefile found. Stop.

config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands

Подскажите последние 2 вывода насчет depfiles и libtool, что они означают.

Означают что выполняются depfiles и libtool команды

источник

Кэширующий прозрачный прокси сервер SQUID на Debian squeeze

Задача: Кэширующий прозрачный прокси сервер

Для начала нам понадобиться:

  1. Чистая система с Debian Squeeze
  2. Непосредственно сервер компьютер с двумя сетевыми картами eth0 и eth1.

Для чистоты эксперимента будем считать что eth0 смотрит к провайдеру и получает от него настройки по DHCP, а eth1 смотрит в нашу локальную сеть и имеет классический адресс вида 192.168.100.1.

1) Настроим нашу сеть вот так:

#Localhost Network
auto lo
iface lo inet loopback

#WAN Network
auto eth0
iface eth0 inet dhcp

#LAN Netowrk
auto eth1
iface eth1 inet static
address 192.168.100.1
netmask 255.255.255.0

2) Установим и натсроим DHCP сервер вот так:

Читайте также:  Установка в фары ксенона киа соренто

# apt-get -y install isc-dhcp-server

Отмечу, что сразу после установки он у нас не запустится, поэтому сразу приводим /etc/dhcp/dhcpd.conf к разумному виду

# cat /etc/dhcp/dhcpd.conf
dns-update-style none;
option domain-name «localdomain»;
option domain-name-servers 192.168.100.1;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

subnet 192.168.100.0 netmask 255.255.255.0 <
range dynamic-bootp 192.168.100.10 192.168.100.99;
option broadcast-address 192.168.100.255;
option routers 192.168.100.1;
>

Из конфига видно что клиенты будут получать адреса от *.10 до *.99.

3) Для нормальной работы нам обязательно потребуется сервер имен.

4) Теперь пришло время поднять и настроить Squid как кэширующий прозрачный прокси сервер

Стоит заметить, что можно работать со стандартным конфигом, но это будет не так как нам требуется и уж совсем не Debian way.
Поэтому приводим конфиг к такому виду:

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl my_network src 192.168.100.0/24
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 CONNECT method CONNECT

http_access allow my_network
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all

http_port 3128 transparent

hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

shutdown_lifetime 5.00 second
cache_dir ufs /var/cache/squid 2048 16 256
maximum_object_size 10024.00 bytes

Как видно из конфига, мы создали правило my_network и разрешили ему смотреть интернеты.
Параметр http_port 3128 transparent означает что наш сервер будет прозрачным.
Также мы переобозначили кэш, задав под него директорию /var/cache/squid размером в 2 Гб.

chmod 755 -R /var/cache/squid

И спокойно перезапускаем наш Squid.

После перезапуска должен пересоздаться кэш.

5) Очень важно правильно настроить iptables.

На этом шаге я предлагаю Вам создать скрипт настройки, так как он пригодится как универсальное средство.

#!/bin/bash
LAN=$1
WAN=$2
IP=$3
GW=$4
iptables -t nat -A PREROUTING -i $LAN -p tcp —dport 80 -j DNAT —to $IP:3128
iptables -t nat -A PREROUTING -i $WAN -p tcp —dport 80 -j REDIRECT —to-port 3128
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -i $WAN -o $LAN -s $GW/24 -p tcp -m multiport —dport 443,21,22 -j ACCEPT
echo ‘net.ipv4.ip_forward = 1’ > /etc/sysctl.conf
sysctl -w net.ipv4.ip_forward=1

Мы обозначили переменные (для удобства), 3 правила для таблицы NAT и 1 для FORWARD.
Порты 443,21,22 пускаем в обход прокси сервера.
Помимо настроек iptables, в этом скрипте, мы включаем форвардинг пакетов.

# sh ./setiptables.sh eth0 eth1 192.168.100.1 192.168.100.0

6) Настроим автозагрузку натсроек iptables.

Сохраням настройки iptables.

# mkdir -p /usr/local/iptables && iptables-save > /usr/local/iptables/session.ipt

Добавляем команду авотзапуска в /etc/rc.local (мне нравится Perl но тут кому как).

# perl -i -pe ‘print «iptables-restore

Также не забываем про форвардинг пакетов

# perl -i -pe ‘print «sysctl -w net.ipv4.ip_forward=1\n» if $. == 3’ /etc/rc.local

В целом настройка прозрачного прокси сервера закончена, но чтобы логи были читаемы, нам наобходимо отключить поддержку ipv6 (из за того что ipv6 у нас не настроен на адаптере будет много warnings).

Предлагаю опять же сделать скрипт чтобы не запутаться.

#!/bin/bash
perl -i -pe ‘print «alias net-pf-10 ipv6 off\n» if $. == 17’ /etc/modprobe.d/aliases.conf
perl -i -pe ‘print «alias net-pf-10 off\n» if $. == 18’ /etc/modprobe.d/aliases.conf
perl -i -pe ‘print «alias ipv6 off\n» if $. == 19’ /etc/modprobe.d/aliases.conf
echo 1 | tee /proc/sys/net/ipv6/conf/all/disable_ipv6
echo «blacklist ipv6» | tee -a /etc/modprobe.d/blacklist.conf
STR=$(cat /boot/grub/grub.cfg | sed -n ’67p’)
STR=$» ipv6.disable=1″
sed ’67d’ /boot/grub/grub.cfg > /boot/grub/grub.cfg.backup
cp /boot/grub/grub.cfg.backup /boot/grub/grub.cfg
sed -i 67i\ «$STR» /boot/grub/grub.cfg

В общих чертах что в этом скриптике происходит:
Сперва отключаем пожжержку ipv6 в модулях ядра.
Далее указываем маркер в /proc на не использование ipv6.
И в 67 строке /boot/grub/grub.cfg дописываем параметр ipv6.disable=1.

Такая канитель с tee и sed нужна для того чтобы сохранить настройки /boot/grub/grub.cfg, так как там устройства обозначаются не по /dev/sd* и по UUID.

Хотя все всегда можно дописать ручками.

И на последок, для тех кто ручками писать не хочет, я выложил скрипт:
www.uralcode.ru
Не корысти ради, а дабы облегчить нелегкую жизнь админов.

Скрипт все время допиливается. В ближайшее время будет добавлена поддержка havp (проверка трафика антивирусом на лету до вхождения в squid) с кастомными темплейтами. Соответственно постараюсь максимально изложить мат. часть в необходимой для понимания мере.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

источник

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

Adblock
detector