Инструкции

Установка Hyper-V на Windows Server 2012

Введение

При развертывании облачных серверов под управлением Windows Server 2012 и попытке установить Hyper-V вы можете столкнуться с ошибкой, указывающей на то, что Hyper-V уже запущен. Эта ошибка возникает потому, что сам сервер развернут как виртуальная машина. Однако у этой проблемы есть решение: вы можете установить Hyper-V через консоль.

Зайдя в консоль виртуальной машины, вы можете перейти к ролям и функциям сервера и продолжить установку Hyper-V. Это позволит вам использовать возможности виртуализации внутри виртуальной машины, обеспечивая развертывание и управление дополнительными виртуальными машинами внутри нее.

Используя консоль, вы можете применить обходное решение для устранения ошибки и задействовать виртуализацию на облачном сервере Windows Server 2012 путем установки Hyper-V.

Установка Hyper-V с помощью консоли представляет собой эффективное решение для устранения ошибки и позволяет использовать возможности виртуализации на облачном сервере Windows Server 2012.

Установка Hyper-V в консоли

  1. Откройте консоль PowerShell.
  2. Включите Hyper-V с помощью команды:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Установите инструменты администратора RSAT:

  • Install-WindowsFeature RSAT-Hyper-V-Tools -IncludeAllSubFeature

Далее установите службу кластера для поддержки кластера в Hyper-V:

  • Install-WindowsFeature RSAT-Clustering –IncludeAllSubFeature

Установите Multipath I/O, чтобы включить несколько путей к хранилищу:

  • Install-WindowsFeature Multipath-IO

Теперь сервер можно перезапустить. Введите команду:

Restart-Computer

Как правильно делать бэкапы

Как часто делать бэкапы

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

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

Как делать бэкапы 

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

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

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

Типичные ошибки

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

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

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

Настройка NTP на сервере

Программа NTP (Network Time Protocol), как правило, уже присутствует в дистрибутивах Linux. Чтобы установить ее, вам понадобятся права root. Процесс установки NTP может немного отличаться в зависимости от используемого дистрибутива Linux:

  • sudo apt-get install ntp
  • sudo yum install ntp
  • sudo dnf install ntp

Для настройки NTP используется конфигурационный файл ntp.conf, который обычно находится в каталоге /etc/. Однако, при необходимости, файл можно расположить и в другом месте, указав путь к нему через параметр командной строки «ntpd -c». При запуске демон NTP читает этот файл для получения настроек. Демон может выполнять как роль сервера, так и роль клиента в сети. Чтобы внесенные изменения в файле конфигурации вступили в силу, необходимо перезапустить демона NTP. Конфигурационный файл ntp.conf соответствует стандартному формату и может быть изменен с помощью любого текстового редактора.

NTP использует эталонные серверы или одноранговые узлы для синхронизации локальных системных часов. В файл конфигурации можно добавить один или несколько одноранговых узлов с помощью параметра «server» и указать их адресы (доменные имена или IP-адреса).

При добавлении одноранговых узлов важно учитывать параметр «prefer», который указывает на предпочтительный узел. В случае, когда узлы равнозначны, предпочтительный узел будет выбран из списка. Обычно указывается только один предпочтительный узел.

Рекомендуется указывать нечетное количество одноранговых узлов, чтобы обнаружить возможные временные смещения, превышающие допустимые пределы, если такие изменения происходят в одном из узлов. Алгоритм выбора может в таком случае исключить этот узел из рассмотрения.

Добавление файла «дрифта»

Для хранения информации о смещении частоты локального тактового генератора NTP использует файл «дрифта». В этом файле записывается значение смещения в миллионных долях (PPM). Служба NTP обновляет файл «дрифта» каждый час. Рекомендуется указать путь к файлу «дрифта», так как это позволяет NTP быстрее синхронизировать локальные часы при запуске системы. Обычно файл «дрифта» определяется следующим образом:

driftfile /var/lib/ntp/ntp.drift.

Таким образом, указывая путь к файлу «дрифта» в конфигурационном файле ntp.conf, вы позволяете NTP эффективнее корректировать и синхронизировать локальные системные часы при каждом запуске.

Указание файла статистики

Для указания каталога, в котором будут храниться файлы статистики, вы можете использовать команду «statsdir» в файле конфигурации NTP. Эти файлы статистики полезны для отслеживания производительности локальной синхронизации часов.

