- Как установить Squid в Astar Linux
- Установка пакета Squid
- Установка и настройка прокси-сервера Squid
- Установка прокси-сервера Squid
- Настройка Squid как HTTP-прокси
- Добавление списков контроля доступа
- Открытие портов
- Работа прокси в прозрачном режиме
- Аутентификация клиента
- Настройка параметров кэширования
- Ограничение скорости
- Блокировка веб-сайтов
- Блокировка по маске
- Заключение
- «Мыши плакали и кололись..» Импортозамещение на практике. Часть 4 (теоретическая, завершающая). Системы и сервисы
- 1. Инфраструктура
- 1.1. DNS
- 1.2. DHCP
- 1.3. Directory Service
- 1.4. Proxy-сервер
- 1.5. Мониторинг
- 1.6. IP-телефония
- 2. User oriented системы
Как установить Squid в Astar Linux
Squid это самый популярный программный прокси сервер. Его можно установить практически на любую операционную систему Linux, и даже отечественной разработки. Сегодня посмотрим как можно установить Squid в Astar Linux. По большому счету установка каких либо пакетов в Linux системах практически одинаковая, если вы устанавливали данный прокси сервер скажем в Ubuntu то без труда сможете сделать тоже самое и Debian и в Astra Linux.
Установка пакета Squid
Для установки прокси необходимо запустить терминал и ввести следующею команду.
после чего вводим пароль суперпользователя и подтверждаем установку.
По окончанию нужно запустить его, это можно сделать командой
Остается только проверить его состояние для этого вводим
Как видим squid установился и запустился без ошибок, он работает. Остается только его сконфигурировать, это можно сделать если открыть его config
Для редактирования рекомендую использовать файловый менеджер MC.
Логи хранятся по следующему пути.
На этом установка прокси сервер Squid в Astra Linux завершена. Настраивать его на работу будем в следующей статье, к сожалению не успел её дописать.
Источник
Установка и настройка прокси-сервера Squid
Squid – самый популярный HTTP-прокси сервер для кэширования и перенаправления. Он широко используется различными компаниями для кэширования веб-страниц с веб-сервера для повышения скорости работы последнего, снижения времени ответа и ограничения использования пропускной способности сети. В данном руководстве мы рассмотрим установку прокси-сервера squid и его использование в качестве HTTP-прокси сервера.
Установка прокси-сервера Squid
Прежде чем начать, стоит отметить, что сервер Squid не требует значительных ресурсов, но использование оперативной памяти может изменяться в зависимости от количества клиентов, осуществляющих доступ в интернет через прокси-сервер.
Пакет Squid доступен в стандартном репозитории
В Ubuntu/Debian
Запустите его и задайте запуск при загрузке:
После этого можно проверить статус службы:
Важные файлы Squid располагаются в следующих директориях:
Файл конфигурации: /etc/squid/squid.conf
Журнал доступа: /var/log/squid/access.log
Журнал кэша: /var/log/squid/cache.log
Файл конфигурации по умолчанию содержит ряд директив, при помощи которых осуществляется управление работой сервера. Для внесения изменений откройте файл любым текстовым редактором.
В нем довольно много параметров, мы рассмотрим самые важные из них.
http_port порт HTTP-прокси сервера, по умолчанию 3128. Для безопасности рекомендуется сменить его на другой.
visible_hostname Параметр используется для определения имени узла сервера Squid. Можно задать любое имя.
Также можно указать параметр intercept (или transparent для старых версий), например, http_port 3128 intercept. В этом случае ваш сервер будет работать как прозрачный прокси (без необходимости настраивать его использование на стороне клиента).
Для последующего понимания работы прокси, нужно понять следующие параметры
http_access-Данный параметр регулирует доступ к HTTP-прокси серверу. С помощью него можно разрешить или запретить доступ через сервер как к определенным ресурсам в интернете, так и определенным группам пользователей.
В данный момент любой доступ запрещен (deny all). Чтобы начать использование сервера, нужно изменить ее, например, на http_access allow all (разрешить любой доступ). Параметр all можно заменить на имя списка доступа, которые мы рассмотрим чуть ниже.
acl(access control list) — В этом параметре указываются ресурсы в интернете, порты, ip адреса пользователей, локальные сети. В общем это список к которому будут применяться различные правила. Таких списков может быть неограниченное количество.
После внесения изменений нужно перезапустить Squid следующей командой:
Настройка Squid как HTTP-прокси
В данном разделе мы рассмотрим настройку Squid в качестве HTTP-прокси, использующий для аутентификации только IP-адрес клиента.
Общий синтаксис в прокси выглядит следующим образом
При описании контроля доступа можно использовать оператор отрицания «!». Например следующая строка запрещает доступ ко всем портам, кроме описанных в листе Safe_ports
Добавление списков контроля доступа
Рассмотрим создание списков доступа acl подробнее. По умолчанию уже есть преднастроенный acl localnet
Вы можете его отредактировать или удалить. Создадим новый acl
Добавьте правило следующего вида:
Где boss — имя списка контроля доступа, src — параметр, задающий адрес источника (source), а XX.XX.XX.XX — IP-адрес машины клиента (можно также указывать подсети или диапазоны). Новые списки контроля доступа нужно добавлять в начало раздела ACL. Аналогичным образом можно создавать списки доступа с ограничением по адресу места назначения (параметр dst вместо src), а также использовать вместо адресов доменные имена (srcdomain для источника, dstdomain для места назначения).
Очень желательно рядом с ACL указывать комментарий с кратким описанием пользователя этого IP-адреса, например:
После этого нужно разрешить доступ для boss:
Чтобы изменения вступили в силу, нужно перезагрузить Squid.
Открытие портов
По умолчанию в конфигурации Squid разрешено использование только определенных портов.
Если требуется использование дополнительных портов, можно задать их в файле конфигурации:
Где XXX — номер порта, использование которого нужно разрешить. Снова желательно пояснять ACL комментарием.
Не забываем перезапустить Squid для применения настроек
Работа прокси в прозрачном режиме
Как уже было сказано, прозрачный режим предполагает автоматическую работу прокси-сервера без необходимости в явном виде указывать его на клиентских машинах. В общем случае клиент может вообще не знать, что работает через прокси. Это может быть полезным для обеспечения анонимности, ограничения доступа к некоторым сайтам и даже экономии сетевого трафика, так как прокси-сервер может сжимать данные.
Помимо уже рассмотренной выше опции intercept в параметре http_port файла конфигурации, для обеспечения правильной работы прозрачного прокси требуется соответствующим образом настроить маршрутизатор. Чтобы все входящие и исходящие запросы на порт 80 перенаправлялись на порт, используемый прокси-сервером.
В случае использования iptables нужно добавить следующие правила (в рассматриваемом примере eth1 — внутренний интерфейс, eth0 — внешний, SQUID_IP — IP-адрес прокси-сервера):
Аутентификация клиента
Cоздадим файл passwd для хранения имени пользователя для аутентификации. Сквид работает как пользователь squid, поэтому он должен быть владельцем файла.
Создадим нового пользователя ivan и установим ему пароль.
Для задания базовой HTTP-аутентифркации откройте файл конфигурации Сквид в текстовом редакторе:
И пропишите следующие директивы после ACL портов:
Чтобы применить изменения, сохраните файл и перезапустите Сквид. Теперь при попытке получить доступ в интернет необходимо будет ввести логин с паролем
Настройка параметров кэширования
Одна из важных функций прокси-сервера — кэширование веб-страниц для разгрузки веб-сервера и ускорения доступа. Сквид поддерживает два типа кэша, в оперативной памяти и на жёстком диске.
Кэш в оперативной памяти настраивается следующими параметрами:
cache_mem 1024 MB — выделенный для кэширования объем памяти
maximum_object_size_in_memory 512 KB — максимальный размер объекта в кэше
Параметры кэша на жёстком диске задаются следующей директивой:
Размер указывается в мегабайтах, ур_1 и ур_2 — количество директорий первого и второго уровня, соответственно, например:
Аналогично кэшу в памяти при помощи следующего параметра указывается максимальный размер объекта в кэше на диске:
Ограничение скорости
Squid может ограничивать скорость доступа к сети. Хотя в современных условиях эта функция может показаться избыточной, она часто может оказаться полезной, например, для ограничения использования пропускной способности канала какими-либо автоматизированными задачами.
Для реализации ограничения скорости Сквид использует механизм пулов задержки (delay pools). Пулы задержки можно условно представить в виде ёмкости, которая “заполняется” данными, и после этого “выпускает” их только с определенной скоростью. Количество пулов задаётся в файле конфигурации следующим образом:
Каждый пул имеет номер (от 1 до заданного количества), а также класс. Классы реализуют многоступенчатую структуру ограничения:
1 класс — общее ограничение
2 класс — общее ограничение и ограничения для подсетей
3 класс — общее ограничение, ограничения для подсетей и ограничения для отдельных ip-адресов
Классы пулов задаются директивой delay_class, в качестве аргументов которой передаются номер пула и класс.
Параметры пулов задаются директивой delay_parameters и описывают максимальный объем пула и ограничение на каждый уровень (в байтах) в зависимости от класса. Например, параметры для пула 1 класса с номером 1:
Будут означать, что после получения первых 256 Кб запроса на максимальной скорости скорость будет ограничена 64 Кб/с, то есть 512 Кбит/с.
Для 2 класса и выше аналогичным образом задаются ограничения для подсети, отдельного адреса и т.д., например следующая директива ограничивает общую скорость до 8 Мбит/с, а скорость для подсети после первых 256 Кб запроса — до 512 Кбит/с.
Чтобы задать пулы задержки для определенных списков контроля доступа, используется директива delay_access, содержащая номер пула, параметр allow или deny и имя списка, например:
для примера создадим два пула, 1 и 2 класса:
Теперь пользователи из листа office1 будут иметь скорость доступа в интернет в соответствии с delay_parameters 1.
Создаем 2-й класс
Это означает, что пользователи acl office2 ограничены общей скоростью на всю сеть в 512 кбит, но при этом отдельные пользователи в этой сети ограничены после первых 256 Кб, скоростью в 64 кбит
Проверим на сайте speedtest.net, работу ограничений
Как видите скорость загрузки действительно ограничена приблизительно до 256 кбит. Обратите внимание, что сквид ограничивает только скорость отдачи от него, т.е скорость загрузки пользователя. На скорость отдачи от пользователя ограничение не действует.
Блокировка веб-сайтов
Для блокировки доступа к нежелательным веб-сайтам сначала создайте файл с “черным списком”:
Теперь в этот файл нужно добавить сайты, к которым требуется заблокировать доступ. Например заблокируем доступа к одноклассникам и вконтакте:
Точки перед именами указывают Сквид блокировать все ссылки на эти сайты, в том числе www. vk.com, subsite.vk.com и т.д.
Далее нужно открыть файл конфигурации
И добавить список контроля доступа по доменным именам, указанным в файле, а также правило, запрещающее доступ для этого списка:
Обратите внимание на порядок расположения правил, правила доступа выполняются сверху вниз. Поэтому запрещающее правило расположено выше разрешающего
Сохраните файл и перезапустите Squid:
Теперь при попытке получить доступ к сайтам из списка, пользователь получит предупреждение
Блокировка по маске
Можно осуществлять блокировку не только по именам сайтов, но и по маске. Т.е. заблокировать доступ в сайтам, в которых есть определенное сочетание букв. Аналогичным образом создаётся файл со списком запрещенных ключевых слов:
Далее в него добавляются ключевые слова, например:
Откройте файл конфигурации и внесите в него следующие список контроля доступа и правило:
А затем сохраните файл и перезапустите Сквид:
Теперь, все сайты в названии доменов которых встречаются facebook, instagram, gmail будут заблокированы.
Заключение
Squid — очень мощное решение для создания прокси-сервера, обладающее огромными возможностями, значительной гибкостью и применимое практически в любой сети, от небольшого офиса до крупной корпорации. Мы охватили наиболее важные функции и параметры конфигурации Squid. Для получения более подробной информации о его конфигурации можно обратиться к официальной документации.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
«Мыши плакали и кололись..» Импортозамещение на практике. Часть 4 (теоретическая, завершающая). Системы и сервисы
Поговорив в прошлых статьях о вариантах, «отечественных» гипервизорах и «отечественных» Операционных Системах, продолжим сбор информации о необходимых системах и сервисах, которые на этих ОСях можно развернуть.
На самом деле данная статья получилась в основном теоретической. Проблема в том, что ничего нового и оригинально в «отечественных» системах нет. А переписывать в сотый раз одно и тоже, не добавив ничего нового, я смысла не вижу. Так что тут будет сборка и анализ данных касательно импортозамещаемых систем.
Плюс к этому, более-менее нормальное Wiki есть только у Альт, Astra и Rosa. У Ред ОС есть база знаний (весьма скромная на мой вкус). Причем у Rosa статьи в этом Wiki зачастую устаревшие и неактуальные, датированные 2013-2014 годами и относящиеся к старым дистрибутивам… Но у остальных систем Wiki считай, что вообще нет. Поэтому для дистрибутивов, у которых нет БЗ или Wiki, будем считать, что смотреть надо в Wiki или БЗ их родительского дистрибутива. Для ROSA — CentOS (Red Hat), Astra — Debian, Calculate — Gentoo, Ред ОС — Red Hat, AlterOS — openSUSE, ОСь — CentOS (Red Hat), Ульяновск.BSD — FreeBSD, QP OC — полностью отечественная разработка (по уверениям ее создателей это не Linux).
Так же я пока опущу тот момент, что я оставляю всю инфраструктуру на базе Microsoft, и начну с основ — DNS, Directory Service, Proxy-server. Ну и далее пойдут user oriented системы и сервисы, типа почтового сервера, офиса, чата и т.д.
1. Инфраструктура
1.1. DNS
DNS-сервер представлен во всех «отечественных» ОС в виде BIND9. Ничего нового. Да и в настройке нет ничего сложного. Только у Calculate в репозитории BIND’a нет. Но есть другие.
DDNS — чуточку сложнее, но тоже ничего из ряда вон выходящего тут нет.
Инструкция для Astra
Инструкция для Альт
У ROSA в Wiki есть следующая инструкция, не имеющая никакого отношения к реальному положению вещей. Так что будем считать, что инструкцию по настройке DDNS для ROSA нужно искать как относящуюся к CentOS.
1.2. DHCP
1.3. Directory Service
Включение машины ОС Microsft Windows в домен ALD штатными средствами ОС Microsft Windows невозможно.
При этом в качестве клиента AD Astra вводится в домен буквально парой действий.
Так же в качестве контроллера домена в Astra Linux может выступать SAMBA 4. Это не доработка Astra, это SAMDA в изначальном виде. Настраивается так. Или как вот так.
В интернетах есть упоминания того, что у ROSA есть своя разработка ROSA Directory Server. В их Wiki есть статья на этот счет. Датированная 28 февраля 2013. Есть еще и упоминания интересного инструмента Rosa Server Setup. И я начал копать, интересно же потрогать.
В общем, в релизе R7 все это выпилили. Как я понял, связано это было с тем, что Rosa пересобрали на базе CentOS вместо Mandriva, а их Directory был основан на Mandriva Directory Server, и на CentOS просто не налез.
По этому, как и на все другие-остальные ОС, на ROSA можно установить SAMBA, и использовать ее в качестве контроллера домена.
Samba AD DC функционирует на уровне контроллера доменов Windows 2008 R2. Вы можете ввести его в домен Windows 2012 как клиента, но не как контроллер домена.
Таким образом, для нормальной работы Windows серверов и рабочих станций, если они нам нужны, а они нужны, так как есть ПО, которое не может работать под Linux (те же САПР-пакеты или устаревшие программные пакеты для устройств, которые вообще ни на что, кроме Win XP поставить невозможно), нам необходимо разворачивать домен на базе Windows или FreeIPA. Развернуть FreeIPA — достаточно трудоемкий процесс, тогда как домен под управлением Windows разворачивается за пару часов. В моем случае — нулевые временные затраты, потому что у меня уже есть домен под управлением Windows. При этом Linux умеет авторизовываться с помощью AD. Справедливости ради замечу, что Windows может авторизовываться через FreeIPA.
Это я так подвожу к обоснованию того, почему я не хочу отказываться от контроллеров домена на базе Microsoft Windows. Он у меня уже есть. Я не вижу смысла тратить уйму сил и времени, переучивать администраторов, привыкших к удобству графического интерфейса Windows, на работу с текстовыми файликами Linux-систем. Да, у IPA есть web-интерфейс, но это дела не особо меняет. (Линуксоиды меня за эти слова скорее всего четвертуют, но я, как Windows-админ, которому довелось работать с Linux, представляю, о чем говорю. Я не могу взять в толк, как можно любить копаться в текстовых редакторах, вчитываясь в тысячи строк кода, боясь опечататься при внесении изменений. Тогда как графический интерфейс сам тебе все покажет, подскажет, объяснит, только кнопку нажми и нужные параметры введи. Все. Я высказался. Стреляйте!)
На всякий случай, вот тут есть весьма годная статья о разворачивании IPA-сервера. Вдруг кому-то будет полезной.
1.4. Proxy-сервер
Squid можно найти в репозиториях почти всех «отечественных» ОС. Не знаю, как у кого, но у меня Squid развернут уже давно. Меня устраивает.
Astra Linux Squid
Альт Squid с авторизацией через AD
Squid для РЕД ОС с авторизацией через IPA
У ROSA в Wiki подобной статьи не нашлось. Но литературы по настройке Squiid в интернете очень много. И настройка будет отличаться лишь командой установки менеджеру пакетов и, возможно, расположением файлов-конфигов.
1.5. Мониторинг
Zabbix есть в репозиториях Astra, ROSA, Альт, Ред ОС. С этим проблем не возникнет, нужно будет только экспортировать из продуктового сервера всю нужную информацию, а затем импортировать в новый сервер. Да, мы потеряем историю, но это не критично в большинстве случаев. В случаях, когда это критично, можно оставить в работе оба сервера до тех пор, пока информация на старом сервере устареет и потеряет необходимость. И еще один момент. Была информация, судя по которой, можно сделать вывод, что Maria DB попадет в черный список, и будет выпилена из репозиториев всех «отечественных» ОС.
Установка и настройка Zabbix на Astra
Установка и настройка Zabbix на Альт
Установка и настройка Zabbix на РЕД ОС
1.6. IP-телефония
В реестре Минсвязи есть несколько программных решений от отечественных разработчиков.
Ideco PBX не требует под собой ОС. Офф сайт.
Роском. IP-АТС также не требует под собой работающей ОС. Офф сайт.
MetPBX тоже не требует ОС под собой. Офф сайт.
СКИТ.АТС может быть развернута на базе Linux. Офф сайт.
И, наконец, платформа GetCall, которая также не требует под собой ОС. Офф сайт.
С IP-телефонией я сам лично дела не имел, так что сказать про них ничего не могу.
2. User oriented системы
2.1. Как было указано в одной из предыдущих статей, у нас на Firebird 1.5 работает система под названием ТЕКТОН. Соответственно, при импортозамещении нужно это дело переносить в новую инфраструктуру. У Firebird есть версии для Linux, но в репозиториях «отечественных» ОС версии 1.5 нет. А перейти на более позднюю версию возможности нет, так как на стыке 1 и 2 версий Firebird изменился принцип работы хранимых процедур, и переписывать их никто не будет… да и не сможет… да и смысла нет, так как в ближайшее время эту систему должна заменить 1с. Так что «на первое время» можно будет скачать пакет и установить не из репозитория.
2.2. Система электронной отчетности ОАЗИС под Linux не работает. Более того, ОАЗИС не работает ни на чем, кроме MSSQL Server. Таким образом, нам потребуется виртуальная машина с Windows и MSSQL Server. Достаточно будет Express версии, так как БД маленькая. Но уйти от этого нельзя, так как на этом основана отчетность в ПФР и налоговую.
2.3. В качестве веб-сервера MS IIS, естественно, не подойдет, придется использовать входящие в репозитории Apache или Nginx (последний есть в репозиториях ROSA, Альт, Calculate).
Что из них лучше? Можно ознакомиться со статьей товарища rrromka
Ссылка на Wiki:
Для Альт
Для Calculate
Для ROSA есть только команды установки, конфигурировать придется по другой литературе. Например, документация с официального сайта. Или можно найти кучу статей по настройке на Хабре.
В качестве клиента чата можно использовать что угодно, начиная от Pidgin и Miranda, которые есть в сборках ОС, и заканчивая чем-то самописным.
Так же в репозиториях ОС есть пакеты Postfix/exim/Dovecot.
Альт Wiki Postfix Dovecot
Astra Linux. Установка почтового сервера Dovecot
По поводу настройки Rosa. В их Wiki есть статья по развертыванию почтового сервера, датированная 28 февраля 2013. Беда лишь в том, что там описан метод с использованием RSS (ROSA Server Setup), который, как я говорил выше, был випилен из актуальной версии дистрибутива. Так что теперь можно использовать инструкции по настройке почтового сервера без привязки к ОС. Например, вот такую.
Так же можно рассмотреть вариант проприетарного ПО в виду «МойОфис сервер» или «CommuniGate Pro«. Но мне этот вариант не нравится. Как минимум потому, что он платный. С другой стороны, поддержка — это хорошо, это гарантия. Но при условии, что почти все администраторы могут гарантировать работоспособность почтового сервера, необходимость поддержки вызывает сомнения. И если CommuniGate это проверенное ПО, то «МойОфис» был создан в 2014 году, и лично у меня вызывает опасения мысль о количестве багов, которые в этой системе еще можно словить. При всем при этом цена обоих продуктов на мой взгляд необоснованно завышена.
2.6. Резервное копирование в дистрибутивах представлено Bacula. Настройка этого монстра — целая эпопея. Материалов по этому вопросу достаточно много, но все равно это целый труд. Но Bacula — мощный и крайне полезный мультиплатформенный инструмент.
Инструкция для Astra
Инструкция для Альт
Документация на официальном сайте
Источник