Общее

Установка Apache на Ubuntu 22.04

Термин «Apache» обычно обозначает Apache HTTP Server, широко распространенный в мире сервер веб-приложений. Apache известен тем, что является бесплатным программным обеспечением с открытым исходным кодом.

Первоначально Apache HTTP Server был выпущен в 1995 году и разработан Робертом МакКулом в Университете штата Иллинойс (UIUC).

В этом руководстве мы рассмотрим процесс установки веб-сервера Apache на сервер Ubuntu 22.04 с помощью терминала командной строки.

Процесс установки Apache на Ubuntu 22.04

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

sudo apt update

Теперь приступим к установке пакета apache2:

sudo apt install apache2 -y

Убедитесь в правильности установки, проверив состояние службы Apache:

systemctl status apache2

Ожидаемый результат должен выглядеть следующим образом:

  • apache2.service — HTTP-сервер Apache

     Загружен: загружен (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)

     Активен: активен (работает) с Fri 2022-10-28 07:16:16 MSK; 9s ago

       Документы: https://httpd.apache.org/docs/2.4/

   Основной PID: 54163 (apache2)

      Задачи: 55 (лимит: 4580)

     Память: 4.8M

        CPU: 18 мс

     CGroup: /system.slice/apache2.service

             ├─54163 /usr/sbin/apache2 -k start

             ├─54165 /usr/sbin/apache2 -k start

             └─54166 /usr/sbin/apache2 -k start

Чтобы Apache2 запускался автоматически, добавьте его в автозагрузку:

sudo systemctl enable apache2

Настройка Firewall

Если UFW не установлен в системе, установите его с помощью команды:

sudo apt install ufw -y

Включите запуск UFW при загрузке:

sudo ufw enable

Учитывая, что Apache использует порты 80 (http) и 443 (https), необходимо обязательно предоставить доступ к этим портам. К счастью, Apache автоматически регистрирует несколько профилей во время установки, упрощая процесс настройки. Для подтверждения выполните следующую команду:

sudo ufw app list

В результате должны появиться следующие данные:

Доступные приложения:

Apache

Apache Full

Apache Secure

OpenSSH

Выберите профиль «Apache Full» и разрешите доступ:

sudo ufw allow ‘Apache Full’

Убедитесь, что правила брандмауэра действуют:

sudo ufw status

Ожидаемый результат:

Статус: активен

To Action From

— —— —-

Apache Full ALLOW Anywhere

Apache Full (v6) ALLOW Anywhere (v6)

Если UFW настроен правильно, то вы должны иметь возможность получить доступ к целевой странице Apache в своем веб-браузере, используя IP-адрес сервера:

http://your_server_ip

Создание и удаление баз MySQL

В эпоху Больших Данных резко возросла потребность в эффективной работе с гетерогенными массивами данных, включающей такие задачи, как структурирование, хранение и использование информации. Хотя электронные таблицы и текстовые редакторы являются удобными инструментами, они зачастую не обеспечивают достаточной скорости выполнения задач и не обладают необходимой отказоустойчивостью для эффективного управления Большими Данными. В качестве решения для организации табличных данных появляется система управления базами данных (СУБД) MySQL, использующая декларативный подход к формированию запросов.

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

Создать или удалить

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

mysql -u root -p -h localhost

Создайте базу данных командой ниже, затем нам нужно проверить, была ли она создана?

CREATE database product;

SHOW DATABASES;

Как видно, регистр букв может быть как прописным, так и строчным, хотя это различие относится только к синтаксическим командам. Создание нашей базы данных не представляет собой ничего сложного, как показано в таблице выше. Поясним синтаксис: «CREATE» служит командой для создания базы данных, «DATABASE» обозначает тип базы данных, а «product» — это просто метка для базы данных.

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

DROP DATABASE product;

SHOW DATABASES;

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

GRANT ALL on *.* to ‘your_user_name’@’domain_name’;

Вывод

В эпоху больших данных эффективная обработка, хранение, контроль, обновление и использование огромных наборов данных в режиме реального времени стали обязательными. Традиционным инструментам, таким как текстовые редакторы или базовые электронные таблицы, не хватает скорости и отказоустойчивости, необходимых для обработки обширных массивов данных. В ответ на эту проблему система управления базами данных MySQL (СУБД) стала надежным решением для управления таблицами.

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

Как защитить корпоративную почту

RTP-запись для почтовых серверов

RTP/Pointer(англ. “указатель”) – ресурсная запись(или DNS-запись, с помощью которых можно внести служебную информацию о сервере), которая IP-адрес сервера связывает с доменом.

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

SPF-запись от фишинга

SPF(“Sender Policy Framework” с англ. “структура политики отправителя”) – ресурсная запись, которая находится внутри другой TXT-записи. Это код, точнее – список доверенных IP, с помощью которых можно отправлять письма от имени домена.

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

Механизмы шифрования SMPT

SMPT(“Simple Mail Transfer Protocol” с англ. “простой протокол передачи почты”) – протокол, который отвечает за отправку писем.

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

Email-аутентификации DKIM

DKIM – цифровая подпись для писем. Благодаря ему можно снизить вероятность попадания письма вашей компании в спам и обезопасить себя от фишинга.

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

Технология DKIM использует ключи шифрования для обеспечения безопасности и подлинности электронных писем. Публичный ключ добавляется в DNS записи и известен всем серверам. Закрытый ключ известен только серверу отправителя. При отправке каждое письмо получает зашифрованную надпись с информацией о времени отправки и получателе. Эту информацию сервер получателя расшифровывает с помощью публичного ключа. Если ключи и цифровая подпись верные, письмо будет доставлено. Если обнаружена ошибка в ключе или подписи, письмо будет отмечено как спам.

Черные и белые списки адресов

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

Смена пароля раз в полгода

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

Отказ от бесплатных сервисов

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

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

Обучение сотрудников правилам безопасности

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

