TürkTeam Portal

Siber güvenlik topluluğunun nabzı

Duyurular, öne çıkan konular ve topluluktan son haberler burada.

Duyurular
 PHP session.upload_progress RCE Açıkları (CVE-2026-109618/109619) Nedir?
Tonyukuk 10-21-2026, 06:16 AM · Siber Güvenlik Haberleri
0 29
[Resim: attachment.php?aid=307]

Selam arkadaşlar,

Bu sabah X tarafında epey konuşulan bir konu var: PHP çekirdeğinde iki kritik uzaktan kod çalıştırma (RCE) açığı. PHP güvenlik ekibi acil bir güvenlik sürümü çıkaracağını doğruladı; resmi takvim 21 Ekim 2026, 14:00 UTC (Türkiye saatiyle 17:00). Araştırmacılar hem lab hem saha ortamında yeniden üretebildiklerini söylüyor. Panik yok ama boş da durmayalım: ne olduğunu, kök nedeni ve sunucuları nasıl koruyacağımızı toparlamak istedim.

Bu yazı beyaz şapka / savunma odaklıdır. Çalışır exploit veya PoC kodu yok; yama henüz herkese yayılmamışken canlı bir 0-day'i silahlandırmanın anlamı yok. Amacımız mekanizmayı anlamak ve sistemi kapatmak.

Konuda Anlatılacaklar
  1. CVE özeti ve resmi durum
  2. session.upload_progress nedir, neden var
  3. php_session_rfc1867_callback ve kök neden (UAF)
  4. Bellek düzeni mantığı (kavramsal)
  5. Saldırı yüzeyinden RCE'ye giden kavramsal akış
  6. Kimler etkilenir, hangi sürümler
  7. Ne yapmalıyız: yama, geçici azaltma, WAF, izleme
  8. Takip ve kaynaklar

1) CVE özeti
  • CVE-2026-109618 ve CVE-2026-109619
  • Tür: Heap use-after-free (UAF) — iki ayrı primitif
  • Bileşen: PHP session uzantısı, dosya yükleme ilerleme (upload progress) işleyicisi
  • Fonksiyon / dosya:
    Kod:
    php_session_rfc1867_callback
    ·
    Kod:
    ext/session/session.c
  • Etki: Uzaktan kod çalıştırma (RCE); raporlanan CVSS bandı kritik (yaklaşık 9.2 / bazı kaynaklarda 10)
  • Durum: PHP projesi acil güvenlik sürümünü doğruladı; teknik detayların resmi duyuruyla netleşmesi bekleniyor. Araştırmacılar UAF zincirini lab ve saha ortamında yeniden ürettiklerini belirtti.

Kısaca: multipart dosya yükleme sırasında session'a yazılan "yükleme ilerlemesi" yolunda, heap üzerinde serbest bırakılmış bir bellek bloğuna yeniden erişiliyor. Bu sınıf hatalar doğru koşullarda denetimsiz bellek yazmaya ve oradan da kod çalıştırmaya evrilebiliyor.

2) session.upload_progress ne işe yarar

Büyük bir dosya yüklerken arayüzde yüzde kaçının gittiğini göstermek sık ihtiyaçtır. PHP, bunun için isteğe bağlı bir özellik sunar: session.upload_progress.

Mantık kabaca şöyle:

  1. İstemci multipart/form-data ile dosya gönderir (RFC 1867 tarzı yükleme).
  2. PHP, yükleme sürerken ilerlemeyi (kaç byte geldi, dosya adı, yüzde vb.) oturum (session) içinde bir anahtar altında tutar.
  3. Uygulama ayrı bir AJAX isteğiyle aynı session'dan bu bilgiyi okuyup progress bar çizer.

İlgili php.ini anahtarlarından sık görülenler:

Kod:
session.upload_progress.enabled = On session.upload_progress.cleanup = On session.upload_progress.prefix = "upload_progress_" session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" session.upload_progress.freq = "1%" session.upload_progress.min_freq = "1"

Çoğu modern uygulama progress bar'ı kendi JavaScript'iyle veya harici depolamayla çözer; bu PHP özelliği her kurulumda zorunlu değildir. Ama varsayılan olarak açık kalabiliyor — ve işte saldırı yüzeyi tam buradan geliyor: dosya yükleme + session yazımı aynı istek yaşam döngüsünde birleşiyor.

3) Kök neden: php_session_rfc1867_callback ve use-after-free

PHP, multipart yükleme parçalarını işlerken session uzantısına bir geri çağrı (callback) bağlar. Bu callback'in adı kaynakta
Kod:
php_session_rfc1867_callback
; dosya
Kod:
ext/session/session.c
.

Use-after-free'i sade bir dille şöyle düşünün:
  • Program heap'ten bir nesne alır (ör. session içindeki bir dizi / zval yapısı).
  • Belirli bir koşulda bu nesne serbest bırakılır (free) — bellek ayırıcıya "bu blok artık kullanılmıyor" denir.
  • Ama kod yolunun başka bir kolunda hâlâ eski işaretçi (stale pointer) tutulur.
  • Sonra o işaretçi üzerinden okuma veya yazma yapılır → use-after-free.

Saha raporlarına göre burada sorun, upload progress yolunda session verisine bağlanan yapıların yaşam süresinin yanlış yönetilmesi: bir referans "öldükten" sonra hâlâ tutuluyor; yükleme callback'i ilerlerken veya session yeniden yazılırken o stale referans tekrar kullanılıyor. İki CVE'nin iki ayrı primitif olarak ayrılması, aynı yüzeyde (aynı callback / aynı özellik) farklı serbest bırakma–yeniden kullanma yollarına işaret ediyor.

