Перейти к содержимому

RISH 2.9.9: блокировка IP и пароли баз данных

20 октября 2026

В RISH появились две большие возможности: смена пароля MariaDB с последующей настройкой сайтов Joomla и управление блокировками IP через firewall.

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

В этой статье собраны изменения после версии 2.9.6, включая промежуточные выпуски 2.9.7 и 2.9.8. Кроме двух главных нововведений, доработаны резервное копирование, внешние DNS, установка PHP и проверка конфигурации сервера.

Смена пароля MariaDB из меню RISH

В разделе «Базы данных» появился пункт «Сменить пароль пользователя MariaDB».

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

  • Сгенерировать сложный пароль из 24 символов.
  • Ввести пароль самостоятельно.

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

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

Новое значение сохраняется в файле учётных данных RISH:

/root/rish/credentials/<user>

Остальные данные в этом файле, включая доступ по SFTP и сведения об администраторе сайта, сохраняются.

Обновление Joomla после смены пароля

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

RISH ищет подходящие конфигурации Joomla и после смены пароля предлагает «Настроить Joomla configuration.php». При согласии новый пароль записывается в найденные конфигурации. Рядом сохраняется предыдущий файл:

configuration.php.bak.php

В результате не нужно вручную обходить несколько сайтов Joomla, использующих одну учётную запись MariaDB.

Итоговый отчёт показывает:

  • Какие сайты обновлены.
  • Где настройка пропущена.
  • При обновлении каких конфигураций произошла ошибка.
  • Какие сайты требуют ручной проверки.
  • Для каких баз не найдено успешно обновлённой конфигурации.

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

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

Firewall: блокировка нежелательных IP

В меню Midnight Commander появился раздел «Firewall / блокировки IP».

Он позволяет управлять установленным firewalld через интерфейс RISH: блокировать отдельные IPv4 и IPv6, целые подсети, вести постоянные списки и работать с временными ограничениями.

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

Доступны готовые варианты: 15 минут, один час, сутки, а также собственный срок или постоянная блокировка.

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

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

От журнала сайта — к блокировке

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

В Midnight Commander откройте /var/www/<user>/www, выделите папку сайта и перейдите в «Firewall / блокировки IP». Появится пункт «Самые активные IP <домен>».

RISH анализирует текущий журнал обращений Apache и показывает наиболее активные адреса. По умолчанию используются последние 20 000 строк и выводятся 20 IP; эти параметры можно изменить.

Для оценки активности доступны число и доля запросов, ошибки 4xx и 5xx, часто запрашиваемые URL и User-Agent.

Из карточки адреса можно получить сведения о сети: организацию, диапазон адресов, страну регистрации и ASN. Если известна анонсируемая подсеть, её тоже можно выбрать для блокировки.

Большое число запросов само по себе ещё не означает атаку. Эти сведения помогают принять решение; блокировку применяет администратор.

Ограничение действует на уровне сервера в выбранной зоне firewalld. Даже если адрес найден в журнале одного сайта, блокировка распространяется и на другие сайты и службы, обслуживаемые в этой зоне.

Постоянные списки адресов

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

Поддерживается импорт локальных файлов /root/ipset*: по одному IP или подсети на строку. Адреса можно добавить к существующему списку либо заменить его содержимое. Перед применением RISH показывает изменения; некорректная строка останавливает импорт.

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

В общей таблице блокировок есть поиск, страницы и фильтры временных и постоянных записей.

Защита от случайной потери доступа

RISH проверяет адрес текущего SSH-подключения и не позволяет заблокировать его или содержащую его подсеть. Также защищены служба ssh и порт текущего SSH-соединения.

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

Пункт «Проверить конфигурацию» проверяет сохранённые настройки firewalld. Это проверка корректности конфигурации; она не заменяет проверку доступности сервера снаружи.

Резервные копии CRON и отдельного сайта

Резервные копии заданий CRON

В резервное копирование добавлены пользовательские задания CRON, включая задания root. Для каждого пользователя создаётся отдельный объект с его crontab. Пустые и отсутствующие задания пропускаются, ошибки чтения показываются.

На существующем сервере после обновления нужно открыть раздел резервного копирования и выполнить «Обновить файл-список всех архивируемых объектов». После этого объекты CRON появятся в списке.

Резервная копия одного сайта

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

В Midnight Commander откройте /var/www/<user>/www, выделите папку нужного сайта, откройте «Бэкапы» и выберите «Архивация <имя сайта>» — например, «Архивация pentagon.ru», как на скриншоте ниже.

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

Другие улучшения резервного копирования

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

Внешние DNS для самого сервера

В «Управление сервером» появился пункт «Добавить внешние DNS».

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

Доступны два набора: Quad9 + MSK-IX и Quad9 + Яндекс DNS. Перед применением RISH проверяет выбранные серверы, сохраняет исходные настройки и показывает будущий набор адресов.

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

Там же доступны проверка текущих DNS и получение сведений об используемых адресах.

Прерванную установку PHP можно продолжить

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

Теперь RISH проверяет PHP CLI, конфигурацию FPM, базовые настройки, состояние службы и автозапуск. Если пакеты уже установлены, а настройка не завершена, в меню появляется «phpXX (завершить настройку)».

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

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

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

Проверки сервера и другие исправления

После 2.9.6 изменились ещё несколько важных сценариев.

Проверка процессора перед установкой на EL10. На серверах с архитектурой x86_64 RISH заранее проверяет поддержку x86-64-v3, необходимую используемым пакетам PHP и MariaDB из внешних репозиториев. При несовместимости установка останавливается до изменения системы. Для VPS учитываются инструкции, доступные внутри виртуальной машины.

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

Конфликты hostname и доменов сайтов. Проверка RISH обнаруживает совпадение технического имени сервера с доменами Apache, а также проблемные записи в /etc/hosts. В режиме исправления изменения показываются до применения, сохраняется предыдущая конфигурация.

Удаление просроченных сертификатов Let’s Encrypt. Истёкший сертификат удаляется без ненужной попытки отзыва. Перед удалением проверяется, не используется ли он другими виртуальными хостами.

Прогресс проверки обновлений Joomla. Счётчики отражают фактически обработанные источники обновлений расширений, включая временно отключённые Joomla источники.

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

После обновления

Обновить RISH можно через пункт «Обновление/проверка RISH» в меню Midnight Commander.

Для включения пользовательских CRON в резервное копирование обновите список архивируемых объектов. При смене пароля MariaDB сразу выполните предложенную настройку Joomla и проверьте итоговый отчёт; подключения других приложений обновите вручную.

Новые блокировки находятся в разделе «Firewall / блокировки IP». Начать знакомство можно с просмотра активных адресов выбранного сайта — это не изменяет правила firewall.

Вопросы и обратная связь — в чате RISH.

Основатель проекта RISH