У меня странная ситуация. У меня есть VPS, который я использую в своих проектах. Мой друг попросил меня вести его блог на wordpress.
Теперь я очень просто настроил свой VPS, все проекты находятся в / www, а apache имеет доступ для записи в эти папки (www-data), я на сервере ubuntu 12.04.
На стороне Mysql проблем нет, эта установка wp имеет свою собственную базу данных / username-pass, которая имеет доступ только к этой базе данных.
Но меня беспокоит, что если его пароль wp-admin будет скомпрометирован, безопасность моего VPS тоже может быть поставлена под угрозу.
Я подумываю передать мне chown / www / projectX: мне. И дайте разрешение на запись только плагинам и каталогам загрузки изображений. Но если все работает под одним и тем же пользователем apache, потенциально хакер может загрузить вредоносный скрипт в эти каталоги и таким образом получить доступ к другим моим проектам на сервере.
Что я могу сделать, чтобы обезопасить себя? хотя бы частично?
Я не хочу защищать эту конкретную установку WP, я хочу защитить другие мои проекты от этой установки wp.
Эти два шага предоставят вам 90% + пути к безопасной системе хостинга (с точки зрения предотвращения атак межсайтовой эскалации):
www-data
Используйте систему вроде php-fpm
запускать каждый сайт под своим пользователем. Таким образом, компрометация одной учетной записи не может автоматически прочитать содержимое всех остальных сайтов, например пароли баз данных и другие секретные ключи.
Убедитесь, что разрешения на каждом сайте не позволяют другим пользователям ничего читать. Уловка для этого - установить группу базового каталога каждого сайта как некоторую общую группу, частью которой являются все пользователи сайта (возможно, даже назовите это websites
), затем установите perms в этом каталоге на 0701
, чтобы пользователи группы не могли попасть в каталог.