Как запретить пользователю видеть аргументы командной строки?

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

Вероятно, вы видели это таким образом. Но это больше невозможно из-за этого коммита :

commit ec5b1157f8e819c72fc93aa6d2d5117c08cdc961

Включить вывод INTR / QUIT / SUSP в дисциплине строки N_TTY (например, ctrl-C будет отображаться как « если установлено stty echoctl и ctrl-C установлено как INTR).

Linux, похоже, единственная unix-подобная ОС (недавно я проверил это на Solaris, BSD и Mac OS X), которая , а не ведет себя таким образом, и я очень скучаю по этому как хорошее визуальное подтверждение прерывания программы в консоли или xterm. Я с любовью вспоминаю это по многим Unix, которые я использовал за эти годы. Перенос этого в Linux также кажется хорошим способом сделать его еще более совместимым со стандартным unix-подобным поведением.

Если вы с любовью помните, как Linux раньше , а не повторял ^ C , единственный способ вернуть прежнее поведение - это исправить ваше ядро. В последних версиях отображение символов, генерирующих сигнал, осуществляется в строках 1215–1218 файла drivers / tty / n_tty.c .

1
21.02.2016, 05:25
3 ответа

Боюсь, что все команды выполняются от имени пользователя сборки.

Тогда любой, кто отправляет сборку, может видеть и даже вмешиваться в работу другого пользователя. Запуск сборки может выполнить произвольный код; это позволяет любому, кто отправил сборку, не только выполнять ps, но и читать и писать файлы, принадлежащие другим заданиям. Если вы не можете доверять пользователям, которые отправляют сборки, то вы должны запускать сборки от отдельных пользователей.

Если вас беспокоят только пользователи, имеющие учетную запись на данном CI-сервере, но не имеющие права отправлять сборки, то вам может помочь опция hidepid . В качестве альтернативы, научите отправителей сборок передавать конфиденциальную информацию в файлах или переменных окружения вместо аргументов командной строки. Обратите внимание, что команда ps - это не то, о чем вам нужно заботиться, это просто красивый принтер для информации, найденной в файловой системе proc. Командную строку процесса 1234 можно распечатать с помощью cat /proc/1234/cmdline.

Если вы обеспокоены конфиденциальностью сборок, я рекомендую не пытаться закрыть одну потенциальную утечку информации за раз, а запускать все сборки в контейнере или виртуальной машине.

3
27.01.2020, 23:12

проверьте параметр hidepid для монтирования / proc

On multi-user systems, it is often useful to secure the process directories stored in /proc/ so that they can be viewed only by the root user. You can restrict the access to these directories with the use of the hidepid option.
To change the file system parameters, you can use the mount command with the -o remount option. As root, type:

mount -o remount,hidepid=value /proc

Here, value passed to hidepid is one of:

    0 (default) — every user can read all world-readable files stored in a process directory.
    1 — users can access only their own process directories. This protects the sensitive files like cmdline, sched, or status from access by non-root users. This setting does not affect the actual file permissions.
    2 — process files are invisible to non-root users. The existence of a process can be learned by other means, but its effective UID and GID is hidden. Hiding these IDs complicates an intruder's task of gathering information about running processes. 

ссылку для получения дополнительной информации -

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/ch-proc.html
4
27.01.2020, 23:12

Вместо того, чтобы передавать информацию в командной строке, вы можете изменить свою программу так, чтобы она считывала информацию со стандартного ввода, и запускала ее через подпроцесс, который запускает ее с помощью popen (канал). Просто не забудьте закрыть трубу с помощью pclose , когда закончите.

Дополнительная литература:

1
27.01.2020, 23:12

Теги

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