Port 80/443 Servis Tespiti ile Siber Güvenlik Güçlendirme
Port 80 ve 443 üzerindeki servis tespiti, siber güvenlik testlerinin vazgeçilmez bir parçasıdır. Detaylı inceleme ile saldırı yüzeyinizi nasıl daraltabileceğinizi öğrenin.
Giriş ve Konumlandırma
Port 80 (HTTP) ve 443 (HTTPS), güncel web teknolojilerinin temel yapı taşlarıdır. Bu portlar, dünya genelindeki web sitelerinin büyük çoğunluğuna erişim sağlayan standartlara sahiptir. Bu nedenle, siber güvenlik bağlamında bu portların hizmet tespiti, hedef sistemlerin güvenlik durumu hakkında kritik bilgiler sunar. Siber güvenlik uzmanları ve penetrasyon test uzmanları için, bu portların tespiti, yalnızca güvenlik açıklarının belirlenmesi değil, aynı zamanda sistemlerin özelliklerini anlamak adına da önemli bir adımdır.
Siber güvenlik, sürekli gelişen tehditler ve karmaşık saldırı yöntemleri ile dolu bir alan olduğundan, açık kaynak araçları ve teknikleri kullanarak hedef sistemlerin durumunu değerlendirmek önemlidir. Port 80 ve 443 üzerindeki servis tespitleri, güvenlik açığı yönetimi, yapılandırma doğrulama ve saldırı yüzeyinin azaltılması gibi kritik süreçlerde önemli bir role sahiptir. Bu noktada, özellikle hedef sistemlerin web tabanlı uygulamalarında bulunabilecek zaaflar ve izin verilen HTTP metotları, saldırganların potansiyel olarak yararlanabileceği kritik bilgiler sunmaktadır.
Servis Tespiti Süreci
Keşif sürecinin başlangıcında, yalnızca açık portların tespiti değil, aynı zamanda bu portların hangi servisleri barındırdığı ve bu servislerin versiyonları da önemlidir. Bu bağlamda ilk olarak Nmap gibi araçlar ile yapılan taramalar, sistemin temel özelliklerini ortaya koyar. Aşağıda, port taraması sırasında kullanabileceğiniz bir Nmap komutu verilmiştir:
nmap -sV -p 80,443 192.168.1.50
Yukarıdaki komut ile hedef IP üzerindeki 80 ve 443 portlarının durumu ve versiyon bilgileri elde edilebilir. Portların hangi servislerle ilişkilendirildiğini anlamak, saldırganların seçtikleri hedef için uygun exploitleri tespit etmelerine olanak tanır.
Bilgilerin Derinlemesine Analizi
Web sunucusu, her HTTP yanıtına 'Server' başlığı ekleyerek kendisi hakkında bilgi verir. Bu bilgi, kullanılan sunucu yazılımı ve versiyonu hakkında önemli ipuçları sunar. Kötü niyetli bir birey için, bu tür bilgiler doğrudan bir saldırı yüzeyinin genişlemesine neden olabilir. Örneğin, sunucu versiyonunun biliniyor olması, var olan zafiyetlerin keşfedilmesine olanak tanır.
Web teknolojilerini analiz eden araçlardan biri olan WhatWeb, web sitelerinin kullandığı içerik yönetim sistemleri (CMS), JavaScript kütüphaneleri ve diğer bileşenleri tek bir sorguda analiz edebilir. Bu, siber güvenlik uzmanlarının yeni bir web uygulamasının kullanılan teknolojileri hakkında bilgi edinmeleri için etkilidir.
Meta Bilgilerin İncelenmesi
Bu aşamada, ham HTTP yanıtlarını incelemek de büyük önem taşır. Örneğin, sadece başlıkları almak için cURL kullanarak şu şekilde bir komut çalıştırılabilir:
curl -I https://target.com
Bu komut, hedef sitenin HTTP başlıklarını ve sunucunun yanıt sürelerini hızlı bir şekilde tespit etmek için kullanılabilir.
Ardından, özellikle SSL/TLS sertifikaları üzerindeki verilerin incelenmesi, hedefin güvenlik durumu hakkında derinlemesine bilgi sunar. Sertifikanın 'Subject Alt Names' (SAN) kısmı, bir organizasyon hakkında ek istihbarat sağlar. Ayrıca, SSLScan aracı ile desteklenen şifreleme algoritmaları ve potansiyel zayıf protokoller kontrol edilerek, güvenlik durumunun daha iyi anlaşılması sağlanabilir.
Sonuç olarak, port 80 ve 443 üzerindeki servis tespiti, siber güvenlik stratejilerinin temel bir bileşenidir. Uygulama güvenliği, saldırı yüzeyinin azaltılması ve açıkların tespiti açısından bu süreçlerin dikkatli bir şekilde yürütülmesi gerekmektedir. Tüm bu adımlar, siber güvenlik uzmanlarının hedef sistemleri daha iyi anlamalarına, güvenlik açıklarını belirlemelerine ve gerektiğinde müdahale etme yeteneklerini artırmalarına yardımcı olur.
Teknik Analiz ve Uygulama
İlk Temas: Nmap Servis Taraması
Siber güvenlik dünyasında ilk adım, hedef sistem veya ağ üzerindeki açık portların tespitidir. Bu noktada, port 80 (HTTP) ve port 443 (HTTPS) ana hedefine dönüşmektedir. Nmap, bu servislerin hangi versiyonda çalıştığını belirlemek için oldukça etkili bir araçtır. Aşağıdaki komut, belirtilen IP adresindeki (örneğin 192.168.1.50) port 80 ve 443 üzerinde hangi servislerin çalıştığını ve versiyonlarını tespit etmek için kullanılabilir:
nmap -sV -p 80,443 192.168.1.50
Bu komut, belirtilen portların yanı sıra, sunucu hakkında bilgi sağlayan 'Server' başlığını da içerir. Bu bilgiler, sunucu yazılımı ve sürümü hakkında kritik veriler sağlar. Örneğin, Server: Apache/2.4.41 ifadesi, bu sürüm için bilinen güvenlik açıklarını hedef belirlemek üzere kullanılabilir hale getirir.
Banner Grabbing ve Server Başlıkları
Web sunucusu, bağlantı kurulduğunda kendisi hakkında bilgi veren 'Server' başlığını yanıt olarak gönderir. Sunucu başlıkları, kullanılan yazılımı ve sürüm bilgisini ifşa ederek, siber saldırganlara potansiyel güvenlik açıkları hakkında bilgi verir. Aşağıdaki komut, hedef sunucudan yalnızca başlıkları almak için kullanılabilir:
curl -I http://192.168.1.50
Bu komutun çıktısında aşağıdaki gibi bir bilgi görebiliriz:
HTTP/1.1 200 OK
Server: Apache/2.4.41
X-Powered-By: PHP/7.4
Burada yer alan X-Powered-By: PHP/7.4 bilgisi, arka planda hangi programlama dilinin kullanıldığını gösterir ve bu bilgi, olası exploit'leri belirlemek için kritiktir.
Hızlı Keşif: WhatWeb
WhatWeb, bir web sitesinin kullandığı tüm teknolojileri (CMS, JavaScript kütüphaneleri, fontlar ve sunucular) tek bir sorguda analiz etmeye yarayan profesyonel bir araçtır. Hızlı bir keşif yapmak için aşağıdaki komutu kullanabilirsiniz:
whatweb http://192.168.1.50
Bu araç, konfigürasyon ve kullanımdaki detayları belirlemek amacıyla etkili bir analiz sağlar. Örneğin, kullanılan CMS veya başka bileşenler hakkında bilgi edinmek, düzenlemeniz gereken herhangi bir zayıflığı belirlemeye yardımcı olabilir.
Curl ile Ham Yanıt Analizi
Ham HTTP yanıtlarını incelemek, otomatik araçların kaçırabileceği detayları anlamak için gereklidir. curl -I komutu ile, yalnızca HTTP başlıklarını alabilirsiniz. Sunucunun verdiği yanıtı analiz ederek önemli bilgiler elde edebilirsiniz. Örneğin, bir sunucunun yanıtında hata sayfalarının içeriği, bazı durumlarda potansiyel bilgi sızıntılarına neden olabilmektedir. Bu nedenle, hata yanıtlarını dikkatlice incelemek büyük önem taşır.
SSL/TLS Sertifika İncelemesi
HTTPS protokolü üzerinden yapılan bağlantılar, SSL/TLS sertifikaları kullanılarak güvence altına alınır. Bu sertifikalar, sadece veri güvenliğini değil, aynı zamanda organizasyon hakkında ek istihbaratlar da sağlar. Sertifika bilgilerini incelemek için aşağıdaki komutu kullanabilirsiniz:
openssl s_client -connect 192.168.1.50:443
Bu komut, sertifika bileşenlerini sunar. Bilgiler arasında Common Name (CN) ve Subject Alt Names (SAN) gibi alanlar bulunur. SAN, gizli kalmış başka subdomain ve alan adlarını ifşa edebilir.
Kritik Kontrol: SSLScan
SSL/TLS güvenliğini denetlemek için SSLScan aracı kullanılabilir. Bu araç, sunucunun desteklediği şifreleme algoritmalarını ve zayıf protokolleri tarar. Aşağıdaki komut ile kullanılabilir:
sslscan 192.168.1.50
Komut çalıştırıldığında, sunucunun desteklediği şifreleme yöntemleri ve zayıf protokoller hakkında bilgi sağlar. Bu, özellikle eski sürümler ve zayıf algoritmalar (örneğin, TLS 1.0) hakkında bilgi toplamak açısından önemlidir.
Vhost Keşfi (Virtual Hosting)
Aynı IP adresinde birden fazla alan adının barındırılması durumunda, gizli servislerin tespit edilmesi kritik bir adımdır. Ffuf aracı kullanarak bu alan adlarını bulmak için aşağıdaki komut kullanılabilir:
ffuf -u http://192.168.1.50 -H "Host: FUZZ.target.com" -w vhosts.txt
Bu komut, vhosts.txt dosyasında yer alan alan adlarını test eder ve sunucuda tanımlı olan varsayılan veya gizli host’ların tespit edilmesine olanak tanır.
HTTP Metotları ve Riskler
Web sunucusunun desteklediği HTTP metotları, güvenlik durumunu belirlemek için başka bir önemli bileşendir. Örneğin, OPTIONS metodu, sunucunun desteklediği tüm metotların listesini almak için kullanılır:
curl -X OPTIONS http://192.168.1.50
Bu komut, sunucunun hangi metotları desteklediğini açığa çıkarır. Özellikle PUT ve DELETE gibi metotlar, yanlış yapılandırıldığında sunucuda dosya yükleme veya silme yetkisi verebilir.
WAF Tespiti: Wafw00f
Web Uygulama Güvenlik Duvarı (WAF) varlığını belirlemek, saldırı öncesi kritik bir adımdır. Wafw00f aracı, hedefte bir WAF olup olmadığını anlamaya yardımcı olur:
wafw00f http://192.168.1.50
Bu komut, WAF'ın türü hakkında bilgi sağlar ve saldırı stratejisini belirleme aşamasında büyük temellere yol açar.
Güvenlik Başlıkları (Security Headers)
Modern web uygulamalarının karşılaştığı tehditler göz önüne alındığında, güvenlik başlıklarının eksikliği son derece tehlikeli olabilir. HSTS, CSP ve X-Frame-Options gibi başlıklar, eksik olduğunda potansiyel saldırılara kapı açabilir. Güvenlik başlıklarını analiz etmek için httpx aracı kullanılabilir:
httpx -l urls.txt -srd -csp-probe
Bu komut ile belirli URL'lerdeki güvenlik başlıkları döküm alınır ve eksik alanlar tespit edilir.
Hata Sayfaları ve Bilgi Sızıntısı
Hedef sunucunun döndürdüğü hata sayfaları, bazı durumlarda kritik bilgi sızdırabilir. Özellikle 404 veya 500 hata sayfaları, kullanılan yazılım hakkında bilgi içerebilir. Bu tür bilgilere dikkat edilmesi gerekir; zira hata mesajları, geliştirici veya yazılım hatalarıyla ilgili bilgiler verebilir.
Nihai Strateji: Attack Surface
Tüm bu analizlerin amacı, hedefin web üzerindeki en zayıf noktasını belirlemek ve saldırı yüzeyini daraltmaktır. Hedefin servislere, kullanılan teknolojilere ve güvenlik konfigürasyonlarına dair sağlam bilgiler toplamak, bir güvenlik değerlendirmesinin belkemiğini oluşturur. Bu bilgilerin analizi, stratejik bir yaklaşım çerçevesinde gerçekleştirildiğinde, siber güvenlik saldırıları için pek çok zayıflığın kapılarını aralayabilir.
Risk, Yorumlama ve Savunma
Risklerin Anlaşılması ve Yorumlanması
Siber güvenlikte başarılı bir savunma stratejisi oluşturmak için risklerin doğru bir şekilde değerlendirilmesi kritik öneme sahiptir. Port 80 (HTTP) ve port 443 (HTTPS) üzerindeki hizmetlerin tespit edilmesi, potansiyel zafiyetlerin anlaşılmasına olanak tanır. Bu süreç, sunucunun hangi yazılımın ve versiyonun çalıştığını belirlemekle başlar. Örneğin, aşağıdaki Nmap komutu kullanılarak bir IP ile tarama yapılabilir:
nmap -sV -p 80,443 192.168.1.50
Bu komut, hedefin üzerinde çalışan servislerin versiyonlarını tespit eder. Elde edilen bilgiler, sunucu yazılımındaki bilinen zafiyetlerin (CVE’ler) hedef alınıp alınamayacağını anlamada kritik bir rol oynar. Örneğin, "Server: Apache/2.4.41" başlığı, belirli sürüm zafiyetlerini hedeflemek adına önemli bir veri parçasıdır.
Yanlış Yapılandırmalar ve Zafiyetler
Web sunucularında sıkça karşılaşılan yanlış yapılandırmalar, saldırganlara çeşitli fırsatlar sunabilir. Örneğin, HTTP yöntemleri üzerinden sunucuya hangi tür taleplerin yapılabileceği konusundaki belirsizlikler, metotların izinsiz kullanılmasıyla sonuçlanabilir. Sunucunun hangi HTTP metotlarına izin verildiğini tespit etmek için OPTIONS yöntemi kullanılabilir. Eğer sunucu bu metotları destekliyorsa, aşağıdaki snapshot gibi bir yanıt alabilirsiniz:
HTTP/1.1 200 OK
Allow: GET, POST, OPTIONS, PUT, DELETE
Buradaki PUT veya DELETE yöntemleri, doğru yapılandırılmadığında veri yükleme veya silme yetkisi verir, bu da ciddi veri kaybına veya manipülasyona yol açabilir.
Hizmet Tespiti ve Sızan Veriler
Keşif sürecinin diğer bir önemli ayağı da gizli hizmetlerin tespitidir. Özellikle sanal hostlar (vhosts), potansiyel olarak zayıf noktalar sunabilir. Aşağıdaki ffuf komutunu kullanarak gizli vhostları tespit edebilirsiniz:
ffuf -u http://192.168.1.50 -H "Host: FUZZ.target.com" -w vhosts.txt
Bu tür bir keşif, genellikle web uygulama güvenlik duvarlarının (WAF) tespit edilmesi için de kritiktir. Wafw00f gibi araçlar, bu tür tespitlerde sıkça kullanılmaktadır ve sunucunun gerçek yapısını anlamada yardımcı olabilir.
Profesyonel Önlemler ve Hardening Önerileri
Siber saldırılara karşı savunma geliştirmek için, sunucu ve uygulama katmanında bir dizi güvenlik önlemi almak gereklidir. Aşağıdaki temel önerilerle sunucularınızı güçlendirebilirsiniz:
Güncellemeleri Yapın: Sunucu yazılımınızı ve bağlı bileşenleri sürekli güncel tutmak, bilinen zafiyetlere karşı koruma sağlar.
HTTP Başlıklarını Güçlendirin: HSTS, Content Security Policy (CSP), X-Frame-Options gibi zorlu güvenlik başlıkları uygulamak, saldırılara karşı ek bir koruma katmanı sağlar.
SSL/TLS Sertifikalarını İnceleyin: Kullanılan sertifika ve şifreleme algoritmalarını sürekli gözden geçirmek ve zayıf olanları değiştirmek önemlidir. Örneğin,
SSLScanaracı ile bu zayıflıkları tespit edebilirsiniz.Güvenlik Duvarı Kuralları: Web uygulama güvenlik duvarı (WAF) kullanarak, belirli sızma girişimlerini engelleyebilir ve anormal trafik desenlerini izleyebilirsiniz.
Hata Sayfalarını Yapılandırın: Hata sayfaları üzerinde yeterli bilgi saklamamak, kötü niyetli kullanıcılara sunucu yapınız hakkında bilgi vermez. Örneğin,
404ve500hata sayfalarındaki stack trace bilgilerini gizlemek en iyi uygulamadır.
Sonuç
Port 80 ve 443 üzerinden gerçekleştirilen siber güvenlik bulgularının yorumlanması, web tabanlı hizmetlerin güvenliğinin sağlanmasında kritik bir role sahiptir. Yanlış yapılandırmalar, zayıf şifreleme veya eksik güvenlik başlıkları gibi unsurları dikkate alarak, profesyonel önlemler almak, işletmenizin siber risklerini minimize edecektir. Siber güvenlikte proaktif olmak, tehditlere karşı hazırlıklı olmanızı sağlar ve olası sızmalara karşı güçlü bir savunma hattı oluşturur.