1. Yalnızca İhtiyaç Duyulan Bağlantı Portlarını Açın
Birçok veritabanı yöneticisi, MariaDB’nin varsayılan 3306 portunun dış dünyaya açık olmasına izin verir. Ancak, bu portun dışarıya açılması, veritabanınıza yapılacak saldırılar için bir kapı aralar. En basit ama etkili önlem, yalnızca gerekli olan IP adreslerine bu portu açmak. Bunu yapmak için `bind-address` yapılandırmasını özelleştirerek yalnızca belirli bir IP aralığından bağlantıya izin verebilirsiniz. Böylece güvenlik duvarınızı daha etkin kullanabilirsiniz.
[mysqld]
bind-address = 192.168.1.100
Bu yapılandırma ile yalnızca belirlediğiniz IP adresi üzerinden erişime izin verirsiniz. Geriye kalan herkesin bağlanması engellenir.
2. Kök Kullanıcı Erişimini Kısıtlayın
MariaDB’de varsayılan olarak “root” kullanıcısı, tüm sistem üzerinde tam yetkiye sahiptir. Bu, çok önemli bir güvenlik riskidir. Eğer bir saldırgan, root parolasını kırarsa, veritabanınızın tamamına erişim sağlanabilir. Root kullanıcısının sadece yerel bağlantılarla erişebilmesini sağlayarak bu riski en aza indirebilirsiniz. Bunun için `/etc/mysql/my.cnf` dosyasına aşağıdaki kodu ekleyebilirsiniz:
[mysqld]
skip-networking
Bu yapılandırma, root kullanıcısının yalnızca yerel bağlantılardan erişebilmesini sağlar. Uzaktan bağlantı girişimleri engellenir.
3. Güçlü Parola Politikası Uygulayın
Güçlü parolalar, veritabanı güvenliğinde en önemli unsurlardan biridir. MariaDB, kullanıcı parolalarının güçlü olmasını sağlamak için bir dizi güvenlik fonksiyonu sunar. Bu fonksiyonlardan biri de “validate_password” eklentisidir. Bu eklentiyi aktif hale getirerek, kullanıcıların belirli bir şablona uygun parolalar seçmesini zorunlu kılabilirsiniz. İşte bunu nasıl yapacağınız:
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
SET GLOBAL validate_password.policy = MEDIUM;
Bu yapılandırma ile parolaların en az bir büyük harf, bir rakam ve bir özel karakter içermesi zorunlu hale gelir.
4. Veritabanı Hedefli Saldırılara Karşı “Fail2Ban” Kullanın
Sürekli denemelerle parola kırma saldırıları (brute-force) veritabanlarını hedef alabilir. Fail2Ban, bu tür saldırılara karşı sizi koruyabilecek harika bir araçtır. Fail2Ban, belirlediğiniz süre zarfında çok fazla başarısız giriş denemesi yapan IP’leri otomatik olarak engeller. MariaDB ile entegre ederek bu yazılımı kullanabilirsiniz. Böylece, şüpheli bağlantılar engellenir ve saldırganların sisteminize girmesi zorlaşır.
Veritabanınızın yedeklerini almak önemlidir, ancak bu yedekleri şifrelemeyi unutmamalısınız. Yedekleme verilerinize erişimi olan bir kişi, veritabanındaki tüm hassas verilere ulaşabilir. MariaDB’nin sunduğu `mysqldump` komutunu kullanarak yedeklerinizi alırken, şifreleme ekleyebilirsiniz:
mysqldump -u root -p --all-databases | gzip | openssl enc -aes-256-cbc -out backup.sql.gz.enc
Bu komut ile yedeklerinizi şifrelemiş olur, böylece veritabanı verilerinin kötü niyetli kişilerin eline geçmesini engellersiniz.
6. Veritabanı Kullanıcı İzinlerini Minimale İndirin
Veritabanı kullanıcılarınıza yalnızca ihtiyaç duydukları izinleri verin. “GRANT” komutunu kullanarak, her kullanıcının erişebileceği veri alanlarını ve komutları kısıtlayabilirsiniz. Örneğin, sadece okuma iznine sahip bir kullanıcı oluşturmak için:
GRANT SELECT ON database_name.* TO 'user'@'localhost';
Bu tür izinler, kullanıcıların sadece gerekli işlemleri yapabilmelerini sağlar ve olası güvenlik açıklarını ortadan kaldırır.
7. Güncellemeleri Düzenli Olarak Yapın
Son olarak, MariaDB ve bağlı olduğunuz tüm yazılımların güncel olduğundan emin olun. Güvenlik yamaları, yeni açıklanan güvenlik açıklarına karşı koruma sağlar. Sisteminizi güncel tutmak, veritabanı güvenliği için alınabilecek en basit ama en etkili önlemlerden biridir.
sudo apt-get update
sudo apt-get upgrade
Her yazılımın yeni bir sürümü çıktığında, hemen güncelleme yapmak, sizi potansiyel saldırılardan korur.
### Sonuç
MariaDB’nin güvenliğini artırmak, yalnızca temel önlemler almakla sınırlı olmamalıdır. Yapılandırmalarınızı özelleştirerek ve veritabanı yönetiminde daha dikkatli olarak, güvenlik risklerini azaltabilirsiniz. Bu 7 sıradışı tüyoyu uygulayarak, veritabanınızı çok daha güvenli hale getirebilir ve verilerinizi koruma altına alabilirsiniz. Unutmayın, her adım önemli, çünkü veritabanınızda gerçekleşebilecek en küçük bir ihlal, büyük güvenlik sorunlarına yol açabilir. Şimdi, adımlarınızı atın ve veritabanınızın güvenliğini bir üst seviyeye taşıyın!