Takip et

Neden OpenBSD’de MariaDB 11.4 Kullanmalısınız?

MariaDB 11.4 OpenBSD 7.8 Üzerine Kurulum Rehberi

OpenBSD’nin eşsiz güvenliği ile MariaDB 11.4’ün güncel ve performanslı özelliklerini bir araya getirmek mi istiyorsunuz? Bu kapsamlı rehber, veritabanı kurulum süreçlerini hiç zorlanmadan tamamlamanız için adım adım yol gösterecek, karşılaşabileceğiniz tüm senaryolara ışık tutacak ve OpenBSD 7.8 üzerinde MariaDB’yi güvenle nasıl yapılandıracağınızı anlatacak.

Günümüz dijital dünyasında veri güvenliği ve sistem kararlılığı hiç olmadığı kadar kritik bir öneme sahip. Bir veritabanı sunucusu seçerken yalnızca performans değil, aynı zamanda temel işletim sisteminin sunduğu güvenlik katmanları da büyük bir rol oynar. İşte bu noktada OpenBSD ve MariaDB 11.4 kombinasyonu, birçok sistem yöneticisi ve geliştirici için cazip bir seçenek olarak öne çıkıyor. Peki, neden bu ikiliyi tercih etmelisiniz?

Öncelikle, OpenBSD’nin “varsayılan olarak güvenli” felsefesiyle başlayalım. Bu işletim sistemi, yıllardır süregelen titiz güvenlik denetimleri ve açık kaynak kodlu yapısıyla tanınır. Yazılımlar en az yetki prensibiyle çalıştırılır, potansiyel güvenlik açıkları proaktif olarak ele alınır ve gereksiz servisler varsayılan olarak kapalı gelir. Bu yaklaşım, saldırı yüzeyini önemli ölçüde azaltır ve kritik verilerinizi barındıracak bir sunucu için sağlam bir temel oluşturur. Özellikle bir veritabanı sunucusu gibi hassas bir bileşen barındırırken, işletim sistemi katmanındaki bu düzeyde bir güvenlik, size paha biçilmez bir huzur sağlar. Örneğin, bir web uygulamasının arka ucunda çalışan ve müşteri bilgilerini, finansal verileri veya kişisel kimlik bilgilerini depolayan bir MariaDB sunucusu düşünün. OpenBSD’nin koruyucu kalkanı sayesinde, bu verilerin kötü niyetli aktörlerin eline geçme riski minimuma indirilmiş olur. Sistem yöneticisi olarak, karmaşık güvenlik duvarı kuralları veya ek güvenlik yazılımları için harcayacağınız zamanı, uygulamanızın optimizasyonuna veya diğer altyapı ihtiyaçlarına ayırabilirsiniz.

Diğer yandan, MariaDB 11.4, MySQL’den türemiş, açık kaynaklı ve topluluk odaklı bir veritabanı yönetim sistemidir. MySQL’in tüm güçlü özelliklerini miras alırken, bir dizi önemli iyileştirme ve yeni özellik sunar. Performans optimizasyonları, daha gelişmiş replikasyon seçenekleri, gelişmiş güvenlik eklentileri ve daha geniş depolama motoru desteği gibi yenilikler, MariaDB’yi modern uygulamalar için ideal bir seçim haline getirir. 11.4 sürümü ile gelen güncellemeler, özellikle ölçeklenebilirlik ve performans konusunda dikkate değer gelişmeler sunar. Örneğin, yüksek trafikli bir e-ticaret sitesi veya yoğun veri işleme gerektiren analitik bir platform için MariaDB 11.4, sorgu hızlarında ve eşzamanlı bağlantı yönetiminde önemli avantajlar sağlayabilir. Ayrıca, MariaDB’nin aktif topluluğu ve sürekli gelişimi, uzun vadeli destek ve güvenilirlik açısından da büyük bir artıdır.

Bu iki güçlü bileşeni bir araya getirdiğinizde, elde ettiğiniz sonuç basitçe şudur: Yüksek güvenlik standartlarına sahip, stabil ve performanslı bir veritabanı altyapısı. Bir finansal teknoloji şirketi için müşteri işlemlerini yöneten bir sistem tasarlıyorsanız, OpenBSD’nin sağlamlığı ve MariaDB’nin veri bütünlüğünü ve hızını bir araya getirmek, projelerinizin temelini sağlam bir şekilde atmanızı sağlar. Ya da belki de kişisel bir blog veya küçük ölçekli bir web sitesi barındırıyorsunuz, ancak yine de veri güvenliğinden taviz vermek istemiyorsunuz. İşte bu durumda bile, OpenBSD’nin hafifliği ve MariaDB’nin verimliliği, kaynakları minimumda tutarak maksimum güvenlik ve performansı sunacaktır. Dolayısıyla, bu rehber, sadece teknik adımları göstermekle kalmayacak, aynı zamanda bu özel kombinasyonun işletmeniz veya projeniz için neden stratejik bir değer taşıdığını da vurgulayacaktır.

MariaDB ve OpenBSD’yi Tanıyalım mı? Temel Kavramlara Giriş

Teknik bir kurulum sürecine dalmadan önce, MariaDB ve OpenBSD’nin ne olduklarını ve bu ikilinin birbirini nasıl tamamladığını anlamak, atacağınız adımların mantığını kavramanıza yardımcı olacaktır. Bu bölüm, özellikle konuya yeni başlayanlar için temel bilgileri özetleyerek sağlam bir zemin oluşturmayı amaçlamaktadır.

MariaDB Nedir ve Neden Tercih Edilir?