Önemli sınır: PHP henüz resmi teknik embargoyu tam kaldırmamış olabilir. Bu yüzden burada yeniden üretim adımı veya offset hesabı yok. Savunmacı için yeterli kök neden şudur: session.upload_progress işleyicisinde heap UAF → bellek bozulması → RCE potansiyeli.

4) Bellek düzeni mantığı (kavramsal)

PHP'nin dahili nesne modeli (zval, HashTable, string, array) heap üzerinde yaşar. Tipik bir UAF → RCE hikâyesi savunma açısından şöyle okunur:

  1. Free: Hassas bir yapı (ör. session'a yazılacak dizi / string buffer) serbest bırakılır.
  2. Realloc / spray: Aynı istek içinde veya yakından gelen başka tahsisler, boşalan bloğu yeniden doldurabilir. Saldırgan kontrollü veri (ör. yükleme alanları, session anahtarları, uzun string'ler) heap düzenini şekillendirmeye çalışır.
  3. Use: Stale işaretçi, artık saldırganın kontrol ettiği içeriği "meşru nesne" sanarak okur/yazar.
  4. Type confusion / keyfi yazma: Yanlış tipte yorumlanan bellek, işlev işaretçisi veya zend motorunun çağrı yapılarına kadar gidebilir.
  5. Kod çalıştırma: Zend VM tarafında güvenilir bir çağrı yoluna (ör. fonksiyon çağrı mekanizması) saplanırsa süreç bağlamında RCE oluşur.

Bu zincir build'e, allocator davranışına, ASLR/PIE'ye ve istek zamanlamasına bağlıdır; "her istekte %100" demek doğru olmaz. Ama kritik puanın sebebi tam da bu: başarılı olduğunda sonuç doğrudan sunucu tarafı kod çalıştırmadır, XSS veya bilgi sızıntısı değil.

5) Saldırı yüzeyi — kavramsal akış (exploit yok)

Yüksek seviye bakış (savunma senaryosu):
  • Önkoşul: Hedefte PHP çalışıyor ve
    Kod:
    session.upload_progress.enabled
    açık. Session kullanımı ve multipart dosya yükleme kabul eden bir uç nokta var (login formu, medya yükleme, ticket eki… çoğu web uygulamasında bulunur).
  • Tetik: Saldırgan, progress özelliğini devreye sokacak şekilde multipart istek gönderir; session tarafında upload progress kayıtları oluşur / güncellenir.
  • UAF penceresi: Callback içinde serbest bırakılmış yapıya stale erişim; heap düzeni bozulur.
  • Sonuç: Bellek bozulması, uygun koşullarda RCE. Araştırmacı raporlarında zincirin zend çağrı yollarına kadar götürüldüğü iddia ediliyor; resmi teyit yamayla gelecek.

Kimlik doğrulama gerekip gerekmediği sürüm ve yapılandırmaya göre tartışmalı raporlanıyor; pratikte internete açık PHP uygulamalarını yüksek öncelikli sayın. "Sadece admin paneli var" demek yetmez — herkese açık upload veya session açan herhangi bir form yüzey sayılır.

Bu yazıda kasıtlı olarak yok: çalışan PoC, payload, offset, heap spray betiği, php2shell benzeri araç kullanımı. Yama öncesi canlı 0-day'i çoğaltmak forumun da, yasal sınırın da dışındadır. Kendi sisteminizde bile test edecekseniz yama sonrası, izole lab ve yazılı izin şart.

6) Kimler etkilenir
  • session.upload_progress etkin olan PHP kurulumları birincil risk grubu.
  • Paylaşılan ve saha tartışmalarında etki yüzeyi eski PHP 5 hattından desteklenen 8.x sürümlerine kadar geniş anlatılıyor. Destek süresi bitmiş (EOL) 5.x / 7.x / 8.0 / 8.1 için resmi yama gelmeyebilir — bu makineler zaten ayrı bir acil durum.
  • Beklenen sabit sürümler (duyuru öncesi sızıntı / hazırlık notlarına göre, resmi listede teyit edin): 8.5.x, 8.4.x, 8.3.x, 8.2.x acil güvenlik paketleri. Tam sürüm numaraları php.net duyurusuyla kesinleşecek.
  • WordPress, Laravel, Drupal, Magento, özel paneller… dil PHP ise ve upload progress açıksa varsayılan olarak ilgili sayın.
  • Paylaşımlı hosting'te tek bir zayıf vhost, komşu hesapları da riske sokabilir (süreci paylaşım modeline göre).

Kendi sunucunuzda hızlı kontrol:

Kod:
# Çalışan PHP sürümü php -v # Özellik açık mı? php -i | grep -i upload_progress # veya php -r 'echo ini_get("session.upload_progress.enabled") ? "ON\n" : "OFF\n";'

7) Nasıl korunulur — yapılacaklar listesi

A) Asıl çözüm: acil güvenlik yamasını hemen alın
  • php.net / dağıtımınızın (Debian, Ubuntu, RHEL, Remi, Ondřej PPA, Docker resmi imajı…) güvenlik paketini izleyin.
  • Yama çıkınca önce staging, sonra prod; PHP-FPM / Apache / Nginx worker'ları yeniden başlatın ki yeni binary yüklensin.
  • EOL PHP kullanıyorsanız "bekleyip görelim" yok: desteklenen 8.2+ hatta taşıyın. Yamasız EOL = açık kapı.

B) Geçici azaltma (yama gelene kadar / yama sonrası bile savunma derinliği)

