Чем полномочия должны быть для файлов веб-сайта?

  1. Не используйте BackTicks , используйте $ () .
  2. Используйте отдельные цитаты вокруг буквальных строк и двойных переменных , поэтому Echo "$ test" .
  3. Не используйте ECHO , используйте printf .
  4. В конце концов:

        $ test="$(printf '%s' '[asdf]')"
        $ printf "%s\n" "$test"
        [asdf]
    
0
13.04.2017, 15:36
3 ответа

TL; DR: root: root rwxr-xr-x , если вам не нужен доступ в записи к каталогу, в этом случае root: www-data rwxrwxr-x , если только Вам необходимо защитить секреты (например, пароли базы данных) в веб-каталоге, в этом случае root: www-data rwxr-x --- , если вам не нужен доступ для записи и , вам нужно Для защиты секретов, в этом случае корня: www-data rwxrwx --- .

Да, в идеале, файлы вашего сайта должны принадлежать корню. Это из-за основного состава минимум привилегии: в отношении разрешений root можно сделать все равно, поэтому, наличие чего-то принадлежащего root, на самом деле не дает никаких дополнительных привилегий на корне - это просто отнимает привилегии с других учетных записей. Это хорошая вещь ™.

Если вы не знаете, какой является основной принцип наименее привилегии, он в основном: дайте обрабатывать голые минимальные разрешения, которые им нужны, и не более, потому что вы хотите ограничить повреждение, если и когда процесс получает PWD и Атакующий получает поиграть с любыми блестящими новыми разрешениями, которые он только что унаследовал от процесса PWD. Это мотивация для SELinux , демоны, имеющие способность привилегии , возможности Linux , Chroot Jails 1 - Все Из этих вещей предназначены для ограничения ущерба, который может сделать процесс, если он должен быть захвачен злоумышленником.

В типичном сценарии вы хотите, чтобы все могли прочитать привилегии и дать только корневые привилегии. В этом сценарии, настроили ли ваш веб-каталог, который будет принадлежать группе www-data 2 , на самом деле не имеет значения, потому что он собирается получить RX Разрешения в любом случае.

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

1 : Это небольшое искажение. Системный вызов () Chroot () вызов был фактически никогда не был спроектирован как функция безопасности, а в тюрьмах Chroot были изобретены после Chroot () . Из-за этого у них есть некоторые ограничения - например, если вы root, Вы можете вырваться из тюрьмы Chroot . То же самое относится то же самое относится к контейнерам (Docker, SystemD-Nspawn , я смотрю на вас). Такие вещи, такие как BSD Tails и Solaris Zones , в основном приняли концепцию Chroot Jails и на самом деле сделали их , так что запретить уязвимости безопасности ядра, вы например, не может вырваться из тюрьмы BSD, , даже если вы root внутри этого .

2 : имя группы веб-сервера может варьироваться от распространения. Это www-data на Debian и производных, но я не знаю о том, что делает семья Рол.

1
28.01.2020, 02:51

Я могу быстро подумать как минимум по двум причинам , у вас есть контент вашего сайта, принадлежащий к корню:

  • некоторые инструменты, такие как SUEXEC ] предназначены для запуска скриптов и тому подобного под пользователем, который принадлежит файл. Если вы не используете это, то, то вам не должно быть включено, и, кроме того, я полагаю, что Суэкск отказывается запускать вещи под привилегиями специальных пользователей, таких как root, но как защита в глубине, вы не должны иметь файлы, принадлежащие к корню в первую очередь.
  • Вам нужен root-доступ для поддержания веб-сайта. Нет необходимости делать поддержание веб-сайта, требуется больше привилегий, чем вам нужно. Стать рутом каждый раз, когда вы поддерживаете веб-сайт, увеличивает экспозицию корневой учетной записи и увеличивает потенциал для случайного ущерба, который вы можете нанести ошибку, когда вы поддерживаете веб-сайт.
0
28.01.2020, 02:51

Рассмотреть возможность использования BuildRoot для создания целевой корневой файловой системы. Этот проект использует конфигурацию ядра Linux и построить рабочую силу во всей встроенной системной системе.

-121--111611-

Отрицательный логин root - это хорошее решение, root - популярная цель в атаках Brute-Force SSH.

root кажется усужденным выбором для владельца веб-контента, я использую обычную учетную запись пользователя. Там, где работают работа по разработке Webdeveloper WebDeveloper Group, имеет смысл, где есть только один разработчик, или учетная запись разработчиков совместно с несколькими разработчиками нет необходимости в специальной группе. Отказ

0
28.01.2020, 02:51

Теги

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