Hepinize selamlar. 🙂
Bu makalemde sizlere Linux sistemler üzerinde olay müdahale süreçleri sırasında bilinmesi gereken aşağıdaki komutlardan bahsedeceğim;
- user account komutları,
- log girdi komutları,
- sistem kaynakları,
- servisler,
- processler,
- network ayarları komutları
Ve olay müdahalesi sırasında bu konumlarda yer alan anormal durumların nasıl tespit edileceği konularına değineceğiz.
Sistemler üzerinde herhangi bir saldırıyı tespit edebilmek, Incident Response açısından çok önemli bir adımdır. Incident Response adımları çok geniştir. Bu nedenle küçük adımlarla başlamak daha iyidir. Olay müdahalesi gerçekleştirirken her zaman saldırganların ihlal edebileceğini düşündüğünüz alanlara odaklanmamız gerekmektedir. Bu şekilde olay müdahalesi sırasında saldırıları tespit etmek oldukça kolaylaşmaktadır.
Ben de bu makalemde Linux Sistemlerde temel olarak olay müdahalesinin nasıl gerçekleştirildiği konusuna odaklanacağım. Şimdiden iyi okumalar.
Olay Müdahalesi Nedir?
Olay müdahalesi, bir bilgisayar veya ağ güvenliği olayları meydana geldiğinde öncesinde ya da anında gerçekleştirilen eylem planı olarak tanımlanmaktadır. Bu nedenle olay müdahalesi yapacak kişilerin sistemler üzerinde gerçekleştirilen normal durumları bilmesi çok önemlidir. Normal durumları bilmesi halinde sistemler üzerinde meydana gelen anormal durumları rahatlıkla tespit edebilir ve bu şekilde sistemler üzerinde hakimiyet kurabilmektedir.
Olan müdahalesinde olayları çözebilmek ve anlamlandırabilmek için şunlar yapılmalı ve bilinmelidir;
- Çalışan süreçlerin incelenmesi
- Fiziksel bellek hakkında içeriksel olarak bilgi sahibi olunması
- Ana bilgisayar adı, IP adresi, işletim sistemleri vb. ayrıntılı bilgi sahibi olunması
- Sistem hizmetleri hakkında bilgi toplanması
- Sistem üzerinde oturum açmış bilinen ve ya bilinmeyen tüm kullanıcıların tespit edilmesi
- Ağ bağlantıları, açık bağlantı noktaları ve ağ etkinliklerinin incelnemesi
- Mevcut olan dosyaların belirlenmesi ve incelenmesi
1. User Account (Kullanıcı Hesapları)
Olay müdahalesi yapacak kişinin kullanıcı hesabının etkinliklerini araştırması oldukça önem taşımaktadır. Bunun sonucunda oturum açmış kullanıcıları, mevcut kullanıcıları, olağan veya olağandışı oturum açmaları, başarısız oturum açma girişimlerini, izinleri vb. anlamlandırmamızı sağlamaktadır. Kullanıcı hesabı etkinliğini kontrol etmek için çeşitli komutlar vardır. Bu komutlar şu şekildedir;
cat /etc/passwd
- Linux’da “Setuid” seçeneği benzersiz dosya iznidir. Yani Linux bir sistemde kullanıcı şifre değişikliği yapmak istediği zaman “passwd” komutunu çalıştırabilir. Root hesabı setuid olarak işaretlendiği zaman geçici izin alınabilmektedir.
passwd -S [Kullanıcı_Adı]
Grep, normal bir ifadeyle eşleşen satırlar için düz metin aramak için kullanılır. “:0: /etc/passwd” dosyasındaki ‘UID 0‘ dosyalarını görüntülemek için kullanılır.
grep :0: /etc/passwd
Bu kısımda “UID” değerini değiştirerek de sonuçlar görüntülenebilmektedir.
- Saldırganların saldırılarını gerçekleştirmek üzere herhangi bir geçici kullanıcı oluşturup oluşturmadığını tespit etmek için şu komut kullanılmaktadır.
find / -nouser -print
- /etc/shadow, şifrelenmiş parolayı, parolalarla ilgili ayrıntıları içerir ve yalnızca kök kullanıcılar tarafından erişilebilmektedir.
cat /etc/shadow
- Group dosyası, kullanıcı tarafından kullanılan grupların bilgilerini görüntülemektedir.
cat /etc/group
- Kullanıcı bilgilerinin grup ayrıcalıklarıyla birlikte görüntülenmesi için şu komut kullanılmaktadır.
cat /etc/sudoers
2. Log Girdileri
Belirli bir kullanıcının veya Linux sistemindeki tüm kullanıcıların en son oturum açma sonuçlarını görüntülemek için şu komut kullanılmaktadır;
lastlog
-
Son giriş yapan kullanıcıların giriş çıkış bilgileri için;
last
- kali kullanıcısının son 20 girişini listelemek için;
last root | head -20
- Bütün kullanıcı bilgilerini görüntülemek için;
nano /var/log/wtmp
- Kullanıcı yetkilendirme ile ilgili tüm olayları görüntülemek için;
cat /var/log/auth.log
Herhangi bir SSH & telnet oturum açma veya sistemdeki kimlik doğrulamasını belirlemek ve görüntülemek için /var/log/ dizinine gidebilir ve ardından şu komut yazılır;
tail /var/log/auth.log
3. Sistem Kaynakları
Sistem kaynakları, sistem günlüğü bilgileri, sistemin çalışma süresi, bellek alanı ve sistemin kullanımı vb. hakkında bir çok bilgi burad ayer almaktadır.
- Linux sisteminizin fazla mesai yapıp yapmadığını öğrenmek veya sunucunun ne kadar süredir çalıştığını, sistemdeki mevcut saati, şu anda kaç kullanıcının oturum açtığını ve sistemin yük ortalamalarını görmek için “uptime” komutu kullanılmaktadır.
uptime
- Linux’ta sistemin bellek kullanımını, sistemde kullanılan fiziksel ve takas belleği ve ayrıca çekirdek tarafından kullanılan arabellekleri görüntülemek için şu komut kullanılmaktadır.
free
Bir olay müdahale sırasında, sistemdeki ram, kullanılabilir bellek alanı, arabellekler ve takas alanı gibi ayrıntılı bilgilerini kontrol etmek için aşağıdaki komut kullanılmaktadır.
cat /proc/meminfo
4. Process
“TOP” komutu ile anlık olarak sunucu durumu izlenmektedir. Burası incelendiği zaman;
- pıd yani process id değerleri,
- Process’i çalıştıran kullanıcı bilgisi,
- Çalışan process sayısı,
- Önem seviyesi değeri,
- Çalışan processlerin hafızada ne kadar yer kağladığı,
- Process’in çalışma süresi gibi bilgiler elde edilmektedir.
top
- Beklemede olan veya zombi processleri yok sayarak göstermektedir.
top -i
- Linux’unuzun işlem durumunu ve şu anda çalışan işlemler sistemini ve PID’yi görmek için. Linux sistemindeki herhangi bir kötü amaçlı etkinliği gösterebilecek anormal süreçleri belirlemek için şu komut kullanılmaktadır.
ps aux
- Belirli bir işlem hakkında daha fazla ayrıntı görüntülemek için şu komut kullanılmaktadır.
lsof –p [pid değeri]
5. Servisler
Linux sistemindeki hizmetler, sistem ve ağ hizmetleri olarak sınıflandırılabilir. Sistem hizmetleri, hizmetlerin durumunu, cron’u vb. içerir. Ağ hizmetleri, dosya aktarımını, alan adı çözümlemeyi, güvenlik duvarlarını vb. içerir. Bir olay müdahalecisi, hizmetlerde herhangi bir anormallik olup olmadığını belirlemek için Sevislerden yararlanmaktadır.
- Anormal çalışan hizmetleri bulmak için şunları kullanabilirsiniz:
service –-status-all
- Şüpheli, zamanlanmış görevleri aramak ve tespit etmek için şu komut kullanılmaktadır.
cat /etc/crontab
- Web sitesinde veya SSL kurulumunda yapılan değişiklikleri test etmek için yararlı olan ana bilgisayar adlarını veya alan adlarını IP adreslerine çeviren dosyayı kontrol etmek için şu komut kullanılmaktadır.
more /etc/host
- Çekirdek tarafından kaydedilen bilgileri görüntülemek için;
cat /var/log/kern.log
- Başarısız giriş denemeleri hakkında bilgileri görüntülemek için;
cat /var/log/faillog
6- Network Bilgileri
Tüm ağ arayüzlerini görmek için kullanacağımız komut:
ifconfig -a
Portları dinleyen işlemleri PID leri ile görüntülemek için
lsof -i
Ağdaki tüm dinleme bağlantılarını görüntülemek için :
netstat -nap
7- Dosyalar
Olay müdahalesi sırasında sistem üzerinde anormal görünen dosyaları fark etmek çok önemlidir.
Sisteminizdeki aşırı büyük dosyaları ve bunların hedefleriyle birlikte izinlerini belirlemek için şu komut kullanılabilmektedir.
find /home/ -type f -size +512k -exec ls -lh {} \;
ls -lt : ile loglara ait son değiştirilme zamanı bilgisi görüntülenmektedir
ls -lu : ile log dosyasına son erişim zamanı bilgisi görüntülenmektedir
ls -lc ile log dosyasına erişim haklarının son değiştirilme bilgisi görüntülenmektedir.
- Son 50 gün içerisinde oluşturulmuş veya değiştirilmiş dosyaları bulmak için
find /home -mtime 50
- Son 50 gün içerisinde hangi dosyalara erişilmiş olduğunu bulmak için:
find /home -atime 50
- Son 1 saat içerisinde oluşturulmuş dosyaları bulmak için :
find /home -mmin -60
Olay müdahalesi sırasında Linux sistemler için kullanılan komutları uygulamalı bir şekilde anlattım. Umarım faydalı olmuştur. Buraya kadar okuduğunuz için Teşekkürler. 🙂