PostgreSQL yerleşik şifreleme seçenekleri sunmasa da, üçüncü taraf şifreleme yöntemlerini kullanarak atıl durumdaki veri şifrelemesini ayarlayabilirsiniz. Bugünkü eğitim, dosya sistemi düzeyinde şifrelemeyi etkinleştirmek için Şeffaf Veri Şifreleme (TDE) yöntemini kullanmaya odaklanıyor.
PostgreSQL'de Kullanımda Olmayan Veri Şifrelemenin Kurulumu
PostgreSQL'de veri şifrelemeyi atıl durumda ayarlarken amaç, bir şifre çözme anahtarı gerektirerek veriyi dosya sisteminde okunamaz hale getirmektir. Bu şekilde yetkisiz erişimler ortadan kaldırılır.
PostgreSQL sunucunuzda çalışırken, Linux Birleşik Anahtar Kurulumu (LUKS) gibi üçüncü taraf araçları kullanarak dosya sistemi düzeyinde şifrelemeyi ayarlayabilirsiniz. Sisteminize uygun çözümü bulabilirsiniz. Burada Ubuntu ile çalışıyoruz ve aşağıdaki adımları kullanarak veri şifrelemeyi ayarlıyoruz.
1. Adım: Dosya Sistemi Şifreleme Aracını yükleyin
Şifreleme yöntemini seçtikten sonra gerekli araçları yüklemelisiniz. Dosya sistemi düzeyinde şifreleme yöntemini seçip LUKS'u kuruyoruz. LUKS'u yüklemek için cryptsetup'ı aşağıdaki gibi yükleyin:
sudo apt-get kurulumu kripto kurulumu
Kuruluma devam etmek ve her şeyin beklendiği gibi kurulduğundan emin olmak için “y” tuşuna basın.
Adım 2: Şifreli Konteyner Kurulumu
Dosya sistemi düzeyinde şifrelemeyi kurduğumuz için diskimizde PostgreSQL verilerini içeren şifrelenmiş bir dizin oluşturmamız gerekiyor. Aşağıdaki komutu kullanarak işletim sisteminizdeki mevcut cihazları kontrol edin:
sudo fdisk -ben
Daha sonra uygun cihazı seçin ve aşağıdaki komutu çalıştırın. Burada şunu kullanıyoruz: /dev/sdb cihaz. “EVET” yazarak işlemi onaylamanız ve ardından bir parola girmeniz istenecektir.
Daha sonra aşağıdaki komutu çalıştırarak LUKS kullanarak şifrelemeniz gerekir:
3. Adım: Kabı Biçimlendirin
Oluşturulan kapsayıcı için onu biçimlendirmemiz gerekir. Aşağıdaki kodu çalıştırarak “mkfs.ext4” seçeneğini kullanıyoruz:
sudo mkfs.ext4 / geliştirici / haritacı / postgres_encrypted
Adım 4: Konteyneri Monte Edin
Daha sonra şifrelenmiş konteyneri mount edelim. İçinde bir dizin oluşturarak başlayın /mnt/ aşağıdaki gibi:
sudo mkdir / mnt / postgresDizin oluşturulduktan sonra devam edin ve 'mount' komutunu kullanarak şifrelenmiş kapsayıcıyı bağlayın ve yolu belirtin.
sudo montaj / geliştirici / haritacı / postgres_encrypted / mnt / postgres /Adım 5: PostgreSQL Verilerini Taşıyın
Şu ana kadar PostgreSQL verilerimizi depolamak için şifreli bir konteyner oluşturduk ancak henüz verileri taşımadık. Verileri taşımadan önce PostgreSQL servisini durdurmalıyız.
sudo systemctl postgresql'i durdurPostgreSQL verilerini taşımak için aşağıdaki “kopyala” komutunu çalıştırın ve daha önce oluşturduğumuz dizine kopyaladığınızdan emin olun:
sudo rsync -ile ilgili / öyleydi / kitap / postgresql / mnt / postgresDaha sonra, orijinal PostgreSQL verilerini bir yedekleme konumuna taşıyarak yedekleyin.
sudo mv / öyleydi / kitap / postgresql / öyleydi / kitap / postgresql_backup
Daha sonra hızlı erişim için dizin için sembolik bir bağlantı oluşturmanız gerekir.
Bu kadar. Kullanımda olmayan verilerin güvenliğini sağladığımızdan emin olmak için PostgreSQL verilerini dosya sistemi düzeyinde şifrelenmiş kapsayıcımıza kopyalayıp taşımayı başardık.
Adım 6: PostgreSQL Yapılandırma Dosyasını Düzenleyin
Yapılandırma dosyasındaki data_directory, değerli PostgreSQL veri konumunu yansıtır. Ancak PostgreSQL verilerinin oluşturduğumuz şifreli konteynerdeki konumuyla eşleşecek şekilde düzenlememiz gerekiyor. Bu nedenle PostgreSQL yapılandırma dosyasını bir metin düzenleyici kullanarak açın. data_directory bölümünü bulun. Düzenlemeden önce aşağıda gösterildiği gibi görünür. Yol, sisteminizde yüklü olan PostgreSQL sürümüne bağlı olarak farklılık gösterebilir.
4. adımda oluşturduğumuz şifreli konteynere yönlendirmek için yolu değiştirin. Bizim durumumuzda yeni yol aşağıdaki gibidir:
Adım 7: Kaydet, Çık ve Yeniden Başlat
PostgreSQL yapılandırma dosyasını kaydedip çıkın. Daha sonra PostgreSQL'i başlatın veya yeniden başlatın. PostgreSQL'de bekleyen veri şifrelemesini ayarlamayı başardınız.
Bu kadar! PostgreSQL'i güvenli bir şekilde kullanmaya devam edebilir ve yeni dosya sistemi düzeyinde şifrelemenin keyfini çıkarabilirsiniz.
Çözüm
PostgreSQL'de bekleyen veri şifrelemesini ayarlamak, hangi şifreleme yönteminin kullanılacağını belirlemeyi ve ardından ayarlamayı içerir. Dosya sistemi düzeyinde bir şifreleme ayarlamak için LUKS kullanarak TDE şifrelemesini seçtik. Üstelik kurulumu için izlenecek her adımı ayrıntılı olarak anlattık. Bu kadar! Deneyin ve verilen adımları izleyin.