Progress bar özelliğini kullanmıyorsanız kapatın. Çoğu sitede tek etkisi upload yüzde çubuğunun PHP session üzerinden beslenmemesidir; dosya yüklemenin kendisi çalışmaya devam eder.

Kod:
; php.ini veya conf.d/ altına session.upload_progress.enabled = Off

Sonra FPM/Apache'yi reload edin:

Kod:
# örnek sudo systemctl reload php8.3-fpm # veya sudo systemctl reload apache2

Doğrulama:

Kod:
php -i | grep session.upload_progress.enabled

Not: Bu ayar şu anki kamu bilgisine dayanan geçici azaltmadır; PHP projesinin resmi "tek başına yeterli workaround" diye mühürlediği bir madde olmayabilir. Yamanın yerini tutmaz, ama saldırı yüzeyini daraltır.

C) Maruziyeti azaltma
  • İnternete açık gereksiz upload uçlarını kapatın veya VPN / IP allowlist arkasına alın.
  • WAF / reverse proxy'de anormal multipart + session cookie desenlerini, aşırı büyük veya tuhaf alan adlı yüklemeleri izleyin / rate-limit uygulayın.
  • Paylaşımlı hosting'te hesap izolasyonunu (PHP-FPM pool per user, open_basedir, ayrı uid) gözden geçirin.
  • Container imajlarını pin'leyin; "latest" ile kör güncelleme yerine bilinen güvenli tag'e geçin.

D) İzleme (SOC / blue team)
  • Web sunucu ve PHP-FPM loglarında ani worker crash / segfault artışı (UAF denemeleri sık process düşürür).
  • Alışılmadık multipart istekleri, özellikle progress name alanı ve ardışık session yazan yüklemeler.
  • Yama öncesi/sonrası için EDR'de web kökünden çıkan şüpheli process spawn (php-fpm → sh/curl/wget zinciri).
  • File integrity: web root ve session kaydetme dizininde beklenmeyen yeni .php dosyaları.

Örnek (kendi sunucunuz, yetkili izleme) — son bir saatte PHP-FPM segfault izi:

Kod:
journalctl -u php*-fpm --since "1 hour ago" | grep -iE 'segfault|killed|oom'

8) Ne yapmayın
  • Kamuya açık PoC / "php2shell" tarzı araçları prod'a veya müşteri sistemine denemeyin.
  • Yama çıkmadan "acaba bizde işliyor mu" diye internete açık sunucuda yarış koşturmayın.
  • Sadece WAF kuralına güvenip PHP'yi güncellemeden bırakmayın.

9) Takip listesi

Yama ve CVE metinleri netleştikçe şunları izleyin:
  • PHP News Archive — Upcoming Critical PHP Security Release
  • php.net güvenlik duyuruları ve ilgili 8.2 / 8.3 / 8.4 / 8.5 sürüm notları
  • CVE kayıtları: CVE-2026-109618, CVE-2026-109619 (NVD / MITRE güncellemeleri)
  • Dağıtım güvenlik listeleri (Debian Security, Ubuntu USN, Red Hat RHSA vb.)
  • Kurumsal CERT duyuruları (ör. CERT-EU özetleri)

X / Twitter tarafındaki erken sızıntılar yön gösterici olabilir ama nihai kaynak php.net ve CVE kaydıdır. CVSS puanı, etkilenen sürüm listesi ve resmi workaround metni oradan teyit edilmeli.

Kısa sonuç

İki kritik UAF, PHP'nin
Kod:
session.upload_progress
işleyicisinde (
Kod:
php_session_rfc1867_callback
,
Kod:
ext/session/session.c
). Etki RCE bandında; yama acil. Bugün yapılacaklar net:

  1. Envanter: hangi sunucuda hangi PHP var, progress açık mı?
  2. Mümkünse
    Kod:
    session.upload_progress.enabled = Off
  3. 14:00 UTC civarı (ve sonrasında) resmi paketi uygula, servisleri restart et
  4. EOL PHP varsa desteklenen sürüme taşı
  5. Crash / şüpheli upload / web root bütünlüğünü izle

Soruları veya kendi ortamınızda gördüğünüz (hassas olmayan) gözlemleri thread'e yazın; yama notları düştükçe bu konuyu güncelleriz.

Yasal uyarı: Anlatılanlar yalnızca kendi sistemleriniz veya yazılı izniniz olan ortamlar içindir. Başkasına ait sistemlerde deneme TCK 243–245 kapsamında suçtur. TurkTeam beyaz şapka ilkelerine bağlıdır.

Kaynakça / izlenen duyurular
  • PHP Group — Upcoming Critical PHP Security Release (20 Ekim 2026 duyurusu; yayın 21 Ekim 2026 14:00 UTC)
  • CVE-2026-109618, CVE-2026-109619 (kamu tartışması ve araştırmacı raporları; resmi teknik metin yamayla)
  • CERT-EU ve sektör özetleri — kritik PHP RCE hazırlık tavsiyeleri
  • Saha: session.upload_progress UAF primitifleri, php_session_rfc1867_callback / ext/session/session.c


Ek DosyalarEkran Görüntüleri
   
 Junior SOC İlanlarında Arananlar: 20 İlan Notum ve Ortak Beklentiler
Tonyukuk 10-21-2026, 04:09 AM · Kariyer ve İş İlanları
0 30
[Resim: attachment.php?aid=305]

Selam,

Geçen ay LinkedIn / kariyer sitelerinde gördüğüm 20 kadar Junior SOC ilanını not alıp ortak beklentileri çıkardım. Şirket adları yok; desenler var. Kendi başvurunuzu buna göre kalibre edebilirsiniz.

