Основные вопросы о выполнении веб-сервера

Все Интернет-соединения создаются равные, иначе загружают скорость, единственная вещь, которая имеет значение

"Я просто узнал, каков T1, разве Вы не знаете, что мой кабель Comcast дома 6x быстрее, чем наше соединение на работе? Почему у нас нет этого здесь?"

Это больше не подходит, но это перешло к сути дела, где я буду скорее глотать главные продукты, чем пытаться объяснить SLA еще одному маркетинговому парню. (Хорошо, у меня был тот же вопрос, когда я был кустом поддержки рабочей станции, я допускаю его!)

0
задан 10 August 2009 в 21:08
8 ответов

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

То, куда поместить Ваш корень документа, не действительно важно. Конечно, Вам нужен доступ для записи к тому каталогу (не будучи корнем). Можно часто находить корень документа по умолчанию под /var/www или /srv/www.

PS: я рекомендовал бы Apache, легкий вес или нет. Существует огромный объем информации, легко доступной для ее конфигурации, и ее конфигурационные файлы нисколько не трудно понять.

8
ответ дан 4 December 2019 в 10:59
  • 1
    +1 для рекомендации Apache. Используя практически неизвестный веб-сервер, который I' m уверенный много лет позади разработки, помещенной в крупных игроков, опасно в лучшем случае В то время как конфигурация значения по умолчанию Apache выглядит огромной, это - главным образом комментарии. –  John Gardeniers 11 August 2009 в 03:41

Повторитесь после меня:

НИКОГДА не выполняйте веб-сервер как корень.

НИКОГДА не выполняйте веб-сервер как корень.

НИКОГДА не выполняйте веб-сервер как корень.

НИКОГДА не выполняйте веб-сервер как корень.

Как отъезд Вашего разблокированного дома и ехать в отпуск в течение 6 месяцев.

Как, туда, где поместить Ваш веб-корень. Я рекомендую где-нибудь, что это имеет смысл Вам. Я - большой поклонник помещения его где-нибудь НЕСТАНДАРТНЫЙ просто, потому что это помогает защитить от всех различных деточек сценария там. (Все еще не делает Вас в безопасности, но это помогает.)

3
ответ дан 4 December 2019 в 10:59
  • 1
    Как нестандартный документ базировался бы справка против деточек сценария? Или Ваш сервер является защищенным или это isn' t. –  innaM 10 August 2009 в 21:24
  • 2
    Несомненно, но если я поместил свои небезопасные сценарии в " 123scripts" вместо cgi-мусорного-ведра ДЕТОЧКИ СЦЕНАРИЯ, менее вероятно, найдут их. Я указал " сценарий kiddies" а именно, не хакеры. Большинство деточек сценария don' t даже потрудились УЗНАВАТЬ из скриптов, которые они запускают..., они просто охотятся на конфигурации по умолчанию, пароли по умолчанию, и... Вы получаете идею. Я сказал " это помогает defend" не, что это сделало Вас в безопасности. –  KPWINC 10 August 2009 в 21:50
  • 3
    Согласованный с KPWINC. Деточка сценария использует программу, которую кто-то еще записал, это, вероятно, имеет очень немного опций и ни один, что они поймут. It' ll быть разработанным для удара установки по умолчанию, с опциями по умолчанию. В то время как Вы никогда не должны полагаться на безопасность Через Мрак, она может другое препятствие преодолению, помогающему с защитой подробно модель. –  Dentrasi 10 August 2009 в 22:32
  • 4
    Высказывание " Никогда не выполняйте веб-сервер как root" таким снисходительным способом, не потрудившись объяснять, что необходимо запустить сервер как корень и удостовериться, он настроен для выполнения, поскольку отдельный пользователь является довольно бесполезным советом. –  theotherreceive 11 August 2009 в 02:05
  • 5
    Мои извинения, если Вы нашли это оскорбительным. Это было предназначено, чтобы быть юмористическим. Однако вопросом был " действительно ли желательно ВЫПОЛНИТЬ веб-сервер как корень? В противном случае, почему нет? " –  KPWINC 11 August 2009 в 02:16

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

Другой способ обработать это состоит в том, чтобы запустить программу веб-сервера на порте более чем 1 024 и использовать фронтенд (такой как лак или nginx), чтобы слушать порт 80 и передать веб-серверу бэкенда.

1
ответ дан 4 December 2019 в 10:59

Версия по умолчанию apache2 в репозитории Debian запускается как корень, но порождает фактические процессы Apache как пользователя www-data.

Я рекомендовал бы выполнить Ваш экспериментальный сервер как виртуальную машину под Xen или KVM. Таким образом, Вы начинаетесь с полностью чистой средой, которую можно безопасно уничтожить, если у Вас есть проблемы. Можно также изменить настройки в масштабе всей системы или установить программное обеспечение для тестирования в VM, не портя реальную систему.