Как установить и настроить Active Directory 

Установка и настройка Active Directory (AD) предполагает создание централизованной системы аутентификации и управления для сетей на базе Windows. Здесь представлено полное пошаговое руководство по установке и настройке Active Directory.

Шаг 1: Подготовка среды

Убедитесь, что ваш сервер соответствует требованиям к аппаратному и программному обеспечению Windows Server, необходимому для работы AD. Установите статический IP-адрес для сервера, поскольку AD требует согласованной конфигурации сети.

Шаг 2: Установка доменных служб Active Directory

  1. Установите Windows Server на выбранную вами машину.
  2. После установки откройте Server Manager на панели задач.
  3. Нажмите на «Управление» в правом верхнем углу, затем выберите «Добавить роли и возможности».
  4. Пройдите через мастер, выбирая значения по умолчанию, пока не перейдете на страницу «Выбор ролей сервера».
  5. Отметьте «Active Directory Domain Services» и следуйте подсказкам для установки.

Шаг 3: Преобразование сервера в контроллер домена

  1. В диспетчере серверов нажмите «Перевести этот сервер в контроллер домена».
  2. Выберите «Добавить новый лес» и укажите имя корневого домена.
  3. Установите пароль режима восстановления служб каталогов (DSRM).
  4. Выберите функциональные уровни домена и леса.
  5. Настройте параметры DNS и следуйте подсказкам для завершения установки.

Шаг 4: Настройка параметров Active Directory

  1. Откройте «Active Directory Users and Computers» из Administrative Tools.
  2. Создайте организационные единицы (OU) для организации пользователей и компьютеров.
  3. Используйте «Active Directory Sites and Services» для настройки репликации и топологии сайтов.
  4. Откройте «Управление групповыми политиками» для создания и управления групповыми политиками.

Шаг 5: Дополнительная конфигурация

Убедитесь, что DNS правильно настроен, поскольку AD в значительной степени полагается на DNS для разрешения имен.

Установите Trust Relationships, если у вас несколько доменов или лесов.

Создайте план резервного копирования и восстановления Active Directory, включая резервное копирование состояния системы.

Создание и настройка .htaccess 

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

Шаг 1: Создание файла .htaccess

Откройте текстовый редактор, например Nano или Vim, или воспользуйтесь графическим редактором, например Gedit.

Создайте новый файл с именем .htaccess (обратите внимание на ведущую точку) в каталоге, где будут действовать его правила. Это может быть корневой каталог вашего сайта или любой подкаталог.

Шаг 2: Добавьте правила в .htaccess

Несколько распространенных вариантов использования файла .htaccess. 

  1. Включение переписывания URL:

Переписывание URL позволяет манипулировать URL-адресами и делать их более удобными для пользователей или SEO. Например, можно преобразовать example.com/page.php?id=123 в example.com/page/123.

Для включения функции перезаписи URL-адресов, необходимо включить модуль mod_rewrite в Apache и включить правила в файл .htaccess. Пример правила:

RewriteEngine On

RewriteRule ^page/([0-9]+)$ page.php?id=$1 [L]

  1. Блокировка доступа к файлам или каталогам:

С помощью .htaccess можно ограничить доступ к определенным файлам или каталогам. Например, чтобы запретить доступ к определенному файлу:

<Files «sensitive-file.txt»>

    Order allow,deny

    Deny from all

</Files>

  1. Настройка пользовательских страниц ошибок:

Вы можете создавать пользовательские страницы ошибок для различных кодов ошибок HTTP. Например, чтобы задать пользовательскую страницу ошибки 404 (Not Found):

ErrorDocument 404 /404.html

  1. Защита каталогов паролем:

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

AuthType Basic

AuthName «Restricted Area»

AuthUserFile /path/to/.htpasswd

Require valid-user

Примечание: Обязательно замените /path/to/.htpasswd на реальный путь к файлу .htpasswd.

Шаг 3: Сохранить и протестировать

После добавления необходимых правил сохраните файл .htaccess. Убедитесь, что в имени файла нет дополнительных расширений.

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

Как настроить CDN

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

Зарегистрируйте учетную запись

Зарегистрируйте учетную запись у выбранного провайдера CDN. Укажите необходимую информацию и завершите процесс регистрации.

Настройте DNS

Для интеграции CDN с вашим сайтом необходимо настроить параметры DNS. Войдите в систему регистрации доменов или DNS-провайдера и создайте запись CNAME или псевдоним, указывающий на домен или конечную точку провайдера CDN.

Например, можно создать такую запись CNAME:

CNAME cdn.example.com YOUR_CDN_ENDPOINT

Замените cdn.example.com на желаемый поддомен CDN. Замените YOUR_CDN_ENDPOINT на домен или конечную точку CDN-провайдера.

Настройка SSL-сертификата (необязательно)

Если ваш сайт использует протокол HTTPS, вам необходимо установить SSL-сертификат для домена CDN. Многие провайдеры CDN предлагают интегрированные опции SSL. Следуйте инструкциям, предоставленным провайдером CDN, чтобы включить SSL для домена.

Настройка параметров CDN

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

Настройка сервера происхождения

Настройте сервер вашего сайта (исходный сервер) для работы с CDN. Обычно для этого необходимо разрешить доступ с IP-адресов провайдера CDN или настроить имя хоста сервера происхождения в настройках CDN. Инструкции по настройке CDN можно найти в документации или на ресурсах поддержки провайдера CDN.

Тестирование и мониторинг

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

Мониторинг и оптимизация

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

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

Как защититься от DDoS-атак

DDoS-атака — это попытка перегрузить целевой сервер или сетевую инфраструктуру путем направления на него огромного объема трафика или запросов. Подобный трафик генерируют большое количество ботнетов под управлением злоумышленников. Цель DDoS-атаки — нарушить работу атакуемого объекта и сделать его недоступным для пользователей.

Типы DDoS-атак

