Права на доступ к файлам сайта на WordPress

Сегодня утром получил письмо от компании Hetzner в Германии, клиентом которой являюсь уже много лет:

We have received information regarding spam and/or abuse from do-not-reply@******.***.

Please would you take all necessary measures to avoid this in future.

Furthermore, we request that you send a short response within 24 hours to us and to the complainant. This response should contain information about how this issue could happen and what you intend to do about it.

How to proceed:

— Solve the problem.
— Send a response to us using the following link: http://abuse.hetzner.de/statements/?token=************
— Send a response by email to the complainant

A technician will check the data and coordinate further proceedings. If multiple complaints have been received, the situation could lead to the server being blocked.

Ничего так себе — начало воскресного дня. Попасть в блок-лист из-за рассылки спама с адреса клиента моего сервера — не очень интересная возможность, потому пришлось разбираться с возникшей проблемой (благо, пасмурность на улице влияла на работоспособность).
Итак, я начал с проверки исходящий адресов — как оказалось, адреса, с которого шла рассылка в природе не существовало.
По совету сведущего человека решил использовать разработку AI-Bolit. Установка скрипта очень проста — нужно всего-лишь скопировать все файлы из архива в папку исследуемого сайта и запустить проверку:
php ./ai-bolit.php
Проверка занимает какое-то время, по результатам которой в папке, где установлен AI-Bolit будет сформирован .html файл с отчетом по безопасности. Что делать дальше — решать вам. В моей ситуации оказалось, что вся корневая директория установлена с правами 777, ну и конечно же — установлен шел для доступа к сайту.
Пришлось удалять все вручную — более 90 файлов + сравнивать и восстанавливать кое-что из бекапов 🙁

Оптимальная настройка права на доступ к файлам сайта на WordPress:

755 на все папки
644 на файлы

600 -rw——- /home/user/wp-config.php
604 -rw—-r— /home/user/cgi-bin/.htaccess
600 -rw——- /home/user/cgi-bin/php.ini
711 -rwx—x—x /home/user/cgi-bin/php.cgi
100 —x—— /home/user/cgi-bin/php5.cgi

И еще — лично я никогда не боюсь упрощать свою жизнь, потому для подобной операции вместо работы в командной строке на сервере предпочитаю использовать FileZilla — правый клик на нужном каталоге, в выпадающем меню выбираем «Права доступа к файлу». Если желаем обработать объем информации пакетом — выбираем «Перенаправить во вложенные каталоги».

ВАЖНО: после завершения работы со скриптом Айболита — не забудьте удалить все файлы с сервера!