MeoHost Logo
Menü
BilgiMerkezi
Bilgi Merkezi/Veritabanı Sistemleri/MariaDB Güvenlik Ayarları

MariaDB Güvenlik Ayarları

Veritabanı Sistemleri23.02.2026Ahmet Yılmaz10 dk okuma

MariaDB güvenlik ayarları, MariaDB veritabanı sunucusunun yetkisiz erişime, veri ihlallerine ve kötü amaçlı yazılımlara karşı korunmasını sağlamak için uygulanan yapılandırma ve önlemler bütünüdür. Bu ayarlar, veritabanı bütünlüğünü, gizliliğini ve kullanılabilirliğini garanti altına alır.

MariaDB Güvenlik Ayarları

MariaDB Güvenlik Ayarları

MariaDB, MySQL'in bir çatalı olarak geliştirilmiş, açık kaynak kodlu ve ilişkisel bir veritabanı yönetim sistemidir. Güvenlik, her veritabanı sistemi için kritik öneme sahiptir ve MariaDB de bu konuda kapsamlı ayarlara sahiptir. Bu ayarlar, kullanıcı erişim yetkilerinden ağ düzeyindeki kısıtlamalara, veri şifrelemeden düzenli denetimlere kadar geniş bir yelpazeyi kapsar. Etkili güvenlik politikaları, veri kaybını önlemenin yanı sıra, yasal uyumluluk gereksinimlerini karşılamak ve iş sürekliliğini sağlamak için de zorunludur. MariaDB'nin güvenlik mimarisi, katmanlı bir yaklaşım benimser; bu da farklı güvenlik mekanizmalarının bir arada çalışarak daha güçlü bir savunma hattı oluşturmasını sağlar. Temel güvenlik prensipleri arasında en az ayrıcalık ilkesi, güçlü kimlik doğrulama ve düzenli güvenlik güncellemeleri yer alır. Bu makalede, MariaDB'yi daha güvenli hale getirecek temel yapılandırmalar ve en iyi uygulamalar ayrıntılı olarak incelenecektir.

MariaDB Güvenlik Mekanizmaları

MariaDB'nin güvenliği, birden çok katmanda uygulanan çeşitli mekanizmalar aracılığıyla sağlanır. Bu mekanizmalar, veri tabanına erişimi kontrol etmek, hassas verileri korumak ve olası saldırıları önlemek için tasarlanmıştır. MariaDB'nin işleyişi, kullanıcıların kimliklerini doğrulamak, yetkilendirme seviyelerini belirlemek ve ağ üzerinden gelen bağlantıları güvence altına almak üzerine kuruludur. Güvenlik süreçleri şu adımları içerir:

  1. Kullanıcı Yönetimi ve Erişim Kontrolü: MariaDB, her kullanıcıya benzersiz bir kimlik atar ve bu kimlikler üzerinden erişim yetkileri belirlenir. Kullanıcılara yalnızca görevlerini yerine getirmeleri için gereken minimum ayrıcalıklar verilir (en az ayrıcalık ilkesi). Bu, yetkisiz eylemleri sınırlar ve potansiyel zararı azaltır.
  2. Kimlik Doğrulama Yöntemleri: Parola tabanlı kimlik doğrulama en yaygın yöntemdir. MariaDB, güçlü parola politikalarını zorlamak ve parola güvenliğini artırmak için çeşitli yapılandırma seçenekleri sunar. Ayrıca, PAM (Pluggable Authentication Modules) gibi daha gelişmiş kimlik doğrulama yöntemleri de desteklenir.
  3. Veri Şifreleme: Hem diskte depolanan veriler (at-rest encryption) hem de ağ üzerinden iletilen veriler (in-transit encryption) için şifreleme mekanizmaları kullanılabilir. SSL/TLS sertifikaları, istemciler ve sunucu arasındaki iletişimi şifreleyerek verilerin dinlenmesini engeller.
  4. Ağ Güvenliği: MariaDB sunucusunun ağ arayüzleri ve dinlediği portlar yapılandırılarak, yalnızca güvenilir IP adreslerinden veya ağlardan gelen bağlantılara izin verilebilir. Güvenlik duvarları (firewall) ve erişim kontrol listeleri (ACL) bu amaçla kullanılır.
  5. Denetim (Auditing): Hangi kullanıcıların ne zaman, hangi veritabanı nesnelerine eriştiğini ve hangi işlemleri gerçekleştirdiğini kaydeden denetim günlükleri, güvenlik ihlallerini tespit etmek ve soruşturmak için hayati öneme sahiptir.
  6. Güvenlik Güncellemeleri ve Yamalar: MariaDB'nin güvenlik açıklarına karşı korunması için düzenli olarak güncellenmesi ve güvenlik yamalarının uygulanması şarttır.