Объемные атаки направлены на насыщение пропускной способности сети цели за счет перегрузки ее большим объемом трафика.

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

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

Атаки на уровне протоколов используют слабые места в сетевых протоколах, таких как DNS, HTTP или NTP, чтобы нарушить работу служб объекта атаки.

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

Методы защиты

Чтобы защитить себя от DDoS-атак, реализуйте следующие меры.

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

Используйте межсетевые экраны для фильтрации вредоносного трафика и блокировки подозрительных IP-адресов или диапазонов.

Разверните системы предотвращения вторжений (IPS), которые позволяют обнаруживать и предотвращать DDoS-атаки в режиме реального времени, анализируя сетевой трафик и его структуру.

Используйте службу CDN, которая позволяет распределять трафик по нескольким серверам для поглощения и смягчения последствий атак.

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

Настройте механизмы ограничения скорости, чтобы ограничить количество запросов в секунду с отдельных IP-адресов или подсетей.

Используйте маршрутизацию anycast для распределения входящего трафика между несколькими ЦОД или локациями — это затрудняет атаку на одну цель.

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

Что делать, если на сайт направлена DDoS-атака

Если вы обнаружили направленную на ваш сайт DDoS-атаку, выполните следующие действия:

  • Сохраняйте спокойствие — атаки направлены на нарушение работы сервисов, но, как правило, они не приводят к компрометации данных или систем.
  • Немедленно свяжитесь с хостинг-провайдером или сетевым администратором и сообщите им об атаке. Возможно, они смогут оказать помощь.
  • Задействуйте все имеющиеся у вас механизмы защиты от DDoS-атак.
  • Включите подробное протоколирование и мониторинг для сбора доказательств атаки. Эта информация может быть полезна при проведении расследования.
  • Если атака носит серьезный характер или является частью более масштабной киберпреступной кампании, следует привлечь местные правоохранительные органы.
  • Информируйте своих пользователей о ситуации, принимаемых мерах и возможном влиянии на работу сервисов. Регулярно обновляйте информацию по всем каналам связи.

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

Установка и использование OpenVAS (GVM) на Ubuntu 

OpenVAS (Open Vulnerability Assessment System) — это open-source инструмент сканирования, выявления и управления уязвимостями в компьютерных системах и сетях с открытым исходным кодом. OpenVAS помогает организациям оценить уровень защищенности своей ИТ-инфраструктуры и определить приоритетность мер по ее устранению.

Установка и настройка OpenVAS 

Шаг 1: Обновление и модернизация.

Войдите на свой сервер Ubuntu, обновите списки пакетов и обновите существующие пакеты, выполнив следующие команды:

sudo apt update

sudo apt upgrade

Шаг 2: Установка необходимых зависимостей.

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

sudo apt install build-essential cmake pkg-config libglib2.0-dev libgpgme-dev libgnutls28-dev uuid-dev libssh-gcrypt-dev libhiredis-dev libxml2-dev libpcap-dev libunistring-dev

Шаг 3: Установка базы данных PostgreSQL.

Для хранения данных OpenVAS требуется база данных PostgreSQL. Команда для установки:

sudo apt install postgresql

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

Шаг 4: Создание пользователя и базы данных PostgreSQL.

Переключитесь на пользователя `postgres` и откройте приглашение PostgreSQL, выполнив команду:

sudo -u postgres psql

Создайте нового пользователя для OpenVAS:

CREATE USER openvas WITH PASSWORD ‘your_password’;

Создайте новую базу данных для OpenVAS и предоставьте привилегии пользователю:

CREATE DATABASE openvas;

GRANT ALL PRIVILEGES ON DATABASE openvas TO openvas;

Выйдите из окна PostgreSQL:

\q

Шаг 5: Установка OpenVAS.

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

sudo add-apt-repository ppa:mrazavi/openvas

sudo apt update

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

sudo apt install gvm

В процессе установки вам будет предложено настроить OpenVAS. Выберите «да» в ответ на запрос о настройке сканера OpenVAS.

Шаг 6: Запуск OpenVAS.

Запустите службы OpenVAS, выполнив следующую команду:

sudo gvm-start

Шаг 7: Обновление каналов OpenVAS.

Обновите фиды OpenVAS, включая NVTs (тесты сетевых уязвимостей), выполнив команду:

sudo gvm-feed-update

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

Шаг 8: Доступ к веб-интерфейсу OpenVAS.

Откройте веб-браузер и введите следующий URL:

https://localhost:9392

Появится предупреждение о безопасности, поскольку SSL-сертификат по умолчанию является самоподписанным. Примите предупреждение и перейдите в веб-интерфейс.

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

Имя пользователя: `admin`

Пароль: `admin`

Шаг 9: Изменение пароля администратора OpenVAS.

После входа в систему рекомендуется изменить стандартный пароль администратора. Перейдите в раздел «Администрирование» и выберите «Пользователи». Щелкните на значке карандаша рядом с пользователем «admin» и задайте новый пароль.

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

Как отключить SELinux на CentOS

Чтобы отключить SELinux в CentOS, вы можете выполнить следующие шаги:

  1. Откройте терминал на вашей системе CentOS.
  2. Отредактируйте файл конфигурации SELinux с помощью текстового редактора, например, nano или vi. Выполните следующую команду:

sudo nano /etc/selinux/config

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

SELINUX=enforcing

  1. Измените значение параметра `SELINUX` на `disabled`:

SELINUX=disabled

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

sudo reboot

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

Сброс пароля root в MySQL

Если вы забыли пароль корня базы данных MySQL или хотите повысить безопасность, изменив его, вы можете сбросить пароль. В данном руководстве мы объясним, как это сделать с помощью командной строки Windows.