Tekrar eden teknik beklentiler
  • SIEM (Splunk, Elastic, QRadar, Sentinel... isimler değişir)
  • Windows / Linux log okuma
  • Ağ temelleri (TCP/IP, DNS, HTTP, proxy)
  • Phishing triage
  • EDR arayüzü kullanımı (CrowdStrike, Defender, SentinelOne vb.)
  • Temel scripting (Python veya PowerShell) — "nice to have"dan "expected"a kayıyor
  • MITRE ATT&CK farkındalığı

[Resim: attachment.php?aid=306]

Soft / süreç
  • Vardiya / nöbet toleransı
  • Ticket disiplini ve yazılı iletişim
  • İngilizce okuma (alarm ve tehdit istihbaratı)
  • Stres altında net özetleyebilme

Sık abartılan gereksinimler
"5 yıl deneyimli junior" ilanları hâlâ var. 1-2 yıl IT + lab portfolyosu ile başvurmaktan çekinmeyin; ilanın %70'ini karşılıyorsanız yazın.

Portfolyoya ne koymalı?
  • Homelab SIEM ekran görüntüsü + kısa writeup (hassas veri olmadan)
  • Phishing analiz örneği (kendi ürettiğiniz örnek mail)
  • Sigma kuralı veya basit detection blog yazısı
  • Sertifikalar: CC / Security+ / BTL1 vb. (varsa)

Mülakat ipucu
"4625 görürsen ne yaparsın?" gibi senaryolara 1) doğrula 2) kapsam 3) escalate / kapat adımlarıyla cevap verin. Araç adından çok düşünme süreciniz ölçülüyor.

Kaynaklar
  • İş ilanı agregatörleri (kendi taramanız)
  • MITRE ATT&CK
  • TryHackMe / Blue team odaları

Sizin gördüğünüz junior SOC ilanında en absürt gereksinim neydi?

Vardiya gerçeği
Junior SOC sıkça 7x24 rotasyona dahildir. İlanda yazmasa sorun; yaşam tarzınıza uyuyorsa başvurun. Uyumuyorsa gece nöbeti olmayan AppSec / GRC yollarını değerlendirin.

CV satır örnekleri
"Wazuh lab kurup 10 detection kuralı yazdım" > "SIEM biliyorum". Ölçülebilir, kanıtlanabilir madde yazın. GitHub linki verin; boş repo koymayın.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.

Ek DosyalarEkran Görüntüleri
       
 eJPT mi Security+ mu? Mavi Yol İçin Karşılaştırma ve Çalışma Planı
Tonyukuk 10-21-2026, 04:07 AM · Sertifikalar
0 29
[Resim: attachment.php?aid=303]

Merhaba,

eJPT ve Security+ sık karşılaştırılıyor ama aslında biraz elma-armut. Biri pratik pentest giriş sınavı, diğeri geniş tabanlı bilgi sertifikası. Mavi yol (SOC) için hangisini öne almalısınız?

Kısa karşılaştırma
  • Security+: kavramsal genişlik, iş ilanı uyumu, sınav merkezi / online proctored
  • eJPT: lab içinde pratik görevler, keşif-exploit-rapor düşüncesi, "eline mouse almış" sinyali

[Resim: attachment.php?aid=304]

Mavi yol için önerim
SOC analisti hedefinde önce: ağ temelleri + Windows Event Log + bir SIEM labı (Wazuh). Sertifika olarak Security+ veya ISC2 CC kavramsal kapıyı açar. eJPT kırmızı tarafı tanımak için faydalı (saldırganı anlamak), ama mavi iş ilanında Security+/CySA+/BTL1 daha sık geçer.

Kırmızıya kayacaksanız
eJPT -> daha fazla HTB/THM -> sonra OSCP+ planı daha doğal. Security+ zarar vermez ama pratik saatlerinizi çalmasın.

Çalışma planı (mavi ağırlıklı 12 hafta örneği)
  • H1-4: Networking + Linux/Windows temelleri + Security+ objectives
  • H5-8: Wazuh/Suricata lab + Security+ deneme sınavları
  • H9-10: eJPT deneme labı (opsiyonel) veya CySA+ konularına giriş
  • H11-12: CV + GitHub writeup + iş ilanı becerilerini eşleştirme

Kaynaklar
  • INE / eJPT resmi bilgilendirme
  • CompTIA Security+ objectives
  • TryHackMe SOC / Blue path odaları

Siz hangisini önce aldınız ve işe yaradı mı? Özellikle Türkiye'deki junior ilan deneyimleri değerli.

Maliyet ve zaman karşılaştırması
İkisini peş peşe almak bütçeyi zorlar. Mavi hedefte Security+ (veya CC) önce; kırmızı merakta eJPT sonra. Aynı ayda ikisine çalışmak genelde ikisini de yarım bırakır.

Türkiye bağlamı
Yerel ilanlarda bazen sertifikadan çok Linux + ağ + bir staj soruluyor. Sertifikayı destekleyici kanıt görün; tek satırlık CV süsü değil.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.

Ek DosyalarEkran Görüntüleri
       
 Security+ SY0-701: 2026'da Hâlâ Mantıklı mı? Kim İçin, Ne Kadar Süre
Tonyukuk 10-21-2026, 04:06 AM · Sertifikalar
0 27
[Resim: attachment.php?aid=301]

Selam,

CompTIA Security+ (SY0-701) hâlâ giriş seviyesi için en çok sorulan sertifikalardan. "2026'da hâlâ mantıklı mı?" sorusuna kendi gözlemimle cevap vereyim: kime göre değişiyor.

