Home / Community / Blog / Monitorowanie dostępu do plików

Monitorowanie dostępu do plików

Czasem jest potrzeba monitorowania kto i kiedy (czy aby nie za często) zagląda do określonych plików. O ile dostęp dla zwykłych użytkowników możemy ograniczyć, chociażby przez ACL'e lub mechanizmy SE Linux, to z administratorami (słynny root) jest większy problem. Jest to szczególnie ważne w środowiskach gdzie jest kilku administratorów z uprawnieniami do korzystania z polecenia su lub/i sudo.

Linuks ma gotowe rozwiązanie każdego problemu (w końcu wykonuje pętlę nieskończona w 5 sekund) - w tym przypadku jest to auditd.

Aby monitorować kto zagląda do katalogu /shares/dokumety trzeba dopisać w pliku /etc/audit/audit.rules (na końcu):

-a exit,always -S all -F dir=/shares/dokumenty

i uruchomić ponownie auditd. Teraz każde odczytanie katalogu (polecenie ls to właśnie odczytanie katalogu) czy pliku w ścieżce /shares/dokumenty (łącznie z podkatalogami) będzie monitorowane.

Oczywiście tego może być dużo, a po drugie dla kogoś te dokumenty są, dlatego można dodać ogranicznik (na końcu lini)

-F gid!=555

jeżeli użytkownicy należący do grupy o numerze 555 mają mieć dostęp. Ponadto jeżeli interesuje nas tylko otwarcie pliku to można zamiast -S all dać -S open -S truncate. W całości taka reguła będzie wyglądała tak:

-a exit,always -S open -S truncate -F dir=/shares/dokumenty -F gid!=555

o innych opcjach można sobie jeszcze poczytać:

man audit.rules
man auditctl

Jak już wspomniałem taki logów może być dużo, a przeglądanie surowego pliku /var/log/audit.log nie nalezy do najprzyjemniejszych. Na szczeście do przeglądania logów można użyć polecenia ausearch z przełącznikiem -i które ładniej wyświetli daty zamiast timestamp'u i użytkowników zamiast ich uid'ów.

Comments

Log in or create a user account to comment.

Just my blog...

Mon Tue Wed Thu Fri Sat Sun
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31