Linux'ta Ağ Performansı, Güvenlik ve Sorun Giderme Nasıl Denetlenir - Bölüm 12


Bir bilgisayar ağının sağlam bir analizi, görevi gerçekleştirmek için mevcut araçların neler olduğunu, yolun her adımı için doğru araçların nasıl seçileceğini ve son olarak ama en önemlisi nereden başlayacağını anlamakla başlar.

Bu, LFCE (Linux Foundation Sertifikalı Mühendis) serisinin son bölümüdür; burada performansı incelemek ve bir ağın güvenliğini artırmak için iyi bilinen bazı araçları inceleyeceğiz. ve işler beklendiği gibi gitmediğinde ne yapılması gerektiği.

Linux Vakfı Sertifikasyon Programına Giriş

Lütfen bu listenin kapsamlı olmadığını unutmayın; bu nedenle, eksik olabileceğimiz başka bir yararlı yardımcı program eklemek isterseniz alttaki formu kullanarak bu yazıya yorum yapmaktan çekinmeyin.

Hangi Hizmetler Çalışıyor ve Neden?

Bir sistem yöneticisinin her sistem hakkında bilmesi gereken ilk şeylerden biri, hangi hizmetlerin çalıştığı ve neden çalıştığıdır. Eldeki bu bilgiyle, kesinlikle gerekli olmayanların hepsini devre dışı bırakmak ve aynı fiziksel makinede çok fazla sunucu barındırmaktan kaçınmak akıllıca bir karardır.

Örneğin, ağınız gerektirmiyorsa FTP sunucunuzu devre dışı bırakmanız gerekir (bu arada, ağ üzerinden dosya paylaşmanın daha güvenli yöntemleri de vardır). Ayrıca aynı sistemde web sunucusu ve veritabanı sunucusu bulundurmaktan kaçınmalısınız. Bir bileşen tehlikeye girerse geri kalanlar da tehlikeye girme riskiyle karşı karşıya kalır.

Ss ile Soket Bağlantılarını Araştırmak

ss, soket istatistiklerini boşaltmak için kullanılır ve netstat'a benzer bilgileri gösterir, ancak diğer araçlara göre daha fazla TCP ve durum bilgisi görüntüleyebilir. Ayrıca man netstat'ta artık kullanılmayan netstat'ın yerini alacak şekilde listelenmiştir.

Ancak bu yazımızda sadece ağ güvenliği ile ilgili bilgilere odaklanacağız.

Örnek 1: Sunucumuzda açık olan TÜM TCP portlarının (soketlerinin) gösterilmesi

Varsayılan bağlantı noktalarında çalışan tüm hizmetler (ör. 80'de http, 3306'da mysql) ilgili adlarıyla gösterilir. Diğerleri (gizlilik nedeniyle burada gizlenmiştir) sayısal biçimde gösterilmiştir.

ss -t -a

İlk sütun TCP durumunu gösterirken, ikinci ve üçüncü sütun şu anda alım ve iletim için sıraya alınmış veri miktarını görüntüler. Dördüncü ve beşinci sütunlar her bağlantının kaynak ve hedef soketlerini gösterir.
Ek olarak, olası TCP durumları hakkında hafızanızı yenilemek için RFC 793'ü kontrol etmek isteyebilirsiniz çünkü (D)DoS saldırılarından haberdar olmak için açık TCP bağlantılarının sayısını ve durumunu da kontrol etmeniz gerekir.

Örnek 2: TÜM aktif TCP bağlantılarını zamanlayıcılarıyla birlikte görüntüleme
ss -t -o

Yukarıdaki çıktıda 2 adet kurulu SSH bağlantısının olduğunu görebilirsiniz. timer: alanının ikinci alanının değerini fark ederseniz, ilk bağlantıda 36 dakikalık bir değer fark edeceksiniz. Bu, bir sonraki canlı tutma sondasının gönderilmesine kadar geçen süredir.

Bu, canlı tutulan bir bağlantı olduğundan, bunun etkin olmayan bir bağlantı olduğunu rahatlıkla varsayabilirsiniz ve dolayısıyla PID'yi bulduktan sonra süreci sonlandırabilirsiniz.