Kim için mantıklı?
  • BT'den siber güvenliğe geçiş
  • İş ilanlarında "Security+ preferred/required" gören junior adaylar (özellikle ABD merkezli ilanlar)
  • Temel kavramları (CIA, IAM, ağ, kripto, IR) sistematik görmek isteyenler
Kim için öncelik değil?
  • Zaten eJPT/OSCP yolunda ve eliyle lab yapanlar — pratik portfolyo daha çok işe yarar
  • Saf mavi takım derinliği isteyenler — CySA+ / BTL1 / SIEM pratiği daha doğru
  • Bulut güvenlik mühendisliği — AWS/Azure güvenlik sertifikaları daha hedefe yönelik

[Resim: attachment.php?aid=302]

Sınav ve süre
SY0-701; çoktan seçmeli + performance-based sorular. Resmi CompTIA sayfasından güncel süre, soru sayısı ve geçme skorunu kontrol edin (bu yazı tarihindeki bilgilere güvenmek yerine birincil kaynağa bakın). Çalışma süresi: temel BT'si olan birinde 6-10 hafta akşam temposu sık görülür; sıfırdan ise daha uzun.

Çalışma planı iskeleti
  1. Resmi exam objectives PDF'ini satır satır
  2. Bir ana kitap veya video + kısa not
  3. Her domain bitince 50-80 soruluk deneme
  4. Zayıf domain'e dönüş
  5. PBQ (performance-based) için senaryo pratiği

Maliyet gerçeği
Sınav ücreti + varsa tekrar. Ücretsiz alternatif öğrenme yolları var; sertifika kapıyı açan bir sinyal, sihir değil.

Kaynaklar
  • CompTIA resmi Security+ sayfası ve objectives
  • Professor Messer (ücretsiz video; popüler)
  • Resmi practice testler (dikkat: sızdırılmış "dumps" kullanmayın; etik ve öğrenme açısından zararlı)

Sizin Security+ sonrası ilk iş görüşmesinde sorulan soru neydi? Yorumlarda paylaşın.

PBQ stratejisi
Performance-based sorularda panikleyip süreyi yakmayın. Önce kolay çoktan seçmeleri temizleyin, PBQ'ya dönün. Simüle firewall kuralı / log okuma sorularında "en az yetki" ve "en az risk" mantığıyla eleyin.

Sertifika sonrası
Security+ almak iş garantisi değildir. LinkedIn'de lab projesi + kısa yazılar + belki gönüllü / staj arayışı. Sertifikayı CV'de tarih ve sertifika numarası ile yazın; "hazırlanıyorum" diye yazmayın.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.

Ek DosyalarEkran Görüntüleri
       
 Security+ SY0-701: 2026'da Hâlâ Mantıklı mı? Kim İçin, Ne Kadar Süre
Tonyukuk 10-18-2026, 11:44 PM · Sertifikalar
0 51
[Resim: attachment.php?aid=299]

Selam,

CompTIA Security+ (SY0-701) hâlâ giriş seviyesi için en çok sorulan sertifikalardan. "2026'da hâlâ mantıklı mı?" sorusuna kendi gözlemimle cevap vereyim: kime göre değişiyor.

Kim için mantıklı?
  • BT'den siber güvenliğe geçiş
  • İş ilanlarında "Security+ preferred/required" gören junior adaylar (özellikle ABD merkezli ilanlar)
  • Temel kavramları (CIA, IAM, ağ, kripto, IR) sistematik görmek isteyenler
Kim için öncelik değil?
  • Zaten eJPT/OSCP yolunda ve eliyle lab yapanlar — pratik portfolyo daha çok işe yarar
  • Saf mavi takım derinliği isteyenler — CySA+ / BTL1 / SIEM pratiği daha doğru
  • Bulut güvenlik mühendisliği — AWS/Azure güvenlik sertifikaları daha hedefe yönelik

[Resim: attachment.php?aid=300]

Sınav ve süre
SY0-701; çoktan seçmeli + performance-based sorular. Resmi CompTIA sayfasından güncel süre, soru sayısı ve geçme skorunu kontrol edin (bu yazı tarihindeki bilgilere güvenmek yerine birincil kaynağa bakın). Çalışma süresi: temel BT'si olan birinde 6-10 hafta akşam temposu sık görülür; sıfırdan ise daha uzun.

Çalışma planı iskeleti
  1. Resmi exam objectives PDF'ini satır satır
  2. Bir ana kitap veya video + kısa not
  3. Her domain bitince 50-80 soruluk deneme
  4. Zayıf domain'e dönüş
  5. PBQ (performance-based) için senaryo pratiği

Maliyet gerçeği
Sınav ücreti + varsa tekrar. Ücretsiz alternatif öğrenme yolları var; sertifika kapıyı açan bir sinyal, sihir değil.

Kaynaklar
  • CompTIA resmi Security+ sayfası ve objectives
  • Professor Messer (ücretsiz video; popüler)
  • Resmi practice testler (dikkat: sızdırılmış "dumps" kullanmayın; etik ve öğrenme açısından zararlı)

Sizin Security+ sonrası ilk iş görüşmesinde sorulan soru neydi? Yorumlarda paylaşın.

PBQ stratejisi
Performance-based sorularda panikleyip süreyi yakmayın. Önce kolay çoktan seçmeleri temizleyin, PBQ'ya dönün. Simüle firewall kuralı / log okuma sorularında "en az yetki" ve "en az risk" mantığıyla eleyin.

