Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Cześć,
Mam pytanie czy jest możliwość skonfigurowania pliku historii dla użytkownika roota na wzór czegoś w stylu np. Każdy użytkownik loguje się do serwera swoim kontem domenowym, poprzez sudo su wchodzi na roota, siedząc na roocie zapisywane są w pliku historii informacje o tym jakich poleceń użył konkretny użytkownik domenowy będąc jednocześnie na roocie? Mam nadzieję że w miarę jasno to wytłumaczyłem i wiadomo o co chodzi.
przykładowo aby np. do historii roota dodać informację o zmianach jakie wykonał konkretny użytkownik wykorzystując usera root ?
1027 2016-07-26 username1 12:45:54 ssh serv1 1028 2016-07-26 usernam2 13:47:59 df -hl 1029 2016-07-26 username213:48:08 host serv2 1030 2016-07-26 username1 13:49:54 ping serv2 1031 2016-07-26 username1 13:52:44 rm -rf /home/user1 1032 2016-07-26 username2 11:50:43 ssh serv3
Z góry dzięki za wszelką pomoc.
Offline
Tak, jak piszesz, to chyba nie, a przynajmniej nic mi o tym nie wiadomo. Ja bym rozwiązał to przez tworzenie osobnego pliku dla każdego z użytkowników (doklejenie wartości SUDO_USER do nazwy pliku)
Offline
Znacznie lepiej zintegrować audit.d + ossec - szczególnie na wielu maszynach.
Offline
Jeśli chodzi o śledzenie z punktu widzenia bezpoieczeństwa to jak najbardziej. Jednak aditd to duża kobyła i śledzi na poziomie wywołań systemowych. Odniosłem wrażenie, że koledze Kamil2685 chodziło raczej o prostsze rozwiązanie.
Offline
[quote=jurgensen]Tak, jak piszesz, to chyba nie, a przynajmniej nic mi o tym nie wiadomo. Ja bym rozwiązał to przez tworzenie osobnego pliku dla każdego z użytkowników (doklejenie wartości SUDO_USER do nazwy pliku)[/quote]
SUDO_USER to niezły pomysł, ale ja bym kombinował logowanie komend roota do sysloga, i tam w logach postarał się schować zmienną SUDO_USER, a w syslogu całość posłać do SQLa np modułem [b]omysql[/b] z [b]rsyloga[/b].
W ten sposób można by dosyć sprawie sortować i sprawdzać co, kto i kiedy zmalował.
Plik historii każdy może usunąć będąc na roocie, swój albo cudzy, a do bazy danych i konfigu rsyslog wcale nie musi mieć dostępu, da się to ograniczyć nawet dla powłoki roota, wykorzystując np Apparmora albo SELinuxa, czy choćby RBAC z Grseca.
Tu chyba jest kilka sposobów na rozwiązanie tej kwestii z auditd i bez.
http://serverfault.com/questions/470755/log-all-commands-run-by-admins-on-production-servers
Trzeba jednak pamiętać, że oprócz [b]sudo[/b] jest jeszcze [b]su[/b].....
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2016-07-28 19:11:58)
Offline
Jeśli chodzi o rozwiązanie Jacekalex, to była kiedyś łatka na Bash, która wysyłała wprowadzane polecenia do sysloga.
Offline
[quote=jurgensen]Jeśli chodzi o rozwiązanie Jacekalex, to była kiedyś łatka na Bash, która wysyłała wprowadzane polecenia do sysloga.[/quote]
Nie tylko łatka:
* Found these USE flags for app-shells/bash-4.3_p42-r1:
U I
- - afs : Add OpenAFS support (distributed file system)
[b] - - bashlogger : Log ALL commands typed into bash; should ONLY be used in
restricted environments such as honeypots[/b]
- - examples : Install examples, usually source code
+ + mem-scramble : Build with custom malloc/free overwriting allocated/freed
memory
+ + net : Enable /dev/tcp/host/port redirection
+ + nls : Add Native Language Support (using gettext - GNU locale
utilities)
- - plugins : Add support for loading builtins at runtime via 'enable'
- + readline : Enable support for libreadline, a GNU line-editing library
that almost everyone wants
- - vanilla : Do not add extra patches which change default behaviour; DO
NOT USE THIS ON A GLOBAL SCALE as the severity of the
meaning changes drastically[/quote]
Nie wiem tylko, jak w samym Bashu się konfiguruje format takiego loga, żeby miał w sobie zmienną SUDO_USER.
Jeżeli sam kombinujesz z log_command i trap, to nie ma tego problemu.
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00014 | SET CHARSET latin2 |
0.00007 | SET NAMES latin2 |
0.00130 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.149.239.79' WHERE u.id=1 |
0.00091 | UPDATE punbb_online SET logged=1732378038 WHERE ident='3.149.239.79' |
0.00040 | SELECT * FROM punbb_online WHERE logged<1732377738 |
0.00074 | DELETE FROM punbb_online WHERE ident='3.147.86.246' |
0.00070 | DELETE FROM punbb_online WHERE ident='66.249.66.7' |
0.00069 | SELECT topic_id FROM punbb_posts WHERE id=303632 |
0.00098 | SELECT id FROM punbb_posts WHERE topic_id=28818 ORDER BY posted |
0.00085 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28818 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00080 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28818 ORDER BY p.id LIMIT 0,25 |
0.00260 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28818 |
Total query time: 0.01023 s |