Bilgisayarımdaki etkinliği izleme.


16

Bu yüzden yakın zamanda birisinin bilgisayarımı izinsiz, klasörlere göz atmadan kullandığını buldum ....

Tüm şifrelerimi hemen değiştirebilirdim, ama davetsiz misafirin ne aradığını merak ediyorum. Bu yüzden bir tuzak kurmak istiyorum (kötü sırıtış).

Bilgisayarımdaki herhangi bir etkinliği hangi yazılım izleyecek? Ekranımı yakalamanın burada çalışacağını biliyorum. Bir günlük dosyası kullanmayı tercih ederim.

Örneğin:

/var/log/activity.log

[1 Ağu 2010 20:23] / usr / bin / thunar erişildi / multimedya / cctv kayıtları /
[1 Ağu 2010 20:25] / usr / bin / mplayer erişti /multimedia/cctv-records/00232.avi
[3 Ağu 2010 02:34] / usr / bin / thunderbird
12.32.132.123 tarihinden itibaren gelen ssh oturumu çalıştırıldı [3 Ağu 2010 03:33]

Günlüğe kaydetmek istediğim etkinlikler:

  • Dosya sistemindeki dosya ve klasörlere erişim
  • Çalıştırılan komutlar (konsoldan veya başka türlü)
  • Kullanıcı Oturumları (giriş, ssh oturumları ve başarısız denemeler)

/var/log/auth.log üçüncü madde işaret noktanızı kapsamalıdır. Diğerleri biraz daha az önemsiz olacak.
Cascabel