Sertifika sonrası
Security+ almak iş garantisi değildir. LinkedIn'de lab projesi + kısa yazılar + belki gönüllü / staj arayışı. Sertifikayı CV'de tarih ve sertifika numarası ile yazın; "hazırlanıyorum" diye yazmayın.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.

Ek DosyalarEkran Görüntüleri
       
 IoT Cihaz Sertleştirme: Varsayılan Parola, Firmware ve Segmentasyon
Tonyukuk 10-18-2026, 11:23 PM · Donanım ve IoT Güvenliği
0 66
[Resim: attachment.php?aid=297]

Merhaba,

Evdeki ve ofisteki IoT cihazları (kamera, yazıcı, akıllı priz) çoğu zaman yıllarca güncellenmeden kalır. Bu yazıda varsayılan parola, firmware ve ağ segmentasyonu odaklı sertleştirme listemi paylaşıyorum.

1) Varsayılan kimlik bilgileri
İlk kurulumda admin/admin bırakmayın. Aynı modeli kullanan binlerce cihaz Shodan'da aynı parola ile duruyor. Parolayı parola yöneticisinde saklayın; her cihaz farklı olsun.

2) Firmware
  • Üreticinin resmi sayfasından güncelleyin; rastgele "firmware.bin" indirmeyin
  • Destek ömrü bitmiş cihazı internete açmayın; değiştirin veya tamamen izole edin
  • Otomatik güncelleme varsa açın; yoksa takvimle kontrol edin

[Resim: attachment.php?aid=298]

3) Segmentasyon
IoT'yi ana VLAN'dan ayırın. Misafir / IoT SSID + istemci izolasyonu. Kameranın televizyonunuza ihtiyacı olabilir; NAS ve bilgisayarınıza genelde yoktur. Firewall kuralı: IoT -> WAN sınırlı, IoT -> LAN deny (gerekli istisnalar hariç).

4) Servis yüzeyi
  • UPnP kapatın
  • Uzaktan erişim bulut özelliği kullanmayacaksanız kapatın
  • Gereksiz açık portları kapatın; port forward ile kamerayı dünyaya açmayın (VPN tercih)
  • TLS'siz yönetim arayüzünü WAN'a asla vermeyin

5) İzleme
Router'da IoT VLAN'ından beklenmeyen dış bağlantıları loglayın. Bir ampulün ani DNS tüneli gibi davranması "normal" değildir.

Hızlı kontrol listesi
  1. Parola değişti mi?
  2. Firmware güncel mi / destekleniyor mu?
  3. Ayrı SSID/VLAN?
  4. UPnP/WPS kapalı mı?
  5. Bulut paylaşımı bilinçli mi?

Kaynaklar
  • CISA IoT güvenlik önerileri
  • Üretici güvenlik bültenleri
  • NIST IR IoT cihaz güvenliği yayınları

Evde IoT VLAN'ı kurarken hangi router/firewall'u kullandınız? pfSense / OpenWrt deneyimleri yorumlara bekler.

Kamera özelinde
Varsayılan RTSP parolasını değiştirin, mümkünse VPN ardında izleyin, bulut paylaşımını bilinçli açın. "Zayıf cihaz" varsayımıyla hareket edin: ele geçince LAN tarayıcı olur. Bu yüzden segmentasyon şart.

Envanter
Evdeki her IoT'nin MAC, IP, firmware sürümü, son güncelleme tarihini basit bir tabloya yazın. Router DHCP static lease ile isim verin; "unknown device" alarmı anlamlı hâle gelir.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.

Ek DosyalarEkran Görüntüleri
       
 Maltego CE ile İlişki Haritası: İlk Graf, Transform ve Etik Sınırlar
Tonyukuk 10-18-2026, 11:22 PM · OSINT
0 66
[Resim: attachment.php?aid=295]

Selam,

Maltego CE (Community Edition), OSINT'te ilişki haritası çizmek için popüler bir araç. Bu yazıda ilk grafı nasıl kurduğumu, transform sınırlarını ve etik çizgiyi anlatıyorum. Yalnızca kendi lab varlıklarım / kamuya açık örnek domain'ler.

Kurulum ve hesap
Resmi Maltego sitesinden CE indirilir; community hesabı gerekir. Transform'ların bir kısmı ücretli API anahtarı ister (WHOIS, shodan vb.). CE ile öğrenmek için yeterli yerleşik / ücretsiz transform vardır.

İlk graf
  1. Yeni graph
  2. Entity palette'ten Domain ekle
  3. Üzerinde sağ tık > Run Transform (ör. To DNS Name, To Website)
  4. Çıkan IP / MX / NS entity'lerini genişlet
Aşırı genişletme grafı çöpe çevirir. Her adımda "bu kenar benim soruma hizmet ediyor mu?" diye sorun.

[Resim: attachment.php?aid=296]

Pratik senaryo: kendi şirket domain'iniz
Amaç: dışarıdan görünen alt alan adları ve e-posta altyapısı. Sonuçları crt.sh / dig ile doğrulayın; Maltego tek kaynak olmasın.

Etik ve hukuk
  • Kişisel veri toplamayın, paylaşmayın (KVKK)
  • Transform'lar üçüncü taraf API çağırır; ToS geçerli
  • "Machine" entity ile rastgele iç IP tarama = aktif keşif; kapsam gerekir
  • Stalking / doxxing amaçlı kullanım yasaktır; burada anlatılmaz

Dışa aktarma
Rapor için grafı görüntü olarak veya entity listesini CSV olarak alın. Kanıt klasörüne transform tarihini yazın; sonuçlar zamanla değişir.

