Рекомендации веб-сервера: структура каталогов и безопасность

15

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

JPrescottSanders
источник
Я нашел этот ответ на serverfault.com и нашел его очень полезным. Множество комментариев - отличные лакомые кусочки для обсуждения этой темы.
MystaMax 13.10.10

Ответы:

5

То, что я сделал на своем сервере, чтобы мой пользователь мог сразу заняться этим, /var/wwwэто:

sudo chgrp -R www-data /var/www
sudo usermod -aG www-data $(whoami)
sudo chmod -R 775 /var/www/*
sudo chmod 2775 /var/www

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

MACO
источник
Это будет хороший метод, но только если вы создадите другую группу, из www-dataкоторой будет группа, под которой уже работает сам веб-сервер. В результате любой компромисс сценариев веб-сервера означает, что файлы /var/wwwмогут быть изменены. Просто измените www-dataчто-то вроде web-users(и сначала создайте эту группу с помощью sudo addgroup web-users).
Кис Кук
2

Это очень общий вопрос.

Очевидно, вы не хотите запускать свой веб-сервер от имени пользователя root. Тем не менее, установка Ubuntu уже делает это правильно.

Кроме того, на веб-сайте apache есть несколько советов, как правильно настроить каталог .

В отношении ftp. Вы хотите убедиться, что используете безопасный FTP-сервер, который не отправляет ваши имена пользователей и пароли в виде простого текста по сети. На страницах справки Ubuntu есть руководство по настройке такого FTP-сервера .

txwikinger
источник
Я ценю информацию, я понимаю, что она носит общий характер, и я надеялся, что, возможно, будет достаточно общего подхода к лучшим методам настройки.
JPrescottSanders
0

Когда у меня есть только сервер Ubuntu, когда несколько пользователей используют сервер в качестве веб-сервера, я удаляю /var/wwwкаталог, потому что для меня - /var/wwwэто место, где вы размещаете веб-файлы глобально. Я обновляю /etc/skelкаталог и добавляю папку publicand privateс символической ссылкой www -> publicи обновляю все мои виртуальные хосты DocumentRoots, чтобы они указывали /home/<user>/public.

Я не вижу /var/wwwместа для размещения нескольких пользовательских папок и файлов. Вот для чего /home/предназначен каталог! Он сохраняет пути и структуры каталогов в чистоте.

Марко Чеппи
источник