Şifreleme, Linux sisteminizdeki hassas bilgilerin güvenliğini sağlamanın çok önemli bir yönüdür. Bu amaçla kullanabileceğiniz araçlardan biri, simetrik şifreleme ve şifre çözme yetenekleri sağlayan mcrypt’tir. Bu kılavuz, Linux’ta dosya ve dizinleri şifrelemek ve şifresini çözmek için mcrypt kullanma sürecinde size yol gösterecek ve bir dizi seçenek ve örneği kapsayacaktır.
mcrypt’i yükleme
Linux sisteminizde mcrypt kullanmak için önce onu yüklemeniz gerekir. Aşağıda Debian, Ubuntu, CentOS ve RHEL için kurulum talimatları verilmiştir.
Debian ve Ubuntu
$ sudo apt update $ sudo apt install mcrypt
CentOS ve RHEL
İlk olarak, EPEL deposunu etkinleştirmeniz, ardından mcrypt’i yüklemeniz gerekir.
$ sudo yum install epel-release $ sudo yum install mcrypt
CentOS 8 ve RHEL 8 için dnf paket yöneticisini kullanın:
$ sudo dnf install epel-release $ sudo dnf install mcrypt
Sandbox Ortamı Oluşturma
Güvenli bir uygulama ortamı sağlamak için, önemli verileri etkilemeden şifreleme ve şifre çözme örneklerini test edebileceğiniz bir korumalı alan dizini oluşturun. Aşağıdaki komutları kullanın:
$ mkdir ~/encryption_sandbox $ cd ~/encryption_sandbox $ touch file1.txt file2.txt $ mkdir dir1 dir2 $ echo "This is a test file" > file1.txt $ echo "This is another test file" > file2.txt $ echo "File in directory 1" > dir1/file_in_dir1.txt $ echo "Another file in directory 1" > dir1/another_file_in_dir1.txt $ echo "File in directory 2" > dir2/file_in_dir2.txt
Bu kurulum, şifreleme ve şifre çözme alıştırması için kontrollü bir ortam sağlayan, her biri kendi metin dosyalarına sahip iki metin dosyası ve iki alt dizin içeren encryption_sandbox adlı bir dizin oluşturur.
BİLİYOR MUYDUNUZ?
Mcrypt yardımcı programı, AES, Blowfish ve Twofish gibi çeşitli simetrik anahtar algoritmalarını kullanacak şekilde yapılandırılabilir. Bu esneklik, güvenlik ihtiyaçlarınız için en uygun algoritmayı seçmenize olanak tanır. Ek olarak, mcrypt, CBC (Şifre Blok Zincirleme) ve ECB (Elektronik Kod Kitabı) gibi farklı çalışma modlarıyla çalışabilir ve şifreleme işlemleri için daha fazla özelleştirme sağlar. Kullanılabilir algoritmaları görmek için mcrypt –list veya mcrypt –list-hash komutunu çalıştırabilirsiniz.
Şifreleme Örnekleri
Mcrypt kullanarak dosya ve dizinleri şifrelemek, çeşitli seçenekler ve yapılandırmalar içerir. Varsayılan olarak, doğrudan bir parola belirtmek için -k seçeneğini kullanmadığınız sürece, mcrypt’in sizden iki kez (bir kez şifreleme için ve bir kez onay için) bir parola girmenizi isteyeceğini unutmayın. İşte kullanımını göstermek için yedi örnek:
- Temel Dosya Şifreleme: Varsayılan ayarları kullanarak tek bir dosyayı şifreleme.
$ mcrypt file1.txt
Bu komut file1.txt şifreler ve file1.txt.nc adlı şifreli bir dosya oluşturur.
- Belirtilen Algoritma ile Dosya Şifreleme: Belirli bir şifreleme algoritması kullanarak bir dosyayı şifreleme.
$ mcrypt -a blowfish file1.txt
Bu komut, file1.txt şifrelemek ve file1.txt.nc çıktısını almak için Blowfish algoritmasını kullanır.
- Sıkıştırma ile Dosya Şifreleme: Şifrelemeden önce gzip kullanarak bir dosyayı şifreleme ve sıkıştırma.
$ mcrypt -z file2.txt
Bu komut file2.txt gzip ile sıkıştırır ve ardından şifreleyerek file2.txt.nc verir.
- Bir Dizini Şifreleme: Bir dizindeki tüm dosyaları, önce dizini sıkıştırarak ve sonra şifreleyerek şifreleme
$ tar cz dir1/ | mcrypt -k abc123 > dir1.tar.gz.nc
Bu komut, dir1’i bir tar.gz dosyasına sıkıştırır ve ardından abc123 parolasını kullanarak şifreler, bu da dir1.tar.gz.nc sonuçlanır.
- Anahtar Dosyası ile Dosya Şifreleme: Şifreleme için parola yerine bir anahtar dosyası kullanma.
$ mcrypt -f keyfile.txt file1.txt
Bu komut, şifreleme anahtarını keyfile.txt okur ve file1.txt şifrelemek için kullanır.
- OpenPGP Formatı ile Dosya Şifreleme: OpenPGP dosya biçimini kullanarak bir dosyayı şifreleme.
$ mcrypt --openpgp file2.txt
Bu komut, file2.txt OpenPGP biçiminde şifreleyerek file2.txt.nc oluşturur.
- Belirli Bir Anahtar Boyutuyla Dosya Şifreleme: Belirtilen anahtar boyutuna sahip bir dosyayı şifreleme.
$ mcrypt -s 32 file1.txt
Bu komut, file1.txt 32 baytlık bir anahtar boyutu kullanarak şifreler ve file1.txt.nc sonuçlanır.
Şifre Çözme Örnekleri
Mcrypt ile şifrelenmiş dosyaların şifresini çözmek basittir. Aşağıda, çeşitli şifrelenmiş veri türlerinin şifresinin nasıl çözüleceğini gösteren yedi örnek verilmiştir:
- Basic File Decryption: Varsayılan ayarlarla şifrelenmiş bir dosyanın şifresini çözme.
$ mcrypt -d file1.txt.nc
Bu komut, file1.txt.nc şifresini çözerek orijinal file1.txt çıktısını alır.
- Belirtilen Algoritma ile Dosya Şifre Çözme: Belirli bir şifreleme algoritması kullanarak bir dosyanın şifresini çözme.
$ mcrypt -d -a blowfish file1.txt.nc
Bu komut, file1.txt.nc şifresini çözmek için Blowfish algoritmasını kullanır ve orijinal file1.txt çıktısını alır.
- Sıkıştırılmış Dosyanın Şifresinin Çözülmesi: Şifrelemeden önce sıkıştırılmış bir dosyanın şifresini çözme.
$ mcrypt -d file2.txt.nc
Bu komut, file2.txt.nc şifresini çözer ve sıkıştırmasını açarak orijinal file2.txt çıktısını alır.
- Bir Dizinin Şifresini Çözme: Sıkıştırılmış ve şifrelenmiş bir dizinin şifresini çözme ve ayıklama.
$ mcrypt -d dir1.tar.gz.nc $ tar -xzvf dir1.tar.gz
Bu komut dir1.tar.gz.nc şifresini çözer ve ardından sonraki komut içeriği ayıklayarak dir1’i geri yükler.
- Anahtar Dosyası ile Dosya Şifre Çözme: Şifre çözme için parola yerine bir anahtar dosyası kullanma.
$ mcrypt -d -f keyfile.txt file1.txt.nc
Bu komut, şifre çözme anahtarını keyfile.txt okur ve file1.txt.nc şifresini çözmek için kullanır.
- OpenPGP Formatı ile Dosya Şifre Çözme: OpenPGP biçiminde şifrelenmiş bir dosyanın şifresini çözme.
$ mcrypt -d --openpgp file2.txt.nc
Bu komut, OpenPGP biçiminde şifrelenmiş file2.txt.nc şifresini çözerek orijinal file2.txt çıktısını verir.
- Belirli Bir Anahtar Boyutuyla Dosya Şifre Çözme: Belirtilen anahtar boyutuna sahip bir dosyanın şifresini çözme.
$ mcrypt -d -s 32 file1.txt.nc
Bu komut, 32 baytlık bir anahtar boyutu kullanarak file1.txt.nc şifresini çözerek özgün file1.txt sonuçlanır.
Yazının orijinalini buradan okuyabilirsiniz.