Остановите сервер MySQL

  1. Для начала убедитесь, что вы вошли в операционную систему Windows с правами администратора.
  2. Одновременно нажмите клавишу Windows (Win) и клавишу R на клавиатуре, чтобы открыть окно «Выполнить».
  3. В открывшемся поле введите «services.msc», а затем нажмите кнопку OK.
  4. Перейдите по списку служб и найдите запись для MySQL. Щелкните на ней правой кнопкой мыши и выберите «Остановить» из появившихся вариантов.
  5. Помните, что эти инструкции предназначены для операционных систем Windows. Если вы используете другую операционную систему, шаги могут отличаться.

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

  1. Чтобы открыть Блокнот, вы можете найти его в меню или воспользоваться следующим путем: Меню Пуск > Аксессуары Windows > Блокнот.
  2. Открыв Блокнот, создайте новый текстовый документ.
  3. В текстовом редакторе введите следующую строку: ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘NewPassword’;
  4. Убедитесь, что вы точно указали кавычки и точку с запятой. Замените ‘NewPassword’ на желаемый новый пароль.
  5. Чтобы сохранить файл, перейдите в меню ‘Файл’ и выберите ‘Сохранить как’. Выберите осмысленное имя для файла и сохраните его в корневом каталоге жесткого диска (C:).
  6. Обратите внимание, что изменять учетные данные пользователя следует с осторожностью, и для защиты вашей системы необходимо следовать надлежащим правилам безопасности.

Примечание: Если вы собираетесь менять пароль по сети, замените ‘localhost’ на соответствующее имя хоста.

Выполнив эти шаги и выполнив команду SQL, вы сможете изменить пароль, связанный с пользователем ‘root’ в MySQL.

Чтобы открыть командную строку от имени администратора:

  1. Чтобы запустить диспетчер задач, нажмите одновременно клавиши Ctrl+Shift+Esc.
  2. После появления окна диспетчера задач нажмите на пункт «Файл», расположенный в меню.
  3. Среди доступных вариантов выберите «Начать новую задачу».
  4. В диалоговом окне «Создание новой задачи» введите «cmd.exe» в предоставленное текстовое поле.
  5. Чтобы запустить командную строку с привилегиями администратора, убедитесь, что установлен флажок «Создать эту задачу с привилегиями администратора».
  6. Наконец, нажмите на кнопку «OK», чтобы запустить командную строку с повышенными привилегиями.

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

  1. Используя командную строку, перейдите в каталог, где установлен MySQL. Это можно сделать, выполнив следующую команду:
  2. cd «C:\Program Files\MySQL\MySQL Server 8.0\bin».
  3. Затем введите следующую команду:
  4. mysqld —init-file=C:\FILE_Name.txt
  5. Эта команда инициализирует MySQL, используя указанный файл инициализации (замените «FILE_Name» на реальное имя вашего файла, расположенного по адресу C:).
  6. Теперь вы можете войти на ваш сервер MySQL как пользователь root, используя новый пароль, который вы установили. Чтобы убедиться, что все работает правильно, войдите на сервер MySQL еще раз с обновленным паролем. Если у вас есть какие-либо специфические параметры конфигурации, например, запуск MySQL с флагом «-defaults-file», обязательно включите их, если это необходимо.
  7. После того, как вы запустили MySQL и подтвердили смену пароля, вы можете смело удалить файл, расположенный по адресу C:\FILE_Name.txt.

Поздравляем! Вы успешно сбросили пароль root для базы данных MySQL.

Как создавать таблицы в MySQL

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

Реляционные базы данных, с другой стороны, структурированы вокруг таблиц с предопределенными отношениями между данными. Информация хранится в строках и столбцах, где каждая строка представляет определенный объект или сущность. Известными примерами реляционных баз данных являются Oracle DB, PostgreSQL, MySQL и другие.

  • USE database_name;

После того как вы указали базу данных, вы можете использовать оператор CREATE TABLE в MySQL для создания новой таблицы. Этот оператор позволяет определить различные атрибуты таблицы, такие как имена столбцов, типы данных, описания и ограничения. Синтаксис для создания таблицы следующий:

CREATE TABLE table_name (

column_name_one column_type_one,

column_name_two column_type_two,

…,

column_name_X column_type_X

);

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

Если вы хотите создать новую таблицу путем копирования структуры и данных из существующей таблицы, вы можете использовать оператор CREATE TABLE с предложением SELECT. Вот пример:

CREATE TABLE new_table_name [AS] SELECT * FROM original_table_name;

Этот оператор создает новую таблицу с именем new_table_name на основе структуры и данных original_table_name.

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

RENAME TABLE old_table_name TO new_table_name;

Выполнив эту команду, вы переименуете таблицу с old_table_name на new_table_name.

Не забудьте при выполнении этих команд заменить имена базы данных database_name, table_name, column_name, column_type, new_table_name и old_table_name на ваши конкретные значения.

Надеюсь, это объяснение поможет вам понять процесс эффективного создания, копирования и переименования таблиц MySQL.

Дополнительная параметры таблиц

При описании таблицы базы данных иногда необходимо включать определенные параметры:

PRIMARY KEY

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

AUTO_INCREMENT

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

UNIQUE

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

NOT NULL

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

DEFAULT

Этот параметр позволяет установить значение по умолчанию для столбца. Если новая запись будет вставлена без явного указания значения для столбца, будет использовано значение по умолчанию. Важно отметить, что этот параметр нельзя применять к некоторым типам данных, таким как BLOB, TEXT, GEOMETRY и JSON.

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

Названия таблиц и столбцов

При создании базы данных присвоение таблицам и столбцам осмысленных имен является важнейшим аспектом. Использование значимых имен гарантирует, что вы и другие разработчики сможете понять назначение и содержание каждого элемента даже по прошествии значительного количества времени. Рекомендуется избегать использования транслитераций или общих имен, таких как «table1» или «table2». Вместо этого выбирайте описательные и логичные имена, такие как «Пользователи», «Продажи» или «Звонки», которые точно передают характер данных, хранящихся в таблице.

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

