- 18, May 2024
- #1
Привет,
у меня есть Apache 2.2, PHP 5.3, веб-сервер-обработчик SuPHP
и моя цель это:
Чтобы сделать это, я нашел следующий код и включил его во все виртуальные хосты на сервере:
Код (разметка): (НО я думаю, что этот код неверен и, по крайней мере, в нем отсутствуют знаки «+», а также я разрешаю всем пользователям переопределять мои директивы в своих файлах .htaccess)
Поэтому я хочу ужесточить безопасность и обнаружил, что другие люди вместо этого советуют следующие конструкции:
Код (разметка): или:
Код (разметка): (я не понимаю как работает разрешить переопределение, я разрешаю переопределить все, а затем какой смысл использовать Options=, хотя я уже разрешил переопределение всех параметров, определив AllowOverride All?)
На данный момент это то, что я хочу использовать сейчас, и мне нужно попросить вас дать отзыв о том, как его улучшить:
Код (разметка): Я сомневаюсь, следует ли мне использовать Option +All и AllowOverride None . В-третьих, это «-FollowSymLinks +SymLinksIfOwnerMatch», который, как я предполагаю (если размещенные веб-сайты, такие как Joomla, будут работать), потребует от меня настройки всех файлов .htaccess (на регулярной основе), чтобы они не содержали в них FollowSymLinks и вместо этого содержали FollowSymLinksIfOwnerMatch, если я не хочу люди увидят ошибку 500. Я хочу попросить мнение о том, как настроить вышеупомянутый код для обеспечения хорошей безопасности.
Я размещаю веб-сайты, которые могут быть взломаны, или сайты, владельцы которых могут намеренно злоупотреблять сервером, поэтому моя цель — максимальная безопасность.
Но в то же время я не хочу вызывать чрезмерную ошибку 500 в обычных CMS, таких как Wordpress, Joomla, Drupal. Спасибо
- запретить пользователям/размещенным сценариям php/js выполнять pl, cgi, sh и другие потенциально опасные сценарии, которые не необходимы для запуска веб-сайтов php.
- запретить посетителям сайта использовать символические ссылки на места вне их имени пользователя.
Чтобы сделать это, я нашел следующий код и включил его во все виртуальные хосты на сервере:
<Directory "/">
Options +All +ExecCGI -FollowSymLinks +SymLinksIfOwnerMatch +Includes +IncludesNOEXEC -Indexes -MultiViews
AllowOverride None Options=Indexes,MultiViews
</Directory>
Код (разметка): (НО я думаю, что этот код неверен и, по крайней мере, в нем отсутствуют знаки «+», а также я разрешаю всем пользователям переопределять мои директивы в своих файлах .htaccess)
Поэтому я хочу ужесточить безопасность и обнаружил, что другие люди вместо этого советуют следующие конструкции:
<Directory "/"> Options +All +ExecCGI -FollowSymLinks +Includes +IncludesNOEXEC -Indexes -MultiViews +SymLinksIfOwnerMatch AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch </Directory>
Код (разметка): или:
<Directory "/"> Options +ExecCGI -FollowSymLinks -Includes +IncludesNOEXEC +Indexes -MultiViews +SymLinksIfOwnerMatch AllowOverride AuthConfig FileInfo Indexes Limit Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,FollowSymLinks </Directory>
Код (разметка): (я не понимаю как работает разрешить переопределение, я разрешаю переопределить все, а затем какой смысл использовать Options=, хотя я уже разрешил переопределение всех параметров, определив AllowOverride All?)
На данный момент это то, что я хочу использовать сейчас, и мне нужно попросить вас дать отзыв о том, как его улучшить:
<Directory "/"> Options -ExecCGI -FollowSymLinks Includes IncludesNOEXEC Indexes -MultiViews SymLinksIfOwnerMatch AllowOverride All </Directory>
Код (разметка): Я сомневаюсь, следует ли мне использовать Option +All и AllowOverride None . В-третьих, это «-FollowSymLinks +SymLinksIfOwnerMatch», который, как я предполагаю (если размещенные веб-сайты, такие как Joomla, будут работать), потребует от меня настройки всех файлов .htaccess (на регулярной основе), чтобы они не содержали в них FollowSymLinks и вместо этого содержали FollowSymLinksIfOwnerMatch, если я не хочу люди увидят ошибку 500. Я хочу попросить мнение о том, как настроить вышеупомянутый код для обеспечения хорошей безопасности.
Я размещаю веб-сайты, которые могут быть взломаны, или сайты, владельцы которых могут намеренно злоупотреблять сервером, поэтому моя цель — максимальная безопасность.
Но в то же время я не хочу вызывать чрезмерную ошибку 500 в обычных CMS, таких как Wordpress, Joomla, Drupal. Спасибо