Що означає помилку "X немає у файлі sudoers. Повідомлятиметься про цей випадок ". Філософсько / логічно мається на увазі?


31

Поряд із запитанням " Ім'я користувача відсутнє у файлі судорів. Про цей інцидент буде повідомлено ", який пояснював програмні аспекти помилки та пропонував деякі обходи, я хочу знати: що ця помилка означає?

X is not in the sudoers file.  This incident will be reported.

Колишня частина помилки пояснює, очевидно, помилку. Але друга частина говорить, що "Про цю помилку буде повідомлено" ?! Але чому? Чому про помилку буде повідомлено і де? Кому? Я і користувач, і адміністратор, і не отримував жодного звіту :)!


12
По-філософськи?!? Або технічно?
Джефф Шаллер


9
(Хороша) система мовчки записує багато речей. Багато і багато чого. Особливо помилки. Особливо, якщо він вважає їх недоброзичливими. Я думаю, що, запитуючи про "філософськи", ОП запитує, чому ця конкретна конкретна помилка попереджає вас настільки залякуючим чином про звітність, тоді як про більшість інших помилок повідомляється мовчки. Це може бути саме те, що написав оригінальний кодер на даний момент, але після багатьох версій він ніколи не змінювався і може бути глибший сенс. А може, ні. Якщо це фокус, я думаю, що це чудове питання, про яке я замислювався досить багато разів.
xDaizu

4
Це, мабуть, датується тим, що ви мали цілу будівлю з використанням 1 комп’ютера, а адміністратор / оператор доглядав за комп’ютером як за повним робочим часом.
користувач253751

1
Роки тому, коли я навчався в університеті, а раніше sudoя щось робив, я намагався зробити щось на корені на моєму особистому скриньці Linux. Отже, я побіг su. Коли він відхилив мій пароль, я спробував ще раз кілька разів, думаючи, що помилково ввів свій пароль. Врешті-решт я зрозумів, що цей термінал увійшов на сервер електронної пошти школи. Невдовзі після цього електронний сервер sysadmin запитав мене, чому я намагався отримати корінь у його системі. Тож явно була якась звітність, хоча це було і в попередні sudoдні.
Скотт Северанс

Відповіді:


38

Адміністратор (и) системи, ймовірно, захоче знати, коли непривілейований користувач намагається, але не виконує команди за допомогою sudo. Якщо це станеться, це може бути ознакою

  1. цікавий законний користувач, який просто випробовує речі, або
  2. хакер, який намагається зробити "погані речі".

Оскільки sudoсамі по собі не можуть розрізнити це, невдалі спроби використання sudoдоводяться до відома адміністраторів.

Залежно від того, як sudoналаштовано у вашій системі, будь-яка спроба (успішна чи ні) використання sudoбуде зареєстрована. Успішні спроби реєструються з метою аудиту (щоб можна було відслідковувати, хто що робив коли), і невдалі спроби безпеки.

Якщо у мене є досить ванільна установка Ubuntu, це зареєстровано /var/log/auth.log.

Якщо користувач тричі вводить неправильний пароль, або якщо їх немає у sudoersфайлі, електронному листу надсилається кореневий лист (залежно від конфігурації sudo, див. Нижче). Саме це означає "повідомлення про цей інцидент".

Електронний лист матиме важливу тему:

Subject: *** SECURITY information for thehostname ***

Тіло повідомлення містить, наприклад, відповідні рядки з лог-файлу

thehostname : Jun 22 07:07:44 : nobody : user NOT in sudoers ; TTY=console ; PWD=/some/path ; USER=root ; COMMAND=/bin/ls

(Тут, користувач nobodyнамагався втекти lsчерез sudoяк корінь, але не так як вони були не в sudoersфайлі).

Не надсилається електронний лист, якщо (локальна) пошта не була налаштована в системі.

Усі ці речі також настроюються, і локальні варіанти в конфігурації за замовчуванням можуть відрізнятися між варіантами Unix.

Погляньте на mail_no_userналаштування (та пов’язані з цим mail_*настройки) у sudoersпосібнику (мій акцент нижче):

mail_no_user

Якщо встановлено, пошта буде надіслана користувачеві поштового зв’язку, якщо користувач, який викликає, не знаходиться у sudoersфайлі. Цей прапор увімкнено за замовчуванням .


Або, найчастіше, ім’я 3) хтось занурює ду. У одного роботодавця, коли я це робив, я регулярно надсилав мені електронне повідомлення зі списком одержувачів, знаком із зазначенням місця розташування офісу та вмістом попереджувальної пошти, як відмови від офісу. Я колись зайшов до їхнього кабінету, щоб вибачитися і трохи їх налякав. Можливо, це було так, що, незважаючи на те, що вона є поважною компанією, що займається повсякденною діяльністю, я іноді об'їжджаю місце в чорному балахоні та парі ДМ, як ті хлопці у фондових фотографіях, як @Kusalananda зможе підтвердити.
Денні