Alternatifler
SpiderFoot, Recon-ng, kısmen Maltego benzeri otomasyon sunar. Ben hızlı beyin fırtınasında Maltego, otomasyonda SpiderFoot kullanıyorum.

Kaynaklar
  • Maltego CE resmi dokümantasyon
  • OSINT Framework (yön bulma)
  • crt.sh, dig, RDAP (doğrulama)

Sizin CE'de favori ücretsiz transform setiniz hangisi?

Grafı sade tutma
50 entity'den sonra layout bozulur. Collection / set kullanarak "DNS bulguları", "e-posta bulguları" diye paketleyin. Her transform sonrası irrelevant node'ları silmek ayıp değil; OSINT temizlik işidir.

Doğrulama zorunluluğu
Maltego'nun ürettiği her kenarı dig / whois / tarayıcı ile doğrulamadan rapora yazmayın. Yanlış pozitif ilişki müşteriye yanlış risk anlatır.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.

Ek DosyalarEkran Görüntüleri
       
 Sertifika Pinning Ne Zaman Mantıklı? Mobil ve API İçin Değerlendirme
Tonyukuk 10-18-2026, 11:21 PM · Kriptografi
0 67
[Resim: attachment.php?aid=293]

Merhaba,

Sertifika pinning (certificate pinning) mobil uygulamada veya kalın istemcide "yalnızca şu genel anahtar / sertifika zincirine güven" demektir. MITM'i zorlaştırır ama operasyonel maliyeti vardır. Bu yazıda ne zaman mantıklı olduğunu ve alternatifleri konuşuyorum.

Ne işe yarar?
Kullanıcı cihazında özel CA ile traffic interception (kurumsal proxy, saldırgan proxy) yapıldığında uygulama bağlantıyı reddedebilir. Bankacılık / yüksek riskli uygulamalarda hâlâ tercih edilen bir kontroldür.

Ne zaman mantıklı?
  • Yüksek değerli oturum (finans, sağlık)
  • Kendi backend sertifika yaşam döngünüzü kontrol edebiliyorsanız
  • Pin'i güncelleyecek uygulama güncelleme kanalınız güvenilir ve hızlıysa
Ne zaman zararlı / gereksiz?
  • Sık değişen CDN sertifikaları + sabit pin = üretim kesintisi
  • Küçük ekip, pin rotasyon prosedürü yok
  • Yalnızca "güvenlik tiyatrosu" için; telemetri ve auth zayıfsa pin yetmez

[Resim: attachment.php?aid=294]

HPKP notu
HTTP Public Key Pinning (HPKP) tarayıcılarda deprecated / kaldırıldı. Web için modern yol: doğru sertifika yönetimi, CAA, CT izleme, HSTS. Pinning konuşurken HPKP'yi "yapın" diye önermeyin.

Mobilde pratik
Android Network Security Config ile domain'e pin eklenebilir; iOS'ta URLSession / TrustKit benzeri yaklaşımlar. Pin'i leaf yerine intermediate / SPKI pinlemek rotasyonu kolaylaştırabilir. Yedek pin (backup pin) şart.

Operasyon kontrol listesi
  1. Sertifika yenileme takvimi + pin güncelleme PR'ı
  2. Acil "pin kill switch" (uzak config) — dikkatli tasarlanmalı
  3. Break-glass: pin başarısızlığında telemetri
  4. Pentest: pinning varken güvenlik testi için debug build süreci

Alternatif / tamamlayıcı
  • Certificate Transparency monitoring
  • Short-lived certificates
  • mTLS (istemci sertifikası) — farklı tehdit modeli
  • App Attest / Play Integrity (cihaz bütünlüğü; pinning yerine geçmez)

Kaynaklar
  • OWASP MASVS / MASTG - network security
  • Android Network Security Config docs
  • Mozilla / Chromium HPKP deprecation notları

Siz production'da SPKI pin mi, yoksa CA pin mi kullanıyorsunuz? Rotasyon kazası yaşayan var mı?