Чтобы задать путь к каталогу, где будут сохраняться файлы статистики, просто добавьте следующую строку в файле конфигурации ntp.conf:

statsdir <путь_каталога>

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

Включение и запуск службы NTP

Для включения и запуска NTP в системе Linux можно использовать команду systemctl, предоставляемую с правами root:

Чтобы включить службу NTP, выполните команду:

sudo systemctl enable ntpd

Для запуска службы NTP, используйте команду:

sudo systemctl start ntpd

Чтобы применить изменения в конфигурации NTP, требуется перезапустить службу. Вы можете сделать это с помощью команды:

sudo systemctl restart ntpd

Если вам потребуется остановить или отключить службу NTP, можно воспользоваться следующими командами:

sudo systemctl disable ntpd

sudo systemctl stop ntpd

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

Rclone — настройка и установка

Особенности системы

Прежде чем приступить к установке, позвольте мне познакомить вас с основными функциями и возможностями этого приложения. Программа абсолютно бесплатна, мультиплатформенная и имеет открытый исходный код. Одной из ее ключевых особенностей является возможность монтирования различных типов файловых систем, таких как внутренние, облачные или виртуальные. Кроме того, она позволяет обслуживать внутренние или удаленные файлы по таким протоколам, как SFTP, HTTP, FTP и другим. Является аналогом Rsync в области облачных технологий.

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

Если вы столкнулись с трудностями при загрузке больших файлов, программа предлагает возможность сжать их или разделить на более мелкие части. Кроме того, она проверяет целостность сохраненных данных, гарантируя, что ваши файлы останутся нетронутыми и не поврежденными. Наконец, программа поддерживает те же команды, что и Linux/Unix, что делает ее простой в использовании для тех, кто знаком с этими системами.

Установка Rclone в Linux

Если вы хотите установить Rclone на систему Linux или Unix, есть несколько вариантов. Вы можете использовать официальный сценарий установки, менеджер пакетов или установить из исходных текстов. Ниже приведены шаги для каждого метода:

Использование сценария установки

Сценарий установки можно использовать для установки как стандартной, так и бета-версии Rclone. Чтобы воспользоваться скриптом, откройте терминал и введите следующую команду:

  • $ curl https://rclone.org/install.sh | sudo bash

Сценарий проверит, установлен ли уже Rclone в системе. Если он установлен, скрипт завершит работу без его переустановки. Чтобы установить бета-версию, выполните следующую команду:

  • $ curl https://rclone.org/install.sh | sudo bash -s beta

Использование менеджера пакетов

Большинство дистрибутивов Linux включают Rclone в свои репозитории по умолчанию. Чтобы установить Rclone с помощью менеджера пакетов, используйте соответствующую команду для вашей системы:

  •     Arch Linux, EndeavourOS и Manjaro Linux: sudo pacman -S rclone
  •     Alpine Linux: sudo apk add rclone
  •     Debian, Ubuntu, Linux Mint, Pop OS: sudo apt install rclone
  •     Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux: sudo dnf install rclone

Для RHEL и подобных систем может потребоваться сначала включить репозиторий [EPEL] с помощью следующей команды:

  • $ sudo dnf install epel-release

Для OpenSUSE используйте следующую команду:

  • $ sudo zypper install rclone

Установка

Чтобы установить Rclone сначала убедитесь, что у вас установлен Go версии 1.4 или более поздней. Следуйте руководству по установке Go в Linux, затем введите следующую команду:

  • $ go get github.com/rclone/rclone

Чтобы установить бета-версию, используйте следующую команду:

  • $ go get github.com/rclone/rclone@master

Установка пакета моментальных снимков Rclone

Чтобы установить пакет моментальных снимков Rclone, выполните следующую команду:

  • $ sudo snap install rclone —classic

Проверка версии Rclone

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

  • $ rclone version

В результате будет показан номер версии и некоторая информация о системе, такая как операционная система, версия ядра и версия Go.

Обращение за помощью

Чтобы получить помощь по работе с Rclone, используйте одну из следующих команд:

  • $ rclone help
  • $ rclone -h

Эти команды отобразят список доступных команд и краткое описание каждой из них. Чтобы получить справку по конкретной команде, добавьте название команды в конец команды, как показано ниже:

  • $ rclone mount help

Это выведет справку по команде «mount».