@jefromi auth.log sadece sudo günlüklerini kaydeder ve su komut girişimleri ... giriş yok :(
Stefan

Yanıtlar:


8

inotifyErişilen dosyaları izlemek için çekirdek içi mekanizmayı kullanabilirsiniz .

İlk inotifyönce çekirdeğin açık olup olmadığını kontrol etmelisiniz :

pbm@tauri ~ $ zcat /proc/config.gz | grep CONFIG_INOTIFY
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y

Yapılacak bir sonraki şey kurulum inotify-tools. Proje sayfasında bulabileceğiniz çeşitli dağıtımlar için talimatlar - tüm büyük dağıtımların depolarında olmalıdır.

Bundan sonra inotify çalışmaya hazırdır:

inotifywait /dirs/to/watch -mrq

( m= bir olaydan sonra çıkma, r= özyinelemeli, q= sessiz)

Örneğin - çıktı ls /home/pbm

pbm@tauri ~ $ inotifywait /bin /home/pbm -mq 
/bin/ OPEN ls
/bin/ ACCESS ls
/bin/ ACCESS ls
/home/pbm/ OPEN,ISDIR 
/home/pbm/ CLOSE_NOWRITE,CLOSE,ISDIR 
/bin/ CLOSE_NOWRITE,CLOSE ls

Önemli olan, izlemek için dizinleri düzgün bir şekilde ayarlamaktır:

  • /özyinelemeli izlemeyin - çok fazla okuma / yazma var /devve/proc
  • ev dizinizi yinelemeli olarak izlemeyin - uygulamaları kullandığınızda uygulama yapılandırma dizinlerine ve tarayıcı profil dizinlerine çok fazla okuma / yazma vardır

Aynı /proc/sys/fs/inotify/max_user_watchesanda kaç dosyanın izlenebileceğini gösteren yapılandırma seçeneği vardır. Varsayılan değer (Gentoo için) çok yüksek değildir, bu nedenle izleyiciyi ayarlarsanız /home/sınırı aşabilirsiniz. Kullanarak sınırı artırabilirsiniz echo(root erişimi gerekir).

echo 524288 > /proc/sys/fs/inotify/max_user_watches

Ama ondan önce bu değişimin sonuçları hakkında okumalısınız .

Sizin için ilginç olabilecek seçenekler:

  • -d = arka plan modu
  • -o file = dosyaya çıktı
  • --format = kullanıcı tanımlı biçim, daha fazla bilgi man inotifywait
  • -e EVENT= Hangi olay izlenmelidir (örneğin access, modifyvb, içinde fazla bilgi man)

Ayarın sistem sıfırlamaları arasında son olmasını sağlamak için Debian üzerinde yapabilirsiniz echo 524288 >> /etc/sysctl.conf && service procps restart. Gentoo'da eşdeğer olan nedir?
tshepang

Demek istediğin şey echo "fs.inotify.max_user_watches = 524288" >> /etc/sysctl.conf. Gentoo'da aynı yöntemi kullanabilirsiniz, ancak init betiğinden sysctl.confkaynaklanır /etc/init.d/bootmisc.
pbm

1
aslında /etc/init.d/sysctl.
OneOfOne

7

Diğer adam sana mı bağlı? Fiziksel erişimi veya kök erişimi varsa, tüm izlerini silebilir ve hatta sizi gözetlemek için bir hata ekleyebilir . Öte yandan, bazı izler silmek için bir acıdır ve her şeyi düşünmek zordur.

Sistem günlüklerine çeşitli şeyler zaten kaydedilir, tipik olarak /var/log(bazı sistemler /var/logsveya gibi farklı bir konum kullanır /var/adm). Normal bir yapılandırma altında, tüm girişler ve bağlantılar diğerlerinin yanı sıra kaydedilir. Günlüklerin silinmesinden endişe ediyorsanız, uzaktan günlüğe kaydetme ayarlayabilirsiniz (bunun nasıl yapılacağı syslog uygulamasına bağlıdır, ancak gönderen ve alıcıdaki bir yapılandırma dosyasında genellikle bir veya iki satır değişir).

Siz veya dağıtımınız bu özelliği devre dışı bırakmadıysanız , her dosyanın dosya okunduğunda güncellenen bir erişim zamanı (“atime”) vardır. (Dosya sistemi noatimeveya relatimeseçeneğiyle bağlanmışsa, atime güncellenmez.) Atime ile taklit edilebilir touch -a, ancak bu ctime değerini günceller , böylece bir iz bırakır. (Kök bile bu izlemeyi doğrudan kaldıramaz, dosya sistemi kodunu atlamanız gerekir.)

Çeşitli programların oturum geçmişi vardır . Davetsiz misafir bunu hatırlarsa, çıkarmak veya taklit etmek kolaydır. Bash tutar ~/.bash_history, tarayıcılar profil dizinlerine birçok şey yazma eğilimindedir. Ayrıca hata veya uyarılar söylüyorum bulabilir ~/.xsession-errorsya /var/log/Xorg.0.logveya başka sistem bağımlı bir konumda.

Birçok birleşimin işlem muhasebesi özelliği vardır. Örneğin, GNU muhasebe yardımcı programları kılavuzuna , FreeBSD el kitabındaki girişe veya Linux teknik kılavuzuna veya Solaris kılavuzuna bakın . Etkinleştirildiğinde, kullanıcının hangi işlemi ne zaman başlattığını ( execvearamaları günlüğe kaydeder ) ve belki biraz daha fazlasını kaydeder . İşlem tarafından erişilen dosyalar gibi günlüğe kaydetmediği birçok ilginç bilgi var.

Bir dosya sistemine tüm erişimleri izlemek istiyorsanız, bunu logffs aracılığıyla sağlayabilirsiniz . Adamın bakmayı düşünüp düşünmediğini fark etmek çok kolay.

Daha kapsamlı günlük programları vardır, ancak ek çekirdek desteği gerektirebilirler. Solaris, FreeBSD, NetBSD ve Mac OS X'te dtrace var (devam eden bir Linux portu var, ancak kullanılabilir bir aşamaya ulaşıp ulaşmadığını bilmiyorum). Ayrıca belirli ptraceçağrıları, örneğin straceLinux'ta sistem çağrısına bir arabirim aracılığıyla izleyebilirsiniz ; fark edilir bir yavaşlamaya neden olabilir.

¹ Wikipedia değil bir şey? Hayır, bu çılgınca konuşma.


1

Fail2ban ve DenyHØsts'a bir göz atın .


1
Fail2ban, belirli eylemleri gerçekleştirmek için erişim günlüklerine bakar (örneğin bir ipin yasaklanması), ancak bu tür erişim günlüklerini oluşturmaz. DenyHosts, ip'i yasaklamak için TCP Sarmalayıcılarına güvenir, yine OP ile ilgili değildir.
Barthelemy

1

Bu tam olarak aradığınız şey değil, ancak bazı uygulamalar son erişilen dosyaların bir listesini tutar. Ayrıca, GNOME panelinden erişilebilen listeyi tutar.

Başka bir düzeltme, GNOME Etkinlik Günlüğü'nü kullanmaktır , ancak en son kontrol ettiğimde, CLI etkinliğinin bir kaydını tutmadı ve sadece diğer etkinlikleri göz ardı ederek dosyayla ilgili etkinliklerle (okuma, düzenleme) ilgileniyordu.

Ayrıca /var/log, bir grup programın günlüklerini sakladığı dizinin içine de bakabilirsiniz .


1

Saldırganınızın yanında yeterince naif olduğunu varsayarsak script -qft $USER-$$ 2> $USER-$$-time, terminal etkileşimlerini izlemek ve uygun scriptreplay komutlarıyla tekrar oynamak için uygun giriş betiğine atabilirsiniz.

Dosya düzeyinde erişimi izlemek strace -fe openiçin, sshd'ye uygun bir günlük kaydı ekleyerek giriş oturumları için filtreleme (veya belki de bunu yapmak daha iyidir.) Uyarı: Büyük çıktılar, modern bir sistemde herhangi bir şey yapmak çok sayıda dosyaya dokunduğu Sadece belirli dosyaları izlemek istiyorsanız, auditd ve destek altyapısına bir göz atın .

Oturumlar ve giriş denemeleri syslog'dan diğer cevaplara göre toplanabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.