MariaDB, aslında MySQL veritabanının bir “çatallanmasıdır” (fork). MySQL’in 2008 yılında Sun Microsystems tarafından satın alınması ve ardından 2010’da Oracle’a geçmesiyle, açık kaynak topluluğu arasında MySQL’in geleceği hakkında endişeler doğdu. Bu endişeler üzerine, MySQL’in orijinal yaratıcıları tarafından MariaDB projesi başlatıldı. Temel amacı, tamamen açık kaynaklı ve topluluk odaklı bir alternatif sunmaktı. MariaDB, MySQL ile yüksek derecede uyumludur, yani mevcut MySQL uygulamalarınızın çoğu genellikle MariaDB üzerinde sorunsuz bir şekilde çalışabilir. Bu uyumluluk, geçiş yapmayı düşünenler için büyük bir avantajdır.

MariaDB’yi tercih etmeniz için birçok neden bulunmaktadır:

  • Açık Kaynak ve Topluluk Odaklılık: MariaDB, GNU GPL lisansı altında tamamen açık kaynaklıdır ve aktif bir topluluk tarafından geliştirilmektedir. Bu, şeffaflık, sürekli iyileştirme ve uzun vadeli destek anlamına gelir.
  • Performans İyileştirmeleri: MariaDB, MySQL’e göre birçok performans iyileştirmesi sunar. Özellikle sorgu iyileştiricileri, eşzamanlı bağlantı yönetimi ve depolama motorlarındaki gelişmeler, yoğun iş yükleri altında daha iyi performans sağlar.
  • Yeni Özellikler: Daha yeni sürümler, gelişmiş replikasyon seçenekleri (örneğin, çok kaynaklı replikasyon), JSON desteği, sistem versiyonlama tabloları ve dinamik sütunlar gibi MySQL’de bulunmayan veya daha gelişmiş bir şekilde sunulan özellikler içerir.
  • Depolama Motoru Çeşitliliği: InnoDB’nin yanı sıra Aria, XtraDB, MyRocks gibi farklı depolama motorlarına destek verir. Bu, belirli iş yükleri için en uygun motoru seçme esnekliği sunar. Örneğin, MyRocks, özellikle yüksek yazma yoğunluklu iş yüklerinde ve büyük veri kümelerinde depolama verimliliği açısından önemli avantajlar sağlayabilir.
  • Gelişmiş Güvenlik: MariaDB, güvenlik eklentileri (örneğin, GSSAPI/Kerberos kimlik doğrulaması), rol tabanlı erişim kontrolü ve şifreleme özellikleri ile veri güvenliğini artırmaya yönelik sürekli çalışmalar yapar.

Kısacası, MariaDB modern uygulamaların ihtiyaç duyduğu performansı, esnekliği ve güvenliği sunarken, açık kaynak ruhuna sadık kalmaya devam eden güçlü bir ilişkisel veritabanı yönetim sistemidir.

OpenBSD Nedir ve Neden Güvenlik Odağındadır?

OpenBSD, UNIX benzeri, ücretsiz ve açık kaynaklı bir işletim sistemidir. Diğer popüler açık kaynak işletim sistemlerinden ayrılmasının en önemli nedeni, güvenlik ve kod kalitesine verilen aşırı önemdir. OpenBSD projesi, “Sadece iki güvenlik açığı bulursanız, bu bir başarıdır” sloganıyla bilinir ve kod tabanını sürekli olarak denetler, güvenlik açıklarını bulmaya ve düzeltmeye odaklanır.

OpenBSD’nin temel özellikleri ve güvenlik odaklı yaklaşımı şunları içerir:

  • Kod İncelemesi ve Audit: OpenBSD geliştiricileri, kod tabanının tamamını düzenli olarak manuel olarak inceler. Bu titiz inceleme süreci, potansiyel güvenlik açıklarını, hataları ve kötü niyetli kodları tespit etmeyi amaçlar. Bu, diğer birçok işletim sisteminde bu denli kapsamlı yapılmayan benzersiz bir uygulamadır.
  • Geliştirici Sorumluluğu: Bir geliştirici OpenBSD’ye bir kod katkısında bulunduğunda, bu kodla ilgili güvenlik açıklarından kişisel olarak sorumlu tutulur. Bu, yüksek kalite standartlarını korumak için güçlü bir teşviktir.
  • Minimum Kurulum: OpenBSD varsayılan olarak minimum düzeyde servis çalıştırır ve yalnızca gerekli bileşenleri kurar. Bu, saldırı yüzeyini önemli ölçüde azaltır, çünkü çalışmayan bir servis hacklenemez.
  • Proaktif Güvenlik Mekanizmaları: Adres Alanı Düzensizleştirme (ASLR), Yürütülemez Yığın (W^X), Çekirdek Rastgeleliği (Kernel Randomization) gibi modern güvenlik mekanizmalarını çekirdek seviyesinde entegre eder ve bunları varsayılan olarak etkinleştirir.
  • Sandboxing ve Pledge/Unveil: OpenBSD’nin en yenilikçi güvenlik özelliklerinden ikisi pledge() ve unveil() sistem çağrılarıdır. pledge() bir programın gelecekte yapabileceği sistem çağrılarını kısıtlar; örneğin, bir web sunucusunun sadece ağ ve dosya okuma işlemleri yapmasına izin verebilirsiniz. unveil() ise bir programa yalnızca belirli dosya yollarına erişim izni verir. Bu mekanizmalar, bir programın ele geçirilmesi durumunda bile, yapabileceği zararı büyük ölçüde sınırlar.
  • Paket Filtresi (PF): OpenBSD’nin kendi entegre güvenlik duvarı olan PF (Packet Filter), güçlü, esnek ve kullanımı kolaydır. Ağ trafiğini detaylı bir şekilde kontrol etmenizi sağlar.

OpenBSD, kararlı, temiz ve her şeyden önce güvenli bir platform arayanlar için idealdir. Bir veritabanı sunucusu gibi kritik bir bileşeni barındırırken, OpenBSD’nin sağladığı bu güvenlik katmanları, verilerinizin korunmasında kilit rol oynar. Bu nedenle, MariaDB 11.4’ü OpenBSD 7.8 üzerine kurmak, sadece bir kurulum değil, aynı zamanda güvenli ve performanslı bir altyapı inşa etme taahhüdüdür.