Создание и настройка шаблонов в Zabbix

Шаблоны в Zabbix позволяют вам синхронизировать мониторинг группы хостов.

Создание шаблонов

Найдите вкладку “Конфигурация” — “Шаблоны”. Кликните на “Создать шаблон”. Установите имя для шаблона. Установите группу хостов для работы с этим шаблоном.

Настройка содержимого шаблона

Перейдите во вкладку “Шаблоны”, чтобы провести более гибкую настройку группы. 

Для добавления какого-либо элемента, найдите его и отметьте галочкой, после кликните “Copy”. 

Определите место копирования.

Назначение шаблонов для узлов сети

После создания шаблона, вы можете установить его для единственного хоста или для группы. “Конфигурация” — “Хосты”, найдите устройство, которому вы хотите назначить шаблон. Кликните на имя. 

Во вкладке “Шаблоны”, на панели управления хостом, кликните “Выбрать”. Далее, нажмите на “Добавить”, это нужно для закрепления шаблона к хосту. Аналогичные действия проделайте с другими хостами.

Настройка и создание триггеров в Zabbix

Триггер — абстрактная метка, с помощью которой происходит отслеживание определенных событий и метрик в системах. У триггера в программной системе Zabbix существуют несколько состояний:

  • ок — система (элемент системы) в норме 
  • проблема (возникает, когда триггер следит за изменениями метрики, срабатывает при превышении или понижении установленного порогового значения)
  • неизвестная внештатная ситуация — что-то произошло, система мониторинга не может классифицировать возникшую проблему

Инициализация триггеров

Найдите пункт “Конфигурация”, перейдите во вкладку “Хосты”, определите наблюдаемый узел, создайте триггер через вкладку “Триггер”. Заполните поля наиболее детальным и понятным образом, чтобы понимать релевантность триггера.

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

Нормальное состояние (ОК) означает стабильную работу элемента (или системы), без обработки триггеров. Вы можете принудительно отменить автоматическое изменения триггера в состояние OK, для этого выберите значение “Нет”.

У вас также есть возможность настроить режим генерации событий. Вы можете настроить оповещение о проблеме 1 раз или при каждом изменении состояния.

Опция “Ручное закрытие” позволит вам в ручном режиме управлять состояниями триггера. После того, как вы добавили триггер, перейдите в меню “Конфигурации”, после найдите пункт “Узлы сети”, далее “Триггеры”.

Установка Zabbix (Ubuntu 20.04 Vers.)

Zabbix — это программная система, предназначенная для мониторинга различных ИТ-инфраструктур, включая облачные сервисы, обычные сети и виртуальные частные серверы (VPS). Это решение с открытым исходным кодом является бесплатным и может использоваться для мониторинга широкого спектра параметров, таких как загрузка процессора, доступное место на жестком диске, ping, доступность хоста и загрузка сети. Оно также способно генерировать графики и отправлять предупреждения по результатам мониторинга.

Мониторинг Zabbix может быть реализован различными методами, включая использование программы-агента или задействование существующих ресурсов системы или устройства, таких как ICMP ping или SNMP. Это универсальная система, которая может отслеживать широкий спектр параметров, включая загрузку процессора, пространство на жестком диске, загрузку сети и доступность хоста. Zabbix также может строить графики данных и отправлять предупреждения для уведомления администраторов о потенциальных проблемах.

В настоящее время Zabbix обычно развертывается с использованием MySQL в качестве базы данных и Nginx в качестве веб-сервера на Ubuntu версии 20.04. Однако существуют и альтернативные варианты базы данных и веб-сервера, в зависимости от конкретных потребностей и предпочтений пользователя.

Подготовка 

Для установки и настройки мониторинга Zabbix вам понадобится сервер под управлением Ubuntu 20.04 с доступом root. Многие команды в процессе установки требуют root-доступа, поэтому убедитесь, что вы вошли в систему как root или используете sudo. Хотя Zabbix включен в стандартные репозитории Ubuntu, это не самая последняя версия. К счастью, у Zabbix есть собственный репозиторий, который можно подключить с помощью одной команды:

wget dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb

dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb

Установите также следующий пакет программ:

apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts

База данных

Скачайте MySQL:

apt install mysql-server

Запустите:

systemctl start mysql.service

Войдите как суперпользователь:

  • mysql -uroot -p

