Ostatnio odkryłem, że ktoś korzysta z mojego komputera bez zgody, przeglądania folderów itp.
Mogłem od razu zmienić wszystkie moje hasła, ale jestem ciekawy tego, czego szukała impreza. Chciałbym więc ustawić pułapkę (zły uśmiech).
Jakie oprogramowanie będzie monitorować dowolną aktywność na moim komputerze? Chociaż wiem, że przechwytywanie mojego ekranu będzie tutaj działać. Wolałbym użyć pliku dziennika.
Na przykład:
/var/log/activity.log
[1 sierpnia 2010 20:23] / usr / bin /
thunar access / multimedia / cctv-records / [1 sierpnia 2010 20:25] / usr / bin / mplayer access /multimedia/cctv-records/00232.avi
[3 sierpnia 2010 02:34] / usr / bin / thunderbird został uruchomiony
[3 sierpnia 2010 03:33] przychodząca sesja ssh z 12.32.132.123
Działania, które chciałbym zarejestrować to:
- Dostęp do plików i folderów w systemie plików
- Uruchamianie poleceń (z konsoli lub w inny sposób)
- Sesje użytkownika (logowanie, sesje ssh i nieudane próby)
źródło
Odpowiedzi:
Możesz użyć mechanizmu wbudowanego w jądro
inotify
do monitorowania dostępu do plików.Najpierw powinieneś sprawdzić, czy
inotify
jest włączony w jądrze:Następną rzeczą do zrobienia jest instalacja
inotify-tools
. Instrukcje dotyczące różnych dystrybucji można znaleźć na stronie projektu - powinny znajdować się w repozytoriach wszystkich głównych dystrybucji.Po tym inotify jest gotowy do pracy:
(
m
= nie wychodź po jednym zdarzeniu,r
= rekurencyjny,q
= cichy)Na przykład - wyjście po
ls /home/pbm
Ważną rzeczą jest prawidłowe ustawienie katalogów do oglądania:
/
rekurencyjnie - jest dużo odczytu / zapisu do/dev
i/proc
W
/proc/sys/fs/inotify/max_user_watches
istnieje opcja konfiguracji, która pokazuje ile plików można oglądać jednocześnie. Wartość domyślna (dla Gentoo) nie jest tak wysoka, więc jeśli ustawisz obserwatora,/home/
możesz przekroczyć limit. Możesz zwiększyć limit, używającecho
(wymagany dostęp do roota).Ale wcześniej powinieneś przeczytać o konsekwencjach tej zmiany .
Opcje, które mogą być dla Ciebie interesujące:
-d
= tryb demona-o file
= wyjście do pliku--format
= format określony przez użytkownika, więcej informacji wman inotifywait
-e EVENT
= Co należy monitorować zdarzenia (na przykładaccess
,modify
itp, więcej informacji wman
)źródło
echo 524288 >> /etc/sysctl.conf && service procps restart
. Jaki jest odpowiednik Gentoo?echo "fs.inotify.max_user_watches = 524288" >> /etc/sysctl.conf
. W Gentoo możesz użyć tej samej metody, alesysctl.conf
jest ona pozyskiwana ze/etc/init.d/bootmisc
skryptu inicjującego.Czy ten drugi facet do ciebie pasuje? Jeśli ma dostęp fizyczny lub root, może usunąć wszystkie swoje ślady, a nawet zasadzić na tobie błąd . Z drugiej strony, niektóre ślady są uciążliwe do usunięcia i trudno o wszystkim myśleć.
Różne rzeczy są już zapisane w logach systemowych, zwykle w
/var/log
(niektóre systemy używają innej lokalizacji, takiej jak/var/logs
lub/var/adm
). W normalnej konfiguracji wszystkie logowania i podłączenia są rejestrowane, między innymi. Jeśli obawiasz się, że dzienniki zostaną skasowane, możesz skonfigurować rejestrowanie zdalne (sposób wykonania tego zależy od implementacji syslog, ale zazwyczaj zmiana jednego lub dwóch wierszy w pliku konfiguracyjnym na nadawcy i odbiorcy).Jeśli Ty lub Twoja dystrybucja nie wyłączyłeś tej funkcji, każdy plik ma czas dostępu („atime”), który jest aktualizowany za każdym razem, gdy plik jest czytany. (Jeśli system plików jest zamontowany z opcją
noatime
lubrelatime
, atime nie jest aktualizowany.) Atime można sfałszowaćtouch -a
, ale to aktualizuje ctime, więc pozostawia ślad. (Nawet root nie może bezpośrednio usunąć tego śladu, musisz ominąć kod systemu plików.)Różne programy mają historię sesji . Łatwo go usunąć lub sfałszować, jeśli intruz o tym pamiętał. Bash utrzymuje
~/.bash_history
, przeglądarki mają tendencję do pisania wielu rzeczy w swoim katalogu profili i tak dalej. Możesz również znaleźć informacje o błędach lub ostrzeżeniach w~/.xsession-errors
lub w/var/log/Xorg.0.log
innej lokalizacji zależnej od systemu.Wiele jednorożców ma funkcję rozliczania procesów ¹. Zobacz na przykład podręcznik narzędzi księgowych GNU , pozycję w podręczniku FreeBSD lub instrukcje dla systemu Linux lub przewodnik Solaris . Po włączeniu rejestruje, który użytkownik uruchomił jaki proces, kiedy (loguje się
execve
połączenia) i być może nieco więcej. Jest wiele interesujących informacji, których nie rejestruje, takich jak pliki uzyskiwane przez proces.Jeśli chcesz monitorować wszystkie dostępy do systemu plików, możesz zapewnić je poprzez loggedfs . Bardzo łatwo zauważyć, że facet myśli.
Istnieją bardziej wszechstronne programy rejestrujące, ale mogą wymagać dodatkowej obsługi jądra. W systemach Solaris, FreeBSD, NetBSD i Mac OS X istnieje dtrace (trwa port Linux, ale nie wiem, czy osiągnął on użyteczną fazę). Można również śledzić określone procesy za pośrednictwem interfejsu
ptrace
wywołania systemowego, na przykładstrace
w systemie Linux; może powodować zauważalne spowolnienie.¹ Coś, czego nie ma w Wikipedii? Nie, to szalona rozmowa.
źródło
Spójrz na Fail2ban i DenyHØsts .
źródło
Nie jest to dokładnie to, czego szukasz, ale niektóre aplikacje przechowują listę ostatnio otwieranych plików. Ponadto GNOME przechowuje tę listę, do której można uzyskać dostęp z poziomu panelu.
Inną poprawką jest użycie GNOME Activity Journal , chociaż ostatni raz sprawdzałem, nie rejestrował aktywności CLI i był zainteresowany jedynie działaniami związanymi z plikami (czytanie, edycja), ignorując inne działania.
Możesz także zajrzeć do
/var/log
katalogu, w którym kilka programów przechowuje swoje dzienniki.źródło
Zakładając wystarczającą naiwność po stronie atakującego, możesz po prostu wrzucić go
script -qft $USER-$$ 2> $USER-$$-time
do odpowiedniego skryptu logowania, aby monitorować jego interakcje na terminalu i odtworzyć go za pomocą odpowiednich poleceń scriptreplay.Aby monitorować dostęp na poziomie plików, zalecam dołączenie
strace -fe open
odpowiedniego sshd i filtrowanie sesji logowania (a może lepiej po prostu to zrobić. Ostrzeżenie: Ogromne wyniki, ponieważ robienie czegokolwiek w nowoczesnym systemie dotyka wielu plików Jeśli chcesz tylko monitorować określone pliki, zapoznaj się z audytem i jego infrastrukturą wsparcia.Sesje i próby logowania można zebrać z syslog zgodnie z innymi odpowiedziami.
źródło