Skip to content

Instalasi sertifikat intranet

Tujuan

Saat produk dideploy di LAN atau jaringan privat, server biasanya tidak dapat meminta sertifikat publik gratis seperti Let's Encrypt melalui Caddy. Jika saat instalasi memilih sertifikat internal Caddy, perangkat klien harus memasang sertifikat root lokal Caddy agar browser mempercayai sertifikat HTTPS yang diterbitkan sistem dan tidak menampilkan peringatan seperti "tidak aman", "sertifikat tidak valid", atau "koneksi Anda tidak privat".

Bagian ini berlaku untuk skenario berikut:

  • Akses menggunakan IP intranet, domain intranet, atau domain yang tidak dapat di-resolve publik.
  • Saat instalasi memilih "sertifikat self-signed Caddy" atau Caddy internal certificate.
  • Konsol admin, portal pengguna, atau tautan kolaborasi bisa dibuka, tetapi browser memperingatkan sertifikat tidak dipercaya.

Prasyarat

  • Produk sudah dideploy dan layanan sudah berjalan.
  • Alamat akses sudah dikonfirmasi, misalnya https://<APP_DOMAIN>/admin/login atau https://<APP_DOMAIN>/app/login.
  • Dapat login ke server instalasi dan membaca direktori instalasi.
  • Sudah jelas tipe terminal yang perlu memasang sertifikat, misalnya Windows, macOS, Linux, iOS, Android, atau Firefox.

Mendapatkan sertifikat root Caddy

Temukan sertifikat root lokal Caddy di server instalasi:

text
$INSTALL_PATH/data/caddy/pki/authorities/local/root.crt

$INSTALL_PATH adalah direktori instalasi produk, misalnya /opt/sa. Gunakan perintah berikut untuk memastikan file ada:

bash
ls -l $INSTALL_PATH/data/caddy/pki/authorities/local/root.crt
openssl x509 -in $INSTALL_PATH/data/caddy/pki/authorities/local/root.crt -noout -subject -issuer -fingerprint -sha256

Distribusikan hanya root.crt kepada pengguna yang perlu mengakses sistem. Jangan distribusikan file private key di direktori yang sama dan jangan unggah private key ke chat, drive, atau lampiran email.

Saran distribusi

Ubah nama root.crt menjadi nama yang mudah dikenali, misalnya:

text
Sa2web-internal-root-ca.crt

Saat mendistribusikan, berikan juga informasi berikut:

ItemKeterangan
Kegunaan sertifikatHanya untuk mempercayai akses HTTPS intranet Sa2web
Alamat yang berlakuhttps://<APP_DOMAIN>/
Fingerprint sertifikatFingerprint SHA256 dari output openssl ... -fingerprint -sha256
CakupanKomputer kantor, mesin uji, atau perangkat mobile yang perlu mengakses sistem

Jika perusahaan memiliki platform manajemen endpoint terpadu, disarankan mendistribusikan sertifikat root melalui domain control, MDM, platform manajemen perangkat, atau image sistem untuk menghindari kesalahan manual.

Instalasi Windows

  1. Simpan root.crt ke komputer.
  2. Double click file sertifikat, lalu klik "Install Certificate".
  3. Pilih "Local Machine". Jika tidak punya hak admin, pilih "Current User".
  4. Pilih "Place all certificates in the following store".
  5. Klik "Browse" dan pilih "Trusted Root Certification Authorities".
  6. Selesaikan impor, lalu tutup dan buka kembali browser.
  7. Akses ulang https://<APP_DOMAIN>/admin/login untuk memverifikasi status sertifikat.

Dapat juga mengimpor dengan PowerShell administrator:

powershell
Import-Certificate -FilePath .\Sa2web-internal-root-ca.crt -CertStoreLocation Cert:\LocalMachine\Root

Instalasi macOS

  1. Simpan root.crt ke komputer.
  2. Double click sertifikat, sistem membuka "Keychain Access".
  3. Impor sertifikat ke keychain "System".
  4. Temukan sertifikat tersebut, lalu buka detail.
  5. Buka "Trust" dan set "When using this certificate" menjadi "Always Trust".
  6. Masukkan kata sandi sistem untuk menyimpan.
  7. Tutup dan buka kembali browser, lalu akses alamat sistem.

Chrome, Safari, dan Edge biasanya membaca keychain sistem macOS. Firefox mungkin perlu impor tambahan, lihat "Instalasi Firefox".

Instalasi Linux

Debian dan Ubuntu:

bash
sudo cp Sa2web-internal-root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

RHEL, CentOS, Rocky Linux, AlmaLinux:

bash
sudo cp Sa2web-internal-root-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

Setelah instalasi, tutup dan buka kembali browser. Jika browser masih memperingatkan tidak dipercaya, periksa apakah browser memakai certificate store sendiri, terutama Firefox.