Добавьте базу, установите пароль:

  • create database zabbix character set utf8mb4 collate utf8mb4_bin;

Создайте аккаунт для работы с базой данных:

  • create user zabbix@localhost identified by ‘password’;

Инициализируйте права доступа, чтобы соединить Zabbix и БД:

  • grant all privileges on zabbix.* to zabbix@localhost;

Разрешите подстановку шаблона базы данных:

  • set global log_bin_trust_function_creators = 1;
  • quit;

Далее, скачайте шаблон конфигурации, введите пароль, который установили ранее

  • zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql —default-character-set=utf8mb4 -uzabbix -p zabbix

Отключите режим логирования:

  • mysql -uroot -p
  • set global log_bin_trust_function_creators = 0;
  • quit;

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

  • nano /etc/zabbix/zabbix_server.conf

Раскомментируйте “DBPassword=”, установите свой пароль. Чтобы быстро найти нужную строку, воспользуйтесь комбинацией Ctrl + W. Сохраните изменения.

Web-сервер: настройка

Измените файл /etc/zabbix/nginx.conf. Раскомментируйте строки с listen и server_name. listen 8080 — управляющий порт с интерфейсом Zabbix, его изменять не стоит, строку с server_name модифицируйте, впишите IP-адрес сервера на место с example.com.

Команда, позволяющая использовать интерфейс локали:

  • locale -a

Откройте файл по пути /etc/locale.gen, раскомментируйте строку с ru_RU.UTF8

sudo nano */etc/locale.gen*

Сохраните ваши изменения, обновите локали:

  • sudo locale-gen

Перезагрузите Zabbix

  • systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm

Установите автозапуск:

  • systemctl enable zabbix-server zabbix-agent nginx php7.4-fpm

Проверь состояние системы

Время и имя выберите любое удобное

Перепроверьте состояние системы

Осуществите вход, используя установленные данные учетной записи:

Username: Admin

Password: zabbix

Как защитить сервер: 6 практических методов

Для обеспечения безопасности сервера всегда требуется сочетание различных мер. Эти меры можно условно разделить на следующие категории:

  • Защита каналов связи, используемых для администрирования и использования системы.
  • Реализация нескольких уровней безопасности для системы.
  • Контроль доступа и разделение ресурсов для инфраструктуры.
  • Мониторинг и аудит систем.
  • Регулярное резервное копирование.
  • Своевременное обновление (или откат) программного обеспечения и антивирусной защиты для серверов.

Давайте теперь рассмотрим 6 практических методов, которые помогут достичь высокого уровня защиты от потенциального злоумышленника.

Управление доступом

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

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

Для работы в unix-системах рекомендуется использование sudo. Ниже приведены две полезные отметки по умолчанию, которые помогут отслеживать, кто и что делает через sudo.

В базовом случае в журнал записывается в syslog. Следующая настройка (в файле /etc/sudoers) для удобства накапливает записи в отдельном файле:

  • По умолчанию log_host, log_year, logfile=»/var/log/sudo.log».

Этот параметр указывает sudo записывать текст сессии (журналы команд, сообщения stdin, stderr, stdout и tty/pty) в каталог /var/log/sudo-io:

  • По умолчанию log_host, log_year, logfile=»/var/log/sudo.log».

Более подробная информация о работе с файлом sudoers представлена в отдельной статье.

Доступ на основе мандатов 

Следующий совет относится к системам Linux. Администраторы систем Linux полагаются исключительно на внешние механизмы контроля доступа, которые являются базовыми и всегда активными. Однако многие дистрибутивы (такие как AppArmor в Ubuntu и SELinux в системах на базе RHEL) имеют обязательные механизмы контроля доступа. У системного администратора возникают сложности управления внутренними опциями безопасности, потому что порой для этого требуются многочисленные службы ОС и инициализация сложных демон-процессов.

Удаленное управление операционной системой

При удаленном администрировании ОС приоритетная задача — интегрирования и использование безопасных протоколов. В ОС Windows используется RDP, в Linux — SSH, данные протоколы обеспечивают вполне безопасное соединение в сети. Для создания безопасности в условиях корпоративной инфраструктуры этого недостаточно.

Устанавливайте соединение по RDP с паролем. Это можно сделать через «Локальные политики безопасности» и «Учетные записи: Разрешить удаленные подключения к этому компьютеру». Транспортный протокол TLS поможет вам поддержать конфиденциальность соединения, если вы не работаете в частной сети (VPN).