Типы данных в MySQL 

Числа

MySQL предоставляет различные числовые типы данных для хранения различных видов чисел. Вот некоторые часто используемые числовые типы данных в MySQL:

  • INT:Этот тип представляет знаковые целые числа в диапазоне от -2147483648 до 2147483647. Он занимает 4 байта памяти.
  • DECIMAL: DECIMAL используется для хранения точных десятичных чисел, и количество занимаемых им байт зависит от выбранной точности. Он может принимать два параметра: DECIMAL(точность, масштаб). Этот тип рекомендуется для работы с валютными значениями и координатами.
  • TINYINT: TINYINT используется для хранения небольших целых чисел в диапазоне от -127 до 128. Он занимает 1 байт памяти. Атрибут UNSIGNED может быть добавлен, чтобы запретить отрицательные значения.
  • BOOL: BOOL используется для хранения одного двоичного значения 0 или 1, представляющего «ложь» или «истину» соответственно. Это также синоним BOOLEAN
  • FLOAT: FLOAT используется для хранения чисел с плавающей запятой и десятичной точкой. Он может содержать до 24 цифр после десятичной точки и занимает 4 байта памяти.

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

Время

В MySQL существуют различные временные типы данных:

DATE .

Тип данных DATE используется для хранения только дат в формате ‘YYYY-MM-DD’. Он позволяет хранить значения между 1000-01-01 и 9999-12-31. DATE обычно используется для хранения дат рождения, исторических дат и других дат, начиная с 11 века и далее. Он занимает 3 байта памяти.

TIME

Тип данных TIME используется для хранения только времени в формате ‘hh:mm:ss’. Он может хранить значения от ‘-838:59:59.00’ до ‘838:59:59.00’. TIME позволяет представлять время с точностью до секунды. Он также занимает 3 байта памяти.

DATETIME

Тип данных DATETIME объединяет дату и время. Он позволяет хранить значения от 1001 года до 9999 лет в формате ‘YYYY-ММ-DD чч:мм:сс’. DATETIME не зависит от часового пояса и может представлять время с точностью до секунды. Этот тип данных занимает 8 байт памяти.

TIMESTAMP

Тип данных TIMESTAMP служит для хранения информации о дате и времени в базе данных. Он представляет собой интервал времени между ‘1970-01-01 00:00:01’ и ‘2038-01-19 03:14:07’ и хранится как количество секунд (включая микросекунды). Фактическое значение TIMESTAMP зависит от настроек часового пояса сервера базы данных. Для хранения этого типа данных обычно требуется 4 байта памяти.

Бинарные типы данных

В MySQL существуют бинарные типы данных, которые позволяют хранить информацию в двоичном формате:

BLOB (Binary Large Object)

Тип данных BLOB используется для хранения больших объемов двоичных данных, таких как файлы, фотографии, документы, аудио- и видеоконтент. Он предназначен для хранения данных размером до 65 КБ.

LONGBLOB (длинный двоичный большой объект)

Тип данных LONGBLOB является эффективным выбором для хранения значительных объемов двоичных данных в базе данных. Он позволяет хранить данные размером до 4 ГБ. Обычно LONGBLOB используется для хранения больших файлов, фотографий, документов, а также аудио- и видеоматериалов.

Изменение структуры таблицы

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

ALTER TABLE Table_name

ADD COLUMN email VARCHAR(50),

ADD COLUMN age INT,

ADD COLUMN has_family BOOLEAN;

Эта команда ALTER TABLE эффективно модифицирует указанную таблицу, добавляя столбец email с максимальной длиной 50 символов, столбец age целочисленного типа и столбец has_family булевского типа для представления семейного положения сотрудников.

Удаление таблиц

Оператор DROP TABLE используется для удаления таблицы из базы данных. Это действие навсегда удаляет все данные, индексы, триггеры, ограничения и разрешения, связанные с указанной таблицей. Вот пример команды MySQL, которая может быть использована для удаления таблицы:

DROP TABLE Table_name;

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

Настройка 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».

Как защитить сервер: 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

Установка NTP на сервере: пошаговая инструкция

Часть 1. Установка NTP-сервера

В этой инструкции мы рассмотрим семь простых шагов для установки и настройки NTP-сервера в Ubuntu. Мы будем работать в командной строке и использовать редактор nano, а также терминал, который открывается по нажатию Ctrl+Alt+T.

Шаг 1: Индекс репозитория 

Обновление индекса репозитория Перед установкой NTP-сервера необходимо обновить индекс репозитория. Для этого выполните следующую команду:

sudo apt-get update

Шаг 2: Сервер

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

sudo apt-get install ntp

Перед выполнением этой команды убедитесь, что у вас есть права суперпользователя. Чтобы разрешить установку всех необходимых компонентов, введите Y (Yes). После того, как вы установили сервер, приступим к его настройке.

Шаг 3: проверяем установку

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

sntp —version

Если установка прошла успешно, то вы увидите номер версии и точное время установки. 

Шаг 4: поиск пула

По умолчанию серверная машина должна получать корректное время, но для большей надежности лучше переключиться к ближайшей группе серверов. Для этого нужно отредактировать конфигурационный файл ntp.conf, который находится по пути /etc/ntp.conf. Откройте его при помощи nano (у вас должны быть права sudo), для этого выполните команду:

sudo nano /etc/ntp.conf

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

Эти строки являются стандартными пулами, которые мы заменим на российские пулы, представленные на этой странице. Замените их, после сохраните изменения в ntp.conf, нажав Ctrl+O, а затем выйдите из файла, нажав Ctrl+X.

Шаг 5: перезагрузка

Перезапустите сервер.

sudo service ntp restart

Шаг 6: проверка и отладка

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

sudo service ntp status

Шаг 7: настройка брандмауэра 

Чтобы ваши клиенты могли выполнять вход на сервер, откройте им доступ с помощью изменения параметра UFW, прокинув UDP-порт 123 следующей инструкцией:

  • sudo ufw allow from any to any port 123 proto udp

