Настройка шлюза и прокси сервера на базе clearos

Введение

Теперь расскажу своими словами что это такое и чем оно мне нравится:

  1. Во-первых, clearos действительно легко настраивается. Я не скажу, что прям каждый сможет это сделать, какое-то понимание в работе шлюзов должно быть, но знаний непосредственно линукса может не быть совсем. Через браузер реально все настроить и заставить работать. Функционал достаточный для среднестатистического офиса.
  2. Во-вторых, в clearos все сделано удобно в том плане, что если зайти на сервер по ssh, то увидите обычные конфиги привычного софта — squid, iptables, dnsmasq и другие. Сверху у вас обертка из веб панели, а внутри привычные конфиги. Панель не уродует их, не прячет, не приводит к неудобочитаемому виду. Если вы неплохо разбираетесь в centos, то без проблем сможете настроить в консоли все, что вам нужно. Например, меня не устраивал функционал openvpn, реализованный через стандартное управление. Я просто зашел в консоль и настроил так, как мне нужно. Конечно, я потерял возможность управлять ей через web панель, но тем не менее смог получить необходимый функционал. Это удобно еще и потому, что в панели управления очень мало настроек, большинство остается по-умолчанию и не настраивается. Если вы понимаете что делаете и хотите узнать больше, вы просто смотрите конфиг программы через консоль.
  3. В-третьих, внутри у вас обычная CentOS. Вы с ней можете делать все, что делаете с обычным сервером. Установить новые пакеты, посмотреть другие настройки. Главное не делать то, что мешает работе веб панели управления.
  4. В-четвертых, она легко бэкапится. Я проверял несколько раз. Есть нюансы, о которых нужно знать. Я расскажу об этом ниже. Но в общем и целом, можно без лишних телодвижений забэкапить настройки сервера и восстановить их на другом железе.

Теперь о минусах, с которыми я сам сталкивался. На всякий случай нужно отключать автоматическое обновление. Один раз после обновления перестал работать dnsmasq, который выступал в роли dns и dhcp сервера в локальной сети. Была небольшая ошибка в конфиге, которая возникла после обновления. Для меня не составило никакого труда зайти в консоль сервера, посмотреть логи, понять и исправить ошибку. Но для офиса, где не было системного администратора linux это обернулось серьезными проблемами и перебоями в работе сети. Все, что получало сетевые настройки по dhcp не работало некоторое время.

Вторым минусом, хотя это и не совсем минус, является маленькое количество настроек. Я понимаю, что это сделано для простоты как для самих пользователей, так и создателей дистрибутива. Чем больше возможностей, тем труднее поддерживать и настраивать. Простой пример — авторизация в openvpn сделана по сертификату и паролю. Мне, например, достаточно только авторизации по сертификату, но стандартный функционал не позволяет так сделать. Либо на прокси списки контроля доступа возможны только при авторизации по имени пользователя, по ip сделать не получится, хотя последнее мне кажется удобнее.

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

Gateway Antivirus

The Antivirus app is designed to help prevent virus attacks against desktop computers, laptops, smartphones etc. by providing a gateway perimeter. The scanner has the ability to filter non-encrypted web traffic and FTP downloads via the browser. The antivirus engine is based on the open-source software called ClamAV. The software automatically updates itself with the latest virus signatures available from the ClamAV community. Additional signatures are available (and highly recommended for any commercial or deployment of 5 or more users) as a subscription from ClearCenter (app-antivirus-updates).

Что такое операционная система Linux для сервера?

Что отличает операционную систему Linux для сервера от обычного дистрибутива Linux? Для ответа нужно учитывать аппаратное обеспечение сервера. Серверы, в сущности, представляют собой компьютеры со специальными характеристиками. Например, аппаратное обеспечение сервера гарантирует длительное время непрерывной работы, эффективность и надежность. Кроме того, серверы балансируют вычислительную мощность с потреблением электроэнергии. Поэтому операционные системы Linux для серверов на первое место ставят надежность и потребление ресурсов.

