Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
12 yazı bulundu #security
Kubernetes Güvenliği: ServiceAccount, RBAC, Pod Security Standards, securityContext ve NetworkPolicy
DevOps SERİ 15

Kubernetes Güvenliği: ServiceAccount, RBAC, Pod Security Standards, securityContext ve NetworkPolicy

Her uygulamaya kendi ServiceAccount'unu ver, gerekmiyorsa token'ı mount etme, namespace'i restricted Pod Security Standards ile koru ve default deny NetworkPolicy'den sonra yalnız gereken yolları aç. RBAC'i kubectl auth can-i ile test etmeyi, aspnet:10.0 image'ının root çalışmasını, readOnlyRootFilesystem'ın .NET Data Protection'a etkisini, user namespace'leri ve DNS'i unutan default deny'ı gerçek kind çıktılarıyla görüyoruz.

8 Kas 2026 11 dk 4
Jenkins Credentials: withCredentials, Credential Binding ve Groovy String Interpolation Tuzağı
DevOps SERİ 05

Jenkins Credentials: withCredentials, Credential Binding ve Groovy String Interpolation Tuzağı

Secret'ı credentials() veya withCredentials ile en dar scope'ta açar, sh adımında tek tırnakla shell değişkeni olarak okursun; çift tırnakla Groovy interpolation process'e sızdırır. Credential türleri ve SYSTEM/GLOBAL/folder scope'ları, JCasC'de readFile, masking'in base64'ü yakalayıp parçayı kaçırması, sshagent, folder credential ile ekip izolasyonu ve harici secret store'lar.

8 Kas 2026 8 dk 5
Jenkins Kurulumu: Docker ile LTS, Java 21, İlk Admin ve Plugin Seçimi
DevOps SERİ 02

Jenkins Kurulumu: Docker ile LTS, Java 21, İlk Admin ve Plugin Seçimi

Jenkins'i Docker'da sürümü sabit bir LTS image'ı, isimli bir JENKINS_HOME volume'ü ve Java 21 ile kurarsın; setup wizard'ı plugins.txt ve JCasC ile atlarsın. Anonim volume tuzağı, initialAdminPassword, Docker-in-Docker'ın TLS sertifika hatası, anonymous erişim, controller'da sıfır executor, CSRF crumb'ı, agent → controller security ve Linux paketiyle kurulum.

8 Kas 2026 9 dk 5
Nginx'te HTTPS, Security Header'ları, Rate Limiting ve Load Balancing
DevOps SERİ 07

Nginx'te HTTPS, Security Header'ları, Rate Limiting ve Load Balancing

Nginx'te TLS termination, http2 on ve listen quic ile HTTP/3, add_header_inherit merge ile kaybolmayan security header'ları, tek yerden HSTS, limit_req ile 429 ve upstream zone'u olmadan round robin'in dengesiz dağıldığı gerçek koşularla. ip_hash, 1.29.6 ile gelen sticky cookie ve max_fails ile passive health check: bir instance ölünce client tek hata görmüyor, ama idempotent olmayan istekler ve sağlıksız ama ayakta process'ler ayrı ele alınmalı.

8 Kas 2026 11 dk 5
Reverse Proxy Arkasında ASP.NET Core: Forwarded Headers, KnownIPNetworks ve Doğru Client IP
DevOps SERİ 03

Reverse Proxy Arkasında ASP.NET Core: Forwarded Headers, KnownIPNetworks ve Doğru Client IP

Proxy arkasındaki uygulama client'ın IP'sini ve HTTPS'i ancak UseForwardedHeaders doğru kurulursa görür: hangi header'ların işleneceğini söylemek ve proxy'nin adresini KnownProxies ya da .NET 10'daki KnownIPNetworks'e eklemek gerekir. HTTPS redirection döngüsünü, ASPDEPR005 uyarısını, ForwardLimit ile sahte X-Forwarded-For'u, X-Forwarded-Prefix ile PathBase'i ve birden fazla instance'ta Data Protection key'lerini gerçek koşularla görüyoruz.

8 Kas 2026 11 dk 5
GitHub Actions Güvenliği: SHA Pinning, Lockfile, pull_request_target ve Script Injection'dan Korunmak
DevOps SERİ 13

GitHub Actions Güvenliği: SHA Pinning, Lockfile, pull_request_target ve Script Injection'dan Korunmak