Часть 2. Настраиваем синхронизацию NTP-клиентов

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

Шаг 1: Проверка соединения 

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

  • sudo apt-get install ntpdate

Шаг 2: Указание IP и хоста 

Чтобы указать IP и хост, необходимо отредактировать файл hosts, который находится по пути /etc/hosts, используя следующую команду:

  • sudo nano /etc/hosts

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

  • 192.168.154.142 ntp-server

После этого следует нажать Ctrl+X и сохранить изменения, нажав Y. Обратите внимание, что эту процедуру можно выполнить и на DNS-сервере, если он у вас есть.

Шаг 3: Проверка синхронизации клиента с сервером 

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

  • sudo ntpdate ntp-server

Значение, которое будет выведено на экран — смещение времени. Погрешность в несколько миллисекунд считается нормальным, поэтому на такие цифры не стоит акцентировать внимание. 

Шаг 4. Отключите службу timesyncd

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

  • sudo timedatectl set-ntp off

Шаг 5: Установите NTP на клиентской системе

Это делается с помощью инструкции:

  • sudo apt-get install ntp

Шаг 6: Сделайте наш NTP-сервер источником ссылок

Мы хотим, чтобы клиенты синхронизировались именно с нашим NTP-сервером, поэтому открываем знакомый нам конфигурационный файл ntp.conf и добавляем инструкцию следующего вида:

  • server NTP-server-host prefer iburst

Prefer добавляется для того, чтобы указать предпочтение (в данном случае, для сервера). В свою очередь, iburst позволяет отправлять несколько запросов на сервер, что повышает точность синхронизации. Теперь снова нажимаем Ctrl+X и сохраняем изменения, нажав y.

Шаг 7: Перезапустите сервер

Эта инструкция также проста и не требует объяснений:

  • sudo service ntp restart

Шаг 8: Проверьте очередь синхронизации

Почти завершили, осталось ввести инструкцию:

  • ntpq -ps

Она понадобится нам для проверки NTP-сервера, который указан в качестве источника в очереди синхронизации времени.

Часть 3. Продвинутые возможности синхронизации

В третьей части мы рассмотрим расширенные опции синхронизации в NTP. После установки и настройки NTP сервера и синхронизации клиентских машин с ним, мы можем более тонко настроить процесс синхронизации с помощью дополнительных параметров в файле ntp.conf, расположенном по адресу /etc/ntp.conf.

Предпочитаемый сервер

Отметка «prefer» используется для указания сервера или пула серверов, которые считаются наиболее надежными. Например:

  • server 1.ru.pool.ntp.org prefer

Отметка «server» используется для указания сервера, а директива «pool» – для указания пула серверов. Кроме того, строка «server 127.127.1.0» в конце списка пулов используется для получения системного времени при отсутствии соединения.

Настройки безопасности

Одна из команд «restrict default» устанавливает значения по умолчанию для всех команд «restrict», применяясь ко всем ограничениям. «kod» используется для отправки «поцелуя смерти» серверам, которые посылают слишком много запросов.

Другие команды, такие как «notrap», «nomodify», «nopeer» и «noquery», устанавливают ограничения на реализацию команд управления, изменения состояния, синхронизацию с определенными хостами. 

Пример использования некоторых из описанных выше команд для синхронизации узлов в сети и ограничения доступа к изменению состояния и командам управления представлен в следующей строке: restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

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

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

Проверяем корректность работы NTP

Чтобы проверить, правильно ли настроен NTP-сервер в системе Linux, можно воспользоваться командой «ntpq -p». Если настройки верны, результатом будет таблица со столбцами, выглядящая примерно так:

В первом столбце указан адрес сервера синхронизации, за ним следует восходящий сервер, level (столбец st) и nup (столбец t). Следующие три столбца показывают информацию о последней проверке серверов, периоде синхронизации и их надежности (значение 377 означает 8 успешных синхронизаций с сервером). Последние два столбца показывают разницу между синхронизированным временем и временем главного (эталонного) сервера, а также смещение времени.

Кроме того, обратите внимание на символы в первом столбце, которые появляются перед IP-адресом. Лучшим символом является «+», который указывает на надежность сервера для синхронизации. Соответственно, «-» указывает на обратное, а «*» — на текущий сервер, выбранный для синхронизации. Иногда встречается символ «x», который означает, что сервер недоступен.

Чтобы проверить, правильно ли сервер предоставляет время, необходимо использовать команду «ntpdate» на другой системе, указав IP-адрес проверяемого сервера. Вывод:

  • adjust time server (IP address) offset 0.012319 sec

Число здесь указывает на расхождение по времени. В данном случае все в норме, и разница составляет всего около 0,01 секунды, или, точнее, 12 миллисекунд, что вполне приемлемо.

Теперь давайте рассмотрим, как настроить протокол NTP в Windows.

Настройка NTP сервера Windows Server

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

  • HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer

В этой ветке найдите «Enabled» и установите его в значение 1, чтобы запись в колонке Data выглядела так:

  • 0x00000001 (1)

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

  • net stop w32time && net start w32time

Обратите внимание, что вводить команду нужно из папки C:\Users\Administrator. Вы можете проверить, включен ли NTP, с помощью следующей команды:

  • w32tm /query /configuration

Появится длинная запись, в которой следует обратить внимание на блок NtpServer <Local>: значение Enabled в строке должно быть равно 1. Теперь откройте брандмауэр для UDP-порта 123, чтобы правильно обслуживать клиентов, а затем переходите к конфигурации.

Вернитесь в реестр и найдите запись:

  • HKLM\System\CurrentControlSet\services\W32Time\Parameters