1
ответ дан 4 December 2019 в 10:59

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

При запуске сервера Вы обычно возрастаете для укоренения полномочий с sudo (sudo apache2ctl start) и затем Apache связывает с указанными портами и затем возвращается для понижения полномочий.

Из-за моего образования Mac и моей любви для удобства чтения, мои сайты расположены в /var/WebServer. Внутри я имею default и много других сайтов, работающих как виртуальные хосты.

О Apache широко говорят, и ТОННЫ документации является доступным, лучшим и самым легким, из которых обеспечивается (по-моему), Slicehost (это не VPS конкретный хотя). Я консультировался бы с их статьями, чтобы видеть, как установить Apache быстро и надежно.

1
ответ дан 4 December 2019 в 10:59

Я должен согласиться с Manni на этом, апач является Вашим лучшим выбором запуститься с.

  • Это имеет большую часть суммы документации и справки для новых пользователей.
  • Это, идет с разумными значениями по умолчанию и пакетами от Debian, который они обслуживают скважину и гарантируют, выводят обновления безопасности быстро.
  • Большинство людей использует некоторого апача где-нибудь, так знание, что основы могут быть очень полезными
  • Apache является в значительной степени веб-сервером швейцарского ножа, большинство других разработано, чтобы работать при определенных обстоятельствах и/или быть очень хорошим в выполнении с меньшим количеством ресурсов. Imo, это - причина изучить это перед другими, но некоторые могут не согласиться.

Что касается конкретных вопросов Вы спросили:

  • Необходимо запустить веб-сервер как корень для него для привязки для портирования 80. Обычно Вы настраиваете сервер, чтобы отбросить эти privlidges и работать как другой пользователь, после того как он связывается с портом (на debian апаче, этот пользователь является www-пользователем, и это - установка по умолчанию). Программы, которые выполняют их собственные веб-серверы для определенных приложений, которые испытывают недостаток в этой функциональности, обычно проксируются через больший веб-сервер, такой как апач или nginx.
  • /var/www местоположение по умолчанию на Debian для корня веб-сайта. Это должно быть хорошо для любого веб-сервера, который Вы выбираете.
1
ответ дан 4 December 2019 в 10:59

Версия 1:

  • создайте другого пользователя в системе без слишком многих полномочий (никакой вход в систему даже)
  • в сценарии запуска веб-сервера делают su my.web.server.sh (так же, как пример)
  • создайте папку (например, под домашней папкой нового пользователя) и показанный его недавно созданному пользователю
  • дайте себе разрешения записи к той папке
  • установите эту новую папку как веб-корень

Версия 2: (мой фаворит)

  • склонные sudo - получают установку apache2/httpd
  • у Вас есть/var/www / [HTML] как веб-корень, Это должно заботиться обо всем для Вас - создают пользователя, корректные полномочия на папках, и т.д.

С риском повторения всех остальных выше: НИКОГДА НЕ ВЫПОЛНЯЙТЕ КОРЕНЬ AS :)

0
ответ дан 4 December 2019 в 10:59

Вот то, как Вы учитесь.

Шаг 1. Установите сервер со значениями по умолчанию.. Не помещайте НИЧЕГО значения на нем.

Шаг 2. Включите его к сети.

Шаг 3. Ожидайте 15 минут

Шаг 4. Посмотрите, сколько ущерба было нанесено ему.

========

Затем, вытрите его чистый полным, переустанавливают. Затем найдите соответствующую инструкцию по безопасности для своей ОС и веб-сервера. Сделайте то, что это говорит, включите его и ожидайте час. Если это все еще и не было поднято с затем, Вы хороши. Некоторое время.;)

Безопасность является продолжающимся танцем. Поддержите на высоком уровне и Ваша нога не ступится в.

Удача Вам.;)

-1
ответ дан 4 December 2019 в 10:59
  • 1
    Просто, потому что это hasn' t взломанный за час ничего не означает. Что, если нападение doesn' t прибывают до 61-й или 65-й минуты? You' ve, доказанный абсолютно только, учитывая себя очень ложное чувство защищенности. –  John Gardeniers 11 August 2009 в 05:46
  • 2
    Требуется приблизительно час для Вашего сайта, который будет зондироваться и поражаться деточками сценария. То время должно просто закончить общее, легко работать, попытки нападения. Кроме того необходимо будет непрерывно не отставать от пакетов обновления и возможно контролировать сервер (серверы) с IDS. Мой весь смысл не был полным уроком в безопасности. Скорее это должно было дать OP маленькое осуществление так, чтобы он мог понять основы того, как легко небезопасный сайт может быть pwnd. –  NotMe 14 August 2009 в 04:37

Теги

Похожие вопросы