Linux sunucularında ağ trafiğini yönetmek ve izlemek, sistem yöneticilerinin temel görevlerinden biridir. Netstat aracı, bu süreçte vazgeçilmez bir rol oynar.
Linux sunucularında ağ trafiğini yönetmek ve izlemek, sistem yöneticilerinin temel görevlerinden biridir. Netstat aracı, bu süreçte vazgeçilmez bir rol oynar. Bu komut, aktif ağ bağlantılarını, dinleme portlarını ve routing tablolarını görüntüleyerek sunucunuzun ağ durumunu detaylı bir şekilde analiz etmenizi sağlar. Özellikle port analizi açısından, netstat ile hangi portların açık olduğu, hangi bağlantıların kurulduğu ve potansiyel güvenlik riskleri hızlıca tespit edilebilir. Bu makalede, netstat komutunu kullanarak Linux sunucunuzda port analizi yapmanın adım adım yöntemlerini inceleyeceğiz. Kurumsal ortamlar için pratik örnekler ve ipuçları sunarak, sistem güvenliğinizi artırmanıza yardımcı olacağız.
Netstat komutunu etkin kullanmak için öncelikle temel seçeneklerini bilmek gerekir. Linux dağıtımlarında varsayılan olarak yüklü olan netstat, net-tools paketinin parçasıdır. Port analizi için en sık kullanılan seçenekler arasında -tuln parametresi yer alır. Bu parametre ile TCP ve UDP protokollerindeki dinleme portları listelenir: sudo netstat -tuln. Çıktıda, Local Address sütununda IP:port formatında açık portlar görünür. Örneğin, 80 numaralı HTTP portu 0.0.0.0:80 olarak listelenirse, web sunucunuz tüm arayüzlerden erişilebilir durumdadır.
Bağlantı detaylarını görmek için -anp seçeneğini ekleyin: sudo netstat -anp | grep :80. Bu komut, 80 portuna bağlı tüm bağlantıları PID ve program adıyla birlikte gösterir. Çıktıyı anlamak için Proto (TCP/UDP), Recv-Q/Send-Q (veri kuyrukları), Local Address, Foreign Address ve State (ESTABLISHED, LISTEN gibi durumlar) sütunlarını inceleyin. Bu analiz, anormal bağlantıları tespit etmede kritik öneme sahiptir. Düzenli olarak cron job ile çalıştırarak loglara kaydedin: */5 * * * * sudo netstat -tuln >> /var/log/port_log.txt.
netstat -tlnp: TCP dinleme portları ve PID’ler.netstat -ulnp: UDP dinleme portları.netstat -s: İstatistikler için genel ağ özeti.Bu temel kullanım, sunucunuzun port haritasını hızlıca çıkarmaya olanak tanır ve yaklaşık 100 kelimelik bir inceleme ile bile güvenlik açıklarını belirleyebilirsiniz.
Açık portları filtrelemek için grep ile belirli portları arayın: sudo netstat -tuln | grep :22. SSH portu (22) için bu komut, dinleme durumunu doğrular. PID tespiti için -p ekleyin, böylece hangi sürecin portu tuttuğunu öğrenin. Örneğin, PID 1234 Apache ise, ps aux | grep 1234 ile süreci detaylandırın. Bu yöntem, yetkisiz süreçleri sonlandırmada etkilidir: sudo kill -9 1234. Kurumsal sunucularda, firewall kurallarıyla (iptables/ufw) eşleştirerek sadece gerekli portları bırakın.
Bağlantı durumlarını analiz etmek için netstat -an | awk '/^tcp/ {print $6}' | sort | uniq -c kullanın. Bu, ESTABLISHED, TIME_WAIT gibi durumların sayısını verir. Yüksek TIME_WAIT sayısı bellek sızıntısına işaret edebilir; sysctl ile ayarlayın: sysctl -w net.ipv4.tcp_fin_timeout=30. Pratikte, DDoS saldırılarını tespit için netstat -an | grep SYN_RECV | wc -l ile SYN flood’u izleyin. Bu verileri script’lere entegre ederek otomatik uyarılar kurun.
UDP portları için sudo netstat -ulnp çalıştırın. DNS (53) veya NTP (123) gibi servisler burada görünür. Güvenlik için nmap ile çapraz doğrulama yapın, ancak netstat ile hızlı tarama yeterli olur. Anormal UDP trafiğinde netstat -s | grep udp ile paket sayısını kontrol edin. Kurumsal politikalar gereği, gereksiz UDP portlarını kapatın ve logrotate ile kayıt tutun.
Netstat analizini güvenlik stratejilerinize entegre edin. Düzenli taramalarla brute-force saldırılarını tespit edin: netstat -an | grep :22 | grep ESTABLISHED | wc -l. Fazla bağlantı varsa fail2ban gibi araçlarla IP’leri banlayın. Performans için yüksek trafik portlarını izleyin; örneğin MySQL (3306) için netstat -anp | grep 3306. Bu verilerle load balancer ayarlayın veya bağlantı limitleri koyun: ulimit -n 10240.
Netstat’ı ss komutuyla karşılaştırın; ss daha hızlıdır ancak netstat’ın geniş uyumluluğu avantajlıdır. Script örneği: Bir bash dosyası oluşturun (port_check.sh) ve içindeki komutlarla günlük rapor üretin. Bu otomasyon, kurumsal BT ekiplerinin verimliliğini artırır. Ayrıca, netstat çıktısını CSV’ye dönüştürerek Excel’de analiz edin: netstat -tuln | tail -n +3 | awk '{print $4","$5}' > ports.csv.
Sonuç olarak, Linux sunucularında netstat ile port analizi, proaktif sistem yönetiminin temel taşıdır. Bu araç sayesinde potansiyel tehditleri erkenden fark edip müdahale edebilir, sunucunuzun stabilitesini sağlayabilirsiniz. Düzenli pratik yaparak bu teknikleri ustalaşın ve ekibinizle paylaşın; böylece kurumsal ağ güvenliğiniz üst seviyeye taşınacaktır.