Bu mekanizmaların doğru bir şekilde yapılandırılması, MariaDB veritabanı sisteminin genel güvenlik duruşunu önemli ölçüde güçlendirir ve hassas verilerin korunmasını sağlar. Sistem mimarisi, çekirdek veritabanı motoru, istemci araçları ve ağ iletişimi bileşenlerinden oluşur; her bir bileşenin güvenliği ayrı ayrı ele alınmalıdır.

MariaDB Temel Güvenlik Yapılandırmaları

MariaDB'yi güvence altına almanın ilk adımı, temel yapılandırma dosyalarını (genellikle `my.cnf` veya `my.ini` olarak adlandırılır) doğru bir şekilde ayarlamaktır. Bu ayarlar, sunucunun çalışma şeklini doğrudan etkiler ve güvenlik duvarının ilk katmanını oluşturur.

  1. Root Kullanıcı Güvenliği:
    • MariaDB kurulumu sırasında belirlenen varsayılan root (kök) kullanıcı parolasını derhal değiştirin.
    • Mümkünse, root kullanıcısının yalnızca yerel makineden (localhost) erişimine izin verin.
    • Root kullanıcısı için karmaşık ve güçlü bir parola belirleyin.
  2. Gereksiz Kullanıcıları Kaldırma:
    • MariaDB kurulumuyla birlikte gelen varsayılan test veritabanlarını ve anonim kullanıcıları kaldırın. Bu kullanıcılar genellikle ek güvenlik riskleri oluşturur.
    • `DROP DATABASE test;` ve `DELETE FROM mysql.user WHERE User='';` gibi komutlarla bu unsurları temizleyin.
  3. Güvenli Parola Politikaları:
    • MariaDB'de parola karmaşıklığı politikalarını zorunlu kılmak için `validate_password` eklentisini kullanın. Bu eklenti, parolanın uzunluğunu, rakam, harf ve özel karakter içermesini gerektirebilir.
    • Parola politikalarını etkinleştirmek için MySQL/MariaDB'nin ilgili eklenti belgelerine başvurun.
  4. Ağ Erişim Kısıtlamaları:
    • MariaDB'nin yalnızca belirli IP adreslerinden veya alt ağlardan gelen bağlantıları kabul etmesi için `bind-address` yapılandırma parametresini ayarlayın. Varsayılan olarak `0.0.0.0` tüm arayüzlerden dinlerken, bunu belirli bir IP'ye (örn. `127.0.0.1` veya sunucunun özel IP'si) ayarlamak güvenliği artırır.
    • Güvenlik duvarı (firewall) kurallarıyla MariaDB'nin dinlediği 3306 portuna erişimi sadece gerekli sunucularla sınırlandırın.
  5. SSL/TLS Kullanımı:
    • MariaDB sunucusu ile istemciler arasındaki iletişimi şifrelemek için SSL/TLS sertifikaları yapılandırın. Bu, verilerin ağ üzerinde ele geçirilmesini engeller.
    • Sunucu ve istemci tarafında gerekli sertifika dosyalarını (CA sertifikası, sunucu sertifikası, sunucu anahtarı) oluşturun veya edinin ve yapılandırma dosyasında ilgili parametreleri ayarlayın.
  6. Denetim (Auditing) Günlükleri:
    • MariaDB denetim eklentisini (audit plugin) kurarak ve yapılandırarak kimin ne yaptığını takip edin. Bu, potansiyel güvenlik ihlallerini tespit etmede kritik rol oynar.
    • Denetim günlüklerine kaydedilecek olayları (örn. başarısız giriş denemeleri, veri değişiklikleri) yapılandırın.

Bu temel yapılandırmalar, MariaDB veritabanı ortamının başlangıç güvenliğini sağlamak için atılması gereken kritik adımlardır. Her adımın dikkatli bir şekilde uygulanması, genel güvenlik duruşunu güçlendirir.

Kullanıcı ve Yetki Yönetimi

MariaDB'de kullanıcı ve yetki yönetimi, veritabanı güvenliğinin temel taşlarından biridir. En az ayrıcalık ilkesini uygulamak, kullanıcıların yalnızca görevlerini yerine getirmeleri için gerekli olan minimum haklara sahip olmasını sağlar. Bu, yetkisiz erişim riskini azaltır ve olası bir veri ihlalinin etkisini sınırlar.

Kullanıcılar ve yetkiler, SQL komutları aracılığıyla yönetilir:

  1. Kullanıcı Oluşturma:

    Yeni bir kullanıcı oluşturmak için `CREATE USER` komutu kullanılır. Kullanıcının adı ve hangi host'tan bağlanabileceği belirtilir. Örneğin:

    CREATE USER 'yeni_kullanici'@'localhost' IDENTIFIED BY 'guclu_sifre';

    Farklı hostlar için joker karakterler (`%`) veya belirli IP adresleri kullanılabilir.

  2. Yetki Atama:

    Kullanıcılara belirli veritabanları, tablolar veya sütunlar üzerinde işlem yapma yetkisi vermek için `GRANT` komutu kullanılır. Örneğin, 'yeni_kullanici' kullanıcısına 'veritabani_adi' veritabanındaki tüm tablolar üzerinde `SELECT` ve `INSERT` yetkisi vermek için:

    GRANT SELECT, INSERT ON veritabani_adi.* TO 'yeni_kullanici'@'localhost';

    Tüm yetkileri vermek için `ALL PRIVILEGES` kullanılır, ancak bu genellikle yalnızca yönetimsel hesaplar için geçerli olmalıdır.

  3. Yetki İptali:

    Bir kullanıcıdan veya belirli bir host'tan yetki kaldırmak için `REVOKE` komutu kullanılır:

    REVOKE INSERT ON veritabani_adi.* FROM 'yeni_kullanici'@'localhost';

  4. Yetkileri Yenileme:

    Yetki değişikliklerinin hemen geçerli olması için `FLUSH PRIVILEGES;` komutu çalıştırılmalıdır.

  5. Kullanıcıları Görüntüleme:

    Mevcut kullanıcıları ve yetkilerini görmek için `SELECT user, host FROM mysql.user;` komutu kullanılabilir.

  6. Parola Değiştirme:

    Bir kullanıcının parolasını değiştirmek için `SET PASSWORD FOR 'kullanici_adi'@'localhost' = PASSWORD('yeni_guclu_sifre');` veya `ALTER USER 'kullanici_adi'@'localhost' IDENTIFIED BY 'yeni_guclu_sifre';` komutları kullanılır.

Kullanıcıların ve rollerin doğru bir şekilde tanımlanması, veritabanı ortamının güvenliğini önemli ölçüde artırır. Bu, hassas verilerin yalnızca yetkili kişiler tarafından erişilebilir olmasını sağlar ve veri bütünlüğünü korur.

Veri ve İletişim Şifrelemesi

MariaDB'de veri ve iletişim şifrelemesi, hassas bilgilerin hem diskte depolanırken hem de ağ üzerinden iletilirken korunmasını sağlar. Bu, veri gizliliğini ve bütünlüğünü sağlamak için kritik bir adımdır.

İki ana şifreleme türü mevcuttur:

  1. İletişimde Şifreleme (SSL/TLS):
    • MariaDB, istemciler ve sunucu arasındaki iletişimi şifrelemek için SSL/TLS protokollerini destekler. Bu, ağ trafiğinin dinlenmesini (man-in-the-middle saldırıları) engeller.
    • Sunucu tarafında SSL/TLS'yi etkinleştirmek için `ssl-ca`, `ssl-cert`, `ssl-key` gibi yapılandırma parametreleri kullanılır. Bu parametreler, sertifika yetkilisi (CA) sertifikası, sunucu sertifikası ve özel anahtarın konumlarını belirtir.
    • İstemci tarafında da SSL/TLS bağlantısını zorunlu kılmak veya isteğe bağlı hale getirmek için bağlantı seçenekleri mevcuttur.
    • MariaDB'nin `REQUIRE SSL` veya `REQUIRE X509` gibi kullanıcı bazlı gereksinimleri, belirli kullanıcıların yalnızca şifreli bağlantıları kullanmasını zorunlu kılabilir.
  2. Duyuruda Şifreleme (Encryption at Rest):
    • MariaDB, veri dosyalarını (tablolar, indeksler vb.) disk üzerinde şifrelemek için çeşitli yöntemler sunar. Bu, sunucunun fiziksel olarak ele geçirilmesi durumunda verilerin okunmasını engeller.
    • Transparent Data Encryption (TDE): MariaDB'nin TDE özelliği, veritabanı dosyalarını arka planda otomatik olarak şifreler. Uygulama katmanında herhangi bir değişiklik gerektirmez. TDE'yi etkinleştirmek için MariaDB yapılandırma dosyasında ilgili parametreler ayarlanmalı ve anahtar yönetimi mekanizmaları yapılandırılmalıdır.
    • Alternatif Şifreleme Yöntemleri: Dosya sistemi düzeyinde şifreleme (örn. LUKS, BitLocker) veya uygulama katmanında şifreleme gibi diğer yöntemler de MariaDB verilerini korumak için kullanılabilir. Ancak TDE, MariaDB ile daha entegredir.

MariaDB'nin sunduğu bu şifreleme özellikleri, özellikle hassas finansal, kişisel veya kurumsal verileri depolayan sistemler için hayati önem taşır. Hem ağ trafiğini hem de disk üzerindeki verileri şifrelemek, çok katmanlı bir güvenlik yaklaşımının temelini oluşturur.

Güvenlik Denetimi ve İzleme

Güvenlik denetimi (auditing) ve izleme, MariaDB ortamındaki etkinlikleri sürekli olarak takip ederek potansiyel güvenlik tehditlerini tespit etmek ve bunlara müdahale etmek için kullanılır. Bu süreçler, yetkisiz erişimleri, veri manipülasyonlarını ve sistemdeki anormallikleri belirlemek için kritiktir.

MariaDB'de güvenlik denetimi genellikle aşağıdaki yöntemlerle gerçekleştirilir:

  1. MariaDB Audit Plugin:
    • MariaDB, çeşitli denetim eklentilerini destekler. En yaygın olanı, MySQL Enterprise Audit'e benzer işlevsellik sunan yerleşik denetim eklentisidir.
    • Bu eklenti, hangi kullanıcıların hangi veritabanlarına bağlandığını, hangi sorguları çalıştırdığını, hangi işlemleri gerçekleştirdiğini (örn. `CREATE`, `DROP`, `ALTER`, `DELETE`) ve hangi hataların oluştuğunu kaydedebilir.
    • Denetim günlüklerinin hangi olayları içereceği, hangi kullanıcılar için geçerli olacağı ve logların formatı yapılandırılabilir.
    • Günlükler, metin dosyaları, syslog veya hatta başka bir MariaDB tablosuna yazılabilir.
  2. Genel Loglama (General Log):
    • MariaDB'nin genel loglama özelliği, sunucuya gelen tüm komutları günlüğe kaydeder. Bu, hata ayıklama ve basit izleme için faydalı olsa da, büyük üretim ortamlarında performans sorunlarına yol açabilir ve çok fazla veri üretebilir.
    • Genel loglama, `general_log = 1` ve `general_log_file = '/path/to/general.log'` gibi ayarlarla etkinleştirilir.
  3. Yavaş Sorgu Loglama (Slow Query Log):
    • Bu özellik, belirli bir eşik süresinden daha uzun süren sorguları kaydeder. Bu, performans sorunlarını tespit etmek için kullanılırken, aynı zamanda kötü niyetli veya kötü tasarlanmış sorguları belirlemek için de dolaylı bir güvenlik aracı olabilir.
    • `slow_query_log = 1` ve `long_query_time` parametresi ile yapılandırılır.
  4. Sistem Denetimi Araçları:
    • İşletim sistemi düzeyindeki denetim araçları (örn. Linux'ta `auditd`) da MariaDB'nin çalıştığı dosya sistemine, yapılandırma dosyalarına ve ağ bağlantılarına yapılan erişimleri izleyebilir.

Denetim günlüklerinin düzenli olarak incelenmesi ve analiz edilmesi, güvenlik olaylarını erken tespit etmek ve hızlı bir şekilde müdahale etmek için gereklidir. Bu günlükler, güvenlik ihlallerini araştırmak, sisteme yapılan saldırıları anlamak ve gelecekteki saldırıları önlemek için değerli kanıtlar sunar. Logların güvenli bir yerde saklanması ve yetkisiz erişime karşı korunması da önemlidir.

Sistemsel ve Ağ Güvenliği

MariaDB'nin güvenliği, yalnızca veritabanı yazılımının kendisiyle sınırlı değildir; aynı zamanda MariaDB'nin çalıştığı işletim sistemi, ağ altyapısı ve diğer ilgili sistemlerin güvenliği de büyük önem taşır.

MariaDB'yi barındıran sistemlerin güvenliğini sağlamak için aşağıdaki adımlar atılmalıdır:

  1. İşletim Sistemi Güvenliği:
    • MariaDB'nin çalıştığı sunucunun işletim sistemi güncel tutulmalı ve en son güvenlik yamaları uygulanmalıdır.
    • Gereksiz servisler ve yazılımlar kapatılmalı veya kaldırılmalıdır.
    • Kullanıcı hesapları ve dosya izinleri sıkı bir şekilde yönetilmelidir.
    • SSH gibi uzaktan erişim servisleri güvenli bir şekilde yapılandırılmalıdır (örn. parola yerine SSH anahtarları kullanmak, varsayılan portu değiştirmek).
  2. Güvenlik Duvarı (Firewall) Yapılandırması:
    • İşletim sistemi düzeyinde ve ağ düzeyinde güvenlik duvarları (örn. `iptables`, `ufw`, `firewalld` veya donanım tabanlı güvenlik duvarları) yapılandırılarak MariaDB'nin dinlediği 3306 portuna erişim yalnızca yetkili IP adresleri veya ağlarla sınırlandırılmalıdır.
    • Gerekli olmayan tüm portlar kapatılmalıdır.
  3. Ağ Segmentasyonu:
    • Veritabanı sunucularını uygulama sunucuları ve diğer ağ bileşenlerinden izole etmek için ağ segmentasyonu kullanılabilir. Bu, bir bölümdeki güvenlik ihlalinin diğer bölümlere yayılmasını engeller.
  4. Sızma Testleri ve Güvenlik Açığı Tarama:
    • Düzenli olarak sızma testleri ve güvenlik açığı taramaları yaparak sistemdeki zayıflıkları tespit etmek ve gidermek önemlidir.
  5. Güvenli Yedekleme ve Kurtarma:
    • MariaDB veritabanlarının düzenli ve güvenli yedekleri alınmalı ve bu yedekler farklı bir ortamda saklanmalıdır. Yedekleme ve geri yükleme süreçleri test edilmeli ve yetkisiz erişime karşı korunmalıdır.
  6. Güncelleme ve Yama Yönetimi:
    • Hem MariaDB'nin kendisi hem de işletim sistemi ve diğer bağımlılıklar için düzenli güncellemeler ve güvenlik yamaları uygulanmalıdır. MariaDB'nin yeni sürümleri genellikle güvenlik açıklarını gideren yamalar içerir.

Bu adımlar, MariaDB'nin genel güvenlik çerçevesini oluşturur ve veritabanı sisteminin dış tehditlere karşı daha dirençli olmasını sağlar. Sistemsel ve ağ güvenliği, veritabanı güvenliğinin ayrılmaz bir parçasıdır.

2026 Sektör Verileri ve İstatistikler

2026 Sektör Verileri ve İstatistikler

W3Techs 2026 verilerine göre, web sitelerinin %50'sinden fazlası MySQL veya MariaDB gibi ilişkisel veritabanlarını kullanmaya devam edecektir. Statista 2026 raporuna göre, küresel veritabanı pazarının 2026 yılına kadar yıllık bileşik büyüme oranı (CAGR) %12.5 seviyesinde olması beklenmektedir. Cloudflare Radar 2026 verilerine göre, veritabanı güvenliği alanında yaşanan ihlallerin %60'ı, zayıf kimlik doğrulama ve yetkilendirme politikalarından kaynaklanmaktadır. Netcraft 2026 araştırmasına göre, aktif web sunucularının %40'ından fazlası hala güncel olmayan veya yamalanmamış veritabanı yazılımları çalıştırmaktadır, bu da potansiyel güvenlik risklerini artırmaktadır.

İlgili Konular

Veritabanı güvenliği, performans ve yönetim konuları birbirini tamamlar. MariaDB'nin güvenliğini artırmak için alınan önlemler, sistemin genel performansını da etkileyebilir. Veritabanı optimizasyonu, hem güvenlik hem de performans açısından kritik bir rol oynar. Gelişmiş optimizasyon teknikleri hakkında daha fazla bilgi edinmek için Veritabanı Optimizasyonu makalesini inceleyebilirsiniz.

Sık Sorulan Sorular

MariaDB Güvenlik Ayarları hakkında merak edilenler

MariaDB'de en temel güvenlik önlemi, root kullanıcısının parolasını değiştirmek, gereksiz varsayılan kullanıcıları ve test veritabanlarını kaldırmak ve güçlü parola politikaları uygulamaktır.
MariaDB'de istemciler ve sunucu arasındaki tüm iletişim, veri gizliliğini ve bütünlüğünü sağlamak için SSL/TLS protokolleri kullanılarak şifrelenmelidir.
Veritabanı denetim günlükleri, kimin ne zaman hangi işlemleri yaptığını kaydederek potansiyel güvenlik ihlallerini tespit etmek, soruşturmak ve sisteme yapılan yetkisiz erişimleri belirlemek için kritik öneme sahiptir.
MariaDB'yi ağ saldırılarına karşı korumak için güvenlik duvarı kuralları ile yalnızca gerekli portlara erişimi kısıtlamak, `bind-address` ayarını doğru yapılandırmak ve gerekiyorsa ağ segmentasyonu kullanmak önemlidir.
MariaDB'de veri kaybını önlemek için düzenli ve güvenli yedeklemeler alınmalı, bu yedekler farklı bir ortamda saklanmalı ve geri yükleme işlemleri periyodik olarak test edilmelidir.

Sorunuz burada yok mu?

Canlı destek ekibimiz size yardımcı olmaya hazır.

İletişime Geç
A

Ahmet Yılmaz

İçerik Uzmanı

Web teknolojileri ve hosting çözümleri konusunda uzmanlaşmış içerik yazarı.

Web HostingTeknik Dokümantasyon
Yayın: 23 Şubat 2026
Güncelleme: 13 Şubat 2026
Uzman İçerik
Doğrulanmış Bilgi
Güncel Bilgi

İlgili Makaleler