В этой ветке довольно много параметров, но основным является «Type», который принимает одно из 4 значений:

  • NoSync — без синхронизации;
  • NTP — синхронизация с внешними серверами, указанными в NtpServer в реестре (устанавливается по умолчанию для отдельной машины);
  • NT5DS — синхронизация в соответствии с иерархией домена (устанавливается по умолчанию для машины в домене);
  • AllSync — синхронизация со всеми доступными серверами.

Теперь снова обратитесь к реестру и установите значения в ветке NtpServer. Скорее всего, там указан только сервер Microsoft. Вы можете добавить другие, обращая внимание на флаг в конце:

  • 0x1, SpecialInterval, стандартный режим, рекомендованный Microsoft;
  • 0x2, UseAsFallbackOnly, для использования сервера в качестве резервного;
  • 0x4, SymmetricActive, этот режим является основным для NTP-серверов;
  • 0x8, Client, в случае проблем с синхронизацией.

И, наконец, что вам нужно сделать, это установить интервал синхронизации в ветке:

  • W32Time\TimeProviders\NtpClient

Это контролируется параметром «SpecialPollInterval», где необходимо установить требуемое значение (указывается в секундах). По умолчанию значение установлено на неделю. Если вы хотите синхронизироваться чаще, установите 86400 для 1 дня, 21600 для четверти дня (6 часов) и 3600 для часа. Последнее значение является оптимальным с точки зрения соотношения нагрузки на систему и приемлемой точности там, где требуется частая синхронизация времени.

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

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

Шаги по настройке времени на устройствах Cisco довольно просты и легко выполнимы даже для непрофессионалов. 

  1. Для начала необходимо войти в режим конфигурирования, используя команду «conf t».
  2. Следующий шаг заключается в установке часового пояса с помощью команды «clock timezone». Настройка часового пояса позволяет устройству корректно отображать локальное время. Если, например, время московское, установите «MSK 3».
  3. Затем, необходимо указать источник NTP с помощью команды «ntp source». NTP (Network Time Protocol) является протоколом сетевого времени, который синхронизирует время на устройствах в сети. Если вы хотите сделать это устройство основным NTP-сервером для других машин в сети, установите значение в команде «ntp master» равным 2 или выше.
  4. Для обновления времени используйте команду «ntp update-calendar». Эта команда применяется для сохранения текущего времени в часах устройства, которые могут быть использованы при перезагрузке устройства.
  5. Затем, необходимо указать имена или IP-адреса серверов NTP. Для этого используйте команду «ntp server».
  6. Для проверки проблем и устранения неполадок, можно использовать команду «show». С помощью команды «show clock» можно отобразить текущее время устройства, а команда «show ntp status» покажет состояние NTP. Команда «show ntp associations» отобразит ассоциации, т.е. устройства, с которыми устройство взаимодействует для синхронизации времени.

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

Настройка NTP-сервера на роутерах MikroTik

Давайте настроим SNTP: Для настройки времени на устройствах с операционной системой MikroTik RouterOS необходимо выполнить несколько шагов.

  1. Сначала перейдите в раздел System — SNTP Client в программе Winbox. Затем найдите опцию SNTP Client и установите флажок Enabled, чтобы включить клиент SNTP.
  2. Далее, введите IP-адреса эталонных серверов в поле Server DNS Names. Это позволит вашему устройству получать точное время от выбранных серверов.
  3. Для проверки правильности настройки перейдите в раздел Система — Часы. В этом разделе можно установить часовой пояс, выбрав его из выпадающего списка, либо включив опцию Time Zone Autodetect, чтобы часовой пояс определялся автоматически.
  4. Для определения интервала синхронизации с эталонными серверами можно посмотреть значение в поле Poll Interval в меню SNTP Client. Этот интервал позволяет определять частоту обновления времени на вашем устройстве.
  5. Наконец, чтобы убедиться, что все работает правильно, можно проверить время последней синхронизации в поле Last Update в разделе SNTP Client. Если эта информация актуальна, значит ваше устройство получает время от выбранных серверов и корректно синхронизируется с ними.

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

Установка Terraform: пошаговая инструкция

Terraform — программное обеспечение, предназначенное для гибкого управления системами Hashicorp.  Является системой управления для облачных решений. Главные плюсы использования — наличие автоматизации.

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

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

Terraform и Windows

Два способа:

  • менеджер пакетов 
  • установка вручную

Chocolatey

Пакетный менеджер Windows.

choco install <package_name>

Имя пакета —- <package_name>

Запустите командную строку с правами администратора, установите terraform:

choco install terraform

Чтобы удостовериться в установке, введите команду:

C:\Windows\system32>terraform -v

Установка вручную

  1. https://www.terraform.io/downloads.html — скачайте файл 
  2. Распакуйте архив

Далее, настроим PATH:

  1. Панель Управления — Система и безопасность 
  2. Система — Изменение системных переменных среды
  3. Свойства Системы — Дополнительно 
  4. Редактировать PATH 
  5. Выберите путь до Terraform 
  6. OK

Перепроверьте командой terraform -v

Terraform Ubuntu

  1. sudo apt update
  2. sudo apt install wget unzip
  3. cd ~
  4. загрузка инструмента —- wget https://releases.hashicorp.com/terraform/0.x.x/terraform_0.x.x_linux_amd64.zip
  5. переместите файл в  /usr/local/bin — sudo mv terraform /usr/local/bin/
  6. проверка версии —- terraform -v

Terraform: мощный инструмент для администрирования

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

WordPress + LAMP

WordPress — востребованный open-source движок для создания блогов и веб-сайтов. Многие веб-сайты используют специализированные системы управления. 

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

Платформа WordPress требует наличия облачной инфраструктуры и доменного имени. Это руководство показывает способ установки WordPress на стеке LAMP. Расшифровывается как LINUX APACHE MYSQL PHP. Стек — серверная установка (совокупность необходимых инструментов для поддержки веб приложения). 

Требования

