wp-cli
Я как-то упоминал wp-cli, но, кажется, не в контексте безопасности. На самом деле, это важный инструмент именно в деле укрепления защищённости вордпресс-сайта.
wp-cli - это инструмент командной строки для управления Вордпрессом. С установкой особых проблем быть не должно, единственная важная оговорка - не ставить рутом. Ну и, для удобства, сделать алиас, заменяющий php wp-cli.phar, например, на wp. Тогда, скажем, обновление плагинов будет выглядеть так:
$ wp plugin update —all
А так обновление ядра:
$ wp core update
и базы:
$ wp core update-db
Все остальные подробности в документации и на GitHub'е.
А при чём тут безопасность? Ну, во-первых, управление через CLI в принципе безопаснее, чем через веб-интерфейс. Но главное, если в wp-config.php прописать:
define ('DISALLOW_FILE_EDIT', true);define ('DISALLOW_FILE_MODS', true);
то безопасность сайта существенно повысится. Первая директива запрещает редактирование файлов плагинов и темы из админ-панели, даже путём прямого доступа к редактору. Вторая директива запрещает любую загрузку и модификацию файлов (кроме wp-content/uploads), в том числе установку и обновление плагинов из админ-панели.
Это очень серьёзное увеличение безопасности. Например, если из-за уязвимости какого-нибудь плагина злоумышленнику удастся попасть в админ-панель с правами администратора, или поднять права обычного пользователя до админских, то в обычном случае он может сделать с сайтом что угодно, например, установить бэкдор для управления сайтом, или лишить доступа реального администратора. Но в данном случае этот номер у него не пройдёт, ему потребовался бы доступ к SSH, что уже совсем другой уровень безопасности.
Понятно, что это создаёт не только немалые затруднения злоумышленникам, но и изрядные неудобства администратору сайта. Тем не менее, все административные действия по-прежнему доступны из командной строки. Это может быть слегка непривычно, но если вопросы безопасности для сайта существенны, то оно того стоит.