Online video hd

Смотреть гиг видео

Официальный сайт медиатэк 24/7/365

Смотреть видео бесплатно

immortalday 01.08.2010 22:17

SecurityАудит действий пользователя в shell (bash/sh), sudo

Ведение логов шелла пользователя root через связку auditd и pam

Для того чтобы включить ведение логов пользователя root через связку auditd и pam нужно добавить в файл /etc/pam.d/system-auth-ac строку.

1
session required pam_tty_audit.so disable=* enable=root



Лог будет вестись в /var/log/audit/audit.log Для просмотра логов можно использовать команду aureport --tty -ts today
Параметры ключа -ts следующие: now, recent, today, yesterday, this-week, week-ago, this-month, this-year

листинг команды aureport --tty -ts today
1
2
3
4
5
TTY Report
===============================================
# date time event auid term sess comm data
===============================================
1. 11.04.2010 08:39:29 183 500 ? 1 bash "\"hello word@",<backspace>,"\"",<ret>



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

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

1
2
3
4
5
TTY Report
===============================================
# date time event auid term sess comm data
===============================================
56. 11.04.2010 09:16:50 239 500 ? 1 bash <up>,<up>,<up>,<ret>



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

листинг

1
2
3
4
5
6
7
8
9
TTY Report
===============================================
# date time event auid term sess comm data
===============================================
1. 11.04.2010 08:45:59 197 500 ? 1 bash "sh",<ret>
2. 11.04.2010 08:46:03 199 500 ? 1 sh "ls -a",<ret>
3. 11.04.2010 08:46:10 201 500 ? 1 sh "cd /media/sda2",<ret>
4. 11.04.2010 08:46:12 203 500 ? 1 sh "exit",<ret>
5. 11.04.2010 08:46:16 205 500 ? 1 bash <up>,<up>,<ret>



Из данного листинга видно что root вошел в шелл sh из шелла bash, просмотрел просмотрел полный список файлов в текущем каталоге, и перешел в каталог /media/sda2 и вышел из sh обратно в bash.

История сохраняемая в файл .bash_history не содержала бы истории пользователя после перехода его в шелл sh, а просто зафиксировала бы что он вошел в sh и все.

Ознакомится с документацией по pam_tty_audit.so можно через команду man pam_tty_audit.so

Ведение логов шелл пользователя через trap и rsyslog

Настройка в данном варианте будет выглядеть следующим образом.
В директорию /etc/profile.d/ надо добавить файл blog.sh, например вот так nano /etc/profile.d/blog.sh с содержимым из листинга

листинг blog.sh

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
__LAST_COMMAND="$(history 1)"
declare -r BASH_COMMAND
declare -r __TRAP='
__THIS_COMMAND="$(history 1)"
if < "$__LAST_COMMAND" != "$__THIS_COMMAND" >
then
__LAST_COMMAND="$__THIS_COMMAND"
if < "$PROMPT_COMMAND" != "$BASH_COMMAND" >
then
'"$(which logger)"' -p local5.notice -- "-- CMD -- '"$(pwd)"' $LOGNAME@$HOSTNAME<$
$>: $__LAST_COMMAND"
fi
fi'
declare -r PROMPT_COMMAND='trap "$__TRAP" DEBUG'
declare -r HISTCONTROL=''



Также следует внести изменения в файл /etc/rsyslog.conf, в него добавляется строка следуещего вида

1
local5.*   /var/log/bash.log



Данный вариант настройки определяет ведение лога шелла в /var/log/bash.log в виде

1
2
3
4
5
6
7
8
Apr 11 10:59:25 zarin sirin: -- CMD -- /home/sirin [email protected]<6503>: 228
#01111.04.10 10:59:25#011ls -a
Apr 11 10:59:35 zarin sirin: -- CMD -- /home/sirin [email protected]<6503>: 229
#01111.04.10 10:59:35#011cd /media/sda2/
Apr 11 10:59:38 zarin sirin: -- CMD -- /home/sirin [email protected]<6503>: 230
#01111.04.10 10:59:38#011ls
Apr 11 10:59:42 zarin sirin: -- CMD -- /home/sirin [email protected]<6503>: 231
#01111.04.10 10:59:42#011cd ~



