GNU/Linux >> Belajar Linux >  >> Rocky Linux

Cara Menginstal Pengelola Kata Sandi Padloc di Rocky Linux 8

Padloc adalah solusi manajemen kata sandi berbasis cloud yang memungkinkan Anda mengakses dan menggunakan kata sandi tersimpan di berbagai platform. Ini menawarkan antarmuka yang sederhana dan dapat digunakan untuk menyimpan kata sandi Anda dan dapat mengenkripsi dan menyimpan dokumen sensitif. Ini juga mendukung penyimpanan token autentikasi dua faktor dan dapat menambahkannya langsung dari halaman web.

Padloc juga menawarkan solusi self-hosted open-source yang dapat Anda instal di server mana pun untuk mempertahankan kontrol penuh atas data Anda. Namun, ada peringatan untuk ini. Anda tidak dapat menggunakan aplikasi yang dihosting sendiri dengan aplikasi desktop dan selulernya. Sisi baiknya, Padloc disajikan sebagai PWA (Progressive web app), yang berarti Anda dapat menginstalnya sebagai aplikasi asli di ponsel dan memanfaatkan beberapa fiturnya.

Dalam tutorial ini, Anda akan mempelajari cara menginstal Padloc Password Manager pada server berbasis Rocky Linux 8.

Prasyarat

  • Server yang menjalankan Rocky Linux 8 dengan minimal RAM 1 GB.
  • Pengguna non-root dengan hak istimewa sudo.
  • Nama Domain yang Memenuhi Syarat Sepenuhnya (FQDN) yang menunjuk ke server seperti example.com . Kami akan berasumsi bahwa Anda hanya akan menggunakan satu nama domain untuk server ini untuk tutorial ini.

Langkah 1 - Firewall

Langkah pertama adalah mengkonfigurasi firewall. Rocky Linux menggunakan Firewalld Firewall. Periksa status firewall.

$ sudo firewall-cmd --staterunning

Firewall bekerja dengan zona yang berbeda, dan zona publik adalah zona default yang akan kita gunakan. Buat daftar semua layanan dan port yang aktif di firewall.

$ sudo firewall-cmd --permanent --list-services

Ini akan menunjukkan output berikut.

kokpit dhcpv6-client ssh

Izinkan port HTTP dan HTTPS.

$ sudo firewall-cmd --permanent --add-service=http$ sudo firewall-cmd --permanent --add-service=https

Periksa kembali status firewall.

$ sudo firewall-cmd --permanent --list-services

Anda akan melihat keluaran serupa.

kokpit dhcpv6-klien http https ssh

Muat ulang firewall untuk mengaktifkan perubahan.

$ sudo firewall-cmd --reload

Langkah 2 - Instal Docker

Rocky Linux dikirimkan dengan versi Docker yang lebih lama. Untuk menginstal versi terbaru, pertama, instal repositori Docker resmi.

$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

Instal Docker versi terbaru.

$ sudo dnf install docker-ce docker-ce-cli containerd.io

Aktifkan dan jalankan daemon Docker.

$ sudo systemctl aktifkan buruh pelabuhan --now

Verifikasi bahwa itu sedang berjalan.

$ Sudo systemctl status buruh pelabuhan? docker.service - Mesin Kontainer Aplikasi Docker Dimuat:dimuat (/usr/lib/systemd/system/docker.service; diaktifkan; preset vendor:dinonaktifkan) Aktif:aktif (berjalan) sejak Sun 2022-04-09 22:43:21 UTC; 30 detik yang lalu Dokumen:https://docs.docker.com PID Utama:43005 (dockerd) Tugas:7 Memori:90.5M CGroup:/system.slice/docker.service ??43005 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ....

Secara default, Docker membutuhkan hak akses root. Jika Anda ingin menghindari penggunaan sudo setiap kali Anda menjalankan docker perintah, tambahkan nama pengguna Anda ke docker grup.

$ sudo usermod -aG docker $(whoami)

Anda harus keluar dari server dan kembali sebagai pengguna yang sama untuk mengaktifkan perubahan ini.

Langkah 3 - Instal Docker-Compose

Unduh rilis stabil terbaru dari Docker Compose.

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o / usr/local/bin/docker-compose

Terapkan izin yang dapat dieksekusi ke file biner Docker Compose.

$ sudo chmod +x /usr/local/bin/docker-compose

Uji penginstalan.

$ docker-compose --versiondocker-compose versi 1.29.2, build 5becea4c

Instal skrip Penyelesaian Bash komposisi Docker.

$ sudo curl \ -L https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose \ -o /etc/bash_completion.d/docker-compose 

Muat ulang pengaturan profil Anda untuk membuat penyelesaian bash berfungsi.

$ source ~/.bashrc

Langkah 4 - Buat Direktori Data

Buat direktori untuk padloc.

$ mkdir ~/padloc

Beralih ke direktori padloc.

$ cd ~/padloc

Buat direktori untuk database pengguna, log aplikasi, lampiran, aplikasi PWA, dan konfigurasi SSL.

$ mkdir {attachments,db,logs,pwa,ssl}

Buat direktori untuk log Nginx.

$ mkdir logs/nginx

Langkah 5 - Buat File Tulis Docker

Buat dan buka ~/padloc/docker-compose.yml file untuk diedit.

$ nano docker-compose.yml

Tempelkan kode berikut di dalamnya.

versi:"3" layanan:server:image:padloc/server container_name:padloc_server restart:kecuali dihentikan #ports:# - ${PL_SERVER_PORT:-3000}:3000 eksposur:- 3000 volume:- ${PL_DB_DIR:-./db}:/data:Z - ${PL_ATTACHMENTS_DIR:-./attachments}:/docs:Z - ./logs:/logs:Z lingkungan:- PL_PWA_URL - PL_EMAIL_SERVER - PL_EMAIL_PORT - PL_EMAIL_USER - PL_EMAIL_PASSWORD - ROM pwa:gambar:padloc/pwa container_name:padloc_pwa restart:kecuali dihentikan #ports:# - ${PL_PWA_PORT:-8080}:8080 eksposur:- 8080 volume:- ${PL_PWA_DIR:-./pwa}:/pwa:Z environment:- PL_SERVER_URL nginx:image:nginx container_name:nginx restart:volume kecuali dihentikan:- ./nginx.conf:/etc/nginx/nginx.conf - ${PL_SSL_CERT:-./ssl/cert.pem}:/ssl/cert - ${PL_SSL_KEY:-./ssl/key.pem}:/ssl/key - ${PL_SSL_CONF:-./ssl/ssl. conf}:/ssl/ssl.conf - /etc/ssl/certs/dhparam.pem:/ssl/dhparam.pem - ./logs/nginx:/var/log/nginx:Z port:- 80:80 - 443 :443

Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Kami menggunakan tiga gambar Docker untuk Padloc.

  1. Gambar Server - berisi semua logika backend untuk aplikasi. Ini berjalan pada port 3000 secara default. Kami telah menghapus komentar pada variabel port dalam file penulisan kami untuk membuat port tidak terlihat oleh server. Sebagai gantinya, kami menggunakan variabel ekspos untuk mengekspos port di dalam mesin Docker ke wadah Nginx. Variabel lingkungan untuk gambar akan dikonfigurasi nanti. Kami juga telah memetakan direktori untuk database pengguna, lampiran, dan log aplikasi.

  2. Gambar PWA - berisi frontend aplikasi. Ini berjalan pada port 8080 secara default. Adapun gambar server, kami telah menyembunyikan bagian port untuk gambar ini dan mengekspos port di dalam mesin Docker. Kami telah memetakan direktori untuk aplikasi web.

  3. Gambar Nginx - berisi aplikasi server Nginx. Kami memiliki port untuk HTTP(80) dan HTTPS(443) ke server untuk membuatnya dapat diakses dari luar. Kami telah memetakan beberapa direktori dan file untuk membuatnya berfungsi.

    • File pertama adalah nginx.conf yang berisi semua konfigurasi utama Nginx untuk melayani aplikasi padloc.
    • Dua file berikutnya, cert.pem dan key.pem adalah sertifikat dan kunci SSL yang akan kami buat menggunakan Let's encrypt.
    • File ssl.conf berisi informasi tambahan mengenai penyajian SSL melalui Nginx.
    • File dhparam.pem adalah untuk melayani grup Diffie-Hellman sertifikat.
    • Entri terakhir adalah memetakan log Nginx kembali ke server sehingga Anda dapat mengaksesnya di luar Docker.
  4. :Z bendera di akhir pemetaan folder menunjukkan bahwa direktori tersebut hanya dapat diakses dari wadah masing-masing. Ini dilakukan karena SELINUX diaktifkan di server kami. Jika Anda tidak menggunakan SELinux, Anda dapat menghapus tanda tersebut.

Langkah 6 - Konfigurasi NGinx

Buat dan buka file ~/padloc/nginx.conf untuk diedit.

$ nano nginx.conf

Tempelkan kode berikut di dalamnya.

