Siber Alem / Detail / 79 / Siber-guvenlige-giris-ders-3
technical_article_reader.sh
TECHNICAL PAPER / papers

Siber Güvenliğe Giriş - Ders 3

2026-07-16
13 min read (2582 words)
5 views

Merhaba değerli öğrenci, bundan önceki derslerde öğrendiğin web uygulamalarında aranabilecek tüm zafiyet çeşitleri ve detayları bu kadardı.Bu liste, bir güvenlik uzmanınında olması gereken tüm yetenekleri ve bilgileri sana öğretecek , hiç meraklanma. Şimdi, bu bilgilerle donanmış olarak, bir sonraki dersimizde bu zafiyetlere karşı "Saldırı ve Savunma Taktikleri" ni, yani bir saldırganın nasıl bir zafiyetten diğerine sıçradığını (lateral movement) ve bir savunmacının bu saldırı zincirini (kill chain) nasıl kırdığını konuşacağız.

"Zafiyetlerin Tespiti ve Savunma Stratejileri" konusuna yeniden, ama bu sefer her bir başlığı bir ders modülü gibi, derinlemesine ve hayatın içinden örneklerle bakacağız. Bu, bir siber güvenlik uzmanının en temel iki görevidir: Düşmanın kapıyı nasıl kontrol ettiğini anlamak (Tespit) ve o kapıyı nasıl kapatacağını, hatta o kapıyı bir tuzak haline getireceğini bilmek (Savunma).

MODÜL 1: ZAFİYET TESPİTİ (VULNERABILITY ASSESSMENT) - "Dijital Dedektiflik"

Bu aşama, bir doktorun hastayı muayene etmesi gibidir. Vücudun neresinde ağrı var, hangi organ zayıf, hangi ilaçlar yanlış kullanılıyor? Bunu öğrenmek için çeşitli yöntemler kullanırız.

1.1. Otomatik Zafiyet Tarama (Vulnerability Scanning)

