Видео ролики бесплатно онлайн

Смотреть мамки видео

Официальный сайт hauteecole 24/7/365

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

01.08.10 22:17 immortalday

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

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

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

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
6

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, в него добавляется строка следуещего вида

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 sirin@zarin.expressweb[6503]: 228
#01111.04.10 10:59:25#011ls -a
Apr 11 10:59:35 zarin sirin: -- CMD -- /home/sirin sirin@zarin.expressweb[6503]: 229
#01111.04.10 10:59:35#011cd /media/sda2/
Apr 11 10:59:38 zarin sirin: -- CMD -- /home/sirin sirin@zarin.expressweb[6503]: 230
#01111.04.10 10:59:38#011ls
Apr 11 10:59:42 zarin sirin: -- CMD -- /home/sirin sirin@zarin.expressweb[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


Теги:

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

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

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

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 141)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 2810 из 215 городов)
            Топ пользователей Топ блогов
            welinux.ru

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

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


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

            Online video HD

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

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

            Full HD video online

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

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

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