http { # Ini diperlukan jika Anda ingin mengunggah lampiran client_max_body_size 10m; # Arahkan ulang semua lalu lintas http ke server https { dengarkan 80 default_server; mendengarkan [::]:80 default_server; nama server _; kembalikan 301 https://$host$request_uri; } server { # Kami tidak memerlukan nama host di sini karena kami hanya # berurusan dengan satu domain, tetapi Anda dapat memasukkan domain Anda di sini. nama server _; # Server dan pwa dilayani melalui https mendengarkan 443 ssl http2; dengarkan [::]:443 ssl http2; # Ini akan menyelesaikan ke lokasi instance server /server/ { proxy_pass http://padloc_server:3000; tulis ulang ^/padloc_server(.*)$ $1 break; } # Ini akan menyelesaikan ke lokasi aplikasi web / { proxy_pass http://padloc_pwa:8080; tulis ulang ^/padloc_pwa(.*)$ $1 break; } # sertifikat SSL ssl_certificate /ssl/cert; # Kunci pribadi SSL ssl_certificate_key /ssl/key; # Tambahkan file ini untuk menambahkan konfigurasi ssl tingkat lanjut termasuk /ssl/ssl.conf; }}# Bagian ini diperlukan oleh nginxevents {}

Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Konfigurasi di atas meneruskan semua permintaan yang dibuat dari padloc_server wadah ke /server lokasi nama domain dan permintaan apa pun yang dibuat dari padlock_pwa wadah ke akar. Itu juga mengarahkan semua lalu lintas HTTP ke HTTPS. Kami juga telah mengatur ukuran unggahan file menjadi 10 MB untuk lampiran. Anda dapat mengubah ukuran sesuai kebutuhan Anda. Pengaturan SSL telah disertakan melalui file eksternal yang akan kami konfigurasikan nanti.

Langkah 7 - Buat File Lingkungan

Buat dan buka ~/padloc/.env file untuk diedit.

$ nano .env

Tempelkan kode berikut di dalamnya.

# PENGATURAN UMUM# ================# URL yang akan diselesaikan ke instance serverPL_PWA_URL=https://example.com/# URL yang akan diselesaikan ke aplikasi webPL_SERVER_URL =https://example.com/server/# PENGATURAN SERVER# ===============# Port instance server akan mendengarkan diPL_SERVER_PORT=3000# Direktori tempat file database akan disimpanPL_DB_DIR=. /db# Direktori tempat file lampiran akan disimpanPL_ATTACHMENTS_DIR=./attachments# PWA SETTINGS# ============# Port aplikasi web akan dilayani dariPL_PWA_PORT=8080# Direktori tempat kode statis untuk web aplikasi akan disimpanPL_PWA_DIR=./pwa# PENGATURAN EMAIL# =============# Host SMTPPL_EMAIL_SERVER=smtp.example.com# Nama pengguna SMTP[dilindungi email]# port SMTPPL_EMAIL_PORT=443# kata sandi SMTPPL_EMAIL_PASSWORD=your_smtp_password# Selalu gunakan TLS saat mengirim email# PL_EMAIL_SECURE=false# Email ID untuk mengirim email dari[email protected]# PENGATURAN SSL# ============# Jalur ke sertifikat ssl AndaPL_SSL_CERT=/etc/ letsencrypt/live/example.com/fullcha in.pem# Jalur ke kunci pribadi ssl AndaPL_SSL_KEY=/etc/letsencrypt/live/example.com/privkey.pem# File konfigurasi lanjutanPL_SSL_CONF=./ssl/ssl.conf

Simpan file dengan menekan Ctrl + X dan memasukkan Y ketika diminta. Sebagian besar pengaturan cukup jelas. Konfigurasi Nginx yang ada mengharapkan aplikasi dilayani melalui domain utama dan server melalui /server direktori. PL_PWA_DIR tidak wajib disetel di sini dan di file komposisi Docker tetapi membuatnya mempercepat startup kontainer, dan oleh karena itu, Anda harus selalu menyetelnya.

Padloc membutuhkan kemampuan untuk mengirim email untuk fungsionalitas seperti memverifikasi pengguna baru, otentikasi dua faktor, dan mengatur ulang kata sandi. Oleh karena itu, detail SMTP adalah wajib.

Untuk fitur SSL, kami menggunakan direktori default Let's Encrypt tempat sertifikat berada. Konfigurasi SSL tambahan akan diberikan melalui file /ssl/ssl.conf .

Langkah 8 - Instal SSL

Untuk menginstal sertifikat SSL menggunakan Let's Encrypt, kita perlu menginstal alat Certbot.

Pertama, Anda perlu mengunduh dan menginstal repositori EPEL.

$ sudo dnf install epel-release

Jalankan perintah berikut untuk menginstal Certbot.

$ sudo dnf install certbot

Buat sertifikat SSL.

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d example.com

Perintah di atas akan mengunduh sertifikat ke /etc/letsencrypt/live/example.com direktori di server Anda.

Buat grup Diffie-Hellman sertifikat.

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Buat Pekerjaan Cron untuk memperbarui SSL. Ini akan berjalan setiap minggu untuk memeriksa sertifikat dan memperbaruinya jika diperlukan. Untuk itu, buat dulu file /etc/cron.weekly/certbot-renew dan buka untuk diedit.

$ sudo nano /etc/cron.weekly/certbot-renew

Tempelkan kode berikut. Kami menggunakan perintah Docker untuk memulai, menghentikan, dan memulai ulang wadah Nginx tergantung pada status pembaruan.

#!/bin/shcertbot perbarui --cert-name example.com --pre-hook "docker stop nginx" --post-hook "docker start nginx" --renew-hook "docker restart nginx" 

Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Ubah izin pada file tugas agar dapat dieksekusi.

$ sudo chmod +x /etc/cron.weekly/certbot-renew

Langkah 9 - Konfigurasi SSL

Buat dan buka file ~/padloc/ssl/ssl.conf untuk diedit.

$ nano ssl/ssl.conf

Tempelkan kode berikut di dalamnya.

ssl_session_timeout 1d;ssl_session_cache dibagikan:MozSSL:10m;ssl_session_tickets off;ssl_prefer_server_ciphers nonaktif;ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers ECDHE-ECDSA-CMAES128-GECDHE-ECDSA-CMAES128- ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-RSA-AES256- GCM-SHA384;ssl_stapling on;ssl_stapling_verify on;ssl_dhparam /ssl/dhparam.pem;resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8. 4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60 detik;resolver_timeout 2s;

Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

File di atas memperkenalkan beberapa pengaturan SSL yang disarankan untuk membuat situs Anda lebih aman. Ini membatasi protokol TLS ke v1.2 dan v1.3 serta memungkinkan penstaplesan dan verifikasi Online Certificate Status Protocol (OCSP).

Langkah 10 - Jalankan Padloc

Sekarang Anda telah mengonfigurasi semuanya, jalankan Padloc menggunakan perintah berikut.

$ docker-compose up -d

Periksa status kontainer.

$ docker ps

Anda akan mendapatkan hasil yang serupa.

Langkah 11 - Akses dan Konfigurasi Padloc

Buka URL https://example.com di browser Anda, dan Anda akan mencapai halaman loginnya.

Klik tombol Daftar Sekarang link untuk memulai pendaftaran.

Masukkan nama dan alamat email Anda, lalu tekan tombol Lanjutkan untuk melanjutkan.

Padloc akan mengirimi Anda email dengan kode konfirmasi. Masukkan kode konfirmasi pada kotak di atas, dan tekan Lanjutkan untuk melanjutkan.

Padloc akan secara otomatis membuat kata sandi utama untuk Anda. Arahkan kursor ke kotak dan salin. Tempel lagi di kotak di bawah ini. Anda juga dapat memilih untuk menggunakan kata sandi Anda. Tekan Lanjutkan setelah selesai.

Anda akan dibawa ke Homepage Padloc. Anda dapat mulai menyimpan data login dan dokumen sensitif Anda.

Langkah 12 - Perbarui Padloc

Memperbarui Padloc adalah proses dua langkah. Pertama, pindah ke direktori Padloc.

$ cd ~/padloc

Matikan dan keluarkan wadah Padloc yang ada.

$ docker-compose down --remove-orphans

Tarik gambar terbaru.

$ tarikan komposisi buruh pelabuhan

Mulai container lagi.

$ docker-compose up -d

Kesimpulan

Ini mengakhiri tutorial kami tentang menginstal pengelola kata sandi yang di-host-sendiri Padloc di server Rocky Linux 8. Jika Anda memiliki pertanyaan, kirimkan di komentar di bawah.


Rocky Linux
  1. Cara Instal Docker dan Docker-Compose di Rocky Linux 8

  2. Cara Menginstal Docker di Rocky Linux 8

  3. Cara Menginstal Redis di Rocky Linux 8

  1. Cara Menginstal Python 3.9 di Rocky Linux 8

  2. Cara Memasang Pengelola Kata Sandi Passbolt di Rocky Linux

  3. Cara Instal Rocky Linux 8.4

  1. Cara menginstal Docker CE di Rocky Linux 8

  2. Cara menginstal Snap di Rocky Linux 8

  3. Cara menginstal Docker CE di Rocky Linux 8