Action'ları tam commit SHA'sına pin'le ve Dependabot/lockfile ile güncel tut, untrusted değerleri run: içine değil env: üzerinden ver, pull_request_target'ta PR kodu çalıştırma. tj-actions vakası, zizmor ve actionlint bulguları, gh actions-lock, act ile gerçek script injection çıktısı, checkout@v7 ve 2 Aralık 2026 değişikliği, güvenli workflow_run pattern'i ve read-only cache token'ları.

8 Kas 2026 12 dk 5
GitHub Actions'ta Secret, Variable ve GITHUB_TOKEN Permission'ları
DevOps SERİ 08

GitHub Actions'ta Secret, Variable ve GITHUB_TOKEN Permission'ları

Secret'lar organization, repository ve environment seviyesinde tanımlanır, en dar seviye kazanır ve log'da metin eşleştirmesiyle maskelenir; base64 gibi türetilmiş değerler ve JSON içinden okunan alanlar maskelenmez. act ile sahte secret'larla ::add-mask::, if içinde secret kullanımı, variable'lar ve boş GITHUB_TOKEN'ı gösteriyor; permissions ile least privilege'ı, Eylül 2026'da gelen vulnerability-alerts scope'unu ve PAT yerine GitHub App token'ını anlatıyoruz.

8 Kas 2026 10 dk 5
Pipeline Güvenliği ve Secret'lar: Least Privilege, Kısa Ömürlü Credential ve Supply Chain
DevOps SERİ 07

Pipeline Güvenliği ve Secret'lar: Least Privilege, Kısa Ömürlü Credential ve Supply Chain

Pipeline production anahtarlarına sahip en güçlü kullanıcıdır; secret'ları store'da tutmak, job başına least privilege, uzun ömürlü cloud key'leri yerine OIDC ile kısa ömürlü token ve action'ları commit SHA'sına pin'lemek riskin büyük kısmını kapatır. Base64'e çevrilen secret'ın maskelemeden kaçtığı gerçek act çıktısı, actionlint'in yakaladığı script injection, fork PR riskleri ve SLSA v1.2 ile SBOM'a kısa bakış.

8 Kas 2026 9 dk 6
Log'larda Hassas Veri: Redaction, Data Classification ve KVKK'ya Uygun Logging
Backend SERİ 07

Log'larda Hassas Veri: Redaction, Data Classification ve KVKK'ya Uygun Logging

Hassas veriyi log'dan uzak tutmanın yolu onu sınıflandırıp logging pipeline'ında otomatik maskelemektir. Microsoft.Extensions.Compliance.Redaction ile taxonomy ve attribute'lar, [LogProperties], ErasingRedactor, kendi redactor'ın ve korelasyonu koruyan HMAC redactor'ı; Serilog'da destructuring ile maskeleme, exception message'ındaki kişisel veri ve bunu yakalayan bir FakeLogger testi gerçek çıktılarla.

8 Kas 2026 11 dk 4
ASP.NET Core Web API'de CORS ve Güvenlik: HTTPS, HSTS, Header'lar ve Secret'lar
Backend SERİ 24

ASP.NET Core Web API'de CORS ve Güvenlik: HTTPS, HSTS, Header'lar ve Secret'lar

CORS'un neden güvenlik duvarı olmadığını curl ile görüyor, policy tanımlayıp preflight isteğini okuyoruz. HTTPS redirection, HSTS'in localhost istisnası, güvenlik header'ları ve user secrets da var.

4 Kas 2026 8 dk 35
ASP.NET Core Web API'de Authorization: Roller, Policy'ler ve Resource-Based Yetkilendirme
Backend SERİ 23

ASP.NET Core Web API'de Authorization: Roller, Policy'ler ve Resource-Based Yetkilendirme

[Authorize] ve FallbackPolicy ile başlayıp rollere, policy'lere, kendi requirement ve handler'ımıza ve resource-based authorization'a geçiyoruz. RoleClaimType tuzağını ve 401 ile 403 farkını curl ile görüyoruz.

4 Kas 2026 8 dk 35
ASP.NET Core Web API'de JWT ile Authentication: Token Üretmek ve Doğrulamak
Backend SERİ 22

ASP.NET Core Web API'de JWT ile Authentication: Token Üretmek ve Doğrulamak

Authentication ile authorization farkından JWT'nin anatomisine, AddJwtBearer kurulumundan JsonWebTokenHandler ile token üretmeye kadar login akışını kuruyoruz. ClockSkew, claim mapping ve refresh token fikri de var.

4 Kas 2026 10 dk 39
Blog Haritası