Güvenli Kod Yaklaşımımız: OWASP Top 10 ve Defense in Depth
Bir yazılımın "güvenli" olması, sadece "şifremiz hash'lenmiş" demek değildir. Modern siber güvenlik, çok katmanlı bir savunma stratejisi (Defense in Depth) gerektirir — kod seviyesinden veritabanı seviyesine, sunucu yapılandırmasından kullanıcı arayüzüne kadar her katmanda güvenlik önlemleri alınmalıdır. EMIXHAS Yazılım olarak 15+ yıllık tecrübemiz boyunca yüzlerce sistem üzerinde çalıştık ve hiçbir müşterimizin sistemi başarılı bir saldırıya uğramadı. Bu rastlantı değil, sıkı güvenlik disiplinin sonucu.
Türkiye'de KVKK (6698 sayılı Kişisel Verilerin Korunması Kanunu) yürürlüğe girdiğinden bu yana, yazılım güvenliği artık sadece "iyi uygulama" değil, hukuki zorunluluktur. Veri ihlali yaşayan şirketler ciddi para cezalarıyla karşılaşıyor — 2025'te yapılan denetimlerde 50.000 TL'den 50 milyon TL'ye kadar cezalar verildi. Avrupa pazarındaki müşterileriniz varsa GDPR uyumluluğu da kritik. Bu nedenle EMIXHAS Yazılım olarak her projemizi en yüksek güvenlik standartlarıyla geliştiriyor, KVKK + GDPR çift uyumlu sistemler kuruyoruz.
OWASP Top 10: Web Uygulamalarının En Kritik 10 Güvenlik Açığı
OWASP (Open Web Application Security Project), web uygulama güvenliğinin küresel referansıdır. OWASP Top 10 listesi, web uygulamalarında en sık karşılaşılan ve en kritik güvenlik açıklarını sıralar. EMIXHAS Yazılım olarak her projemizde bu 10 açığa karşı sistematik önlemler alıyoruz:
1. Broken Access Control (Yetkilendirme Hataları): En sık karşılaşılan zafiyet. Kullanıcının yetkisi olmadığı kaynaklara erişebilmesi. Önlemlerimiz: Role-based access control (RBAC), policy bazlı yetkilendirme (Laravel Policy, Cancan), her endpoint'te yetki kontrolü, default deny prensibi, JWT token'larda role/permission claim'leri, kapsamlı yetki testleri.
2. Cryptographic Failures (Kriptografi Hataları): Sensitive verilerin düzgün şifrelenmemesi. Önlemlerimiz: TLS 1.3 zorunlu (HTTPS), bcrypt veya Argon2id ile şifre hash'leme (asla MD5/SHA1), database encryption at rest (MySQL InnoDB encryption, PostgreSQL pgcrypto), KVKK kapsamındaki sensitive field'larda field-level encryption, secret yönetimi (HashiCorp Vault, AWS Secrets Manager).
3. Injection (SQL, NoSQL, Command, LDAP Injection): Klasikler eskimiyor. SQL injection hâlâ ilk sıralarda. Önlemlerimiz: Asla ham SQL string'i + kullanıcı input'u, her zaman prepared statements veya ORM (Eloquent, Prisma, Mongoose), input validation katmanı, query whitelisting, parameterized queries.
4. Insecure Design (Güvensiz Tasarım): Mimari seviyede güvenlik açıkları. Önlemlerimiz: Threat modeling oturumları, security review aşaması her sprint'te, attack surface minimization, principle of least privilege, secure defaults, fail securely prensibi.
5. Security Misconfiguration (Yapılandırma Hataları): Default password'ler, gereksiz açık portlar, verbose error messages. Önlemlerimiz: Hardening checklist'i her deployment'ta, security header'lar (HSTS, CSP, X-Frame-Options, X-Content-Type-Options), unnecessary services disabled, regular security audits.
6. Vulnerable and Outdated Components (Güvensiz Bileşenler): Bilinen güvenlik açığı olan kütüphaneler. Önlemlerimiz: Composer audit, npm audit, Snyk, GitHub Dependabot ile otomatik tarama, dependency güncellemeleri için aylık bakım planı, CVE database takibi, end-of-life olmuş bileşenlerin proaktif değiştirilmesi.
7. Identification and Authentication Failures (Kimlik Doğrulama Hataları): Güvensiz session yönetimi, brute force koruması olmaması. Önlemlerimiz: Strong password policy (minimum karmaşıklık), rate limiting (Laravel throttle, fail2ban), account lockout, MFA (multi-factor authentication) desteği, session timeout, secure session cookies (HttpOnly, Secure, SameSite).
8. Software and Data Integrity Failures: Untrusted source'lardan kod çekme, signature kontrolü olmaması. Önlemlerimiz: Subresource Integrity (SRI) hash'leri CDN script'lerinde, signed commits (GPG), CI/CD pipeline güvenliği, Docker image scanning.
9. Security Logging and Monitoring Failures: Saldırıyı tespit edememe. Önlemlerimiz: Comprehensive logging (Laravel Log, Winston, Pino), centralized log aggregation (ELK Stack, Loki), security event monitoring, audit trail, anomaly detection, real-time alerting (Slack, email).
10. Server-Side Request Forgery (SSRF): Server'ın internal network'e zorla istek yaptırılması. Önlemlerimiz: Network segmentation, allowlist URL fetcher'lar, response content validation, DNS rebinding koruması.
EMIXHAS Yazılım'ın Güvenlik Disiplini
OWASP Top 10'un ötesinde, her projemizde uyguladığımız ek güvenlik prensipleri:
1. Secure Coding Standards: Tüm geliştiricilerimiz secure coding training almış. PHP/Laravel için OWASP PHP Security Cheat Sheet, JavaScript/Node.js için OWASP Node.js Security Cheat Sheet rehberlerine sıkı uyum.
2. Code Review Sürecinde Güvenlik: Her pull request'te güvenlik perspektifinden review yapılır. SQL injection, XSS, CSRF, authorization kontrolü mutlaka kontrol edilir.
3. Static Application Security Testing (SAST): SonarQube, Psalm, ESLint security plugin'leri ile kod taramaları. CI pipeline'da otomatik.
4. Dynamic Application Security Testing (DAST): Production'a gitmeden önce OWASP ZAP, Burp Suite ile manuel pentest.
5. Penetration Testing: Yüksek riskli projeler için 3. parti pentest firması ile yıllık güvenlik testi.
6. Bug Bounty Programs: Bazı müşterilerimiz için HackerOne benzeri bug bounty programları kuruyoruz.
7. Incident Response Plan: Bir güvenlik olayı yaşandığında ne yapacağımızı baştan tanımlıyoruz. 7/24 acil müdahale ekibi.
8. Security Awareness Training: Müşteri ekiplerine güvenlik farkındalığı eğitimi veriyoruz. Phishing simulasyonları, password güvenliği, sosyal mühendislik.
KVKK ve GDPR Uyumlu Geliştirme
Türkiye merkezli müşterilerimiz için KVKK, Avrupa müşterileri için GDPR uyumluluğu artık standart işimizin parçası. Uyguladığımız temel pratikler:
1. Data Minimization: Sadece gerekli kişisel verileri topluyoruz. "Belki ileride lazım olur" düşüncesi yok.
2. Purpose Limitation: Veriler sadece toplandığı amaç için kullanılır. Cross-purpose kullanım yasak.
3. Data Subject Rights: Kullanıcının verilerine erişim, taşıma, silme, düzeltme haklarını sistemde implementer ediyoruz. "Account deletion" özelliği zorunlu.
4. Consent Management: Cookie consent banner, marketing consent, KVKK aydınlatma metni, açık rıza alma süreçleri.
5. Audit Trail: Kim, ne zaman, hangi veriye erişti — hepsi loglanıyor. Compliance için kritik.
6. Data Breach Notification: 72 saat içinde KVKK Kurumu'na bildirim mekanizması, etkilenen kullanıcılara bildirim altyapısı.
7. Privacy by Design: Yeni özellik tasarlarken privacy konusu baştan düşünülüyor, sonradan eklenmiyor.
8. Veri İşleme Sözleşmeleri (DPA): 3. parti servislerle (AWS, Stripe, SendGrid) KVKK/GDPR uyumlu sözleşmeler.
Müşteri Vakalarımızda Güvenlik Sonuçları
İstanbul Diş Kliniği: 12 hekimli klinik, KVKK kritik proje. Hasta dosyalarında özel sağlık verileri (sensitive personal data) işleniyor. Uyguladığımız önlemler: field-level encryption (TC kimlik, sağlık geçmişi), audit log her erişim için, role-based access (sadece tedavi eden hekim erişebilir), 2FA zorunlu, KVKK aydınlatma + açık rıza yönetimi. Sistem 18 aydır production'da, sıfır güvenlik olayı.
Bursa Özel Okul LMS: 500+ öğrenci verisi, küçük çocukların kişisel bilgileri (özel kategori). Uyguladığımız önlemler: minor data için ek koruma katmanı, ebeveyn rızası workflow'u, encryption at rest, encrypted backups, audit log, GDPR uyumlu (EU okulları için).
Konya Tarım Makinesi B2B Portalı: 120 bayilik, ticari sırlar (fiyat listeleri, üretim kapasiteleri). Uyguladığımız önlemler: VPN-only access, IP whitelisting, IPSec tunnel, role-based fine-grained permissions, watermarked PDF'ler, screenshot disable.
EMIXHAS WhatsApp SaaS: Multi-tenant SaaS — bir müşterinin verilerine başka müşteri erişememeli. Uyguladığımız önlemler: tenant isolation (database level), tenant ID her query'de zorunlu, cross-tenant access tests, regular penetration tests.
Database Güvenliği: Veri Katmanı Koruması
Veritabanı, en kritik varlığınız. Uyguladığımız önlemler:
1. Encryption at Rest: Veritabanının disk seviyesinde şifrelenmesi. MySQL InnoDB encryption, PostgreSQL pgcrypto, MongoDB Encrypted Storage Engine.
2. Encryption in Transit: Application-database arası bağlantı TLS ile şifreli. Self-signed cert yetmez, valid CA cert.
3. Field-level Encryption: Hassas field'lar (TC kimlik, kart bilgisi) ek olarak application seviyesinde encrypt. Key management ayrı serviste.
4. Network Segmentation: Database public network'te asla. Private subnet'te, sadece uygulama sunucusundan erişim.
5. Least Privilege Database Users: Application user sadece gerekli yetkilerde. SUPER, FILE, PROCESS yetkileri kesinlikle yok.
6. Connection Pooling Security: Connection string'ler environment variable'larda, asla kodda.
7. Backup Encryption: Yedekler şifrelenmiş saklanır. Yedek dosyaları sızsa bile veri çıkmaz.
8. Database Activity Monitoring: Anormal query pattern'leri, mass data export attempts izleniyor.
Authentication ve Session Yönetimi
Modern auth pratiklerimiz:
1. Password Policies: Minimum 12 karakter, karmaşıklık, password history (son 5 şifre tekrar kullanılamaz), password expiration kritik sistemlerde.
2. Bcrypt/Argon2id Hashing: bcrypt cost factor 12+, Argon2id PHP 8'de tercih edilen.
3. MFA (Multi-Factor Authentication): TOTP (Google Authenticator), SMS OTP, hardware token (YubiKey) seçenekleri.
4. SSO Integration: SAML, OAuth2, OIDC ile kurumsal SSO entegrasyonları (Microsoft Entra ID, Okta, Google Workspace).
5. Session Security: Cryptographically random session ID'ler, regenerate on login, idle timeout, absolute timeout, secure cookies (HttpOnly, Secure, SameSite=Lax/Strict).
6. Brute Force Protection: Rate limiting (IP başına, account başına), CAPTCHA threshold sonrası, account lockout.
7. Account Recovery Security: Password reset token'ları kısa süreli (15-30 dk), tek kullanımlık, secure email ile gönderim.
Frontend Güvenliği
Çoğu güvenlik tartışması backend odaklı, ama frontend de kritik:
1. XSS Prevention: Tüm user input'lar DOM'a basılırken escape edilir. React, Vue, Angular otomatik escape yapar — innerHTML kullanmamak yeter. Vanilla JS'de manuel.
2. CSP (Content Security Policy): Hangi script'lerin yüklenebileceğini HTTP header ile sıkı kontrol. Inline script'ler nonce/hash ile.
3. Subresource Integrity (SRI): CDN'den çekilen script'lerin hash kontrolü. CDN compromise olsa bile script çalışmaz.
4. CORS Konfigürasyonu: Sadece güvenilir origin'lere izin. Wildcard (*) kesinlikle production'da kullanılmaz.
5. Sensitive Data in Frontend: API key'ler, secret'lar frontend'de tutulmaz. Public-only key'ler (Stripe publishable key gibi) tamam.
6. Frame Busting: X-Frame-Options ile clickjacking koruması.
Cloud ve DevOps Güvenliği
Modern uygulamalar bulutta. Bulut güvenlik pratiklerimiz:
1. Infrastructure as Code: Terraform ile altyapı kodu versiyonlu. Manuel değişiklik = audit kaynağı sorunu.
2. Secrets Management: AWS Secrets Manager, HashiCorp Vault, Doppler — asla git'te plaintext secret.
3. Container Security: Docker image scanning (Trivy, Snyk), non-root containers, minimal base images, regular updates.
4. Network Security: VPC isolation, security groups (least privilege), private subnets, NAT gateway, WAF (Web Application Firewall).
5. CI/CD Pipeline Security: Signed commits, branch protection, required reviews, automated security scans.
6. Kubernetes Security: Pod Security Standards, RBAC, NetworkPolicies, secrets encryption at rest.
Incident Response: Güvenlik Olayı Olduğunda
Güvenlik 100% garanti değildir. Önemli olan olay olduğunda nasıl yanıt verildiğidir. EMIXHAS Yazılım'ın incident response planı:
- Detection: Monitoring sistemleri (Sentry, Datadog) anomaly detect ediyor
- Containment: Etkilenen sistemi izole, saldırıyı durdurma
- Investigation: Forensic analysis — ne oldu, ne kadar veri etkilendi
- Eradication: Saldırı vektörünü kapat, vulnerability fix
- Recovery: Sistem temiz state'e dön, backup'tan restore (gerekirse)
- Notification: KVKK Kurumu, etkilenen kullanıcılara bildirim
- Lessons Learned: Post-mortem, gelecek için iyileştirmeler
EMIXHAS ile Güvenli Yazılım Geliştirme
Yazılım güvenliği konusundaki uzmanlığımızdan faydalanmak istiyorsanız, sistemlerinizin güvenlik denetimini yaptırmak istiyorsanız, KVKK uyumlu yeni bir sistem geliştirmek istiyorsanız iletişim formundan veya WhatsApp +90 532 429 42 54 numaramızdan ulaşın. Sıfır başarılı saldırı rekorumuzla birlikte güvenli yazılım yolculuğunuzda yanınızdayız.
Bug Bounty ve Güvenlik Topluluk Çalışmaları
EMIXHAS Yazılım olarak güvenlik araştırmacıları topluluğuna saygı duyuyor ve onları çalışmamızın bir parçası olarak görüyoruz. Bazı müşterilerimiz için bug bounty programları kuruyoruz; HackerOne ve Bugcrowd gibi platformlar üzerinden güvenlik araştırmacıları sistemde bulduğu açıkları sorumlu bir şekilde bize bildiriyor, biz de düzeltmeyi yapıp ödül veriyoruz. Bu yaklaşım; iç ekibimizin gözden kaçırabileceği sıradışı saldırı vektörlerini yakalamamızı, sürekli olarak savunma kapasitemizi geliştirmemizi sağlıyor. Ayrıca açık kaynak güvenlik araçlarına katkıda bulunuyor, bulduğumuz CVE'leri responsible disclosure ilkesine uygun şekilde bildirimde bulunuyoruz.
Güvenlik Eğitimleri ve Müşteri Farkındalığı
Bir sistemin güvenliği sadece teknik önlemlerle sağlanamaz. İnsan faktörü en zayıf halkadır — phishing, sosyal mühendislik, basit şifre kullanımı gibi. EMIXHAS Yazılım olarak müşteri ekiplerine güvenlik farkındalık eğitimleri veriyoruz: phishing simülasyonları (gönderdiğimiz sahte phishing maillerine kim tıklıyor analizi), strong password creation workshop'ları, sosyal mühendislik tanıma eğitimleri, multi-factor authentication kurulum desteği, secure coding workshops (geliştirici ekipleri için). Eğitim sonrası müşterilerimizin güvenlik olay sıklığı %70-85 oranında düşüyor.
Güvenlik Sertifikasyonları ve Standartlar
EMIXHAS Yazılım olarak takip ettiğimiz ve uyguladığımız güvenlik sertifikasyonları ve standartları arasında ISO 27001 bilgi güvenliği yönetim sistemi, PCI-DSS ödeme kartı endüstri güvenliği (e-ticaret projelerinde), HIPAA sağlık verileri (uluslararası sağlık projelerinde), SOC 2 servis organizasyonu kontrolleri (B2B SaaS projelerinde), NIST Cybersecurity Framework kılavuzları yer alıyor. Bu standartlara uyum, müşterilerimizin uluslararası iş ortakları, denetçiler ve regülatörler nezdinde itibarını yükseltiyor. Ayrıca KVKK denetimlerinde "uyumlu" raporu almakta zorluk yaşamıyorlar.