Debug ve pentest build
Pinning açıkken güvenlik testi için ayrı debug build (pin kapalı veya user CA'ya izin) şart. Production APK'da pin kapatma backdoor'u bırakmayın. Remote config ile pin kapatmak mümkünse o kanalın bütünlüğünü (imza) sağlayın.

API istemcileri
Mobil dışı kalın istemcilerde (masaüstü agent) pinning benzeri certificate binding kullanılabilir. Rotasyon runbook'u olmadan production'a pin eklemek, kendi kendine DoS'tur.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.

Ek DosyalarEkran Görüntüleri
       
 İzinli Labda İlk XSS Bulgum: Rapor Şablonu ve Yeniden Üretme Adımları
Tonyukuk 10-18-2026, 11:19 PM · Web Uygulama Güvenliği
0 46
[Resim: attachment.php?aid=291]

Selam,

İlk XSS bulgunuzu labda yeniden üretebilmek ve düzgün raporlamak, bug bounty / pentest hayatında altın değerinde. Bu yazıda izinli labda (DVWA) bulduğum reflected XSS örneğini nasıl yazdığımı ve şablonumu paylaşıyorum. Gerçek müşteri verisi yok.

Yeniden üretme adımları (net olsun)
  1. Ortam: DVWA, security low, Firefox, Burp
  2. Giriş: /dvwa/vulnerabilities/xss_r/
  3. Payload (eğitim):
    Kod:
    <script>alert(1)</script>
  4. Gözlenen: sayfada alert kutusu, yanıtta encode edilmeden dönen girdi
Ekran görüntüsü + HTTP request/response ekleyin. "alert çıktı" tek başına zayıf rapordur.

[Resim: attachment.php?aid=292]

Rapor şablonu
Başlık: Reflected XSS in /vulnerabilities/xss_r/ (name parameter)
Özet: name parametresi HTML bağlamında encode edilmeden yansıtılıyor; saldırganın JavaScript çalıştırmasına izin veriyor.
Etki: Oturum çerezi hırsızlığı (HttpOnly yoksa), phishing, CSRF ile zincir.
Adımlar: numaralı, kopyala-yapıştır URL/payload.
Kanıt: request, response snippet, screenshot.
Düzeltme: bağlamına uygun encode (OWASP Cheat Sheet), CSP, cookie bayrakları.
CVSS: ortamınıza göre; labda eğitim amaçlı "Medium" örneği verebilirsiniz ama metodolojiyi yazın.

Kaliteli rapor alışkanlıkları
  • En kısa çalışan payload + alternatif vektör
  • Self-XSS ile reflected/stored ayrımını netleştirin
  • WAF bypass hikâyesi uydurmayın; kanıtlayın
  • PII / gerçek kullanıcı verisi eklemeyin

Düzeltme tarafı (geliştiriciye not)
Kod:
# Örnek düşünce (dil bağımsız): # HTML context -> entity encode # JS context -> JSON encode / güvenli API # URL context -> URL encode
CSP ek katmandır; tek başına input encode yerine geçmez.

Kaynaklar
  • OWASP XSS Prevention Cheat Sheet
  • PortSwigger XSS lab'ları
  • CWE-79

İlk raporunuz reddedildiyse gerekçe neydi? "Etki yok" cevabına karşı nasıl revize ettiniz?

Etkiyi abartmadan yazmak
alert(1) kanıtı teknik doğrulamadır; iş etkisi için cookie HttpOnly mı, CSP var mı, oturum cookie'si hangi path'te yazın. "Hesap ele geçirme" iddiası için gerçekçi zincir gerekir. Triager abartıyı görünce güven kaybeder.

Stored XSS farkı
Kayıtlı (stored) XSS'te payload'ın nerede saklandığını ve kimlerin gördüğünü yazın. Admin panelinde stored XSS genelde reflected'dan yüksek etki taşır; yine kanıtla.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.

Ek DosyalarEkran Görüntüleri
       
 Burp Intruder ile Labda Parametre Fuzzing: Payload Tipleri ve Örnekler
Tonyukuk 10-18-2026, 10:55 PM · Web Uygulama Güvenliği
0 54
[Resim: attachment.php?aid=289]

Merhaba,

Burp Suite Intruder, labda parametre fuzzing için hâlâ en hızlı yollardan biri. Bu yazıda DVWA / Juice Shop labımda Intruder'ı nasıl kullandığımı, payload tiplerini ve rate limit nezaketini anlatıyorum. Yalnızca izinli hedefler.

Hazırlık
  1. Proxy açık, lab trafiği Burp'tan geçiyor
  2. Hedef HTTP history'den Intruder'a Send
  3. Attack type seçimi: Sniper, Battering ram, Pitchfork, Cluster bomb
Tek parametre için Sniper yeter. İki parametreyi birlikte denemek için Pitchfork (eşleşmeli) veya Cluster bomb (kartezyen; patlar, dikkat).

İşaretleme
Payload Positions'ta fuzz edilecek değeri § ile işaretleyin. Örnek: id=§1§. JSON body'de de aynı mantık.

[Resim: attachment.php?aid=290]

Payload tipleri
  • Simple list: kendi wordlist'iniz
  • Numbers: 1..1000 (IDOR avı)
  • Runtime file: büyük listeler
  • Grep / regex extract ile zincirleme (ileri)
IDOR lab örneği:
Kod:
# Payload: Numbers 1-200 # Grep match: "email" veya "Welcome" # Length / status code farkına bak

Sonuçları okumak
Status, Length, Words, Grep Match sütunları. Anormal uzunluk = farklı yetki seviyesi veya hata mesajı sızıntısı olabilir. Response'u elle doğrulamadan "bug" demeyin.

Nezaket ve güvenlik
  • Resource Pool / Delay ile saniyede istek sayısını düşürün
  • Production bug bounty'de program kurallarındaki rate limit'e uyun
  • Login formunda brute force Intruder = çoğu programda yasak
  • Oturum çerezini öldürmemek için attack sırasında cookie jar'ı bilinçli yönetin

Intruder vs ffuf
Intruder GUI ve tarayıcı akışıyla entegre; ffuf hız ve CLI otomasyonunda önde. Ben keşifte ffuf, oturumlu iş mantığında Intruder kullanıyorum.

Kaynaklar
  • PortSwigger Web Security Academy - Burp Intruder
  • OWASP Testing Guide
  • DVWA / OWASP Juice Shop (yasal lab)

Siz Cluster bomb'u gerçekten ne zaman kullanıyorsunuz? Ben çoğu senaryoda Pitchfork + manuel ile yetiniyorum.

Grep extract ile zincir
Önceki yanıttan CSRF token çekip sonraki isteğe yerleştirmek Intruder/macros ile yapılır. Labda login + fuzz akışını kaydedin. Session handling rule ile cookie yenilemek, uzun fuzz sırasında 401 yağmurunu keser.

Payload set hijyeni
Başkasının "100MB xss.txt" listesini körlemesine kullanmayın; labda önce 50 satırlık hedefli liste. Production bounty'de aynı kural: kalite > megabayt.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.

Ek DosyalarEkran Görüntüleri