Как запретить PHP доступ к каталогам?

Как запретить PHP доступ к каталогам?

У меня установлен базовый LAMP, и я хотел бы защитить его, чтобы PHP не мог получить доступ ни к чему за пределами каталога /var/www. Как это сделать? Под «доступом» я подразумеваю также чтение файлов и листинг каталогов.

Я прошу об этом из соображений безопасности. Я использую WordPress на своем сервере, и если кто-то получит доступ к учетной записи администратора, он сможет редактировать код шаблона, через который он сможет попасть в любую точку системы.

Спасибо!

решение1

Вот основные шаги для обеспечения надежной настройки LAMP:

  • Убедитесь, что все веб-сайты работают с собственным пользователем. Вы можете добиться этого с помощью Apache mod_itk/mod_php или PHP-FPM (обычно с Apache или Nginx)
  • Убедитесь, что владельцем файлов является пользователь root, а группа — пользователь веб-сервера (или наоборот)
  • Убедитесь, что права доступа для файлов — 640, для каталогов — 750. Только папки загрузки Wordpress имеют права 660/770.
  • Изменяйте права доступа к PHP-файлам только при обновлении или установке плагинов.
  • Убедитесь, что файлы PHP не могут быть запущены в папке изображений:

    <FilesMatch "/uploads/\.(asp|php|php5|pl)$">
        Deny from all
    </FilesMatch>
    

    Этот метод не очень хорошо работает с Wordpress, потому что плагины устанавливают файлы php в эту папку. Возможно, вам лучше защитить папки uploads/2017 и т. д.

  • Поддерживайте установку в актуальном состоянии
  • Поддерживайте актуальность программного обеспечения сервера
  • Регулярно проводите проверку журнала.
  • Иметь резервные копии
  • Уметь быстро восстанавливаться

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