Wordpress .htaccess — Права доступа и безопасность

Wordpress .htaccess — Права доступа и безопасность

Сценарий

Я создаю плагин WordPress для своих сайтов, которому нужен доступ к основному файлу сайта .htaccess.

С помощью скрипта установки я могу изменить .htaccessfrom 644на 664, что позволит моему серверу (apache2) писать напрямую .htaccess.

Вопрос

Меня беспокоит ограничение безопасности. Подвергаюсь ли я себя шквалу потенциальных атак? Если да, то какое лучшее предложение для того, чтобы сделать мой .htaccessдоступный для записи с помощью wordpress, т. е. apache?

РЕДАКТИРОВАТЬ

Пользователь apache2 находится www-dataна одном сервере, но является другим пользователем на другом сервере в зависимости от настроек хоста. Мне нужно быть к этому готовым.

решение1

Это старый вопрос, поэтому я не уверен, актуален ли он еще, но вот мое мнение по нему.

Я не думаю, что вы слишком много обдумываете, так как да, файл будет доступен для записи. Так что если на сервере произойдет что-то подозрительное - например, атака, основанная на изменении/создании файлов на сервере, злоумышленнику будет легче скомпрометировать сервер или изменить определенные настройки, которые можно изменить с помощью .htaccess.

Например, вы также можете изменить настройки PHP, такие как максимальный размер загружаемого файла и время выполнения, а также множество других значений конфигурации, которые вы не хотите, чтобы злоумышленник изменил, не так ли? ;)

Поэтому я бы посоветовал вам использовать 440 и всегда редактировать его вручную в производственной среде, поскольку там в любом случае не потребуется менять его так часто (когда вы развертываете что-то новое, вы меняете его один раз до нужной настройки, и все).

Однако в бета-среде/среде разработки, после тщательной оценки других рисков безопасности, например, что еще находится на том же сервере (есть ли другие сайты с конфиденциальными данными и т. д.), вы можете облегчить жизнь разработчикам, просто оставив значение 660 для целей разработки.

Поверьте, это имеет смысл. Автор поста, вероятно, уже давно решил эту проблему, но я надеюсь, что это поможет другим, столкнувшимся с этим вопросом.

решение2

Что бы вы ни сделали, чтобы сделать файл доступным для записи для Apache, файл будет доступен для записи для Apache.

Если вам нужен только ограниченный набор опций, которые Apache может изменить, вы можете создать программу setuid, чтобы вносить эти изменения на основе некоторых входных данных, которые проверяются программой. Программа не должна быть setuid для root, а для некоторого пользователя, который является только владельцем файла.

Связанный контент