Для SSH соединения по классике необходим пароль. Чтобы аутентифицировать соединение, вы вводите пароль, подтверждающий доверенность. Лучше использовать ассиметричное шифрование (пары ключей). Чтобы инициализировать соединения с помощью ключей:

Сгенерируйте пару ключей на локальной машине:

  • ssh-keygen -t rsa

Поместите ключи на удаленную машину:

  • ssh-copy-id username@address

Если вы предпочитаете не использовать ключи, подумайте об использовании Fail2ban, программы, которая ограничивает количество попыток ввода пароля и блокирует IP-адреса. Также рекомендуется изменить порты по умолчанию, например, 22/tcp для SSH и 3389/tcp для RDP.

Управление файрволом

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

Брандмауэр, также известный как система защиты периметра, контролирует доступ к компонентам инфраструктуры на основе заранее определенных правил. Он пропускает только тот трафик, который соответствует этим правилам, и блокирует весь остальной трафик. В Linux брандмауэр является частью ядра (netfilter), но для его работы в пространстве пользователя необходимо установить внешний модуль, такой как nftables, iptables, ufw или firewalld.

Основная задача при настройке брандмауэра — закрыть неиспользуемые порты и открыть только те, которые требуют внешнего доступа, например, порты 80 (http) и 443 (https) для веб-сервера. Хотя открытый порт сам по себе не представляет угрозы безопасности, он может стать уязвимым местом, если на нем работает уязвимое программное обеспечение. Поэтому лучше удалить ненужные порты.

Брандмауэры также помогают сегментировать инфраструктуру и контролировать трафик между сегментами. Если вы используете публичные сервисы, рекомендуется изолировать их от внутренних ресурсов в DMZ. Кроме того, следует обратить внимание на системы обнаружения и предотвращения вторжений (IDS/IPS), которые блокируют угрозы безопасности и пропускают весь остальной трафик.

TLS и инфраструктура открытых ключей

Протоколы передачи данных, такие как HTTP, FTP и SMTP, были разработаны во времена, когда сети использовались в основном для передачи информации между военными и научными учреждениями. Эти протоколы представляют данные в формате обычного текста, что не обеспечивает достаточной безопасности при передаче конфиденциальной информации.

Для обеспечения безопасности веб-сайтов, внутренних панелей управления и электронной почты рекомендуется использовать протокол Transport Layer Security (TLS). Этот протокол был разработан для защиты передачи данных по незащищенным сетям.

TLS обеспечивает конфиденциальность, целостность и аутентификацию передаваемых данных. Аутентификация достигается с помощью цифровых подписей и инфраструктуры открытых ключей (PKI).

Для аутентификации сервера TLS использует SSL-сертификат, подписанный центром сертификации (ЦС). Сертификаты ЦС, в свою очередь, подписываются ЦС более высокого уровня и так далее. Сертификаты корневого ЦС являются самоподписанными, что означает, что по умолчанию они считаются доверенными.

TLS можно использовать в сочетании с VPN для обеспечения дополнительного уровня безопасности при передаче данных. В этом случае необходимо самостоятельно организовать инфраструктуру PKI в локальной сети, включая сервер CA, ключи и сертификаты узлов.

VPN

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

Существует множество протоколов VPN, каждый из которых подходит для организаций разного размера, их сетей и требуемого уровня безопасности. Например, протокол PPTP подходит для небольшой компании или домашней локальной сети, хотя в нем используются устаревшие методы шифрования. Для обеспечения более высокого уровня безопасности наиболее подходящими являются протоколы IPsec, OpenVPN и WireGuard, в зависимости от типа соединений, которые требуется установить.

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

Угрозы безопасности

Угрозы информационной безопасности можно разделить на несколько типов, каждый из которых имеет свои особенности и степень опасности.

Первый тип 

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

Второй тип

Другой тип атак направлен на вывод системы из строя, и хотя он не связан с утечкой данных, все же может нанести значительный ущерб предприятию. Например, атаки Denial-of-Service (DoS) и Distributed Denial-of-Service (DDoS) подразумевают отправку огромного количества запросов на серверы, перегружая их и вызывая отказ в обслуживании. В таких случаях пользователи не могут получить доступ к ресурсам и услугам, что приводит к значительному финансовому и репутационному ущербу.