Adım Adım Kurulum: MariaDB 11.4 OpenBSD 7.8’e Nasıl Yüklenir?

Artık MariaDB ve OpenBSD’nin ne olduklarını ve neden bu kombinasyonu seçtiğimizi anladığımıza göre, kurulum sürecine geçebiliriz. Bu bölüm, MariaDB 11.4’ü OpenBSD 7.8 işletim sisteminize başarıyla yüklemeniz için gerekli tüm adımları detaylı bir şekilde açıklayacaktır. Her adımı dikkatle takip ederek, sorunsuz bir kurulum gerçekleştirebilirsiniz.

Sistem Ön Hazırlığı: Kuruluma Başlamadan Önce Neler Yapmalıyız?

Herhangi bir yazılım kurulumuna başlamadan önce sistemin hazır olduğundan emin olmak, ileride yaşanabilecek birçok sorunun önüne geçer. OpenBSD ortamında MariaDB kurmadan önce yapmamız gereken bazı temel ön hazırlıklar bulunmaktadır.

1. Sistem Güncellemeleri ve Yükseltmeleri

Öncelikle, sisteminizin en güncel paketlere ve güvenlik yamalarına sahip olduğundan emin olmalıyız. Bu, hem stabilite hem de güvenlik açısından kritik öneme sahiptir. OpenBSD’de sistem ve paket güncellemelerini yapmak için aşağıdaki komutları kullanırız:


doas pkg_add -u
doas syspatch
doas reboot

  • doas pkg_add -u: Bu komut, yüklü tüm paketleri en son sürümlerine yükseltir. OpenBSD'nin paket yönetimi sistemi oldukça sağlamdır ve bağımlılıkları otomatik olarak çözer. Bu sayede MariaDB'nin ihtiyaç duyduğu tüm kütüphanelerin güncel olduğundan emin oluruz.
  • doas syspatch: Bu komut, işletim sisteminin çekirdeği ve temel bileşenleri için yayınlanmış güvenlik yamalarını indirir ve uygular. OpenBSD, bu yamaları düzenli olarak yayınlar ve sisteminizi güncel tutmak, bilinen güvenlik açıklarına karşı korunmanın en iyi yoludur.
  • doas reboot: Çoğu çekirdek yaması ve bazı sistem güncellemeleri, etkili olabilmek için sistemin yeniden başlatılmasını gerektirir. Güncellemeleri uyguladıktan sonra sistemi yeniden başlatmak, tüm değişikliklerin doğru bir şekilde etkinleşmesini sağlar. Bu adım, özellikle uzun süredir çalışmakta olan bir sunucuda önemlidir.

Bu adımları tamamladıktan sonra, sisteminiz MariaDB kurulumu için güncel ve güvenli bir temel üzerinde olacaktır.

2. Disk Alanı Kontrolü

Veritabanları, zamanla oldukça büyük boyutlara ulaşabilir. Bu nedenle, MariaDB'yi kuracağınız disk bölümünde yeterli boş alan olduğundan emin olmak önemlidir. Özellikle veritabanı dosyalarının depolanacağı /var bölümü, genellikle en çok büyüyen yerdir. Boş disk alanını kontrol etmek için:


df -h

Bu komut, tüm bağlı dosya sistemlerinin mevcut ve kullanılan disk alanını insan tarafından okunabilir (human-readable) formatta gösterir. MariaDB için en az birkaç gigabayt (uygulamanızın ve veri beklentinizin büyüklüğüne bağlı olarak çok daha fazlası) boş alanınız olduğundan emin olun. Özellikle kritik üretim ortamlarında, disk alanını önceden planlamak ve gerektiğinde genişletme seçeneklerini değerlendirmek hayati öneme sahiptir. Eğer disk alanınız yetersizse, yeni bir disk eklemek veya mevcut disklerinizi genişletmek gibi adımlar atmanız gerekebilir. OpenBSD'nin disk yönetimi araçları (örneğin, fdisk, disklabel) bu tür işlemleri yapmanıza olanak tanır.

3. Temel Ağ Yapılandırması Kontrolü

MariaDB genellikle ağ üzerinden erişilen bir servis olduğu için, ağ bağlantınızın düzgün çalıştığından emin olmak önemlidir. Sunucunuzun IP adresi, ağ geçidi ve DNS ayarlarının doğru olduğundan emin olun. Bu, genellikle OpenBSD kurulumu sırasında yapılır, ancak bir kontrol yapmakta fayda vardır. Temel ağ yapılandırmasını kontrol etmek için ifconfig komutunu kullanabilirsiniz:


ifconfig
ping google.com

ifconfig ile ağ arayüzlerinizin durumunu ve IP adreslerini görebilirsiniz. ping google.com komutu ile de internet bağlantınızın aktif olup olmadığını ve DNS çözümlemesinin çalışıp çalışmadığını test edebilirsiniz. Eğer ağ bağlantısında bir sorun varsa, MariaDB'nin dışarıdan veya içeriden erişiminde problemler yaşanabilir. Ayrıca, güvenlik duvarı (PF) ayarlarınızı da gözden geçirmeniz gerekebilir, ancak bu adımları MariaDB kurulumundan sonra ele alacağız.

Bu ön hazırlık adımlarını tamamladığınızda, MariaDB 11.4'ün OpenBSD 7.8 sisteminize kurulumuna güvenle geçebilirsiniz. Bu hazırlıklar, hem kurulum sürecini kolaylaştıracak hem de gelecekteki olası sorunların önüne geçerek daha stabil bir çalışma ortamı sağlayacaktır.

