Как защитить сервер

Общие рекомендации

Часто обычные хостинги ограничены в возможностях для тонкой настройки безопасности, поэтому мы рекомендуем размещать обменник на виртуальном выделенном сервере (VPS/VDS) и выполнить его настройку, чтобы снизить риски взлома. Как правило, у хостинг-провайдеров есть платные услуги по настройке виртуальных серверов. Привлекать сторонних специалистов для настройки можно, но только тех, кому вы доверяете.

  • На хостинге (биллинг для управления услугой), где размещен ваш сайт, включите SMS-авторизацию в личный кабинет. Установите другие способы ограничения на вход, если такие предусмотрены вашим хостингом. Для хостинг-провайдера Reg.ru, как минимум, включите SMS-авторизацию и оповещение на e-mail при авторизации в личном кабинете;

  • Обновите модуль Ioncube Loader до последней версии;

  • Установите и настройте на сервере модуль fail2ban;

  • Установите на сервере антивирус и сканер портов. Настройте регулярное сканирование файлов сервера и портов;

  • Настройте брандмауэр. Заблокируйте порты для FTP, SSH и различных Shell-клиентов;

  • Заблокируйте стандартные адреса к форме авторизации сервера. Например, для Ispmanager это: https://ip_адрес/manager, https://ip_адрес/manager/ispmngr, https://ip_адрес/ispmngr;

  • Измените стандартный порт к форме авторизации сервера. Для ispmanager обычно используется порт 1500. Установить любое свободное значение порта;

  • Заблокируйте адрес доступа к phpmyadmin. Достаточно установить на сервере права 444 на папку с phpmyadmin;

  • Заблокируйте адрес доступа к почтовым клиентам. Например, https://ip_адрес/webmail/, https://ip_адрес/roundcube/ и т.п. Достаточно установить на сервере права 444 на папку почтового клиента;

  • Для всех пользователей сервера, в том числе root, установите пароль длиной не менее 15-25 символов;

  • Не храните резервные копии файлов и базы данных на сервере, особенно в корневой папке сайта.

Настройка служб и опций

  • Закройте возможность работы вебшеллов через файл php.ini (отредактируйте существующую или добавьте новую директиву):

    disable_functions = exec,system,passthru,shell_exec,proc_open,show_source
Если вы используете ispmanager, выполните следующие шаги:
  1. Авторизуйтесь в ispmanager под root-пользователем.

  1. Перейдите в раздел "Сайты", выберите ваш сайт и нажмите кнопку "Настройки PHP для сайта".

  1. Поиском найдите директиву disable_functions, отметьте её галочкой и нажмите кнопку с карандашом ("Изменить переменную").

  1. Добавьте указанные функции (не удаляйте предыдущие значения — дополните строку указанными функциями): exec,system,passthru,shell_exec,proc_open,show_source и сохраните изменения.

  • Запретите загрузку файлов через allow_url_include и allow_url_fopen — это снизит риск удаленного выполнения кода:

    allow_url_fopen = Off
    allow_url_include = Off
Если вы используете ispmanager, выполните следующие шаги:
  1. Авторизуйтесь в ispmanager под root-пользователем.

  1. Перейдите в раздел "Сайты", выберите ваш сайт и нажмите кнопку "Настройки PHP для сайта".

  1. Поиском найдите директивы по тексту allow_url, отметьте их галочкой и нажмите кнопку с карандашом ("Изменить переменную").

  1. Укажите Off для переменных и сохраните изменения.

  • Отключите некоторые расширения (если они не нужны). Например:

    extension = phar.so ; // если phar не используется
Если вы используете ispmanager, выполните следующие шаги:
  1. Авторизуйтесь в ispmanager под root-пользователем.

  1. Перейдите в раздел "PHP", выберите версию PHP, которая используется на вашем сайте и нажмите кнопку "Расширения".

  1. Поиском найдите расширения по тексту phar (пример), отметьте их галочкой и нажмите кнопку с карандашом ("Выключить расширение").

  1. Нажмите кнопку и подтвердите выключение расширения во всплывающем окне.

  • Ограничьте доступ к php.ini и wp-config.php через файл .htaccess

    <FilesMatch "^(php\.ini|wp-config\.php)$">
        Order deny,allow
        Deny from all
    </FilesMatch>

Если вы используете ispmanager, выполните следующие шаги:
  1. Авторизуйтесь в ispmanager под любым пользователем.

  1. Перейдите в раздел "Сайты", выберите ваш сайт и нажмите кнопку "Файлы сайта".

  1. Найдите файл .htaccess и перейдите в режим его редактирования двойным кликом.

  1. Укажите указанный выше текст в файле и сохраните изменения.

Настройка прав на файлы

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

Если в разделе отображается ошибка о некорректных правах на файлы, измените права указанных файлов на более безопасные (зачеркнутое значениетекущие права, после ➔ рекомендуемые права).

Предупреждения также отображаются в разделе "Консоль", блок "Проверка безопасности"

При использовании ispmanager перейдите в раздел "Сайты", выберите ваш сайт и нажмите кнопку "Файлы сайта".

Выберите файл с некорректными правами и нажмите кнопку "Атрибуты".

Укажите рекомендуемые права в строке "Права доступа" и сохраните изменения.

После изменения прав предупреждение пропадёт в админ-панели.

Last updated