Merhabalar,
Bu makalemde linux işletim sistemleri üzerindeki kullanıcı hareketlerinin nasıl gözlemleneceğine dair pratik bilgiler aktaracağım.
Bildiğiniz gibi Linux, çok kullanıcılı bir işletim sistemidir ve aynı anda birden fazla kullanıcı, bir sistem üzerinde oturum açabilir. Sunucu yöneticisi olarak, son zamanlarda sisteme kimin giriş yaptığını belirlemek için, kullanıcılara ait son giriş geçmişini kontrol etmeniz de gerekmektedir. Kullanıcı etkinlik verileri, bağlı terminalin adı, kaynak IP’si, tarih ve saat gibi kullanıcı etkinlikleri hakkında birçok yararlı bilgiyi saklamaktadır.
Ayrıca, kullanıcıların sistemde ne kadar süre oturum açtığını da görebilmekteyiz. Böylece bazı sorunları analiz etmemize yardımcı olacak bilgilere de erişmiş oluyoruz. Örneğin, belirli bir süre içinde bazı dosyalar kaldırılırsa, belirli bir zamanda sisteme giriş yapan kullanıcılarla irtibata geçilebilir. Kullanıcı, sildiğini kabul etmese bile, kullanıcı etkinliği verileri, bu kullanıcının işletmiş olduğu komutları, hangi bilgisayardan, hangi IP ile geldiklerine dair çok detaylı bilgileri bize sağlayabilirler.
Alternatif olarak, bu bilgileri denetim sistemi günlüklerinin özet raporlarını üreten aureport aracını kullanarak da kontrol edebiliriz.
Benzer şekilde bu bilgileri başka amaçlarla da kullanabiliriz. Anonim giriş denemeleri bulunup bulunmadığını kontrol etmek için… Sisteme anonim kulllanıcılar tarafından giriş denemeleri ya da atak sayılabilecek durumları da görebilmeyi sağlar. Ayrıca, kullanıcının sisteme hangi IP adresinden eriştiğine dair bilgiyi de sağlayacağı için, kaynağın bulunabilmesi adına yararlı bilgiler de elde edilmiş olur.
Bu bilgiler (son oturum açma, geçerli oturum açma ve kötü oturum açma girişimleri) aşağıdaki dosyalardan alınabilir. Bu dosyaların neler olduğunu ve birbirleriyle ne gibi bir etkileşimde olduklarını açıklamaya çalışacağım…
Oturum açma olaylarını tutan dosyalar nelerdir?
utmp & wtmp dosyalarında oturum açma ve çıkış için günlükler bulunur. Bunlar ikili dosyalardır ve herhangi bir metin düzenleyicisiyle görülememektedir. İlgili dosyalar /etc/log dizininde bulunurlar. Ayrıca kötü giriş denemeleri de tutulmaktadır.
/var/run/utmp:
O anda sistemde oturum açmış olan kullanıcılar hakkında bilgi içerir. Kullanıcı listesini bu dosyadan çekebilmek için who komutu kullanılır. Yani özetle who komutu, bu dosyanın çıktısını verir.
/var/log/wtmp:
Tarihsel utmp içerir. Kullanıcıların giriş ve çıkış geçmişlerini tutar. Last komutunun çıktısı, bu dosyanın tuttuğu bilgileri bize sağlar.
/var/log/btmp:
Kötü giriş denemelerini içerir.
Kullanıcı hareketleri ve komutlarla ilişkileri
Kullanıcı hareketleriyle ilgili bilgileri bize sağlayan komutlar ve işlevleri aşağıdaki gibidir.
last Komutu Nedir?
last komutu, /var/log/wtmp dosyası içerisinde geriye doğru arama yapar ve bu dosya oluşturulduğundan beri oturum açmış (ve oturum kapatmış) tüm kullanıcıların bir listesini görüntüler.
lastb Komutu Nedir?
lastb, last komutuyla aynıdır. Ancak varsayılan olarak, tüm kötü giriş denemelerini içeren /var/log/btmp dosyasının bir günlüğünü gösterir.
Pts ve tty arasındaki fark nedir?
who komutunu kullandığınızda, çıkan listede pts ve tty gibi ibareler göreceksiniz. Bunların ne anlama geldiğini ve aralarındaki farkların ne olduğunu biliyor muyuz? Hemen açıklayayım…
- tty, yerel bir terminal cihazıdır. Yani kullanıcı, o sistemin başına gidip konsolundan login olmuştur.
- Pty, putty / xterm veya ekran vb. gibi başka bir program tarafından taklit edilen bir terminal cihazıdır. Yani kullanıcı, putty/xterm ya da benzeri bir program ile SSH üzerinden bağlanarak oturum açmıştır.
last Komutu Kullanılarak Linux Login History Nasıl Kontrol Edilir?
last komutunun, /var/log/wtmp dosyasından ayrıntıları aldığından ve sistemde oturum açan/kapatan kullanıcıların listesini görüntülediğinden bahsetmiştik.
Dosyada çok fazla veri varsa, bilgi sayfasını daha incelenebilir şekilde görüntülemek için more veya less komutlarını kullanabilirsiniz. Son 15 kayıdı görüntülemek için aşağıdaki komutu çalıştırabilirsiniz.
last -15
Sunucu adlarını son sütunda görüntülemek için aşağıdaki gibi de kullanabiliriz.
last -10 -a
Sunucu isimlerinin görüntülenmesini istemezsek, aşağıdaki biçimi kullanabiliriz.
last -10 -R
Sistem kapatma girdilerini ve çalıştırma düzeyi (run level) değişikliklerini görüntülemek için aşağıdaki şekilde komutu çalıştırabilirsiniz.
last -10 -x
last Komutu Kullanarak Linux’ta Belirli Bir Kullanıcı İçin Giriş Geçmişini Nasıl Kontrol Edebilirim?
last komutundan sonra, istediğiniz kullanıcı adını tanımlayarak ayrıntıları almanız yeterlidir.
last [User_Name]
last root
last Komutu Kullanarak Linux’ta Belirli Bir Süre İçin Giriş Geçmişini Nasıl Kontrol Edebilirim?
Belirli bir süre içinde, sisteme kimin ve nereden giriş yaptığını kontrol etmek isterseniz, komutu aşağıdaki biçimde kullanabilirsiniz. Örneğin, 2021 Şubat ayı içindeki tüm login aktivitelerini görmek istersek aşağıdaki komutu kullanabiliriz.
last -F | grep -E ‘Feb ([ 1-9]|1[0-9]|2[0-9]|30)’ | grep 2021
Peki buradan başka bir mantıklı sonuç çıkarabilir miyiz? Az önce belirli bir kullanıcı için oturum açma komutunu incelemiştik. Şimdi ise artık elimizde, belli bir zaman periyodu içinde oturum açma komutu da olunca, belirli bir kullanıcı için, belirli bir zaman periyodu içindeki oturum açma aktivitelerini de şu şekilde inceleyebilir duruma gelmiş oluyoruz.
last -F root | grep -E ‘Feb ([1-9]|1[0-9]|2[0-9]|30)’ | grep 2021
last Komut Kullanılarak Linux’a Terminalden Bağlanılan Giriş Geçmişi Nasıl Kontrol Edilir?
Terminal üzerinden bağlı kullanıcıların listesini almak için ise şu şekilde kullanmalıyız.
last pts/2
Lastb Komutu Kullanılarak Linux’ta Kötü Giriş Geçmişi Nasıl Kontrol Edilebilir?
Buraya kadar, hep oturup açmış ve başarılı şekilde oturum açmış kullanıcıları inceledik. Peki kötü giriş denemelerini nasıl görebiliriz? Yukarıda lastb komutundan bahsetmiştik.
lastb, last ile aynıdır, ancak kötü giriş denemelerini yazdırır.
lastb
Çıktı, farklı bir dosyadan çekilir ve bu dosyada arşivlendiğinden, ayrıntıları kontrol etmek için ilgili lokasyonda, ilgili dosyayı seçtim. Sizin ortamınızda dosya ismi farklı olacaktır.
lastb -f /var/log/btmp-xxxxxxxxxxx
Bu yukarıda belirttiklerime ek olarak, başarılı ve başarısız giriş denemeleri için alternatif olarak /var/log/secure ve /var/log/auth.log dosyaları ile de kontrol sağlanabilir.
Başarılı girişler için;
cat /var/log/secure-20210228 | grep Accepted | awk ‘{print $1,$2,$3,$9}’
Ubuntu tabanlı sistemler için:
cat /var/log/auth.log | grep Accepted | awk ‘{print $1,$2,$3,$9}’
Başarısız denemeler için:
cat /var/log/secure-20190331 | grep Failed | awk ‘{print $1,$2,$3,$11}’
ya da
grep Failed | awk ‘{print $1,$2,$3,$11}’ /var/log/secure-20210228
lastlog Komutu Nedir?
lastlog komutu, tüm kullanıcıların, en son oturum açma aktivitelerini bildirir. Hangi kullanıcıların sunucuya 30 ila 60 günden fazla giriş yapmadığını kontrol etmek istiyorsanız çok kullanışlıdır.
lastlog
Kullanıcı giriş çıkışlarının nasıl kontrol edileceğine dair aktaracaklarım, şimdilik bunlardan ibarettir.
Yararlı olması dileğiyle.
Yusuf İşleyen