Модули для защиты PHP и Perl от доступа к файлам / данным других пользователей?

Я использую комбинацию suPHP с suExec, чтобы попытаться защитить пользователей и ограничить использование PHP/Perl из допустимого пространства (т. Е. Папок user/tmp).

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

  • Я хотел бы знать, какие модули в настоящее время доступны для этой задачи, которые стоит использовать, или моя установка все еще действительна и стоит использовать?

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

PS: я понимаю, что CHMOD играет большую дыру во всем этом, но, как и мудрое принуждение Apache к запуску в качестве пользователя, также необходимо.

2 ответа

О каких модулях ты говоришь?

Если бы это был просто PHP или Perl, решение было бы намного проще. Запуск сценариев через CGI значительно снижает производительность, а IIRC делает нецелесообразным кэширование кода операции. Только с PHP вы можете просто установить base_opendir и отключить расширения, которые могут его обойти.

Однако php-fpm позволяет запускать пулы интерпретаторов php как разных пользователей (каждый пул прослушивает свой порт), поэтому, если количество пользователей поддается управлению, это может быть лучшим решением для сценариев PHP.

Я хотел бы знать, какие модули в настоящее время доступны для этой задачи, которые стоит использовать, или моя установка все еще действительна и стоит использовать?

Есть много модулей (вы даже перечислили кучу из них в одном из ваших комментариев: for instance fastCGI, suPHP, suExec, mod_ruid2, etc.). У каждого из них есть свои сильные и слабые стороны. Только вы можете предотвратить возникновение лесных пожаров, решить, какой модуль соответствует вашим конкретным потребностям, - оценить имеющиеся варианты в соответствии с вашими требованиями и сделать выбор, который лучше всего соответствует вашим потребностям.


Я также заметил, что некоторые компании настраивают свой FTP-сервер, чтобы он не отображал файлы, начинающиеся с точки. Есть ли какая-то конкретная причина, по которой они этого хотят?

Потому что так Unix работал более 40 лет (имена файлов начинаются с . по умолчанию считаются "скрытыми" и не отображаются в списках каталогов для удаления беспорядка).
(Альтернативный ответ: "Потому что так хочет местный администратор".)

вы не сможете скачать .htaccess файл] в этом конкретном случае.

Неправильно.
Соглашение с точечным файлом влияет только на то, отображается ли что-либо по умолчанию.
Точечные файлы (или что-либо, что считается "скрытым" операционной системой хоста) все еще могут быть доступны непосредственно по имени и показаны в списке каталогов, указав -a возможность ls,

Чтобы быть совершенно ясно: имя файла с лидирующей . это косметические соображения, а не соображения безопасности.

Другие вопросы по тегам