Для начала работы вам потребуется доступ к серверу Linux Ubuntu 20.0. А затем нужно выполнить следующие действия:

  • Настройте ваш сервис и проверьте, чтобы был задан пользователя sudo без прав администратора (root).
  • Разверните и проведите отладку стека LAMP
  • Защита для сайта — важный элемент, требующий отдельного внимания. Данные пользователя всегда будут главной добычей для злоумышленников, поэтому настройте шифрование трафика, с помощью технологии TLS/SSL. Здесь есть два варианта: 
  1. Если доменное имя уже готово к использованию, то подключите LETS ENCRYPT. Модуль предоставляет бесплатные подлинные сертификаты. 
  2. В случае, если домен не подобран, то воспользуйтесь самоподписанным сертификатом

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

ШАГ 1 — База данных

Войдите в учетную запись с правами администратора MYSQL

mysql -u root -p

При этом профиль пользователя не меняется !
Пройдите авторизацию, введите данные учетной записи. Если забыли старый пароль, создайте новый с помощью команды:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

Удобно, можно контролировать базы данных MYSQL через WordPress. 

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Команда создаст базу для WordPress, которая нужна для администрирования. 

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

CREATE USER 'wordpressuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

В wordpressuser разрешите абсолютный доступ к ранее созданной базе MYSQL:

GRANT ALL ON wordpress.* TO 'wordpressuser'@'%';
mysql> EXIT; - выйдите из программы

ШАГ 2 — PHP расширение для сервера

PHP реализует коммуникацию всех модулей веб-сайта. Команды, приведенные ниже устанавливают актуальные расширения PHP:

sudo apt update
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

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

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

sudo systemctl restart apache2

ШАГ 3 — Конфигурация Apache для переопределения и перезаписи .htaccess

Измените настройки Apache. Предварительно, файл для сайта должен находиться по адресу /etc/apache2/sites-available

Также, мы будем использовать /var/www/wordpress​​​ в качестве корневой директории для нашей установки WordPress. Вы должны использовать корневой веб-узел, указанный в вашей собственной конфигурации. Если вы следовали указаниям нашего руководства по LAMP, вы можете использовать ваше доменное имя вместо wordpress в обоих случаях. После определения пути, перейдите к работе с .htaccess, потому что APACHE нужно обрабатывать изменения настроек в разных директориях. До настройки файлы .htaccess не работают. 

sudo nano /etc/apache2/sites-available/wordpress.conf .Эта команда открывает файл с надстройками Apache. Внутри файла будет закрытый блок Directory. Адрес рядом с первым тегом обозначает корневую папку документа. Вставьте данный кусок кода в блок файла надстроек VirtualHost, перед этим проверьте корректность адреса корневой директории. 

<Directory /var/www/wordpress/>
AllowOverride All
</Directory>

В редакторе nano нажмите сочетание клавиш CTRL и X, затем Y, затем ENTER.

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

sudo a2enmod rewrite
http://example.com/2012/post-name/
http://example.com/2012/12/30/post-name

Активация изменений 

Команда sudo apache2ctl configtest тестирует работу сервера. Проделайте это, чтобы убедиться в отсутствии ошибок при редактировании конфигурационных файлов. 

ШАГ 4 — Выгрузка WordPress

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

cd /tmp
curl -O https://wordpress.org/latest.tar.gz

Эти команды скачивают систему 

Извлечь файлы:

tar xzvf latest.tar.gz

Далее необходимо перенести файлы в корневую папку, создать файл .htaccess 

touch /tmp/wordpress/.htaccess

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

mkdir /tmp/wordpress/wp-content/upgrade

Перемещаем все файлы в корневую директорию. 

sudo cp -a /tmp/wordpress/. /var/www/wordpress*

Не забывайте, у вас может быть другая директория (отличная от /wordpress).

ШАГ 5 — Настройка главной папки WordPress

Очень важно установить привязку к корневой директории. 

sudo chown -R www-data:www-data /var/www/wordpress*

Группа команд, которые устанавливают необходимые разрешения

sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

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

curl -s https://api.wordpress.org/secret-key/1.1/salt/

Вставьте полученные значения в файл настроек, скопировав вывод скрипта

sudo nano /var/www/wordpress*/wp-config.php

В кавычки вместо ‘put your un…’ вставьте сгенерированные ключи

Поскольку мы предоставили веб-серверу разрешение на запись там, где ему потребуется, мы можем прямо установить метод файловой системы «direct». Если бы мы не внесли это изменение в текущие настройки, это привело бы к тому, что при выполнении некоторых действий WordPress будет запрашивать данные учетной записи для FTP.

ШАГ 6 — Завершение установки с помощью графического интерфейса

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

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

https://server_domain_or_IP

Установите язык:

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

Перейдите на следующую страницу:

Совершите авторизацию в учетной записи WordPress:

 Готово! Веб-страница ждёт заполнения и развития. 

Дополнительно 

Выставьте постоянные ссылки для постов (Настройки — Permalinks(Постоянные ссылки)). Можно изменить тему интерфейса (Внешний вид — Темы). Также, есть возможность добавлять пользователей, которые могут редактировать наполнение веб-сайта (Пользователи — Добавить нового +). 

Изменение ключа доступа к учетной записи администратора

Изменять пароль по умолчанию необходимо, чтобы усложнить задачу для злоумышленника. Дефолтные пароли — серьезная брешь в безопасности. Изменить пароль админа на виртуальном сервере OS Linux не так сложно. 

Зайдите на сервер через систему управления, откройте консоль и установите соединение с серверной машиной, используя программу PUTTY.

Откроется командная строка. Вам необходимо ввести данные учетной записи — логин и пароль администратора. 

После успешной авторизации, введите команду passwd. Скрипт автоматически запустит модуль, который отвечает за замену пароля. Придумайте новый ключ доступа, не забудьте его записать или поместить в защищенное место. Повторите новый пароль. Вы увидели сообщение «passwd: password updated successfully», значит пароль успешно изменен.