15

У Debian та його похідних sudoреєструються звіти про інциденти, /var/log/auth.logякі містять інформацію про авторизацію системи, включаючи входи користувачів та механізми аутентифікації:

$ sudo su
[sudo] password for regularjohn: 
regularjohn is not in the sudoers file.  This incident will be reported.

[as root]

$ tail -n 1 /var/log/auth.log
Jun 21 16:30:26 marvin sudo: regularjohn : user NOT in sudoers ; TTY=pts/19 ; PWD=/home/regularjohn ; USER=root ; COMMAND=/bin/su

Цей файл журналу, як правило, доступний лише користувачам admгрупи, тобто користувачам, які мають доступ до системних завдань моніторингу :

$ ls -la /var/log/auth.log
-rw-r----- 1 syslog adm 76189 Jun 21 16:30 /var/log/auth.log

З Вікі Debian :

Груповий адміністратор використовується для завдань системного моніторингу. Члени цієї групи можуть читати багато файлів журналу в / var / log та можуть використовувати xconsole. Історично / var / log був / usr / adm (і пізніше / var / adm), таким чином, назва групи.

Користувачі в admгрупі, як правило, є адміністраторами , і цей дозвіл групи призначений для того, щоб вони могли читати файли журналів без необхідності su.

За замовчуванням sudoвикористовується програма Syslog authдля ведення журналів . sudoПоведінка реєстрації журналу може бути змінено за допомогою параметрів logfileабо syslogв /etc/sudoersабо /etc/sudoers.d:

  • logfileПараметр задає шлях до sudoфайлу журналу.
  • Цей syslogпараметр встановлює об'єкт Syslog, коли syslog(3)він використовується для ведення журналу.

Syslog authоб'єкт перенаправляються /var/log/auth.logв etc/syslog.confнаявності наступної строфи конфігурації:

auth,authpriv.*         /var/log/auth.log

7

Технічно це нічого не означає. Багато (якщо не всі) іншого програмного забезпечення реєструються, не вдалося або в інший спосіб. Наприклад sshdі su:

Jun 21 17:52:22 somehost sshd[25807]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=::1  user=root
Jun 21 17:52:22 somehost sshd[25807]: Failed password for root from ::1 port 37268 ssh2
Jun 21 17:52:23 somehost sshd[25807]: Connection closed by ::1 port 37268 [preauth]
Jun 21 17:52:28 somehost su[25809]: pam_unix(su:auth): authentication failure; logname= uid=1000 euid=0 tty=/dev/pts/15 ruser=someuser rhost=  user=root
Jun 21 17:52:28 somehost su[25809]: pam_authenticate: Authentication failure
Jun 21 17:52:28 somehost su[25809]: FAILED su for root by someuser

Крім того, багато систем мають певну автоматику для виявлення надмірних помилок аутентифікації, щоб мати можливість вирішувати можливі спроби грубої сили або просто використовувати інформацію для відновлення подій після появи проблем.

sudoтут не робиться нічого особливо виняткового. Все повідомлення означає, що автор програми, sudoсхоже, взяв дещо агресивну філософію у спілкуванні з користувачами, які, як правило, виконують команди, які вони не можуть використовувати.


6

Це просто означає, що хтось намагався використовувати sudoкоманду (для доступу до привілеїв адміністратора), хто не має дозволу на її використання (тому що вони не вказані у файлі sudoers). Це може бути спроба злому або якийсь інший ризик безпеки, тому в повідомленні йдеться про те, що про спробу використання sudoбуде повідомлено системного адміністратора, щоб вони могли розслідувати.


1
Добре, що в моїй локальній машині я єдиний користувач і адміністратор, і я можу вам сказати, що я не отримував жодного звіту!
Касрамвд

4
@Kasramvd ви, мабуть, в якомусь файлі десь. Я не точно впевнений, куди sudoнадсилає звіт. У Вашій ситуації, якщо Ви маєте лише одного користувача, це, мабуть, не дуже важливо.
Time4Tea

2
@Kasramvd Ви перевіряли електронний лист кореневому користувачеві? Крім того, ви адміністратор, але у вас немає sudo для свого облікового запису? Як ви вирішуєте ескалацію пільг?
doneal24

@Kasramvd Вам не повідомлялося ....
Thorbjørn Ravn Andersen

1
@Kasramvd Ви думаєте, що ви адміністратор. ОС чітко говорить вам, що ви не маєте дозволу виступати адміністратором - ви в кращому випадку є власником обладнання, але це не обов'язково робить вас адміністратором
slebetman
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.