İkinci bağlantıya gelince, onun şu anda kullanılmakta olduğunu görebilirsiniz (açık ile belirtildiği gibi).

Örnek 3: Bağlantıları sokete göre filtreleme

TCP bağlantılarını sokete göre filtrelemek istediğinizi varsayalım. Sunucunun bakış açısından kaynak portunun 80 olduğu bağlantıları kontrol etmeniz gerekir.

ss -tn sport = :80

Sonuçlanan..

NMAP ile Bağlantı Noktası Taramasına Karşı Koruma

Bağlantı noktası taraması, korsanların ağdaki aktif ana bilgisayarları ve açık bağlantı noktalarını tanımlamak için kullandığı yaygın bir tekniktir. Bir güvenlik açığı keşfedildiğinde, sisteme erişim sağlamak için bu güvenlik açığından yararlanılır.

Akıllı bir sistem yöneticisinin, kendi sistemlerinin dışarıdakiler tarafından nasıl görüldüğünü kontrol etmesi ve onları sık sık denetleyerek hiçbir şeyin şansa bırakılmadığından emin olması gerekir. Buna “savunma amaçlı bağlantı noktası taraması” denir.

Örnek 4: Açık bağlantı noktalarına ilişkin bilgilerin görüntülenmesi

Sisteminizde veya uzak ana bilgisayarda hangi bağlantı noktalarının açık olduğunu taramak için aşağıdaki komutu kullanabilirsiniz:

nmap -A -sS [IP address or hostname]

Yukarıdaki komut, ana bilgisayarı İşletim Sistemi ve sürüm tespiti, bağlantı noktası bilgileri ve traceroute (-A) açısından tarayacaktır. Son olarak -sS bir TCP SYN taraması göndererek nmap'in 3 yönlü TCP anlaşmasını tamamlamasını engeller ve dolayısıyla genellikle hedef makinede hiçbir günlük bırakmaz.

Bir sonraki örneğe geçmeden önce lütfen port taramanın yasa dışı bir faaliyet olmadığını unutmayın. Yasadışı olan, sonuçların kötü amaçlarla kullanılmasıdır.

Örneğin, yerel bir üniversitenin ana sunucusuna karşı çalıştırılan yukarıdaki komutun çıktısı aşağıdakileri döndürür (kısaltmak adına sonucun yalnızca bir kısmı gösterilmiştir):

Gördüğünüz gibi, bu yerel üniversitedeki sistem yöneticilerine bildirmemiz gereken bazı anormallikler keşfettik.

Bu özel bağlantı noktası tarama işlemi, aşağıdakiler gibi diğer komutlarla da elde edilebilecek tüm bilgileri sağlar:

Örnek 5: Yerel veya uzak bir sistemdeki belirli bir bağlantı noktasıyla ilgili bilgilerin görüntülenmesi
nmap -p [port] [hostname or address]
Örnek 6: Traceroute'u gösterme ve hizmetlerin sürümünü, işletim sistemi türünü, ana bilgisayar adını bulma
nmap -A [hostname or address]
Örnek 7: Birden fazla bağlantı noktasını veya ana bilgisayarı aynı anda tarama

Ayrıca birkaç bağlantı noktasını (aralığı) veya alt ağı aşağıdaki şekilde tarayabilirsiniz:

nmap -p 21,22,80 192.168.0.0/24 

Not: Yukarıdaki komut, o ağ kesimindeki tüm ana bilgisayarlardaki 21, 22 ve 80 numaralı bağlantı noktalarını tarar.

Diğer bağlantı noktası tarama türlerinin nasıl gerçekleştirileceği hakkında daha fazla ayrıntı için kılavuz sayfasını kontrol edebilirsiniz. Nmap gerçekten çok güçlü ve çok yönlü bir ağ eşleme aracıdır ve sorumlu olduğunuz sistemleri, dışarıdaki kişiler tarafından yapılan kötü niyetli bir bağlantı noktası taramasından sonra ortaya çıkan saldırılara karşı savunmak için onu çok iyi bilmeniz gerekir.