İyi Çalışmalar! Çok uzun bir aradan sonra blog sayfamıza yeniden sunucunuzu daha iyi yönetebilmenizi sağlayacak dokümanlar girmeye başlıyoruz. Bu gün amatör sunucu yöneticileri için çok faydalı olacak bir kısa doküman hazırladık. Umarım burada yazılan bilgilere hiç ihtiyacınız olmaz, çünkü doküman saldırı tespiti yapmak ile ilgili..
Bu dokümana başlamadan önce eğer netstat komutu hakkında yeterli bilgi sahibi değilseniz kesinlikle yine daha önce yayınladığımız şu dokümanı baştan sona okumanızı ve uygulamalar yapmanızı öneriyoruz.
Hosting amaçlı kullanılan sunucularda, genellikle bir sunucuyu paylaşan birçok kullanıcı olmakta. Müşterilerimizin IP aralıklarında çalıştırdıkları internet sitelerine bakacak olursak normal özelliklerdeki sunucularda ortalama 300 ila 800 arası internet sitesi barınmakta, hal böyle olunca her bir internet sitesine özel IP tahsis etmek dünyada IPv4 kalmamışken mümkün olamamaktadır. Saldırı önlemenin maliyetlerini ve gelen saldırının boyutuna, özelliğine göre engellenip engellenemeyeceğini göz önüne alacak olursak genelde bu tür paylaşımlı hosting sunucularında saldırı yapılan internet sitesinin servisinin durdurulması, bundan aynı sunucudaki diğer kullanıcıların etkilenmemesi amaçlanmaktadır. Böyle olunca IP adresinde ortalama 200 internet sitesi varsa, bunlardan birine saldırı geldiğinde bu IP adresini kapattığınız zaman kurunun yanında yaşı da yakarak, 199 Suçsuz kullanıcının hesabını kapatmış olacaksınız. İşte bu doküman da aynı IP adresi üzerinde barınan hosting hesaplarından birine gelen saldırının, hangisine geldiğini nasıl bulabileceğinizi anlatıyor olacağız.
Öncelikle, çok farklı çeşitlerde ve farklı boyutlarda saldırılar olduğunu belirtmemiz gerekir. Her zaman saldırının hangi internet sitesine geldiğini teknik olarak bulamayabiliriz. Bu tür durumlar da sorunun çözümü uzun kesintilere neden olsa da kısmen yapılabilmektedir. En basitten ek zora doğru anlatımımıza başlıyoruz.
Sunucunuza saldırı gelip, gelmediğini netstat komutu veya tcpdump komutu ile görebilmeniz mümkün, netstat komutu ile ilgili daha önce paylaştığımız bir doküman mevcut ancak tcpdump hakkında yayınlanmış bir dökümanımız olmadığından çok detaya girmeden bir komut ile nasıl çalıştığını anlatacağım..
[php]tcpdump -n not port 22[/php]
Yukarda yer alan 22 sizin ssh portunuz olacaktır. Eğer not port 22 yazmazsanız ekrana dökülen sadece sizin kendi ip adresleriniz olacak.. bunun yerine grep ile kendi bilgisayarınızın IP adresini de çıkan datalardan çıkartabilirsiniz
[php]tcpdump -n | grep -v BILGISAYARINIZIN-IP-ADRESI[/php]
Paket detayı için ek parametre olarak fazla uzun v eklemeden -vvvv koyabilirsiniz. Daha detaylı bir çıktı verecektir size..
[php]tcpdump -n not port 22 -vvvv[/php]
Sunucunuza bir saldırı düzenlenip, düzenlenmediğine netstat daki aktivitelere bakarak görebileceğiniz gibi, tcpdump ile daha kesin görebilirsiniz. Bir noktaya saldırı yapan saldırganın yapığı saldırıda her zaman ortak bir nokta vardır. Bu ortak nokta, sabit bir destination portu, sabit bir source portu, sabit bir paket boyutu, sabit bir IP adresi olabilir. Yazılımsal olarak saldırgan IP adresini veya adreslerini engelleyemiyorsak gelen isteklerin hangi internet sitesine geldiğine apache access loglarından bulabiliriz.
Bunun için saldırı yaptığını düşündüğümüz IP adreslerinden bir tanesini alıp find komutu ile log klasörü içersindeki dosya içeriğinde arama yaparak hangi internet sitesine geldiğini biraz uzun süren bir analiz işlemi ile bulabiliriz.
Örnek Saldırgan IP Adresi 10.0.0.249 Ise;
[php]cd /usr/local/apache/domlogs/
find . -iname ‘*’ | xargs grep ‘10.0.0.249’ –sl[/php]
Komutlarının sonucu bize 10.0.0.249 numaralı IP adresinin hangi log dosyası içerisinde olduğunu gösterecektir. Ve bu log dosyalarının isimleri internet sitesi isimleri ile aynı olacağından direkt olarak saldırı alan internet sitesini bulmuş oluruz.
Ancak, web üzerinden http protokolüne doğru gelen saldırıları bu şekilde tespit edebilmemiz mümkün olmakta. Diğer türlü farklı portlar üzerinden gelen saldırılarla ilgili ne yazık ki tek yapabileceğimiz işlem arada herhangi bir donanımsal firewall yok ise Saldırı alan IP adresini kapatmak, bu IP adresi üzerindeki hesapları olabildiğince çok, boş IP adresine yaymak olacaktır. Daha önce bir dokuman daha paylaşmıştık;
Bu dokümanı okuduysanız, IP değişiminin hemen olmadığını hatırlarsınız. TTL Süresi sonrasında saldırı devam ediyorsa, bizim eski saldırı gelen IP adresindeki hesapları böldüğümüz yeni boş IP adreslerinden bir tanesine yeniden saldırı başlayacaktır. Ve ilk başta yaptığımız işlemi tekrar ederek yeniden saldırı alan IP adreslerini, yeni boş IP adreslerine dağıtarak TTL süresini beklememiz gerekir.
Başlangıçta saldırı 200 hesabın bulunduğu bir IP adresine geldiğinde, elimizde 10 adet boş IP adresi var ise bu IP adresindeki her bir 20 siteyi taşıdığımızı var sayacak olursak, TTL bitiminden sonra tekrar başlayan saldırı bu sefer 20 Sitenin olduğu IP adresine gelecektir. Yine bunu da bölerek aynı işlemleri tekrarlayarak son bir internet sitesi kalıncaya kadar bu işlemi ne yazık ki tekrar etmemiz gerekir.
Saldırı tespiti konusunda daha sonraki dokümanlarımızda daha farklı bilgileri sizlerle paylaşıyor olacağız, Ancak öncesinde lsof komutu gibi komutların nasıl kullanılacağını anlatan dokümanlar paylaşarak yeniden bu konu hakkında yazacağımız biraz daha ileri seviye bilgi gerektiren dökümanları tam olarak anlamanızı sağlamamız gerekmekte.
O zamana kadar hoşçakalın
cPanel Web Hosting ile gelişmiş yönetim paneli ile hizmetinizi yönetin.
Paketleri İncele