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/loginatauhttps://<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:
$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:
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 -sha256Distribusikan 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:
Sa2web-internal-root-ca.crtSaat mendistribusikan, berikan juga informasi berikut:
| Item | Keterangan |
|---|---|
| Kegunaan sertifikat | Hanya untuk mempercayai akses HTTPS intranet Sa2web |
| Alamat yang berlaku | https://<APP_DOMAIN>/ |
| Fingerprint sertifikat | Fingerprint SHA256 dari output openssl ... -fingerprint -sha256 |
| Cakupan | Komputer 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
- Simpan
root.crtke komputer. - Double click file sertifikat, lalu klik "Install Certificate".
- Pilih "Local Machine". Jika tidak punya hak admin, pilih "Current User".
- Pilih "Place all certificates in the following store".
- Klik "Browse" dan pilih "Trusted Root Certification Authorities".
- Selesaikan impor, lalu tutup dan buka kembali browser.
- Akses ulang
https://<APP_DOMAIN>/admin/loginuntuk memverifikasi status sertifikat.
Dapat juga mengimpor dengan PowerShell administrator:
Import-Certificate -FilePath .\Sa2web-internal-root-ca.crt -CertStoreLocation Cert:\LocalMachine\RootInstalasi macOS
- Simpan
root.crtke komputer. - Double click sertifikat, sistem membuka "Keychain Access".
- Impor sertifikat ke keychain "System".
- Temukan sertifikat tersebut, lalu buka detail.
- Buka "Trust" dan set "When using this certificate" menjadi "Always Trust".
- Masukkan kata sandi sistem untuk menyimpan.
- 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:
sudo cp Sa2web-internal-root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificatesRHEL, CentOS, Rocky Linux, AlmaLinux:
sudo cp Sa2web-internal-root-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trustSetelah 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:
- Buka pengaturan Firefox.
- Masuk ke "Privacy & Security".
- Pada "Certificates", klik "View Certificates".
- Di tab "Authorities", klik "Import".
- Pilih
root.crt. - Centang "Trust this CA to identify websites".
- 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
- Kirim
root.crtke perangkat melalui kanal yang dikontrol perusahaan. - Buka file sertifikat di perangkat dan pasang profile.
- Masuk ke "Settings" > "General" > "VPN & Device Management" untuk menyelesaikan instalasi profile.
- Masuk ke "Settings" > "General" > "About" > "Certificate Trust Settings".
- Aktifkan "Full Trust" untuk root certificate tersebut.
- Buka kembali Safari atau browser lain dan akses alamat sistem.
Instalasi Android
Nama menu berbeda antar vendor, biasanya:
- Simpan
root.crtke perangkat. - Masuk ke "Settings" > "Security" > "Encryption & credentials".
- Pilih "Install certificate" atau "Install CA certificate".
- Pilih
root.crtdan konfirmasi instalasi. - 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:
https://<APP_DOMAIN>/
https://<APP_DOMAIN>/admin/login
https://<APP_DOMAIN>/app/loginKriteria 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:
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/pkidikosongkan. - 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
| Masalah | Penyebab | Penanganan |
|---|---|---|
| Browser masih memperingatkan tidak aman | Sertifikat belum dipasang ke trust store root | Impor ulang sesuai OS dan restart browser |
| Hanya Firefox yang error | Firefox memakai certificate store independen | Impor terpisah di pengaturan sertifikat Firefox |
| Browser mobile masih error | Sistem mobile belum sepenuhnya mempercayai CA | iOS perlu mengaktifkan Full Trust, Android disarankan lewat MDM |
| Domain dan sertifikat tidak cocok | Alamat akses bukan domain atau IP yang dikonfigurasi saat instalasi | Gunakan domain akses sistem saat instalasi atau konfigurasi ulang sertifikat |
root.crt tidak ditemukan | Caddy belum membuat CA lokal atau path salah | Konfirmasi $INSTALL_PATH, jalankan layanan, lalu cek kembali |
| Pengguna kolaborasi masih error | Perangkat aktual pengguna kolaborasi belum memasang root certificate | Pasang 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.