Veritabanı Güvenliği: Hardening, Şifreleme, Yetkilendirme ve Audit
PostgreSQL, MySQL, MSSQL, Oracle, MongoDB ve MariaDB için network izolasyonu, TLS, at-rest encryption, RBAC, MFA/identity, audit, secrets ve backup güvenliğini planlayın.
Bu rehber neyi çözer?
Database güvenliği yalnız parola politikası değildir. Network, identity, least privilege, şifreleme, audit, OS hardening, patch, secret yönetimi ve backup güvenliği birlikte tasarlanmalıdır.
Network izolasyonu
Database portları internete doğrudan açılmamalı; uygulama subnet/VLAN, firewall/security group ve bastion/VPN gibi katmanlar kullanılmalıdır.
Management erişimi ile application traffic mümkünse ayrıştırılmalıdır.
Authentication ve yetkilendirme
Shared admin account yerine kişisel hesap/identity, role-based permission ve least privilege uygulanmalıdır.
Service account credential’ları vault/secret manager içinde tutulmalı, source code veya config repository’ye yazılmamalıdır.
TLS ve at-rest encryption
Client-server trafik TLS ile korunmalı; hassas veri için engine’in desteklediği TDE/tablespace/storage encryption seçenekleri değerlendirilmelidir.
Encryption key’leri data dosyalarıyla aynı güvenlik alanında tutulmamalı; key rotation ve recovery prosedürü test edilmelidir.
Audit ve monitoring
Login failure, privilege changes, schema changes, administrative operations ve kritik data erişimleri risk seviyesine göre audit edilmelidir.
Audit logları DB sunucusundan bağımsız merkezi log/SIEM’e aktarılmalıdır.
Patch ve backup güvenliği
Database engine, OS, driver/client ve backup agent patch süreci birlikte yönetilmelidir.
Backup repository production credential’larından ayrıştırılmalı, immutable/offsite kopya ve restore testleri kullanılmalıdır.
Sık Sorulan Sorular
Database portunu sadece farklı porta almak yeterli mi?
Hayır. Port değişikliği temel güvenlik kontrolü değildir; network izolasyonu, firewall ve güçlü authentication gerekir.
TDE database’i tamamen güvenli yapar mı?
Hayır. TDE storage hırsızlığı riskini azaltır; yetkili kullanıcı, uygulama açığı veya credential hırsızlığına karşı diğer kontroller gerekir.
Backup neden ayrı credential kullanmalı?
Production compromise olduğunda saldırganın backup kopyalarını da silememesi veya şifreleyememesi için yetki alanları ayrılmalıdır.
Resmî teknik kaynaklar
- https://www.postgresql.org/docs/current/security.html
- https://dev.mysql.com/doc/refman/8.4/en/security.html
- https://learn.microsoft.com/sql/relational-databases/security/
- https://docs.oracle.com/en/database/oracle/oracle-database/23/dbseg/
- https://www.mongodb.com/docs/manual/security/
- https://mariadb.com/docs/server/security/
Veritabanı Altyapınızı Birlikte Değerlendirelim
Workload, güvenlik, donanım, HA ve yedekleme gereksinimlerinize göre altyapıyı birlikte planlayabiliriz.