GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Enkripsi Drive BMC Menggunakan EMP

Pendahuluan

Enkripsi drive BMC menggunakan phoenixNAP EMP (Encryption Management Platform) memberikan keamanan data yang diperlukan untuk drive Bare Metal Cloud Anda. Platform EMP berfungsi sebagai server manajemen kunci, memastikan informasi enkripsi tidak disimpan di drive.

Membuka kunci drive terjadi pada setiap reboot. Jika terjadi penyusupan, Anda mencabut izin melalui platform EMP, dan drive tetap aman.

Tutorial tiga bagian ini menjelaskan cara menyiapkan enkripsi drive BMC dengan skrip Python otomatis menggunakan EMP.

Bagian 1:Pra-penyiapan

Pra-penyiapan mencakup semua langkah yang diperlukan untuk mendaftar akun EMP dan membuat sertifikat klien.

1. Dapatkan Akun EMP

Jika Anda sudah memiliki akun EMP, lewati langkah ini. Jika tidak, buat akun EMP:

1. Buka https://emp.phoenixnap.com/.

2. Klik DAFTAR untuk mendaftarkan akun.

3. Masukkan informasi pendaftaran Anda dan pilih kata sandi yang kuat dari setidaknya 14 karakter.

Klik DAFTAR untuk melanjutkan.

4. Pilih nama akun yang diinginkan dan klik Kirim Permintaan untuk membuat akun baru.

5. Tunggu persetujuan administrator melalui email. Saat akun menerima persetujuan, masuk dan lanjutkan ke langkah berikutnya.

2. Buat Grup

Setelah akun disetujui, buat grup, dan tambahkan aplikasi EMP.

1. Navigasikan ke Grup tab di sebelah kiri.

2. Klik ikon plus untuk menambahkan grup baru:

4. Tetapkan judul grup dan Simpan .

5. Dasbor menampilkan halaman grup yang baru dibuat. Klik Aplikasi Baru tombol untuk menambahkan aplikasi baru.

6. Nama aplikasi, gulir ke bawah dan klik Simpan .

7. Pesan konfirmasi untuk pembuatan aplikasi muncul. Salin dan simpan aplikasi UUID untuk langkah selanjutnya.

3. Buat Kunci Pribadi dan Sertifikat

Lakukan semua langkah berikut di mesin server Bare Metal Cloud . SSH ke server BMC dengan:

ssh -i <path to id_rsa> [email protected]<public IP>

<path to id_rsa> adalah jalur ke file identitas Anda. Biasanya, jalur file adalah /.ssh/id_rsa .

Gunakan perintah openssl untuk menghasilkan kunci privat dan pasangan sertifikat melalui terminal.

1. Untuk menghasilkan kunci pribadi, jalankan:

openssl genrsa -out <key name>.key

2. Gunakan kunci pribadi untuk membuat sertifikat:

openssl req -new -x509 -key <key name>.key -out <certificate name>.cert -days <number of days>

Isi informasi yang diminta. Untuk Nama Umum , masukkan UUID dari aplikasi EMP.

4. Unggah Sertifikat

Unggah sertifikat yang dihasilkan ke aplikasi EMP.

1. Navigasikan ke Aplikasi tab di sebelah kiri dan cari aplikasinya.

2. Ubah metode autentikasi menjadi Berbasis Sertifikat :

3. Unggah sertifikat yang dihasilkan dan perbarui perubahannya:

4. Terakhir, edit antarmuka aplikasi dan ubah ke KMIP dengan mengklik teks di sebelah nama aplikasi:

Bagian 2:Enkripsi Disk

Langkah-langkah berikut dilakukan di mesin server .

1. Instal PyKMIP

Pasang PyKMIP perpustakaan menggunakan manajer paket pip.

1. Perbarui dan tingkatkan sistem:

sudo apt update && sudo apt upgrade

2. Instal pip untuk Python 3 dengan perintah berikut:

sudo apt install python3-pip

3. Tingkatkan pip:

pip3 install --upgrade pip

4. Instal modul PyKMIP dengan menjalankan:

sudo -H pip3 install pykmip

Pustaka membantu membuat, mengaktifkan, dan mengambil kunci untuk mengenkripsi perangkat.

2. Buat dan Ambil Kunci

Skrip Python membantu menghasilkan dan mengaktifkan objek keamanan yang terhubung ke aplikasi EMP. Kunci mengenkripsi drive.

1. Buat pykmip.conf file dengan informasi berikut:

[client]
host=emp.phoenixnap.com
port=5696
ssl_version=PROTOCOL_TLSv1_2
certfile=<path to the generated certificate>/<certificate name>
keyfile=<path to the generated key>/<key name>
ca_certs=<path to the signed certificate>/<certificate name>
do_handshake_on_connect=True
suppress_ragged_eofs=True

File konfigurasi tertaut ke tiga objek keamanan:

  • file kunci. Kunci pribadi yang dihasilkan.
  • file sertifikat. Sertifikat dibuat menggunakan kunci pribadi.
  • ca_certs. Sertifikat yang ditandatangani oleh Otoritas Sertifikat.

Skrip menggunakan pykmip.conf file konfigurasi untuk membuat koneksi yang aman dan terverifikasi dengan aplikasi EMP.

2. Buat skrip Python khusus menggunakan editor Python dan beri nama skrip. Tambahkan kode berikut:

# Import libraries
from kmip.pie import client
from kmip import enums
# Establish connection
c = client.ProxyKmipClient(config_file="<path to conf file>")
# Create key
with c:
    key_id = c.create(
        enums.CryptographicAlgorithm.AES,
        256,
        name='Test Key',
        cryptographic_usage_mask=[
            enums.CryptographicUsageMask.ENCRYPT,
            enums.CryptographicUsageMask.DECRYPT
        ]
    )
# Activate key
    c.activate(key_id)
# Get key
    key = c.get(key_id)
    print(key)

Script membuat koneksi berdasarkan konten pykmip.conf mengajukan. Pastikan untuk mengubah jalur ke lokasi file konfigurasi Anda .

Saat klien membuat koneksi, skrip menghasilkan kunci yang disebut Kunci Uji . Parameter menggambarkan objek utama, serta tujuan penggunaan.

3. Jalankan skrip untuk menghasilkan objek kunci:

python3 <script name>.py

Output dari skrip menunjukkan kuncinya. Kode berhasil menghasilkan objek keamanan dalam aplikasi EMP.

4. Buka objek keamanan dengan menavigasi ke Objek Keamanan tab di sebelah kiri. Buka objek kunci dan salin UUID :

5. Menggunakan UUID kunci, buat skrip Python bernama key.py untuk mengambil kunci. Masukkan kode berikut, tambahkan UUID objek keamanan di baris 4:

from kmip.pie import client
c = client.ProxyKmipClient(config_file="<path to pykmip.conf file>")
with c:
    key = c.get('<uuid of security object>')
    print(key)

3. Enkripsi Perangkat Menggunakan LUKS dan CryptSetup

Bagian ini membuat wadah file dan mengenkripsinya menggunakan enkripsi LUKS dengan kunci yang diambil dari platform EMP.

1. Buat wadah file terenkripsi menggunakan perintah dd:

dd of=secretfs bs=1G count=0 seek=2

2. Ubah izin penampung menjadi 600 menggunakan perintah chmod:

sudo chmod 600 secretfs

3. Lampirkan wadah file ke perangkat loop dengan losetup perintah:

sudo losetup /dev/loop101 secretfs

4. Menggunakan key.py skrip, format perangkat loop menggunakan cryptsetup dan luksFormat :

python3 key.py | sudo cryptsetup -y luksFormat /dev/loop101

Perintah ini mengenkripsi perangkat menggunakan enkripsi LUKS dengan kunci yang disimpan di EMP.

5. Buka wadah file terenkripsi pada perangkat loop menggunakan kunci:

python3 key.py | sudo cryptsetup luksOpen /dev/loop101 secretfs

Perangkat sekarang terbuka menggunakan kunci yang disimpan di EMP.

4. Buat Sistem File di Perangkat

Bangun sistem file pada wadah perangkat terenkripsi, petakan sistem file terenkripsi, dan pasang perangkat.

1. Format disk menggunakan mkfs perintah:

sudo mkfs.ext4 /dev/mapper/secretfs

2. Buat titik pemasangan untuk sistem file:

sudo mkdir /mnt/encrypted

3. Pasang disk:

sudo mount /dev/mapper/secretfs /mnt/encrypted

4. Periksa apakah perangkat terpasang:

df | grep secretfs

5. Mulai ulang:

sudo reboot

Bagian 3:Membuat Script Saat Boot

Setelah reboot, disk secara otomatis terlepas. Langkah-langkah di bawah ini menjelaskan cara memasang perangkat secara manual setelah restart. Langkah yang sama membuka dan memasang disk di skrip on-boot otomatis.

1. Buka Kunci Manual dan Pasang

Perintah berikut membuka dan memasang disk:

1. Pasang perangkat loop ke wadah file:

sudo losetup /dev/loop101 secretfs

2. Buka perangkat menggunakan kunci:

python3 key.py | sudo cryptsetup luksOpen /dev/loop101 secretfs

3. Pasang perangkat:

sudo mount /dev/mapper/secretfs /mnt/encrypted

4. Periksa apakah perangkat dipasang menggunakan df perintah:

df | grep secretfs

2. Buka Kunci dan Pasang Otomatis

Langkah terakhir adalah mengotomatiskan perintah-perintah sebelumnya untuk dijalankan saat boot. Kuncinya diambil dari platform EMP secara otomatis, yang membantu membuka dan memasang disk pada setiap reboot. Langkah ini juga memastikan bahwa kunci tidak disimpan di mana pun di mesin.

1. Buat layanan di /etc/init.d map. Beri nama file tanpa ekstensi apa pun. Misalnya, jika Anda menggunakan editor vim dan memberi nama layanan automount , jalankan:

sudo vim /etc/init.d/automount

2. Tambahkan baris kode berikut:

#!/usr/bin/env python3
### BEGIN INIT INFO
# Provides:        <service name>
# Required-Start: $ALL
# Should-Start: 
# Required-Stop:
# Should-Stop:
# Default-Start:  2 3 5
# Default-Stop:
# Description:    Automated LUKS Unlock
### END INIT INFO
from kmip.pie import client
import subprocess
import os
from requests import get, ConnectionError, Timeout

# Change directory to the location of secretfs
os.chdir('<path to secretfs>')

# First part: Establish a client connection and fetch key
try:
    request = get("https://emp.phoenixnap.com", timeout=60)
except(ConnectionError, Timeout):
    print("Connection error, retrying...")
c = client.ProxyKmipClient(config_file="./pykmip.conf")
with c:
    SECRET = str(c.get('<uuid security object>'))
    print("Success! Unlocking and mounting the device.")

# Second part: Automating the commands to attach, unlock and mount the device
LUKS_DEVICE = "/dev/loop101"
LUKS_DEVICE_MAP = "secretfs"
LUKS_DEVICE_MOUNT_POINT = "/mnt/encrypted"
MAPPER = '/dev/mapper/' + LUKS_DEVICE_MAP
subprocess.run(['sudo', 'losetup', LUKS_DEVICE, LUKS_DEVICE_MAP])
ps = subprocess.Popen(('echo', SECRET), stdout=subprocess.PIPE)
subprocess.check_output(('sudo', 'cryptsetup', 'luksOpen', LUKS_DEVICE, LUKS_DEVICE_MAP), stdin=ps.stdout)
subprocess.run(['sudo', 'mount' ,MAPPER ,LUKS_DEVICE_MOUNT_POINT])

Script memiliki dua bagian:

  • Bagian pertama adalah baris kode yang sama seperti di key.py skrip, yang mengambil kunci dari platform EMP menggunakan UUID objek keamanan.
  • Bagian kedua skrip mengikuti langkah-langkah dari membuka dan memasang secara manual, membuka dan memasang drive terenkripsi.

3. Ubah izin menjadi 755 menggunakan chmod untuk membuat layanan dapat dieksekusi:

sudo chmod 755 <service name>

4. Perbarui informasi layanan pada sistem:

sudo update-rc.d <service name> defaults

Penyiapan layanan otomatis untuk membuka kunci dan memasang perangkat diakhiri dengan langkah ini.

5. Reboot sistem:

sudo reboot

6. Menggunakan df perintah, periksa untuk melihat perangkat dipasang secara otomatis setelah restart:

df | grep secretfs

Jika terjadi kompromi, hapus objek keamanan dari akun EMP Anda. Pengaktifan ulang perangkat berikutnya tidak dapat mengambil kunci, dan disk tetap terkunci dan aman.


Ubuntu
  1. Cara Mengatur RAID Perangkat Keras Menggunakan MegaCLI

  2. Cara Mengatur Kunci SSH

  3. Bagaimana Cara Mengatur Alamat Proxy Seluruh Sistem Menggunakan Shell Script?

  1. Cara Mengonfigurasi Drive Kedua di Server BMC Dual-Drive

  2. Cara Mengatur Load Balancer pada Server BMC s0.d1.small

  3. Cara Mengatur Login SSH Tanpa Kata Sandi

  1. Cara membuat VPN di Ubuntu 20.04 menggunakan Wireguard

  2. Cara Mengatur Kunci SSH di Ubuntu 18.04

  3. Cara Mengatur Kunci SSH di Ubuntu 20.04