MariaDB Paketinin Kurulumu: pkg_add ile Veritabanı Sunucusunu Nasıl Ediniriz?

OpenBSD'nin paket yönetim sistemi, yazılım kurulumunu oldukça basitleştirir. MariaDB 11.4'ü sisteminize kurmak için de bu kolaylığı kullanacağız. OpenBSD, kararlılık ve güvenlik odaklı olduğu için, genellikle kararlı sürüm paketlerini sunar. MariaDB 11.4, OpenBSD 7.8'in port ağacında mevcut ve doğrudan kurulabilir.

1. MariaDB Paketini Yükleme

MariaDB sunucusunu yüklemek için tek bir komut yeterlidir. Bir doas (OpenBSD'nin sudo benzeri yetki yükseltme aracı) yetkisine sahip bir kullanıcı olarak aşağıdaki komutu çalıştırın:


doas pkg_add mariadb-server

Bu komutu çalıştırdığınızda, pkg_add otomatik olarak OpenBSD'nin resmi paket depolarından mariadb-server paketini ve onun tüm bağımlılıklarını indirip kuracaktır. Paket yöneticisi, kurulum sırasında size hangi MariaDB sürümünün kurulacağını gösterecektir; OpenBSD 7.8 için bu, büyük ihtimalle MariaDB 11.4.x olacaktır. Kurulum işlemi, internet bağlantınızın hızına ve sunucunuzun performansına bağlı olarak birkaç dakika sürebilir.

Kurulum sırasında pkg_add size aşağıdaki gibi bir çıktı gösterebilir (bu sadece bir örnek ve gerçek çıktı farklılık gösterebilir):


mariadb-server-11.4.2p0: ok
Ambiguity: bzip2, bzip2-java, bzip2-php73, bzip2-php74, bzip2-php80, bzip2-php81, bzip2-php82, bzip2-php83, bzip2-php84, do you mean bzip2-1.0.8p0? [yes]
mysql-client-11.4.2p0: ok
... (diğer bağımlılıklar) ...

Bazen pkg_add, farklı sürümleri veya varyantları olan bir bağımlılık için size bir seçenek sunabilir (örneğin bzip2 örneğinde olduğu gibi). Genellikle varsayılan seçeneği onaylamak ([yes] tuşuna basmak) yeterlidir.

2. Kurulum Sonrası Mesajları Okuma

pkg_add, bir paketi kurduktan sonra bazen kritik bilgiler içeren mesajlar görüntüler. Bu mesajlar, hizmeti başlatmak, ilk yapılandırmayı yapmak veya belirli izinleri ayarlamak için gerekli olabilecek talimatları içerir. MariaDB kurulumu sonrası genellikle aşağıdaki gibi bir mesaj alırsınız:


--- Message from mariadb-server-11.4.2p0 ---
To initialize the database, you must run:
# mysql_install_db --user=_mysql --datadir=/var/mariadb

Before starting the server, ensure that /var/mariadb is properly
owned by _mysql:_mysql.
The database server can be started via rcctl:
# rcctl enable mysqld
# rcctl start mysqld

Bu mesajlar son derece önemlidir ve bir sonraki adım olan ilk yapılandırma için bize yol gösterir. Bu mesajlar genellikle şunları belirtir:

  • Veritabanı Başlatma Komutu: mysql_install_db komutunu çalıştırarak MariaDB veri dizinini oluşturmanız gerektiğini belirtir. Bu komut, MariaDB'nin sistem veritabanlarını (mysql, information_schema vb.) ve temel dizin yapısını oluşturur.
  • İzinler ve Sahiplik: Veri dizininin (genellikle /var/mariadb) doğru kullanıcı (_mysql) ve grup (_mysql) tarafından sahiplenilmesi gerektiğini vurgular. OpenBSD, hizmetlerin özel ve yetkisiz kullanıcılar altında çalışmasını sağlayan "privilege separation" (ayrıcalık ayırma) prensibini sıkça kullanır, bu da güvenliği artırır.
  • Hizmet Yönetimi: MariaDB hizmetini (mysqld olarak adlandırılır) rcctl aracıyla nasıl etkinleştireceğinizi ve başlatacağınızı gösterir.

Bu mesajları not alın veya aklınızda tutun, çünkü MariaDB'yi yapılandırma ve başlatma adımlarında bunları kullanacağız. Bu noktada, MariaDB paketleri sisteminize başarıyla yüklenmiş ancak henüz çalışır durumda değildir. Bir sonraki bölümde, bu hizmeti nasıl yapılandıracağımızı ve güvenli bir şekilde nasıl başlatacağımızı öğreneceğiz.

MariaDB Yapılandırması ve Güvenliği: İlk Çalıştırma ve Koruma Adımları Nelerdir?

MariaDB paketlerini başarıyla kurmuş olmamıza rağmen, henüz veritabanı sunucumuz çalışır durumda değil ve güvenliği optimize edilmiş değil. Bu bölümde, MariaDB'yi ilk kez nasıl başlatacağımızı, temel güvenlik ayarlarını nasıl yapacağımızı ve sistem başlatılırken otomatik olarak çalışmasını nasıl sağlayacağımızı adım adım ele alacağız. Bu adımlar, kararlı ve güvenli bir veritabanı ortamı oluşturmak için hayati öneme sahiptir.

İlk Başlatma ve Güvenli Kurulum: mysql_install_db ve mysql_secure_installation Kullanımı

MariaDB'nin düzgün bir şekilde çalışabilmesi için önce veri dizininin oluşturulması ve ardından temel güvenlik ayarlarının yapılması gerekir. Bu iki işlem, mysql_install_db ve mysql_secure_installation araçları aracılığıyla gerçekleştirilir.

1. Veritabanı Veri Dizinini Başlatma (Initialize Data Directory)

MariaDB'nin verilerini saklayacağı dizin yapısını ve varsayılan sistem veritabanlarını oluşturmak için mysql_install_db komutunu kullanmalıyız. OpenBSD'de MariaDB, _mysql kullanıcısı altında çalışacak şekilde yapılandırılmıştır ve veri dizini genellikle /var/mariadb'dir.


doas mysql_install_db --user=_mysql --datadir=/var/mariadb

Bu komutun çıktısı genellikle herhangi bir hata mesajı içermezse, işlem başarılı demektir. Bu adım, mysql, information_schema, performance_schema gibi kritik sistem veritabanlarını oluşturur ve MariaDB sunucusunun çalışmaya başlaması için gerekli temel altyapıyı hazırlar. Eğer bu adımı atlarsanız, MariaDB sunucusu başlatılamaz.

Örnek Vaka Analizi: Bir web geliştiricisi, yeni bir forum sitesi için OpenBSD üzerine MariaDB kurmaya çalışıyor. pkg_add komutundan sonra, hevesle rcctl start mysqld komutunu çalıştırıyor ve "Failed to start mysqld" hatası alıyor. Günlükleri kontrol ettiğinde, veri dizininin eksik olduğunu veya doğru izinlere sahip olmadığını gösteren mesajlar görüyor. Bu durumun çözümü, mysql_install_db komutunu çalıştırmak ve MariaDB'nin veri dizinini doğru bir şekilde başlatmaktır. Bu küçük ama kritik adımın atlanması, tüm kurulum sürecini sekteye uğratabilir.

2. MariaDB Hizmetini Başlatma

Veri dizinini başlattıktan sonra, MariaDB sunucusunu geçici olarak başlatabiliriz. Bu, mysql_secure_installation scriptini çalıştırabilmemiz için gereklidir.


doas rcctl start mysqld

Bu komut, MariaDB hizmetini arka planda başlatır. Hizmetin başarılı bir şekilde başlatılıp başlatılmadığını kontrol etmek için rcctl status mysqld komutunu kullanabilirsiniz.


doas rcctl status mysqld

Eğer "mysqld is running" benzeri bir çıktı alırsanız, hizmet başarıyla çalışıyor demektir.

3. MariaDB Güvenliğini Sağlama (mysql_secure_installation)

MariaDB'nin ilk kurulumundan sonra, varsayılan olarak bazı güvenlik açıkları bulunabilir. Örneğin, "root" kullanıcısı için şifre yoktur, herkese açık test veritabanları bulunur veya root kullanıcısının uzaktan bağlanmasına izin verilir. mysql_secure_installation scripti, bu açıkları kapatmak için interaktif bir şekilde size rehberlik eder.


doas mysql_secure_installation

Bu komutu çalıştırdığınızda, aşağıdaki adımlarla karşılaşacaksınız:

  1. Enter current password for root (enter for none): İlk kurulumda root kullanıcısının şifresi yoktur, bu yüzden direkt Enter tuşuna basın.
  2. Set root password? [Y/n]: Y tuşuna basarak root kullanıcısı için güçlü bir şifre belirleyin. Bu, veritabanınızın en önemli güvenlik adımlarından biridir. Şifrenizi dikkatlice seçin ve güvenli bir yerde saklayın.
  3. Remove anonymous users? [Y/n]: Y tuşuna basarak anonim kullanıcıları kaldırın. Bu kullanıcılar genellikle güvenlik zafiyeti oluşturur.
  4. Disallow root login remotely? [Y/n]: Y tuşuna basarak root kullanıcısının uzaktan bağlantısını devre dışı bırakın. Root kullanıcısı ile yalnızca yerel makineden (localhost) bağlanmak, güvenlik için en iyi uygulamadır. Yönetim işlemleri için uzaktan erişime ihtiyacınız varsa, ayrı bir kullanıcı oluşturmanız ve ona belirli ayrıcalıklar vermeniz önerilir.
  5. Remove test database and access to it? [Y/n]: Y tuşuna basarak "test" veritabanını ve ona erişim haklarını kaldırın. Bu veritabanı genellikle kötü niyetli kişiler tarafından kullanılabilir.
  6. Reload privilege tables now? [Y/n]: Y tuşuna basarak ayrıcalık tablolarını yeniden yükleyin. Bu, yaptığınız güvenlik değişikliklerinin hemen etkinleşmesini sağlar.

Tüm bu adımları tamamladıktan sonra, MariaDB sunucunuzun temel güvenlik ayarları yapılmış olacaktır. Bu adımlar, veritabanınızın potansiyel saldırılara karşı daha dirençli hale gelmesini sağlar. Bu yüzden her zaman mysql_secure_installation komutunu çalıştırmak, kurulum sonrası ilk işlerinizden biri olmalıdır.

MariaDB Hizmetini Yönetmek: Başlatma, Durdurma ve Otomatik Başlangıç Nasıl Ayarlanır?

MariaDB sunucusunu günlük operasyonlarda yönetmek ve sistem yeniden başlatıldığında otomatik olarak devreye girmesini sağlamak, stabil bir veritabanı ortamı için vazgeçilmezdir. OpenBSD'de bu tür hizmetlerin yönetimi rcctl komutu aracılığıyla yapılır.

1. MariaDB Hizmetini Başlatma ve Durdurma

Daha önce gördüğünüz gibi, MariaDB hizmetini manuel olarak başlatmak için:


doas rcctl start mysqld

Benzer şekilde, hizmeti durdurmak için:


doas rcctl stop mysqld

Hizmeti yeniden başlatmak (durdurup tekrar başlatmak) için:


doas rcctl restart mysqld

Ve hizmetin mevcut durumunu kontrol etmek için:


doas rcctl status mysqld

Bu komutlar, MariaDB sunucunuzu gerektiğinde yönetmenizi sağlar. Örneğin, bir yapılandırma değişikliği yaptıktan sonra (my.cnf dosyasında olduğu gibi), bu değişikliklerin etkili olması için hizmeti yeniden başlatmanız gerekebilir.

2. MariaDB'yi Sistem Açılışında Otomatik Başlatma

Bir sunucunun her yeniden başlatılışında MariaDB'yi manuel olarak başlatmak istemezsiniz. OpenBSD'nin rcctl aracı, hizmetleri sistem başlangıcında otomatik olarak etkinleştirmek için kolay bir yol sunar. MariaDB'nin (mysqld hizmeti) otomatik olarak başlamasını sağlamak için:


doas rcctl enable mysqld

Bu komut, /etc/rc.conf.local dosyasına gerekli satırı ekler ve MariaDB'nin bir sonraki sistem başlatılışından itibaren otomatik olarak devreye girmesini sağlar. Bu değişikliğin etkili olup olmadığını kontrol etmek için rcctl get mysqld status veya rcctl get mysqld flags komutunu kullanabilirsiniz.

Eğer MariaDB'nin otomatik başlamasını devre dışı bırakmak isterseniz:


doas rcctl disable mysqld

Bu adımlarla birlikte, MariaDB 11.4'ü OpenBSD 7.8 sisteminizde başarıyla kurmuş, temel güvenlik ayarlarını yapmış ve hizmeti gerektiğinde yönetebilecek duruma gelmiş olursunuz. Artık veritabanınıza bağlanabilir, tablolar oluşturabilir ve uygulamalarınızı MariaDB üzerinde çalıştırabilirsiniz. Bu temel kurulum, ileri düzey yapılandırma ve optimizasyonlar için sağlam bir temel oluşturur.

İleri Düzey İpuçları ve Optimizasyon: Performans ve Güvenlik İçin Ek Adımlar

MariaDB 11.4'ü OpenBSD 7.8 üzerine temel kurulumu tamamladınız. Şimdi sıra, bu kurulumu daha da optimize etmeye, performansı artırmaya ve güvenlik seviyesini en üst düzeye çıkarmaya geldi. Bu bölümde, deneyimli sistem yöneticileri ve geliştiriciler için önemli ipuçları, yapılandırma önerileri ve bir vaka analizi sunacağız.

MariaDB Yapılandırması (my.cnf) ve Performans Optimizasyonu

MariaDB'nin performansı, büyük ölçüde my.cnf yapılandırma dosyasına bağlıdır. Bu dosya, MariaDB sunucusunun nasıl davranacağını belirleyen çeşitli parametreleri içerir. OpenBSD'de bu dosya genellikle /etc/my.cnf veya /usr/local/etc/my.cnf konumunda bulunur. Kurulum sonrası varsayılan ayarlar çoğu zaman küçük veya orta ölçekli iş yükleri için yeterli olsa da, ciddi bir performans artışı için elle optimizasyon gerekebilir. İşte bazı kritik parametreler ve açıklamaları:


[mysqld]
# Genel Ayarlar
# Sunucu karakter setini UTF-8 olarak ayarlar. Tüm bağlantıların ve depolamaların bu formatta olmasını sağlar.
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

# Bellek Ayarları
# Sorguların sıralama işlemleri için kullanılan arabellek boyutu. Yüksek değerler, sıralama performansını artırır.
sort_buffer_size = 4M
# Birleştirmeler (JOIN) için kullanılan arabellek boyutu.
join_buffer_size = 4M
# Tüm bağlantılar arasında paylaşılan genel arabellek.
key_buffer_size = 128M
# Her bağlantı için ayrılan thread arabelleği.
thread_cache_size = 128 # Artan bağlantı talebi için.

# InnoDB Ayarları (Eğer InnoDB kullanıyorsanız ki genellikle böyledir)
# InnoDB'nin kullandığı ana bellek alanı. Genellikle sistem RAM'inin %50-70'i kadar ayarlanır.
innodb_buffer_pool_size = 2G # Örnek: 4GB RAM'li bir sunucu için.
# Her bir işlem log dosyasının boyutu.
innodb_log_file_size = 256M
# InnoDB'nin disk yazma performansını etkiler. "2" çoğu senaryo için güvenli ve hızlıdır.
innodb_flush_log_at_trx_commit = 2
# Eşzamanlı InnoDB okuma/yazma işlemleri için I/O thread sayısı.
innodb_io_capacity = 2000 # Yüksek hızlı SSD'ler için daha yüksek değerler.

# Bağlantı Ayarları
# Maksimum eşzamanlı bağlantı sayısı.
max_connections = 200
# Uzun süre işlem yapmayan bağlantıları kapatma süresi.
wait_timeout = 600

# Günlük Kayıtları (Logging)
# Yavaş sorguları günlüğe kaydet. Performans sorunlarını tespit etmek için kritik.
slow_query_log = 1
slow_query_log_file = /var/log/mariadb/mariadb-slow.log
long_query_time = 1 # 1 saniyeden uzun süren sorguları kaydet.

Önemli Not: Bu değerler örnek teşkil etmektedir ve sunucunuzun RAM miktarına, CPU gücüne, disk tipine (SSD/HDD) ve uygulamanızın iş yükü profiline göre özelleştirilmelidir. Yanlış yapılandırma, performansı düşürebilir veya sistem kararsızlığına yol açabilir. Değişiklik yaptıktan sonra MariaDB hizmetini yeniden başlatmayı unutmayın: doas rcctl restart mysqld.

Uzman İpucu: MariaDB yapılandırmalarını optimize ederken, önce küçük değişiklikler yapın ve sunucunuzun davranışını izleyin. mariadb-admin status, SHOW GLOBAL STATUS; ve SHOW ENGINE INNODB STATUS; gibi komutlarla sunucu performansını ve kaynak kullanımını takip edebilirsiniz. Özellikle innodb_buffer_pool_size parametresi, performansı en çok etkileyen ayardır ve genellikle sistem RAM'inin %50-70'i kadar ayarlanması önerilir. Ayrıca, sisteminizin CPU çekirdek sayısı da bazı parametrelerin ayarlanmasında (örn. innodb_read_io_threads, innodb_write_io_threads) göz önünde bulundurulmalıdır.

OpenBSD Paket Filtresi (PF) ile Ağ Güvenliği

MariaDB sunucusuna yalnızca belirli IP adreslerinden veya yerel olarak erişime izin vermek, genel güvenliği önemli ölçüde artırır. OpenBSD'nin güçlü güvenlik duvarı olan PF (Packet Filter) bu konuda bize yardımcı olur. Varsayılan olarak, MariaDB 3306 portunu kullanır.

Aşağıda, /etc/pf.conf dosyanıza ekleyebileceğiniz basit bir PF kuralı örneği bulunmaktadır:


# makro tanımlamaları
ext_if = "em0" # Dış ağ arayüzünüzün adı, örn: em0, ix0
mariadb_port = "3306"
trusted_network = "192.168.1.0/24" # Güvenilir ağınızın IP aralığı
trusted_ip = "10.0.0.5" # Güvenilir bir tek IP adresi

# Varsayılan olarak tüm trafiği engelle
block return all

# İç arayüzden veya yerel bağlantılardan gelen MariaDB trafiğine izin ver
pass in on lo proto tcp to port { $mariadb_port }
pass in on $ext_if proto tcp from $trusted_network to port { $mariadb_port }
pass in on $ext_if proto tcp from $trusted_ip to port { $mariadb_port }

# Harici bağlantılardan, sadece belirli bir kaynaktan gelen MariaDB bağlantılarına izin ver
# Eğer sadece localhost'tan erişim isteniyorsa, bu kurala gerek yoktur.
# Bu kuralı ekledikten sonra, pf.conf dosyasını kontrol edin ve yükleyin.

Değişiklikleri /etc/pf.conf dosyasına kaydettikten sonra, yapılandırmayı test etmek ve yüklemek için:


doas pfctl -nf /etc/pf.conf   # Yapılandırmayı kontrol et, hata olup olmadığını görmek için
doas pfctl -f /etc/pf.conf    # Yapılandırmayı yükle

Bu kurallar, MariaDB'ye yalnızca güvenilir ağlardan veya IP adreslerinden erişilmesini sağlar. Bu, yetkisiz erişim denemelerini önemli ölçüde azaltır ve veritabanı sunucunuzu daha güvenli hale getirir.

Yedekleme Stratejileri ve Felaket Kurtarma

Herhangi bir veritabanı için en önemli güvenlik ve süreklilik adımlarından biri düzenli yedeklemelerdir. OpenBSD ve MariaDB ortamında etkili bir yedekleme stratejisi geliştirmek hayati öneme sahiptir. İşte birkaç yöntem:

  • mariabackup (XtraBackup): InnoDB depolama motoru için en gelişmiş yedekleme aracıdır. Sıcak (online) yedeklemeler yapabilir ve veritabanının çalışmasını durdurmadan tutarlı yedekler almanızı sağlar. Genellikle ayrı bir paket olarak kurulur.
  • mysqldump: Daha basit ve yaygın olarak kullanılan bir yöntemdir. Veritabanının mantıksal bir yedeğini (SQL sorguları olarak) oluşturur. Küçük ve orta ölçekli veritabanları için uygundur. Büyük veritabanlarında yedekleme sırasında sunucuyu kilitleyebilir.
  • LVM Snapshot (Eğer LVM kullanıyorsanız): Eğer MariaDB veri dizininiz bir LVM mantıksal birimi üzerindeyse, anlık görüntü (snapshot) alarak tutarlı bir yedek alabilirsiniz. Bu yöntem daha hızlı olabilir ve büyük veritabanları için uygundur.

Gerçek Dünya Senaryosu: Küçük bir e-ticaret şirketinin OpenBSD sunucusu üzerinde MariaDB ile çalışan bir envanter sistemi bulunuyor. Sistem yöneticisi, gece yarısı otomatik çalışan bir cron işi ile haftalık olarak mysqldump kullanarak yedekler alıyor ve bunları ayrı bir NFS paylaşımına veya güvenli bulut depolama alanına kopyalıyor. Bir gün, yanlış bir SQL sorgusu nedeniyle envanter verilerinin bozulduğunu fark ediyorlar. Hemen en son iyi yedeklemeyi geri yükleyerek sistemlerini dakikalar içinde eski haline getiriyorlar. Bu durum, düzenli ve test edilmiş yedekleme stratejisinin önemini açıkça göstermektedir.


# mysqldump ile yedek alma örneği
# Tüm veritabanlarını yedekle
doas mysqldump --all-databases --single-transaction --flush-logs --master-data=2 -u root -p > /path/to/backup/full_backup_$(date +%Y%m%d%H%M%S).sql

# Belirli bir veritabanını yedekle
doas mysqldump my_database -u root -p > /path/to/backup/my_database_backup_$(date +%Y%m%d%H%M%S).sql

Yedeklemeleri mutlaka farklı bir konuma (uzak sunucu, bulut depolama) kopyalayın ve düzenli olarak geri yükleme testleri yaparak yedeklerinizin geçerliliğinden emin olun. Felaket kurtarma planınızın bir parçası olarak bu testler vazgeçilmezdir.

Sonuç ve Sıkça Sorulan Sorular: Başarılı Bir Kurulumun Ardından

Bu kapsamlı rehber boyunca, MariaDB 11.4'ü OpenBSD 7.8 işletim sisteminiz üzerine adım adım nasıl kuracağınızı, temel güvenlik ayarlarını nasıl yapacağınızı ve performansı optimize etmek için nelere dikkat etmeniz gerektiğini detaylı bir şekilde inceledik. OpenBSD'nin üstün güvenlik mimarisi ile MariaDB'nin modern veritabanı özelliklerini bir araya getirerek, hem güvenli hem de yüksek performanslı bir veritabanı altyapısı kurma yeteneğini kazandınız. Artık bu sağlam temeli kullanarak kendi uygulamalarınızı geliştirebilir veya mevcut sistemlerinizi bu güvenilir platforma taşıyabilirsiniz.

Kurulum süreci sadece başlangıçtır; MariaDB sunucunuzun performansını düzenli olarak izlemek, güvenlik yamalarını uygulamak ve yedekleme stratejilerinizi gözden geçirmek, uzun vadeli kararlılık ve veri bütünlüğü için kritik öneme sahiptir. Unutmayın ki OpenBSD'nin "varsayılan olarak güvenli" yaklaşımı, sizin de güvenlik bilincine sahip olmanızla pekişir. Kullandığınız uygulamaları güncel tutmak, MariaDB kullanıcılarına en az yetki prensibiyle izinler vermek ve düzenli olarak güvenlik denetimleri yapmak, sisteminizin güvenliğini sürekli olarak sağlam tutmanıza yardımcı olacaktır.

Umarız bu rehber, OpenBSD üzerinde MariaDB deneyiminizi sorunsuz ve verimli hale getirmiştir. Güvenli ve hızlı veritabanı operasyonlarınızda başarılar dileriz!

Sıkça Sorulan Sorular (SSS)

MariaDB 11.4'ü OpenBSD 7.8 üzerine kurarken veya sonrasında aklınıza takılabilecek bazı yaygın soruları ve cevaplarını aşağıda bulabilirsiniz:

1. MariaDB root şifremi unuttum, ne yapmalıyım?
MariaDB root şifrenizi unutmanız durumunda, sunucuyu güvenli modda (şifre istemeden) başlatıp şifrenizi sıfırlayabilirsiniz.

  1. MariaDB servisini durdurun:
    doas rcctl stop mysqld

  2. MariaDB'yi şifresiz başlatın:
    doas mysqld_safe --skip-grant-tables &

  3. MariaDB'ye bağlanın:
    mysql -u root

  4. Şifreyi sıfırlayın (MariaDB 10.4 ve sonrası için):
    
                    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YeniGüçlüŞifreniz';
                    FLUSH PRIVILEGES;
                    QUIT;
                    

  5. MariaDB'yi yeniden başlatın:
    doas rcctl restart mysqld

2. MariaDB'ye uzaktan bağlanamıyorum, sorun ne olabilir?
Uzaktan bağlanamamanın birkaç nedeni olabilir:

  • Güvenlik Duvarı (PF): OpenBSD'nin PF güvenlik duvarı MariaDB portunu (varsayılan 3306) engelliyor olabilir. /etc/pf.conf dosyanızı kontrol edip ilgili pass in kuralını eklediğinizden ve PF'yi yeniden yüklediğinizden emin olun.
  • MariaDB Kullanıcı İzinleri: Uzaktan bağlanmaya çalıştığınız MariaDB kullanıcısının doğru host izinlerine sahip olması gerekir. Örneğin, 'kullanici'@'%' (herhangi bir hosttan) veya 'kullanici'@'192.168.1.100' (belirli bir IP'den) gibi izinler vermeniz gerekebilir.
  • bind-address Ayarı: /etc/my.cnf dosyasındaki bind-address parametresi sadece 127.0.0.1 (localhost) olarak ayarlanmışsa, MariaDB sadece yerel bağlantıları kabul eder. Uzaktan bağlantılara izin vermek için bu ayarı sunucunuzun IP adresine veya 0.0.0.0'a (tüm IP'lerden) değiştirmelisiniz (güvenlik risklerini göz önünde bulundurarak).
3. MariaDB hizmeti başlamıyor, günlükleri nerede bulabilirim?
MariaDB hizmeti başlatılamadığında hata mesajlarını genellikle OpenBSD'nin genel sistem günlüklerinde bulabilirsiniz. Ana günlük dosyası /var/log/messages'tır. Bu dosyayı inceleyerek veya dmesg komutunu kullanarak MariaDB'nin neden başlatılamadığına dair ipuçları arayabilirsiniz. Özellikle mysql_install_db adımını atladıysanız veya veri dizini izinleri yanlışsa, günlüklerde bu tür hataları görebilirsiniz.
4. MariaDB'yi farklı bir veri dizinine kurabilir miyim?
Evet, MariaDB'yi farklı bir veri dizinine kurabilirsiniz. Bunun için:

  1. Yeni bir dizin oluşturun ve doğru izinleri verin (örneğin /data/mariadb).
  2. /etc/my.cnf dosyasında datadir parametresini yeni dizin yolunu gösterecek şekilde güncelleyin.
  3. mysql_install_db komutunu yeni datadir ile çalıştırın:
    doas mysql_install_db --user=_mysql --datadir=/data/mariadb

  4. MariaDB hizmetini başlatın.

Bu işlem, disk alanınızın yetersiz olduğu veya veri dosyalarını belirli bir diske yerleştirmek istediğiniz durumlarda faydalıdır.

5. OpenBSD'de MariaDB güncellemelerini nasıl yaparım?
MariaDB paketini güncellemek için OpenBSD'nin standart paket güncelleme komutunu kullanabilirsiniz:

doas pkg_add -u


Bu komut, sistemdeki tüm paketleri (MariaDB dahil) en son kararlı sürümlerine güncelleyecektir. Büyük sürüm yükseltmeleri (örneğin 11.4'ten 11.5'e) genellikle özel geçiş adımları gerektirebilir ve pkg_add bu tür durumlarda size bilgi verecektir. Yükseltme öncesi her zaman yedek almak iyi bir uygulamadır.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.