Лог по умолчанию будет вестись для каждого пользователя в системе. Следует обратить внимание что если пользователь сменит шелл на sh, то в логе зафиксируется только смена шелла, лог шелла запущенного внутри шелла вестись небудет.

Настройка ведения логов sudo

Для ведения лога команды sudo следует добавить в /etc/sudoers

1
2
Defaults loglinelen=0
Defaults log_year,logfile=/var/log/sudo.log



Параметр log_year приводит к добавлению года в лог-файл, содержимое лога представлено в листинге

листинг /var/log/sudo.log

1
2
3
4
Апр 11 12:14:55 : sirin : TTY=pts/4 ; PWD=/home/sirin ; USER=root ; COMMAND=/bin/nano
/etc/sudoers
Апр 11 12:15:26 2010 : sirin : TTY=pts/3 ; PWD=/home/sirin ; USER=root ;
COMMAND=/usr/bin/less /var/log/sudo.log



Тэги: bash security shell
+ 10 -
Похожие Поделиться

digiwhite 01.08.2010 22:25 #
+ 1 -
Вообще-то неплохо было бы убрать 95% поста под кат, чтобы не вываливалось это все на главную.
immortalday 01.08.2010 22:26 #
+ 1 -
угу... но чет непонял как это сделать(((
dfx 01.08.2010 22:28 #
+ 0 -
на панели форматирования есть кнопочка cut Ставишь курсор перед тем местом, с которого всё должно быть скрыто с главной и жмёшь cut.
immortalday 01.08.2010 22:29 #
+ 1 -
спасиб, запомню
exelens 01.08.2010 22:28 #
+ 0 -
Спрятал =) под кат!
Автор! Продолжай!
immortalday 01.08.2010 22:56 #
+ 0 -
Продолжу) Как время\возможность будет, работу еще никто не отменял. Кого что интересует?
exelens 01.08.2010 23:00 #
+ -1 -
Ты лучше пиши про что знаешь =) А мы впитывать будем.
immortalday 01.08.2010 23:05 #
+ 0 -
хорошо)) от тематики ресурса отходить небуду)) про всякие AIX\Solaris\т.п. писать видимо тут не в тему будет.
ZogG 02.08.2010 09:51 #
+ 0 -
мне бы интересно было бы
K900 01.08.2010 22:39 #
+ 0 -
Автор просто монстр - две статьи за день при температуре 40+ за бортом! Так держать!
exelens 01.08.2010 22:41 #
+ 0 -
а у нас УРА =)) всего 23
K900 01.08.2010 22:43 #
+ 2 -
В последнее время подобные фразы вызывают у меня желание убить сказавшего... Самара, +40, и еще будет +45
digiwhite 01.08.2010 22:46 #
+ 0 -
"Ох Самара-городок...."
exelens 01.08.2010 22:52 #
+ 0 -
С нашей влажностью, жара в 35 которая почти месяц стояла... тут всех вымотала... ппц
Zereal 02.08.2010 00:35 #
+ 0 -
поменяемся? хочу тепла, а не ночью +15-18!
pomkalk 01.08.2010 23:42 #
+ 0 -
Ага...а у нас 18
albibek 02.08.2010 09:24 #
+ 1 -
Отмечу ещё один недостаток способа trap+syslog: неверное время команды в логах, отсутствие последней введённой команды вплоть до возможности не получить её в логах вообще(kill -9 $$). У вводящего команды также есть возможность начать команду с пробела, и тогда она не попадёт в хистори и следовательно в логи.

Пояснение насчёт времени:
время X - Yминут: логин на сервер(время записывается в логи)
время X: ввод команды 1 (в логи пишется команда из предыдущей сессии или ничего не пишется - команда history выдаст ошибку)
время X + Zминут: ввод команды 2 и запись в лог команды 1 с временем X+10минут.

Как следствие, время ввода команды 1 остаётся неизвестным.

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн