Как я могу остановить запуск Apache от имени root?


8

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

Я начал копать, и кажется, что Apache, сайт и все работает на root. Нет других групп или пользователей. ACK!

Какие шаги я должен предпринять, чтобы изменить это? Я знаю, что это большой нет-нет ...

Бонусные баллы, если кто-нибудь может подсказать мне хороший базовый учебник 101 по безопасности apache / php.

Ответы:


13

Apache работает как rootлюбая стандартная конфигурация. Как вы определили, что Apache работает от имени пользователя root? Обратите внимание, что Apache должен запускаться от имени пользователя root для привязки к привилегированным портам, но обычно он теряет свои привилегии позже.

Вы можете посмотреть в конфигурации Apache (часто /etc/httpdили /etc/apache2, в зависимости от дистрибутива) для Userи Groupдиректив (документированных здесь ). Эти две директивы управляют тем, под каким именем пользователя запускается Apache.

Также необычно найти систему, в которой «нет других групп или пользователей». Что делать getent passwdи getent groupпоказывать? Существуют ли на самом деле нет других пользователей или групп, кроме root? Большинство дистрибутивов поставляются с пользователем apacheили www-dataпользователем, либо с такой конфигурацией, которая будет запускать Apache от имени этого пользователя.

Существует множество вводных руководств по настройке и безопасности Apache. Простой поиск в Google дает много вероятных результатов. Руководство по развертыванию RedHat / CentOS - хорошее место для начала (если вы работаете в системе RedHat / CentOS).


Спасибо, да, он не запускался без root, но, похоже, все остальное было сделано с помощью root. все папки, файлы и т. д. Мне нужно решить, как это изменить.
r00tAcc3ss

Ну ... не обязательно. Вы не хотите, чтобы файлы принадлежали тому же пользователю, что и запущенный процесс Apache. В идеале компромисс на веб-сервере не приведет к тому, что злоумышленник сможет изменить вашу конфигурацию Apache или веб-контент.
Жаворонки

0

Вы можете запустить Apache как любой пользователь с номерами портов, превышающими номер привилегированного порта 1024+. Затем используйте переадресацию портов для пересылки трафика с портов 80 и 443 на определенные порты.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.