Смоленск 1.5 ошибки в auth.log

Сообщения
46
#1
требуется создать упрощённый лог-файл (кто когда вошёл, вышел, пытался войти), использую для этого файл auth.log, беру из него все строки, содержащие astra fly-.m

53:Aug 7 17:04:53 astra fly-wmpam: pam_unix(fly-wm:auth): authentication failure; logname=d uid=1000 euid=0 tty=:0 ruser= rhost= user=d
64:Jun 22 14:41:28 astra fly-dm: :0[2722]: pam_unix(fly-dm:auth): authentication failure; logname= uid=0 euid=0 tty=:0 ruser= rhost= user=d
65:Jun 22 14:41:34 astra fly-dm: :0[2722]: pam_unix(fly-dm:session): session opened for user d by (uid=0)
96:Jun 22 17:34:49 astra fly-dm: :0[2722]: pam_unix(fly-dm:session): session closed for user d
102:Jun 23 06:05:26 astra fly-dm: :0[2754]: pam_unix(fly-dm:session): session opened for user d by (uid=0)
113:Jun 23 09:43:08 astra fly-dm: :0[2754]: pam_unix(fly-dm:session): session closed for user d
119:Jun 23 06:41:35 astra fly-dm: :0[2753]: pam_unix(fly-dm:session): session opened for user d by (uid=0)
140:Jun 23 11:22:01 astra fly-dm: :0[2753]: pam_unix(fly-dm:session): session closed for user d
141:Jun 23 11:22:06 astra fly-dm: :0[5010]: pam_unix(fly-dm:auth): authentication failure; logname= uid=0 euid=0 tty=:0 ruser= rhost= user=d
142:Jun 23 11:22:11 astra fly-dm: :0[5010]: pam_unix(fly-dm:session): session opened for user d by (uid=0)
145:Jun 23 11:23:02 astra fly-dm: :0[5010]: pam_unix(fly-dm:session): session closed for user d
151:Jun 23 11:23:52 astra fly-dm: :0[2740]: pam_unix(fly-dm:session): session opened for user d by (uid=0)
154:Jun 23 11:24:45 astra fly-dm: :0[2740]: pam_unix(fly-dm:session): session closed for user d
160:Jun 23 08:26:32 astra fly-dm: :0[2748]: pam_unix(fly-dm:session): session opened for user d by (uid=0)
164:Jun 23 12:01:54 astra fly-wmpam: pam_unix(fly-wm:auth): authentication failure; logname=d uid=1000 euid=0 tty=:0 ruser= rhost= user=d
168:Jun 23 12:03:06 astra fly-dm: :0[2748]: pam_unix(fly-dm:session): session closed for user d
174:Jun 23 12:03:54 astra fly-dm: :0[2753]: pam_unix(fly-dm:auth): check pass; user unknown
175:Jun 23 12:03:54 astra fly-dm: :0[2753]: pam_unix(fly-dm:auth): authentication failure; logname= uid=0 euid=0 tty=:0 ruser= rhost=
176:Jun 23 12:04:01 astra fly-dm: :0[2753]: pam_unix(fly-dm:auth): authentication failure; logname= uid=0 euid=0 tty=:0 ruser= rhost= user=d
177:Jun 23 12:04:08 astra fly-dm: :0[2753]: pam_unix(fly-dm:session): session opened for user d by (uid=0)
обнаружилось два бага:
1) если пользователь выйдет из системы, а потом войдёт обратно с правильным паролем, этот вход не отображается в auth.log
строки 160, 164, 168 - выполнен вход, потом система уснула, выполнена попытка входа с неправильным паролем, потом выполнен выход, времени входа с правильным паролем нет. это событие вообще нигде не отображается? возможно есть другой лог-файл, в котором это событие есть?

2) при "холодном" старте системы не учитывается сдвиг GMT, т.е. входя в 9 утра по мск в лог пишется 6 утра
строки 102, 119, 160
 

oko

New member
Сообщения
1 257
#2
to DrageFabeldyr
Проверил:
  1. Вход-выход-вход-выход-вход пользователя корректно заносится в /var/log/auth.log. Гибернацию и сон не использую, поэтому их влияние не проверял. Весьма вероятно, что причина в них...
  2. Сдвиг GMT учитывается. В вашем случае либо неверное время в BIOS, либо какие-то трабблы с синхронизацией времени по NTP со сторонним сервером...
Кстати, свой файл заполняете с использованием сервиса rsyslog? Или самопальной программой выборки данных из auth.log? Если через rsyslog, то для задачи контроля локального входа/выхода и ошибок аутентификации самое простое использовать конструкцию :msg, contains, "session opened for user" /путь-к-файлу (аналогично для "session closed for user" и "authentication failure;")...
 
Сообщения
46
#3
1. имеется виду log off по бездействию системы или через завершение сеанса, если после этого начать новый сеанс с правильным паролем
2. похоже на то, обратил внимание на время, которое показывается на окне входа - там тоже время неправильное

собственный скрипт, мне нужны все попытки входа и выхода, удачные и нет
 

oko

New member
Сообщения
1 257
#4
to DrageFabeldyr
Дык, именно по "Завершению сеанса" и проверял. По бездействию не настраивал автоматическое завершение сеанса, но, думаю, результат будет аналогичный. Все обновления последние применили? У себя проверял на Update 5...
И, imho, проще и правильнее все же через rsyslog...
:msg, contains, "session opened for user" /var/log/auth-new.log
& stop
:msg, contains, "session closed for user" /var/log/auth-new.log
& stop
:msg, contains, "authentication failure;" /var/log/auth-new.log
& stop
Далее можно прикрутить logrotate, чтобы не переполнялся выхлоп в новый файл...
 
Сообщения
46
#5
"session opened for user", "session closed for user" - там полно таких сообщений от демона CRON
 

oko

New member
Сообщения
1 257
#6
to DrageFabeldyr
Поиграйтесь вот с таким выражением: if $programname !contains 'cron' and $msg contains 'session opened for user' then /var/log/auth-new.log
Или наоборот, в теле programname искать только "fly-". Но это некорректно, если имеется возможность удаленного подключения (через тот же SSH)...
Можно, кстати, через /etc/rsyslog.conf запретить перенаправление событий CRON в /var/log/auth.log. Короче, вариантов масса...
Вообще, почитайте ман по rsyslog. Любые вещи (перенаправление, запрет ведения, дубликация и проч.) с базовыми логами в системе корректнее доверять именно ему...
 
Сообщения
46
#7
в /etc/rsyslog.conf сейчас написано
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
т.е. по идее ничего кроновского туда и не должно выводиться?
добавил
auth,authpriv.*; cron.none /var/log/auth-new.log
ничего не проиcходит, файл даже не создаётся

а если сделать так
типа такого через /etc/rsyslog.d/10-auth-new.conf

:msg, contains, "session opened for user" /var/log/auth-new.log
& stop
:msg, contains, "session closed for user" /var/log/auth-new.log
& stop
:msg, contains, "authentication failure;" /var/log/auth-new.log
& stop
то auth-new.log создаётся, но он пустой...

чего-то я не понимаю, видимо


кроме того, остаётся открытым вопрос по записи входа с правильным паролем после тайм-аута, потому что блокировка компьютера по тайм-ауту - это минимальное требование безопасности, а если условный враг после этого зайдёт с правильным паролем, это нигде не зафиксируется :eek::unsure:
 

oko

New member
Сообщения
1 257
#8
to DrageFabeldyr
Проверял под ALSE 1.6, но с 1.5 у них одинаковый принцип функционирования и синтаксис rsyslog...
Таймаут не настраивал - попробуйте мой конфиг и проверьте, что выйдет...
Конфиг и результаты на скриншотах. /etc/rsyslog.conf по умолчанию (без каких-либо изменений)...
Если устроит - допиливайте конфиг под свои нужды, добавляя необходимые проверки и/или исключения...
 

Вложения

  • 180.3 КБ Просмотры: 278
  • 61 КБ Просмотры: 270

oko

New member
Сообщения
1 257
#10
to DrageFabeldyr
Странно, rsyslog по умолчанию от root отрабатывает - лишние права на директорию ему не нужны...
Надо будет глянуть, что там в 1.5 может отличаться. Навскидку, ничего. Вероятно, косяк либо в синтаксисе, либо в каких-то ваших конфигурациях системы, не относящихся к приведенным выше...