Операционная система Linux для сервера обслуживает контент для клиентских устройств. Соответственно, операционные системы для серверов имеют инструментарий для создания простых серверов. Поскольку серверы, в основном, работают в автоматическом режиме, то графический интерфейс с пользователем (GUI) в операционной системе Linux для сервера имеет менее важную роль.

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

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

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

System

  • FREE

    Two-factor authentication (2FA) for Webconfig strengthens access security by requiring two methods to verify a user’s identity. Before granting access to resources available via Webconfig, a user wil…

  • FREE

    APC Battery Backup/UPS provides status information, reporting and administrative actions for managing supported APC UPS models.

  • FREE

    Perform bulk import of users to the system using the Account Import app. Import template supports Comma Separated Values (CVS) that can be created from any spreadsheet application (OpenOffice, Excel …

  • FREE

    An overview of installed plugins and extensions to the user directory that allows user-based features to be enabled/disabled easily.

  • FREE

    An Access Control List (ACL) allowing an administrator (root) to grant sub-administrator access to specific configuration pages within webconfig on a per user basis.

  • FREE

    BackupPC is a high-performance, enterprise-grade system for backing up Linux and Windows desktops and laptops to a local storage array (eg. server’s disk). BackupPC is highly configurable and easy to…

  • FREE

    The Bare Metal Backup/Restore app saves and restores both users’ home directories and the configuration settings to and from a USB disk.

  • FREE

  • FREE

    The configuration backup and restore app allows an administrator to take a snapshot (archive file) of all configuration settings of the system, allowing easy restoration in the event data is lost. Th…

  • FREE

    The dashboard app provides a high-level summary of how your system is configured, how it is performing and what users on doing on the server.

  • FREE

    Allows you to set the system date, time and timezone settings on the server.

  • FREE

    Displays information on what ClearOS edition is configured.

  • FREE

    The groups app allows an administrator to create, delete and modify groups on the system. Groups can be used to efficiently manage permissions in accessing server resources.

  • FREE

    Let’s Encrypt is an open certificate authority that provides free SSL certificates. The app intelligently integrates the certificate lifecyle and management into Webconfig to be used by other services…

  • FREE

  • FREE

    • FREE

      ClearCenter’s Marketplace is an online store featuring apps and services (both free and paid) for ClearOS. Apps available in the Marketplace have gone through a stringent quality control process by C…

    • FREE

      This application demonstrates how to access the ClearOS API framework from a mobile phone using a REST-like protocol. IT IS INTENDED FOR DEVELOPERS ONLY. The bundled application is for Android d…

    • FREE

      The Password Policies app can be used to enforce the password quality (strength) in use by end-users. Enforcing strong passwords and/or policies that can be used, for example, to expire passwords wil…

    • FREE

      Control the system daemons and their running state and provides a useful overview. You can also control which services start up at boot time.

    • FREE

      The Shell Extension is a account-manager extension that allows an administrator to assign shell access (and type) to user accounts via the user manager app. Giving users shell access to the server is…

    • FREE

      The Software RAID app provides status information, reporting and interaction for administering a software RAID array. This app is a UI integration and interface for the ubiquitous

      • FREE

        The Storage Manager allows you to map large data shares to storage volumes.

      • FREE

        Some individuals or organizations have the ability to be self-sufficent when it comes to managing their IT environment, however, many prefer (or require) access to professional support services. Clea…

      • FREE

        System registration provides access to the Marketplace containing hundreds of apps to customize your server and receive the latest updates. Creating an account and registering your system is quick an…

      • FREE

        Security certificates are used to secure various apps that you use on a day to day basis.

      • FREE

        The User Profile app is used to change your password and, depending on your system settings, update other profile settings.

      • FREE

        The users app allows an administrator to create, delete and modify users on the system. Marketplace apps that plugin directly to the user directory will automatically display options available to a u…

      FREE

      Webconfig
      The secure, web-based management framework that provides users with an intuitive user interface to manage and configure apps. Webconfig also provides developers and 3rd-party Integrated Software Vend…

Настройка proxy сервера

Теперь рассмотрим настройку proxy сервера на clearos. Идем в Marketplace и ставим пакеты Web Proxy Server, Content Filter Engine и Filter and Proxy Report. Первый это прокси сервер squid, второй — контент фильтр dansguardian. Прокси сервер может работать в одном из трех режимов:

  1. Transparent Mode + No User Authentication. В этом режиме все http запросы из локальной сети автоматически перенаправляются на порт 3128 прокси сервера с помощью правила на фаерволе. При данной настройке на компьютерах пользователей не нужно делать никаких настроек. Выход в интернет для пользователей полностью прозрачен. Существенный минус такого режима — невозможно проксировать https соединения. А их сейчас все больше и больше. Вы ни статистику по ним не сможете увидеть, ни заблокировать. С учетом того, что сейчас все популярные сайты перешли на https, данный режим работы прокси бесполезен.
  2. Non-Transparent + No User Authentication. В данном режиме в браузере пользователя необходимо в обязательном порядке установить адрес прокси сервера, иначе доступ в интернет будет закрыт. Пользователи авторизуются прозрачно, доступ в интернет у всех один и тот же. Возможно блокировать доступ как к обычным, так и https сайтам. Минус этого режима в том, что нет возможности настроить разный доступ разным группам пользователей. Можно либо всем все закрыть, либо всем открыть.
  3. Non-Transparent + User Authentication. В этом режиме больше всего настроек. Выход в интернет осуществляется с авторизацией по имени пользователя. Можно настраивать списки доступа для различных групп пользователей. Как и в предыдущем режиме необходима настройка прокси сервера в свойствах браузера. Главным минусом этого режима — после запуска браузера необходимо вручную ввести имя пользователя и пароль для доступа в интернет.

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

Идем в раздел Gateway -> Content Filter and Proxy -> Web Proxy Server, выбираем режим работы Non-Transparent + No User Authentication. После сохранения страница настроек выглядит следующим образом.

Для запуска Proxy не забудьте нажать Start. После этого прокси сервер будет запущен с заданными параметрами. В данном случае доступ в интернет будет как без прокси, так и с прокси. Если у пользователя в браузере указан адрес прокси сервера, то он будет выходить через прокси, будет логироваться вся его активность в интернете. Если прокси не указан, то доступ в интернет будет прямой. Может кому-то понадобится именно такой режим, можно на этом остановиться. Если мы хотим блокировать доступ к определенным сайтам, то продолжаем настройку.

ownCloud Features

Mobile and Desktop syncing

Access your data on any platform. Use the Android or iOS clients to work with your files on the go or synchronize your favorite folders seamlessly between your desktop and laptop devices.

External Storage and Encryption

Add external storage to your ownCloud with Dropbox, SWIFT, FTPs, Google Docs, S3, external WebDAV servers and more. Enable the encryption app to encrypt data on external storage for improved security and privacy.

Collaborative Editing

ownCloud Documents is collaborative editing of rich-text documents that lets up to 5 individuals collaborate to edit .odt or .doc files securely within the browser. Documents may then be shared inside ownCloud or via a public link. See it in action on

Versioning and Undelete

ownCloud stores your data and lets you bring back data that was deleted accidentally. Find previous versions of files you modified and bring them back.

Galleries

Share photo galleries with friends and family. Give them access to upload pictures, view and download them. Send a link to anybody you choose, and control whether they can share those photos with anyone else.

Дополнительные возможности

Упомяну еще несколько полезный бесплатных модулей, которые я сам проверил и мне они показались полезными:

  1. Bandwidth and QoS Manager. В работе я его не проверял, но поставил и посмотрел настройки. Ничего сложного нету, думаю он будет работать. Позволяет настроить приоритизацию трафика и ширину канала по ip адресам.
  2. Network Map. Регулярно сканирует сеть и обнаруживает устройства. Позволяет вручную описать устройство на основе его MAC.
  3. Network Report и Network Visualizer. Строят отчеты и отображают текущую сетевую загрузку по интерфейсам. Не сильно информативно, но лучше, чем ничего.
  4. NTP Server. Сервер времени, по которому другие компьютеры в сети могут синхронизировать время. Полезно, когда вся сеть имеет одно и то же время.
  5. Services. Отображает список сервисов на сервере. Позволяет добавлять или исключать их из автозагрузки.

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

ClearOS Pricing

$0/moOpen Source Only $0/yr

Community

Ideal for Code Testing & Linux Experts

  • 80+ Free Open Source Apps
  • Forum Support Only
  • Community Driven
  • Participates in Beta Code Testing
  • Participates in Updates Testing
  • Lifecycle Support: 6 months

Download IT

$2/moStarting at $24/yr

Home

Quality TestedSmart Home Server

  • Industry Leading Home Protection
  • ClearCARE Support Optional
  • Quality Tested Code Only
  • Quality Tested Updates Only
  • Limited 3rd Party Apps
  • Limited Commercial Apps
  • Lifecycle Support: 5 years

$10/moStarting at $120/yr

Business

Production Ready&amp Professionally Supported

  • Complete IT Platform w/ 80+ Apps
  • Turn-key On Premise Solutions
  • Commercial URLs for Content Filter
  • Commercial Signatures for IDS
  • Commercial AV / AS Rules
  • Remote Backup
  • Dynamically Managed VPN
  • Lifecycle Support: 5 years

$20/moStarting at $240/yr

Hosted

Turn-Key &amp Scalablewith Managed Support

  • Complete Cloud-based IT Platform
  • Turn-key Cloud Solutions
  • Business Edition +
  • 24×7 Tech-Support
  • 24×7 Monitoring
  • Scaling Resource Allocation

Intrusion Detection

The Intrusion Detection app is the cornerstone of security for any size network. The app uses the highly regarded Snort engine to perform real-time traffic analysis and packet logging on Internet Protocol (IP) networks. The app can help identify, log and stop (using the IPS plugin) external attack vectors targeting the network (fingerprinting, buffer overflows, brute force authentication etc.). The app contains over 1000 known attack vector signatures with another 8000+ signatures available (with continuous updates) via the IDS update subscription from ClearCenter (app available in the Marketplace).

Backup настроек

Расскажу про backup настроек clearos, так как есть некоторый опыт. Существуют 2 пакета для бэкапа:

  1. Configuration Backup and Restore. По-умолчанию уже установлен в системе.
  2. Baremetal Backup and Restore. Ставится отдельно из магазина.

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

Backup clearos будет работать, только если вы восстанавливаете настройки на ту же версию системы. А версия системы достаточно часто меняется. Простой пример. Вы установили систему и настроили бэкап. Пол года все было нормально, вы регулярно делали бэкапы. Но сервер неожиданно ломается. Вы скачиваете образ с сайта, устанавливаете его, накатываете бэкап, а он вам сообщает, что не может восстановить настройки, так как версия системы отличается.

На ум приходит следующий вариант. Вы ставите сервер и сохраняете образ диска, с которого его ставили. Когда надо восстановить настройки, вы ставите сервер из старого образа и думаете, что все будет нормально. Но опять засада. Во время установки сервер скачивает последние обновления. Этот процесс нельзя ни отменить, ни пропустить!!! Такая вот загвоздка. Выход только один — держать постоянно актуальную версию системы. Но как я уже говорил, иногда могут возникнуть проблемы после обновления. Хотя у меня они реально были только один раз. Незначительная ошибка, которую я быстро исправил. Но тем не менее. Имейте ввиду такую особенность и решите, как вам лучше бэкапить сервер. Если это будет виртуальная машина, то бэкапить лучше на уровне виртуалки. Как установить шлюз на виртуальную машину, я рассказывал на примере настройки proxmox.

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

Настройка firewall

Продолжим настройку clearos настройкой firewall. Изначально у нас уже есть возможность настраивать блокировку входящих соединений сервера. Но этого мало. Нам понадобится как минимум проброс портов и создание более сложных правил блокировки. Для этого нам необходимо установить несколько дополнительных пакетов из Marketplace. Идем туда и выбираем:

  • Custom Firewall для создания любых правил iptables.
  • Port Forwarding для проброса портов.

После установки в разделе firewall есть 3 пункта:

  • Custom Firewall
  • Incoming Firewall
  • Port Forwarding

По-умолчанию у нас есть одно входящее правило во фаерволе, которое разрешает подключение к web панели управления по 81 порту. Но, допустим, вам надо ограничить доступ по этому порту и разрешить только с определенных адресов. Стандартный функционал раздела Incoming Firewall не позволяет это сделать. Нам необходимо написать полное правило для iptables и поместить его в Custom Firewall. Подробнее о написание правил для фаервола рассказано в отдельной статье, посвещенной настройке iptables. Я здесь не буду останавливаться на написании правил. Это отдельная тема. Приведу только пару примеров.

Но сразу хочу предупредить. С правилом доступа к серверу экспериментировать не советую. Сам я с первой попытки отключил себе доступ к серверу по 81-му порту. И вот я сижу, сервер передо мной, но я не могу ничего сделать. Через браузер зайти не могу в панель управления. Через консоль сервера никаких вариантов нет, перезагрузка не помогает, ssh по-умолчанию выключен. Для админа, который не разбирается в линуксе это тупик, ничего не сделать, надо переустанавливать сервер.

Я конечно же решил проблему. Открыл на сервере вторую консоль через Alt+F2, зашел root’ом в систему. Посмотрел какие сейчас действуют правила iptables.

# iptables -L -v -n

Сбросил их.

# iptables -F

И сделал фаервол открытым.

# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT

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

Сразу уточню, что по-молчанию в firewall заблокировано все, что не разрешено явно. То, что в разделе Incoming Firewall указано как открытый входящий порт 81, на сервере выглядит немного не так. Открыт не только входящий порт, но и исходящий. Я же в ручном правиле открыл только входящий порт, не указав исходящий. В итоге доступ к серверу потерял. Не повторяйте моих ошибок. С фаерволом работайте очень аккуратно и без особой надобности не трогайте правило, которое разрешает подключение к серверу по 81-му порту.

Вот и примеры. Разрешаем доступ к ssh только с адреса 192.168.1.112.

iptables -A INPUT -s 192.168.1.112 -d 192.168.1.101/32 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -s 192.168.1.101/32 -d 192.168.1.101/32 -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT

Добавляете эти правила в Custom Firewall и сможете подключаться по ssh, предварительно запустив сервис в разделе Network -> Infrastructure -> SSH Server.

Вот другой пример. Вам надо какому-то ip адресу полностью запретить доступ в интернет. Делаете правило в Custom Firewall для ip 10.0.0.15.

iptables -I FORWARD 1 -s 10.0.0.15 -j DROP

Щелкнут мышкой по правилу, вы можете увидеть его целиком.

Добавлять можете какие угодно правила. Синтаксис идентичен обычному синтаксису для iptables.

Теперь настроим проброс порта. Это сделать очень просто. Допустим, у нас есть web сервер по адресу 10.0.0.5. Нам надо настроить forward 80-го порта. Идем в раздел Network -> Firewall -> Port Forwarding и создаем новое правило, выбрав Add by: Port.

И сохраняете. Больше вам ничего делать не надо. Все необходимые правила будут созданы автоматически. Можно посмотреть на сервере по ssh,что это за правила:

С настройкой firewall в clearos закончили. Обозначил основные функции.

Начальная настройка шлюза

После установки, первый запуск нас встречает информационной страницей:

Здесь же сделаем первоначальную настройку сетевых интерфейсов. Жмем на ссылку Network Console. Заходим под учеткой root и настраиваем сеть.

eth0 192.168.1.101 В моем случае это внешний интерфейс, по которому я получаю интернет
eth1 10.0.0.1 Внутренний интерфейс, который будет подключен к локальной сети

Для продолжения настройки clearos необходимо в браузере открыть страницу по ip, указанному в установке. В моем случае это https://192.168.1.101:81. При входе браузер предупредит о недоверенном сертификате. Так и должно быть, все равно переходите на страницу. Вас встречает окно логина в систему.

Вводите указанную при установке учетную запись root. Язык рекомендую везде использовать английский. Во-первых, перевод на русский не очень понятный, во-вторых, все инструкции на английском языке. В рунете нет документации по clearos. Основной источник информации — база знаний и форум на официальном сайте.

Я не буду приводить описание всех шагов настройщика. Остановлюсь только на ключевых. Вам зададут вопрос про Network Mode. Мы настраиваем шлюз, поэтому выбираем Gateway Mode.

Сеть уже настроили. Если ничего менять не надо, то двигаетесь дальше. Потом указываем dns сервер либо вручную, либо, если настройки по dhcp получали, то он уже будет прописан. Дальше выбираете редакцию, в нашем случае Community. Затем надо зарегистрировать установку. Вам нужна учетная запись на сайте clearos. Идите и зарегистрируйтесь. Данные от этого аккаунта нужно будет ввести в регистрации установки.

На следующем этапе устанавливаются обновления. Это не так быстро, придется подождать минут 5-10, пока все установится. Хотя не факт, зависит от скачанного дистрибутива. Дальше указываем имя домена и сервера. Можете писать все, что угодно. Если сервер будет смотреть в интернет и есть доменное имя, можно реальное указать. Если не хочется, то придумайте что-то вроде gate.local.

Потом идет установка времени и самое интересное — выбор дополнительных пакетов. Пока ничего не выбирайте. Будем ставить все необходимое по мере настройки функционала, поэтому выбирайте Skip Wizard.

На этом все, начальная настройка clearos завершена. Можете настроить dashboard так, как вам нравится. Выбирать особо не из чего, поставьте те виджеты, что есть в наличии. Давайте сразу включим DHCP сервер. Идем в раздел Network -> Infrastructure -> DHCP Server и включаем его на локальном интерфейсе:

Настройки можно оставить по-умолчанию, только выбрать диапазон ip, из которого будут выдаваться адреса. Я выбрал 100-254.

В таком виде уже можно подключать устройства в сеть. Они будут получать ip адреса и иметь доступ в интернет.

Заключение

Я рассмотрел только основные возможности ClearOS, но даже это получилось очень объемным материалом. В целом, система дружелюбная, разобраться можно просто пробуя настройки и проверяя изменения. Я рекомендую эту систему тем, кто непременно хочет программный шлюз, но при этом не очень разбирается в настройках. Какое-то понимание, конечно, необходимо, но тут даже методом тыка можно что-то получить. Настроек очень мало, основная их часть от пользователя скрыта. В этом вижу основное преимущество данной сборки.

У меня есть опыт нескольких лет использования ClearOS. Ставил не я, досталось в наследство, так и познакомился. Система работает и свои функции выполняет. Что-то я в консоли сам донастраивал, когда было нужно. Например, соединил две ClearOS с помощью OpenVPN по схеме сервер — сервер. Не клиент — серверная модель, как описано тут, а просто два сервера. Можно ставить дополнительные пакеты по необходимости. Тот же MC поставить не проблема, подойдет стандартная команда centos — yum install mc.

Система интересная и вполне надежная, можно пользоваться.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: