HTOP хорошее несоответствие уровня с хорошей командой?

Присутствие системной учетной записи, такой как корень, sys, никто, мусорное ведро, демон, и т.д. не был темой многих проверок защиты, которыми я был через за эти годы, и это действительно сводится к нескольким вещам.

Да эти типы учетных записей могут быть дырами в системе безопасности, особенно если им включили оболочку:

  • Плохо

    bin:x:1:1:bin:/bin:/bin/sh
    
  • Хороший

    bin:x:1:1:bin:/bin:/sbin/nologin
    

При конфигурировании с /sbin/nologin или иногда /bin/false эти учетные записи отключены от того, чтобы быть вошедшимся, но они могут все еще владеть процессами. Они могут также владеть файлами также.

Принадлежность файла

Давайте возьмем принадлежность файла сначала, так как это - более легкие из 2.

Наличие этих записей в /etc/passwd и /etc/group относительно принадлежности файла представляет нулевой риск. В этой способности их присутствие делает вывод инструментов как ls отобразите это:

  • с записью в/etc/passwd

    $ ls -l woof
    -rwxrwxr-x 1 saml saml 20284 May 31  2012 woof
    
  • без записи в/etc/passwd

    $ ls -n woof
    -rwxrwxr-x 1 500 501 20284 May 31  2012 woof
    

Таким образом с этой точки зрения более хорошо для администратора смочь видеть имена владельцев по сравнению с UID/GID, который это записано на диске. Но эти записи не обеспечивают дополнительного осуществления о том, что UID/GID может быть создан в системе, например:

$ touch afile && chown 10000:10000 afile
$ ls -l | grep afile
-rw-r--r--  1 10000 10000      0 Jun 11 05:11 afile

Единственный реальный риск, понесенный при наличии этих записей в /etc/passwd и /etc/group это, это дает быть взломщиком способность скрыть файлы в файловой системе и заставить их появиться, как будто они принадлежат путем предоставления их файлам большего количества подлинно выглядящего владения.

Владение процесса

Это - действительно проблема, которой большинство аудиторов, кажется, становится одержимым при наличии системных записей учетной записи в /etc/passwd. У них создается впечатление, что записи в этом файле ограничивают объем. Но вот протирание. Таким же образом это /etc/passwd не ограничивает Вашу способность создать файлы со спорадическим UID/ценурозами, и при этом это не осуществляет процессы, работающие как безотносительно UID/GID, который они хотят также.

Посмотрите это ТАК названные Вопросы и ответы: setuid определяет большой номер.

В UNIX существует 4 функции C, которые управляют, кому принадлежит процесс:

  • setuid() - идентификатор пользователя аппарата
  • seteuid() - установите эффективный идентификатор пользователя
  • setgid() - идентификатор группы набора
  • setegid() - установите эффективный идентификатор группы

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

  • setuid(500); setuid(0); Ответ: 500/500 (вызов first генерирует 500/500 и вторые сбои вызова).
  • seteuid(500); setuid(0); Ответ: 0/500 (вызов first генерирует 500/500 и второй вызов, генерирует 0/500).
  • seteuid(600); setuid(500); Ответ: 500/500 (вызов first генерирует 600/500 и второй вызов, генерирует 500/500).
  • seteuid(600); setuid(500); setuid (0); Ответ: 0/500 (вызов first генерирует 600/500, второе, генерирует 500/500, и третье генерирует 0/500).

Выше кода, одолженного отсюда: UID набора Привилегированные Программы - читает лекции примечаниям.

Таким образом учитывая тот факт, что пользователь ни у кого нет поднятых полномочий (т.е. sudo), нет опции, где сервер/сервис, работающий, поскольку никто не смог бы породить любые дочерние процессы как что-либо ни кроме кого. Если этот сервер/сервис, работающий, поскольку никто не был скомпрометирован, только файлы, принадлежавшие никому, будет находиться в опасности.

Сервисы

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

Для производственной системы установка не должна совершенно определенно включать средства разработки, такие как gcc/g ++, и только базовые услуги должны работать. Там должен существовать политика обновления периодически обновить программное обеспечение, установленное в этой системе.

Говоря все вышеупомянутое, ни одно из этого не имеет никакого отношения к присутствию дополнительных счетов на связанные с системой операции в /etc/passwd файл.

Windows

Я упоминаю это здесь, потому что в конце дня, 9 раз из 10, аудиторы будут знакомы с безопасностью Windows, где они не могут быть так же знакомы с безопасностью UNIX.

При рассмотрении системы Windows, Вы будете видеть приблизительно дюжину учетных записей пользователей, которые непосредственно не связываются с определенным пользователем. Это системные учетные записи, и они служат точной цели, которой служит учетная запись, такая как никто. Без них, или если бы они были отключены, система Windows была бы эффективно в действующем. Так также для системы UNIX.

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

Ссылки

5
02.08.2018, 19:20
2 ответа
[1129378] Значение "хороший" варьируется от -20 (высший приоритет, совсем не хороший для других процессов) до 19 (наименьший приоритет, очень хороший для других). При запуске [1129752]nice -20[1129753] (эквивалентно [1129754]nice -n 20[1129755]) или [1129756]sudo nice -n -42[1129757] (эквивалентно [1129758]sudo nice --42[1129759]) или любого другого значения вне пределов, значение "nice" перемещается в пределы пределов.[12119] Красный цвет - это просто окраска, применяемая к отрицательным значениям в этом столбце, указывающая на высокоприоритетные ("неприятные") процессы. Положительные значения зеленого цвета указывают на низкоприоритетные ("нехорошие") процессы.[1129381].
5
27.01.2020, 20:39

Вы, наверное, ошибаетесь и не установили для любезности -20.

Если вы выполнили команду как обычный пользователь, вместо -x вы получите 0. Для значений> 20 вы получите 20.

Если вы работаете как root, для значений <-20 вы получите -20.

Тестирование как обычный пользователь:

$ nice -n -20 sleep 100
nice: cannot set niceness: Permission denied

# ps ax -o pid,ni,cmd | grep "sleep 100"
26349   0 sleep 100

Тестирование как root:

$ sudo nice -n -200 sleep 100

# ps ax -o pid,ni,cmd | grep "sleep 100"
28118   0 sudo nice -n -200 sleep 100
28119 -20 sleep 100
0
27.01.2020, 20:39

Теги

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