Instalasi Firefox

Pada sebagian lingkungan, Firefox tidak sepenuhnya bergantung pada certificate store sistem. Anda dapat mengimpor root certificate langsung:

  1. Buka pengaturan Firefox.
  2. Masuk ke "Privacy & Security".
  3. Pada "Certificates", klik "View Certificates".
  4. Di tab "Authorities", klik "Import".
  5. Pilih root.crt.
  6. Centang "Trust this CA to identify websites".
  7. Konfirmasi lalu restart Firefox.

Di lingkungan enterprise, Anda juga dapat mengaktifkan kebijakan enterprise root Firefox agar Firefox mempercayai certificate store OS.

Instalasi iOS dan iPadOS

  1. Kirim root.crt ke perangkat melalui kanal yang dikontrol perusahaan.
  2. Buka file sertifikat di perangkat dan pasang profile.
  3. Masuk ke "Settings" > "General" > "VPN & Device Management" untuk menyelesaikan instalasi profile.
  4. Masuk ke "Settings" > "General" > "About" > "Certificate Trust Settings".
  5. Aktifkan "Full Trust" untuk root certificate tersebut.
  6. Buka kembali Safari atau browser lain dan akses alamat sistem.

Instalasi Android

Nama menu berbeda antar vendor, biasanya:

  1. Simpan root.crt ke perangkat.
  2. Masuk ke "Settings" > "Security" > "Encryption & credentials".
  3. Pilih "Install certificate" atau "Install CA certificate".
  4. Pilih root.crt dan konfirmasi instalasi.
  5. Buka kembali browser dan akses alamat sistem.

Beberapa versi Android atau browser enterprise mungkin tidak mempercayai CA yang dipasang manual. Jika dibatasi, disarankan mendistribusikan sertifikat melalui MDM atau kebijakan manajemen perangkat.

Verifikasi hasil instalasi

Setelah instalasi selesai, akses:

text
https://<APP_DOMAIN>/
https://<APP_DOMAIN>/admin/login
https://<APP_DOMAIN>/app/login

Kriteria validasi:

  • Address bar browser tidak lagi menampilkan error sertifikat.
  • Certificate chain menampilkan root certificate lokal Caddy.
  • Konsol admin dan portal pengguna dapat login normal.
  • Tautan kolaborasi pada terminal target juga tidak lagi memperingatkan sertifikat tidak dipercaya.

Jika perlu verifikasi command line, jalankan di klien:

bash
curl -I https://<APP_DOMAIN>/

Jika sistem klien sudah mempercayai root certificate, perintah akan mengembalikan header HTTP secara normal.

Pembaruan dan instal ulang sertifikat

Kondisi berikut membutuhkan distribusi dan instalasi ulang root certificate:

  • Produk diinstal ulang dan $INSTALL_PATH/data/caddy/pki dikosongkan.
  • Direktori instalasi diganti atau migrasi ke server baru sehingga Caddy internal CA dibuat ulang.
  • Root certificate lokal Caddy dihapus atau dirotasi manual.
  • Terminal pengguna menginstal ulang OS atau membersihkan trust store root.

Saat upgrade produk, jika $INSTALL_PATH/data dipertahankan, biasanya tidak perlu memasang ulang root certificate.

Masalah umum

MasalahPenyebabPenanganan
Browser masih memperingatkan tidak amanSertifikat belum dipasang ke trust store rootImpor ulang sesuai OS dan restart browser
Hanya Firefox yang errorFirefox memakai certificate store independenImpor terpisah di pengaturan sertifikat Firefox
Browser mobile masih errorSistem mobile belum sepenuhnya mempercayai CAiOS perlu mengaktifkan Full Trust, Android disarankan lewat MDM
Domain dan sertifikat tidak cocokAlamat akses bukan domain atau IP yang dikonfigurasi saat instalasiGunakan domain akses sistem saat instalasi atau konfigurasi ulang sertifikat
root.crt tidak ditemukanCaddy belum membuat CA lokal atau path salahKonfirmasi $INSTALL_PATH, jalankan layanan, lalu cek kembali
Pengguna kolaborasi masih errorPerangkat aktual pengguna kolaborasi belum memasang root certificatePasang root certificate pada perangkat yang benar-benar digunakan mengakses

Catatan keamanan

  • Hanya pasang root certificate dari kanal yang dikonfirmasi admin.
  • Cocokkan fingerprint SHA256 sebelum instalasi untuk menghindari sertifikat salah.
  • Jangan mendistribusikan private key CA Caddy.
  • Saat karyawan keluar, perangkat dikembalikan, atau terminal dibuang, hapus root certificate yang tidak diperlukan sesuai kebijakan keamanan perusahaan.

Sa2web 1.0.0