Bu, hastaya MR veya röntgen çekmek gibidir. Makine, tüm vücudu tarar ve anormal durumları listeler.

  • Nasıl Çalışır? Tarayıcı araçlar (Nessus, OpenVAS, Qualys, OWASP ZAP, Nikto) önceden tanımlanmış binlerce "imza" (signature) kullanır. Bu imzalar, bilinen zafiyetlerin (CVE - Common Vulnerabilities and Exposures) dijital parmak izleridir. Tarayıcı, hedef sisteme bu imzalardan birine uyan bir istek gönderir. Eğer sistem bu isteğe beklenen "zafiyetli" yanıtı verirse, tarayıcı "Burada şu zafiyet var" diye raporlar.

  • Hayattan Örnek: Bir apartmanın yangın dedektörlerini test eden bir ekip gibi. Her dedektöre özel bir duman püskürtürler, hangisi öterse onu tamir ederler.

  • Detaylı Türleri:

    • Ağ Tabanlı Tarama: Ağdaki cihazları (sunucular, yazıcılar, akıllı TV'ler) tarar. Açık portları, zafiyetli servisleri, eski işletim sistemlerini bulur.

    • Web Uygulama Taraması: Web sitelerini tarar. SQL Enjeksiyonu, XSS, güvensiz konfigürasyonlar gibi uygulama seviyesindeki zafiyetleri arar.

    • Bulut Taraması: AWS, Azure, GCP gibi bulut ortamlarındaki yanlış yapılandırmaları (örneğin herkese açık S3 bucket'ları, aşırı yetkili IAM rolleri) tespit eder.

  • Avantajları: Çok hızlıdır, geniş bir yelpazeyi tarar, tekrarlanabilirdir.

  • Dezavantajları: Sadece bilinen zafiyetleri bulur. İş mantığı (business logic) hatalarını, sıfır gün (zero-day) zafiyetlerini ve karmaşık saldırı zincirlerini tespit edemez. Ayrıca bolca "yanlış pozitif" (false positive) üretebilir.


1.2. Sızma Testi (Penetration Testing)

Bu, doktorun sadece MR'a bakmakla kalmayıp, hastaya "Şimdi biraz eğil, şimdi nefes al" diyerek fonksiyonel bir test yapmasıdır. Yani sadece zafiyeti bulmak değil, o zafiyetin gerçekten kullanılıp kullanılamayacağını kanıtlamaktır.

  • Nasıl Çalışır? Etik bir hacker (pentester), otomatik araçların yanı sıra manuel teknikler de kullanır. Bulduğu bir zafiyeti istismar eder (exploit), sisteme girer, yetkilerini yükseltir, başka sistemlere sıçrar (lateral movement) ve sonunda hedefine (örneğin, veritabanı veya yönetici hesabı) ulaşır. Tüm bu süreci raporlar.

  • Hayattan Örnek: Bir bankanın kasasını açmak için görevlendirilmiş bir açık denetçi gibi. Denetçi, kasanın şifresini kırmaya çalışır, tüm yöntemleri dener. Başarılı olursa, bankaya "Şu yöntemle kasanız açılabiliyor" der ve kapatılmasını sağlar.

  • Türleri:

    • Kara Kutu (Black Box): Test uzmanı, sistem hakkında hiçbir bilgiye sahip değildir. Sıradan bir saldırganı simüle eder.

    • Beyaz Kutu (White Box): Test uzmanı, sistemin kaynak koduna, mimari dokümanlarına ve altyapı bilgilerine tamamen hakimdir. En derinlemesine testtir.

    • Gri Kutu (Gray Box): Test uzmanı, sınırlı bilgiye sahiptir (örneğin, sadece kullanıcı adı ve şifre gibi). İçeriden bir tehdit simüle edilir.

  • Sızma Testi Aşamaları (Tekrar ve Detay):

    1. Keşif (Reconnaissance): Hedef hakkında OSINT (açık kaynak istihbaratı) ile bilgi toplanır.

    2. Tarama (Scanning): Nmap, Nessus gibi araçlarla açık portlar ve zafiyetler tespit edilir.

    3. Sömürü (Exploitation): Metasploit gibi araçlarla bulunan zafiyet istismar edilir.

    4. Yetki Yükseltme (Privilege Escalation): Sınırlı erişimden, yönetici (root/admin) yetkisine çıkılır.

    5. Kalıcılık (Persistence): Sisteme tekrar girebilmek için arka kapı (backdoor) bırakılır (test ortamında izin alınarak).

    6. İzleri Temizleme (Cleaning Tracks): Yapılan işlemler loglardan silinir (etik hacker, raporlama için önce bunları kaydeder, sonra temizler).


1.3. Zafiyet Yönetimi Süreci (Vulnerability Management Lifecycle)

Zafiyet bulmak tek başına bir işe yaramaz. Bulunan zafiyetlerin bir süreçle yönetilmesi gerekir. Bu süreç 5 adımdan oluşur:

  1. Keşif ve Envanter: Hangi cihazlar, hangi yazılımlar, hangi sürümler var? Envanter çıkarılmadan zafiyet tespiti yapılamaz.

  2. Önceliklendirme (Risk Skorlaması): Bulunan her zafiyet aynı derecede tehlikeli değildir. Her zafiyete CVSS (Common Vulnerability Scoring System) puanı verilir (0-10 arası, 10 en tehlikeli). Bu puana göre hangi zafiyetin önce kapatılacağına karar verilir. Örneğin, CVSS puanı 9.8 olan bir uzaktan kod yürütme (RCE) zafiyeti, hemen kapatılmalıdır. CVSS puanı 4.3 olan bir bilgi sızdırma zafiyeti ise bir sonraki yama döngüsüne alınabilir.

  3. İyileştirme (Remediation): Zafiyetin kapatılması. Bu, yazılımı güncellemek (patching), konfigürasyonu değiştirmek, güvenlik duvarı kuralı eklemek veya güvenlik yaması yoksa, zafiyeti azaltıcı önlemler (compensating controls) almak olabilir.

  4. Doğrulama (Verification): Zafiyetin gerçekten kapatıldığını kontrol etmek. Yeniden tarama (rescan) yapılır.

  5. Raporlama ve İzleme: Tüm bu süreç raporlanır ve düzenli aralıklarla tekrarlanır (sürekli izleme).


MODÜL 2: SAVUNMA STRATEJİLERİ - "Dijital Kale İnşası"

Savunma, sadece düşmanı kapıdan geri çevirmek değildir. Aynı zamanda, düşman içeri girse bile, onu durduracak, yavaşlatacak ve yakalanmasını sağlayacak bir sistem kurmaktır. İşte bir siber güvenlik uzmanının savunma silah çantası:


2.1. Savunmada Derinlik (Defense in Depth)

Bu, tek bir kalkan yerine 7 katlı bir sur inşa etmektir. Düşman bir katı geçer, diğerinde takılır. Aynı prensiple, güvenlik katmanları şöyle oluşturulur:

  1. Fiziksel Güvenlik: Sunucuların bulunduğu odaya erişim kartları, biyometrik okuyucular.

  2. Ağ Güvenliği: Güvenlik Duvarları (Firewall), IPS/IDS (Saldırı Tespit/Önleme Sistemleri), VPN, Ağ Segmentasyonu (VLAN'lar).

  3. Uygulama Güvenliği: WAF (Web Application Firewall), Güvenli Kod Geliştirme (SAST/DAST), Giriş Doğrulama (Input Validation).

  4. Veri Güvenliği: Veritabanı şifreleme (Encryption at Rest), Taşıma sırasında şifreleme (Encryption in Transit - TLS/SSL), Veri Maskeleme (Data Masking).

  5. Kimlik ve Erişim Yönetimi (IAM): Güçlü kimlik doğrulama (MFA), En Az Ayrıcalık (Least Privilege) prensibi, Tek Oturum Açma (SSO) güvenliği.


2.2. Güvenli Kod Geliştirme (Secure SDLC - Software Development Life Cycle)

Zafiyetlerin çoğu, yazılım geliştirme aşamasında oluşur. Bu nedenle, güvenlik en baştan, yani kod yazılmaya başlanmadan önce entegre edilmelidir. Buna "Shift-Left Security" (Güvenliği Sola Kaydırma) denir. Aşamaları:

  1. Gereksinim Aşaması: "Bu özellik güvenli mi?" sorusu sorulur. Tehdit Modellemesi (Threat Modeling) yapılır. (Örneğin, bir dosya yükleme özelliği varsa, "Bir saldırgan buraya kötü amaçlı bir dosya yükleyip sunucuyu çalıştırabilir mi?" diye düşünülür.)

  2. Tasarım Aşaması: Güvenli mimari tasarımlar yapılır. Sıfır Güven (Zero Trust) prensipleri uygulanır.

  3. Kod Geliştirme Aşaması: Geliştiriciler, güvenli kod yazma standartlarına (örn. OWASP ASVS - Uygulama Güvenliği Doğrulama Standardı) uyar. Kod incelemeleri (Code Review) yapılır.

  4. Test Aşaması: SAST, DAST, Sızma Testi, Fuzzing (rastgele veri göndererek çökmeleri test etme) yapılır.

  5. Dağıtım Aşaması: Güvenli yapılandırma kontrolleri yapılır (CIS Benchmark'larına uyum).

  6. İzleme ve Bakım Aşaması: Loglar izlenir, gelen güncellemeler (patch) hemen uygulanır.


2.3. Zafiyete Özel Savunma Teknikleri (OWASP Top 10'a Karşı)

Şimdi, bir önceki derste işlediğimiz OWASP Top 10 zafiyetlerine karşı alınacak spesifik önlemleri başlık başlık görelim:

  1. Broken Access Control (Yetki Kontrolü) Savunması:

    • Zorunlu Erişim Kontrolü (MAC) veya Rol Tabanlı Erişim Kontrolü (RBAC) uygula. Kullanıcılar sadece kendi rollerine uygun işlemleri yapabilir.

    • Her istekte (request), yetki kontrolü yapılır. Örneğin, /profil?user_id=123 isteği geldiğinde, oturum açan kullanıcının ID'si ile 123 aynı mı? Değilse, erişimi reddet.

    • CSRF'ye karşı, her formda rastgele oluşturulmuş bir CSRF Token (gizli alan) kullan. Sunucu, bu token'ı doğrular.

  2. Cryptographic Failures (Kriptografik Hatalar) Savunması:

    • Şifreleri asla düz metin olarak saklama. bcrypt, Argon2, PBKDF2 gibi güçlü, tuzlanmış (salt) hash algoritmaları kullan.

    • Tüm veri iletiminde TLS 1.2 veya 1.3 kullan. HTTP'yi devre dışı bırak.

    • Hassas verileri (kredi kartı, TC) veritabanında şifrele (AES-256 gibi).

    • Kendi şifreleme algoritmanı asla yazma; kanıtlanmış, açık kaynaklı kütüphaneler kullan.

  3. Injection (Enjeksiyon) Savunması:

    • SQL sorgularında asla kullanıcı girdisini direkt olarak birleştirme (concatenate). Her zaman Parametreli Sorgular (Prepared Statements) veya Stored Procedures kullan.

    • OS komutları için, kullanıcı girdisini doğrudan kabukta (shell) çalıştırma. Bunun yerine, izin verilen komutları bir beyaz listede (whitelist) tut ve sadece bu komutları çalıştır.

    • Tüm kullanıcı girdilerini sıkı bir şekilde doğrula (validate). Örneğin, bir sayı bekleniyorsa, sadece sayısal karakterlere izin ver.

  4. Insecure Design (Güvensiz Tasarım) Savunması:

    • Proje başlangıcında Tehdit Modellemesi yap. (OWASP Threat Dragon gibi araçlar kullan.)

    • "Varsayılan olarak güvensiz" prensibini benimse. Her şeyi reddet, sadece izin verdiklerine izin ver (Default-Deny).

    • Güvenlik gereksinimlerini (security requirements) ürün backlog'una ekle. Güvenlik, "sonradan eklenen" bir özellik değil, baştan olmazsa olmazdır.

  5. Identification and Authentication Failures (Kimlik ve Oturum Hataları) Savunması:

    • MFA (Çok Faktörlü Kimlik Doğrulama) zorunlu tut. Artık sadece şifre yetmez.

    • Brute Force saldırılarına karşı Rate Limiting (her IP'den dakikada en fazla 5 deneme), Captcha ve hesap kilitleme (5 başarısız denemeden sonra 15 dakika kilit) uygula.

    • Oturum ID'leri (Session ID) güvenli olmayan kanallardan (URL, HTTP) geçmesin. HttpOnly ve Secure flag'li cookie'lerde sakla.

    • Şifre politikası zorla: Minimum 8 karakter, büyük/küçük harf, rakam, özel karakter. Kullanıcıları sık şifre değiştirmeye zorlama (bu güvenliği azaltır), ancak zayıf şifreleri engelle (örn. "password123" gibi).

  6. Security Logging and Monitoring Failures (Loglama ve İzleme Hataları) Savunması:

    • Tüm kritik olayları (başarılı/başarısız girişler, yetki değişiklikleri, veritabanı erişimleri, hatalar) logla. Log mesajları şunları içermeli: Zaman damgası, IP adresi, Kullanıcı adı, İşlem türü, Sonuç (başarılı/başarısız).

    • Logları merkezi bir yere (SIEM) gönder. Örneğin, Elasticsearch, Logstash, Kibana (ELK Stack) veya Splunk.

    • Loglar değiştirilemez (immutable) olsun. Yani saldırgan sisteme girse bile logları silemesin. (Bunun için ayrı bir log sunucusu ve sadece yazma yetkisi verilir.)

    • Anormal durumlar için gerçek zamanlı alarm (alert) kur. Örneğin, "Aynı kullanıcı 5 dakikada 3 farklı IP'den giriş yaparsa" mail/telegram uyarısı gönder.

  7. Software and Data Integrity Failures (Yazılım ve Veri Bütünlüğü) Savunması:

    • Tüm yazılım güncellemelerini ve bağımlılıkları (dependencies) güvenli (HTTPS) kanallardan indir.

    • İndirdiğin paketlerin/executable'ların hash'ini kontrol et (SHA-256).

    • Kod imzalama (Code Signing) kullan. Yazılımın gerçekten sizden geldiğini kanıtlayan dijital imza ekle.

    • En son güvenlik açıkları için CVE veritabanlarını (NVD, VulnDB) takip et.

  8. Server-Side Request Forgery (SSRF) Savunması:

    • Kullanıcının girdiği URL'leri bir beyaz listeye (whitelist) al. Sadece güvenilir domainlere istek gönderilmesine izin ver.

    • URL'yi doğrudan kullanma; bir proxy kullan ve bu proxy'de tehlikeli IP aralıklarını (127.0.0.1, 169.254.169.254, 192.168.x.x gibi özel IP'ler) engelle.

    • Uygulamanın çalıştığı sunucuda, bulut metadata servisine (AWS, GCP) erişimi firewall ile kapat.


MODÜL 3: SAVUNMANIN SOSYAL BOYUTU - İNSAN ZAFİYETİ

Teknolojik tüm önlemleri alsanız bile, en zayıf halka her zaman insandır. Bir çalışanın phishing mailine tıklaması, en güçlü şifreyi çöpe atar. İşte bu yüzden savunma stratejilerinin en önemli ayağı:

1. Farkındalık Eğitimi (Security Awareness Training)

  • Çalışanlara düzenli olarak siber güvenlik eğitimi verilir.

  • Sahte phishing mailleri gönderilerek, çalışanların bu tuzaklara düşüp düşmediği test edilir (simüle edilmiş phishing). Başarısız olanlara ek eğitim verilir.

  • "Bunu tıkla, 1 milyon TL kazan" veya "Banka hesabın bloke oldu" gibi klasik tuzaklar öğretilir.

2. Olay Müdahale Planı (Incident Response Plan - IRP)

  • Bir saldırı gerçekleştiğinde ne yapılacağını önceden planlayın. Bu plan şunları içermelidir:

    • Tespit: Saldırıyı kim, nasıl fark edecek?

    • Sınırlama: Saldırganı durdurmak için ne yapılacak? (Örneğin, zarar gören sunucuyu ağdan izole etmek)

    • Soruşturma: Saldırgan nasıl girdi? Ne çaldı? Hangi loglar incelenecek?

    • Kurtarma: Sistemler nasıl temizlenecek ve tekrar çalışır hale getirilecek?

    • Ders Çıkarma: Bu saldırıdan ne öğrenildi? Hangi eksikler kapatılacak?


Bugünün Pratik ve Derin Ödevi

Artık teorik altyapıyı tamamladık. Şimdi sıra pratikte uygulamaya. Bu ödev, seni bir güvenlik uzmanının yerine koyacak.

  1. Bir Web Uygulamasını Zafiyet Taramasına Tabi Tut ve Raporla:

    • OWASP ZAP veya Nikto aracını kullanarak, test amaçlı bir siteyi (örneğin, http://testphp.vulnweb.com) tarayın.

    • Çıkan raporu inceleyin. Bulunan zafiyetleri OWASP Top 10 kategorilerine göre sınıflandırın.

    • En az 3 zafiyet seçin ve bunlar için bir Savunma Stratejisi Raporu hazırlayın. (Örneğin, "SQL Enjeksiyonu buldum. Savunma için Prepared Statements kullanılacak. XSS buldum. Savunma için kullanıcı girdileri HTML Encode edilecek.")

  2. Kendi Ağınızı Analiz Edin (Evde):

    • Modeminizin arayüzüne girin (192.168.1.1).

    • WAN (internet) ayarlarınızda "Remote Management" (uzaktan yönetim) kapalı mı? Değilse kapatın.

    • Wi-Fi şifrenizi kontrol edin. WPA2 veya WPA3 ile şifreli mi? WEP veya açık (no encryption) ise, hemen güçlü bir şifre ile WPA2'ye geçin.

    • "SSID Yayınını Gizle" (Hide SSID) özelliğini açın. Bu, ağınızın ismini komşulardan gizler (tamamen değil, ama sıradan saldırganları caydırır).

  3. Bir Güvenlik Duvarı (Firewall) Kuralı Yazın (Konsept):

    • Diyelim ki bir web sunucunuz var (80 ve 443 portları açık). Ama bu sunucuya sadece belirli bir IP aralığından (örneğin ofis ağınız) erişilmesini istiyorsunuz.

    • Basit bir iptables (Linux) veya Windows Firewall kuralı tasarlayın. Bu kural, 80. portuna yapılan tüm istekleri reddederken, sadece 192.168.1.0/24 IP aralığından gelen isteklere izin versin. (Bu alıştırmayı yaparak, erişim kontrol listelerinin (ACL) mantığını kavrayacaksınız.)


İşte, zafiyet tespiti ve savunma stratejileri bu kadar detaylı ve kapsamlı. Bu bilgiler, sizi sıradan bir internet kullanıcısından, tehditleri anlayan ve bunlara karşı proaktif önlemler alabilen bir bireye dönüştürecek. 


Makale Tartışmaları (0)

No discussion yet.

Yorum Yapmak İçin Giriş Yapın

Bu makaleye yorum yazmak ve tartışmaya katılmak için giriş yapmalısınız.

Author Profile

0xCyber
0xCyber User
Joined Mar 2021
Rep 0
Gönderiler 5
Independent security researcher and vulnerability analyst. Specializing in reverse engineering, exploit development, and uncovering deep-level system flaws.
View All Submissions

Paylaşım & Kaydet

X / Twitter'da Paylaş