Я знаю о требованиях WP к определенным каталогам и файлам, которые должны быть доступны для записи. Я также знаю, что слишком свободные разрешения могут открыть дыры в безопасности. Наконец, я знаю, что пользователь, который (вставьте здесь свой сервер) работает как в системах Linux, может быть фактором.
Помимо безопасности, мне нравится возможность загружать темы и плагины в свой блог и обновлять их при необходимости. Правильные разрешения, кажется, немного расходятся с этим предпочтением.
Я собрал немного деталей здесь и там, но я хотел бы увидеть более определенный ответ, если он есть: какова предпочтительная настройка с намеком на безопасность? Какие разрешения должны быть, под каким пользователем должен работать сайт и т. д.
Связанный: Укрепление WordPress (Кодекс)
SFTP еще лучше
FTP приемлем внутри, но меня нервирует в Интернете; поскольку он отправляет пароли в виде обычного текста. Я передаю через SFTP/SSH, мне удобнее перемещать файлы по защищенному каналу. Я также запрещаю права записи для пользователя веб-сервера.
Если у вас есть FTP-доступ к вашему серверу, наиболее безопасная настройка — это запрет на запись вашего веб-сервера в каталог тем или плагинов, а вместо этого использование файлов обновления WordPress с использованием FTP. Когда вы собираетесь обновить плагин, WordPress запросит у вас данные FTP.
Метод FTP намного медленнее, чем прямая запись файлов, но он намного безопаснее, поскольку мошеннический скрипт не сможет изменить ваши файлы.
Как отметил @Viper007Bond, обновление вашего ядра, плагинов и тем с помощью встроенных механизмов обновления довольно безопасно с точки зрения прав доступа к файлам, поскольку они могут использовать ваши фактические учетные данные пользователя. Для максимальной безопасности убедитесь, что у вас установлено расширение SSH2 PHP. Метод установки (если возможно) может варьироваться от хоста к хосту, поэтому, если его еще нет, вам может потребоваться обратиться в службу хостинга или поискать в Google.
Многие службы виртуального хостинга будут использовать
suexec
в своих настройках Apache, чтобы веб-служба работала от имени фактического пользователя. Это устраняет большинство проблем с правами доступа и помогает защитить ваши файлы от других пользователей на сервере. Однако в тех случаях, когда Apache работает как отдельный пользователь, если вы хотите загружать файлы в WordPress, вам необходимо открыть разрешения для каталога загрузки.В этом случае вы, вероятно, захотите, чтобы ваш
wp-content/uploads
каталог имел0713
разрешения (AKArwx--x-wx
). Это дает владельцу каталога полные права доступа, его группа может читать файлы , если им известен полный путь, а другие (включая веб-сервер) могут читать файлы, путь к которым им известен, и могут создавать/записывать файлы.Некоторые подключаемые модули кэширования также ожидают наличия
wp-content/cache
каталога (или аналогичного), в который они могут записывать. К этому применимы те же рекомендации по разрешениям.Наконец, для красивых постоянных ссылок WordPress должен иметь возможность изменять
.htaccess
файл, если только вы не планируете обновлять его вручную. В этом случае вам нужен0646
файловый режим. Однако после того, как вы определились со структурой постоянных ссылок, вам, как правило, не нужно будет менять ее снова, поэтому вы можете отключить дополнительные разрешения на запись и установить для нее значение0644
. Иногда для обновления плагина или ядра может потребоваться доступ к нему, и вы можете временно снова включить права на запись для этого, а затем снова отключить его.Все остальные файлы должны иметь
0644
разрешения. Каталоги должны быть,0711
если вы экстра-параноик, но это может помешать любым плагинам, которым необходимо получить список файлов из каталога. В этом случае, или если вы не настолько параноик, используйте0755
, что позволит другим читать, но не писать.Большая часть этого в основном беспокоит, если вы находитесь на виртуальном хостинге. Если у вас есть выделенный сервер (включая VPS) без других пользователей, имеющих доступ по ssh/ftp, то вы можете немного расслабиться. Я не имею в виду, что вы должны просто сделать все доступным для записи, но вы, вероятно, можете просто доверять системным значениям по умолчанию, которые, вероятно, будут
0755
разрешениями для каталогов, а не0711
.Если это вариант, установите SSL-сертификат для сайта, и после того, как вы проверите, что можете получить доступ к своему сайту через
https
, вы можете принудительно использовать SSL для входа и доступа администратора, добавив эти строки в свойwp-config.php
файл, непосредственно перед ‘ Остановить редактирование комментария: