Как защитить сервер
Общие рекомендации
Часто обычные хостинги ограничены в возможностях для тонкой настройки безопасности, поэтому мы рекомендуем размещать обменник на виртуальном выделенном сервере (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
Запретите загрузку файлов через
allow_url_include
иallow_url_fopen
— это снизит риск удаленного выполнения кода:allow_url_fopen = Off allow_url_include = Off
Отключите некоторые расширения (если они не нужны). Например:
extension = phar.so ; // если phar не используется
Ограничьте доступ к
php.ini
иwp-config.php
через файл.htaccess
<FilesMatch "^(php\.ini|wp-config\.php)$"> Order deny,allow Deny from all </FilesMatch>
Настройка прав на файлы

Если в админбаре отображается предупреждение об ошибках в виде анимированного красного круга, откройте раздел с ошибками.
Если в разделе отображается ошибка о некорректных правах на файлы, измените права указанных файлов на более безопасные (зачеркнутое значение — текущие права, после ➔ рекомендуемые права).
Официальная инструкция от Wordpress по настройке прав на файлы
При использовании ispmanager перейдите в раздел "Сайты", выберите ваш сайт и нажмите кнопку "Файлы сайта".

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

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

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