Итог

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

iSCSI-протокол: как работает, для чего используется и как подключить

Принцип работы

Для того чтобы понять принцип работы iSCSI, необходимо более подробно изучить его структуру. Основными компонентами здесь являются инициаторы и цели. Инициаторами называются хосты, которые устанавливают соединение по iSCSI, а цели (также используется термин «таргеты» от англ. «target») — это хосты, которые принимают это соединение. Целями являются хранилища данных, с которыми взаимодействуют хосты-инициаторы.

Связь между инициатором и целью устанавливается через TCP/IP, а iSCSI занимается обработкой команд SCSI и сбором данных, формируя пакеты. Затем эти пакеты передаются через двухточечное соединение между локальным и удаленным хостами. iSCSI разбирает полученные пакеты и разделяет команды SCSI. Такая работа протокола приводит к тому, что операционная система видит хранилище как локальное устройство и имеет возможность стандартного его форматирования.

Аутентификация и передача данных 

iSCSI использует специальные имена, называемые IQN (iSCSI Qualified Names) и EUI (Extended Unique Identifiers, 64-битные идентификаторы, используемые в IPv6) для идентификации инициаторов и целей.

  • Примером IQN является «iqn.2003-02.com.site.iscsi:name23». Цифры «2003-02» после «iqn» означают год и месяц, когда было зарегистрировано доменное имя «site.com». Доменные имена в IQN записаны в обратном порядке. Наконец, «name23» — это имя, присвоенное узлу iSCSI.
  • Примером EUI является «eui.fe9947fff075cee0». Это шестнадцатеричное значение в формате IEEE. Верхние 24 бита EUI идентифицируют конкретную сеть или компанию (например, провайдера), а остальные 40 бит идентифицируют конкретный хост в этой сети и являются уникальными.

Каждый сеанс в iSCSI состоит из двух этапов. Первый этап — это аутентификация с TCP. Если аутентификация прошла успешно, начинается второй этап – обмен данными между хостом-инициатором и целевым хранилищем по одному соединению, что устраняет необходимость параллельного мониторинга запросов. После завершения передачи данных соединение закрывается с помощью инструкции iSCSI logout.

Обработка ошибок, безопасность

iSCSI обеспечивает восстановление утерянных сегментов данных, используя  повторную передачу пакетов PDU, восстановление соединения и перезапуск сессии с отменой, попутно отменяя все незавершенные процессы. Для обеспечения безопасности передаваемых данных iSCSI использует CHAP-протокол, который основан на трансмиссии конфиденциальных данных, путем сопоставления хеш-значения. Все пакеты шифруются и проверяются на целостность с помощью протоколов IPsec. Это обеспечивает надежность и безопасность передачи данных между хостами-инициаторами и хранилищами-целями.

Преимущество использования 

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

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

Подключение

Для оптимальной работы протокола iSCSI рекомендуем использовать неблокирующий коммутатор Gigabit Ethernet корпоративного уровня, который обеспечит высокую скорость соединения. Подключение iSCSI не сложно, однако процедура может отличаться в Windows и Linux-подобных системах. Наша компания предоставляет готовые инструкции для обеих ОС:

  • В этом руководстве вы найдете подробные инструкции по подключению iSCSI-диска с описанием различий между ОС Ubuntu/Debian и CentOS.
  • Здесь мы подробно рассказываем, как подключить iSCSI-диск в Windows (на примере Windows Server 2016).

Мы также предлагаем услугу заказа сетевого iSCSI-диска объемом от 0,25 до 30 Тб. Подробности об услуге можно найти на нашей странице.

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

Сравнение iSCSI/Fibre Channel

При сравнении двух протоколов передачи данных iSCSI и Fibre Channel (FC) часто ставится вопрос о конкуренции между ними. Однако, следует отметить, что нет абсолютно идеальных решений. Протоколы содержат некоторые преимущества и недостатки, которые могут варьироваться в зависимости от задачи. 

iSCSI SAN — выгоднее с точки зрения экономики и холодного старта для использования. Это связано с тем, что для построения iSCSI SAN можно использовать существующее сетевое оборудование без необходимости дополнительных затрат на приобретение дорогостоящего оборудования. 

При этом, iSCSI значительно улучшает передачу трафика, управление очень большими данными и оптимизацию хранения.

