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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-07-27 20:48:48

  sqrtek - Użytkownik

sqrtek
Użytkownik
Skąd: /bin/true
Zarejestrowany: 2012-06-14

Konfiguracja pliku historii

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 ?

Kod:

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.


"Nie pozwól by zgiełk opinii innych ludzi, zagłuszył Twój wewnętrzny głos" ~ [i]Steve Jobs[/i]

Offline

 

#2  2016-07-27 22:22:52

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Konfiguracja pliku historii

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

 

#3  2016-07-27 23:01:15

  Kamil2685 - Użytkownik

Kamil2685
Użytkownik
Zarejestrowany: 2011-04-06

Re: Konfiguracja pliku historii

Znacznie lepiej zintegrować audit.d + ossec - szczególnie na wielu maszynach.

Offline

 

#4  2016-07-28 07:32:12

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Konfiguracja pliku historii

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

 

#5  2016-07-28 19:00:16

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Konfiguracja pliku historii

[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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2016-07-28 19:29:22

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Konfiguracja pliku historii

Jeśli chodzi o rozwiązanie Jacekalex, to była kiedyś łatka na Bash, która wysyłała wprowadzane polecenia do sysloga.

Offline

 

#7  2016-07-28 19:47:45

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Konfiguracja pliku historii

[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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.011 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00018 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00128 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.138.113.188' WHERE u.id=1
0.00077 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.138.113.188', 1714924766)
0.00071 SELECT * FROM punbb_online WHERE logged<1714924466
0.00112 SELECT topic_id FROM punbb_posts WHERE id=303655
0.00086 SELECT id FROM punbb_posts WHERE topic_id=28818 ORDER BY posted
0.00089 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.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00105 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.00090 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28818
Total query time: 0.00787 s