Назад | Перейти на главную страницу

Рекомендации по настройке и администрированию VPS (web / ftp / ssh)

После долгих колебаний я, наконец, заказал небольшой VPS для себя, в основном веб-хостинг (несколько веб-сайтов, для меня и моих друзей), среди прочего (хостинг mumble server, wave server и т. Д.). По сути, это будет базовая коробка LAMP.

Я хотел бы предложить немного места для хостинга нескольким друзьям и позволить им настроить его. Это означает, что им потребуется собственный FTP-доступ и, возможно, SSH (если он достаточно безопасен).

У меня есть некоторый опыт настройки / администрирования LAMP, но не очень большой в общем администрировании сервера (настройка пользователей, ftp и т. Д.). Вот почему я хотел бы начать с основ и создать что-то надежное и безопасное.

Управление пользователями

У каждого из моих друзей будет свой пользователь в системе, но что с этим делать? Могу ли я создать одну группу для каждого пользователя или все они будут в одной группе? Думаю, это изменится только в том случае, если я разрешаю им входить в систему через SSH, но об этом позже.

веб хостинг

Моя первая проблема - это общий веб-хостинг. Даже если я не буду размещать конфиденциальные данные, я не хочу, чтобы пользователи возились с чужими файлами. Я решил эту проблему перед использованием PHP / CGI и Apache suexec, но после прочтения Потрясающие статьи Стюарта Герберта о веб-платформах, Я хочу пойти с mpm-itk. Есть ли у вас отзывы по этому поводу?

Поскольку мой целевой пользователь в некотором роде фанатично, я подумывал позволить им настроить свой собственный php.ini. Что ты об этом думаешь ? Есть ли при этом какие-либо потенциальные угрозы безопасности?

Например, они могут сильно увеличить свой лимит памяти и повлиять на других пользователей, но я не думаю, что это будет проблемой.

FTP

Трудно развернуть ваш сайт без доступа по FTP, верно? Я прочитал много руководств по pureftpd, в которых объясняется, как создавать виртуальных пользователей. На самом деле это не относится ко мне, не так ли? Я просто думал о том, чтобы разрешить пользователям входить через ftp, chroot в их домашний каталог, и все. Есть еще что-нибудь (кроме отключения root-доступа по ftp)?

SSH

Это своего рода моя главная проблема. Как пользователь, мне всегда нравилось подключаться к моей учетной записи через SSH, просто для выполнения некоторых пакетных операций или извлечения архива непосредственно на сервер, вместо того, чтобы загружать каждый отдельный файл через FTP. Однако я не хочу, чтобы мои пользователи могли просматривать всю файловую систему и т. Д. Я не очень хорошо знаком с конфигурацией SSH, поэтому есть ли способ разрешить пользователям подключаться и «перемещать» их в свой дом ?

Другие мысли

Я уже поправляюсь на своей стороне, но мне бы очень хотелось услышать мнение всех мудрых гуру о том, как делать все правильно и как избежать ошибок новичков. У меня есть легко нажимаемая кнопка «Сброс ОС» в интерфейсе администратора моего VPS, но я не хочу, чтобы ей приходилось нажимать ее регулярно после того, как я увидел сообщение «H @ ked by th3 H4xx00r5» на всех моих размещенных веб-сайтах. .

Я развертываю весь свой веб-контент через SFTP, SCP или путем редактирования на сервере (или через используемую мной CMS). FTP, как таковой, не должно быть необходимости.

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

Разумеется, возможность входа через SSH должна быть разрешена по точно указанным вами причинам.

Я лично не позволю людям «настраивать» свои собственные файлы php.ini - я не использую VPS, который я использую аналогично вашему (т.е. размещаю несколько сайтов для себя и друзей). Это ваш сервер, и вы разрешаете другим использовать его: позвольте им использовать его в соответствии с вашими правилами. Я не могу вспомнить провайдера общего хостинга, на которого я когда-либо смотрел, который позволяет людям настраивать свои настройки php.ini.

Однако в какой-то момент это будет сводиться к тому, чтобы доверять своим друзьям НЕ сделать что-то злое / глупое / жестокое по отношению друг к другу.

Если вы не можете им доверять - я бы не позволил им иметь доступ вне CMS.

Например, я установил веб-корни другого пользователя следующим образом:

drwxr-x--- <user> apache

Это позволяет apache видеть и содержимое сервера, но только пользователь может вносить изменения.

Я управляю хостом уже много-много лет. За это время я обнаружил несколько вещей: если вы позволите своим пользователям запускать сценарии CGI, это будет более или менее «все ставки потеряны». Они не всегда могут делать что-то непреднамеренно, но есть вероятность, что позже вы почувствуете боль, позволив это.

Во-первых, вы резко увеличили вероятность появления дыр в безопасности. У меня были пользователи, которые устанавливали phpBB (под моей оболочкой suexec), а затем никогда не обновляли его ... У меня были люди, которые сами писали сценарии CGI, которые ждали появления дыр в безопасности - только отсутствие популярности предотвратило это.

Я поместил каждого пользователя в отдельную группу. Это пригодилось, когда я создал пользователя для определенной цели (например, MUD, когда они были популярны), и владелец MUD мог затем настроить файлы, используя разрешения группы.

В любом случае, если вы готовы помочь и готовы тратить время на то, чтобы люди не совершали плохих поступков, в большинстве случаев это довольно просто. Просто отнимает время у лучших вещей ИМХО.