Для достижения максимальной производительности iSCSI все еще требуется использование специализированных сетевых адаптеров. В то же время, FC всегда требует наличия дополнительного оборудования, такого как коммутатор и адаптер шины. Это может привести к дополнительным затратам на приобретение и обслуживание оборудования.

Таким образом, при выборе между iSCSI и FC необходимо учитывать не только финансовые аспекты, но и требования к производительности и возможные затраты на оборудование.

Чтобы было проще сравнивать эти два протокола, мы составили таблицу их ключевых различий:

FeatureiSCSI SANFibre Channel SAN
Can be used in existing networkYesNo
Data transfer speed1-100 Gbps2-32 Gbps
Can be built on existing equipmentYesNo
Data transfer flow controlNo protection against packet retransmissionReliable
Network isolationNoYes

Заключение 

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

Установка, настройка и примеры синхронизации Rsync

Rsync — инструмент, используемый для создания бэкапов и восстановления данных при возникновении внештатных аварийных ситуаций. Утилита может быть установлена на тех узлах, развертка которых происходила в ручном режиме. Например, если пользователь оплатил доступ к физическому серверу у такого провайдера, как Obit, и самостоятельно развернул виртуальную машину и другие сервисы.

Дистрибутив Rsync для Linux CentOS 8 доступен в официальном репозитории операционной системы и может быть установлен с помощью следующей команды:

  • dnf -y install rsync rsync-daemon

Это автоматически установит клиентский и серверный компоненты утилиты, включая демон-процесс Rsync, позволяющий в омниканально управлять потоком данных. 

Чтобы открыть файл конфигурации для редактирования, например, с помощью редактора nano, выполните следующую команду:

  • nano /etc/rsyncd.conf

Файл содержит следующие переменные:

  • pid файл — файл, в котором система будет хранить идентификаторы процессов демона;7
  • lock file — файл, созданный для предотвращения дублирования запусков программы Rsync;
  • log файл — журнал, используемый для записи происходящих событий;
  • path — ссылка на каталог, который необходимо синхронизировать;
  • hosts allow — белый список удаленных машин, к которым разрешено подключение;
  • hosts deny — черный список хостов, которым запрещено передавать данные;
  • list — флаги для разрешения или запрета доступа к указанному каталогу;
  • uid — логин учетной записи, используемой для синхронизации;
  • gid — группа пользователей, имеющих разрешение на выполнение резервного копирования;
  • только чтение — флаг, защищающий данные от удаления или изменения;
  • комментарий — описание конфигурации.

Дополнительную информацию можно найти в документации.

В строках uid и gid рекомендуется использовать непривилегированные учетные записи (учетные записи пользователей для специализированных задач). Такой подход упрощает контроль доступа к функционалу для сотрудника и позволяет сохранить настройки при изменении обычными пользователями. После сохранения изменений в конфигурационном файле утилита готова к запуску, для чего необходимо создать указанный каталог:

  • mkdir /tmp/share

Запустить программу можно с помощью следующей команды:

  • systemctl enable —now rsyncd

Перед использованием рекомендуется настроить политики безопасности. В противном случае при обращении утилиты к хосту может возникнуть блокировка на межсетевого экрана или службы SELinux. Этого можно добиться с помощью следующей последовательности команд:

  • setsebool -P rsync_full_access on
  • firewall-cmd —add-service=rsyncd —permanent
  • firewall-cmd -reload

Текущее состояние Rsync можно проверить с помощью следующей команды:

  • systemctl status rsyncd

Синтаксис 

Общий синтаксис для Rsync следующий:

  • rsync -options <source> <destination>.

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

Список опций Rsync:

  • -v, -verbose — отображает процесс синхронизации на экране.
  • -q, -quiet — подавляет вывод сообщений об ошибках.
  • -c, -checksum — сравнивает контрольную сумму файлов вместо даты, времени и размера как индикаторов изменений файлов.
  • -a, -archive — активирует поддержку архивирования данных.
  • -r, -recursive — использует рекурсивный режим для копирования каталогов.
  • -b, -backup — обновление исходных файлов и создание резервной копии.
  • -backup-dir=<каталог> — указывает место хранения резервных копий.
  • -suffix=SUFFIX — добавляет дополнительный символ к файлам резервных копий.
  • -u, -update — пропускает файлы с более поздней датой модификации.
  • -l, -links — сохраняет символические ссылки.
  • -H, hard-links — сохраняет жесткие ссылки.
  • -p, -perms — сохраняет права доступа к файлам или каталогам.
  • -E, -исполнимость — сохраняет разрешения на выполнение для файлов.
  • -chmod=<разрешения> — изменяет разрешения на указанные после копирования объекта.
  • -o, owner — сохраняет информацию о владельце исходного файла или каталога.
  • -g, group — сохраняет информацию о владельце группы исходного файла или каталога.
  • -S, -sparse — дефрагментировать данные при копировании.
  • -n, -dry-run — тестирует только канал резервного копирования.
  • -W, -whole-file — всегда копирует файлы целиком, а не только их измененные части.
  • -delete — считает файлы, отсутствующие в источнике, старыми и удаляет их.
  • -delete-before — полностью очищает принимающий каталог перед синхронизацией.
  • -max-delete=<число файлов> — ограничивает максимальное число удаляемых файлов.
  • -max-size=<размер файла> — ограничивает максимальный размер копируемых файлов.
  • -min-size=<размер файла> — ограничивает минимальный размер копируемых файлов.
  • -z, -compress — сжимать файлы при передаче на удаленный сервер.
  • -compress-level=<число> — устанавливает уровень сжатия.
  • -exclude=<имена файлов> — передает указанные файлы без архивации.
  • -exclude-from=<имя файла> — исключает список файлов из синхронизации.
  • -include=<имена файлов> — принудительная синхронизация указанных файлов.
  • -include-from=<имя файла> — синхронизирует то, что перечислено в файле.
  • -port=<порт> — выбирает порт, используемый для подключения к удаленному хосту.
  • -progress — отображает индикатор выполнения, показывающий процент завершения.
  • -log-file=<файл> — указывает местоположение файла журнала.
  • -password-file=<file> — автоматизирует доступ к системе по паролю.
  • -list-only — эмулирует синхронизацию путем отображения имен файлов.
  • -bwlimit=<число> — ограничивает скорость передачи данных (в Кбит/с).
  • -4, ipv4 — устанавливает приоритет протокола IPv4.
  • -6, ipv6 — приоритет протокола IPv6.
  • -version — отображает текущую версию утилиты Rsync.

Примеры использования

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

Копирование файлов

Рассмотрим в качестве примера локальное применение утилиты Rsync. В этом случае источник и приемник (речь идет о каталогах) будут принадлежать одному диску:

  • rsync -avzhHl /path/of/source/folder /path/to/destination/folder

Если вы планируете работать с удаленным узлом, то к команде необходимо добавить логин пользователя и IP-адрес (имя узла):

  • rsync -avzhHl /path/of/source/folder root@192.168.43.10:/path/to/destination/folder.

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

Синхронизация по SSH и демон Rsync

По умолчанию программа использует протокол безопасной передачи данных SSH (Rsync over SSH). Для его активации не требуется никаких дополнительных параметров. Благодаря этой функции можно получить прямой доступ к демону Rsync без использования сторонних утилит. Пример обращения:

  • rsync -avz /tmp/share rsync://192.168.43.121:/tmp/share

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

Большие объемы данных лучше передавать с визуальным контролем прогресса. Это позволит убедиться, что все файлы и каталоги действительно были синхронизированы. Пример команды для включения Rsync Progress:

  • rsync -avzhHl —progress /path/of/source/folder

root@192.168.43.10:/path/to/destination/folder

Удаление файлов во время синхронизации

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

  • rsync -avzhHl —delete /path/of/source/folder

root@192.168.56.1:/path/to/destination/folder

Ограничение скорости передачи данных

Часто канал связи имеет ограниченную пропускную способность, так как используется для решения ряда других задач. Или планируется использовать в ближайшем будущем. Для этого процесс копирования снижается в приоритете путем ограничения максимальной скорости обмена данными. Команда:

  • rsync -avzhHl —bwlimit=’100′ /path/of/source/folder

root@192.168.56.1:/path/to/destination/folder

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

  • rsync -avzhHl —max-size=’100M’ /path/of/source/folder

root@192.168.43.10:/path/to/destination/folder

Использование опций include и exclude

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

  • rsync -avzhHl —include=’.txt’ —exclude=» /path/of/source/folder \

root@192.168.56.1:/path/to/destination/folder