Pada tutorial kali ini akan membahas cara konfigurasi bagaimana membangun self signed CA yang akan menjadi sumber sertifikat untuk keamanan layanan server seperti HTTPS, SMTPS, VPN, dll.
Contoh soal
Certificate Authority
● Access CA and Configure CA to issue required Certificates by Linux Services
○ Common Name : LKSN2021-CA
○ Do not join this server to any domain.
● Generate certificates required by other services with the following DNS name:
○ www.sabang.net
○ *.public.sabang.net
○ www.merauke.net
○ *.merauke.net
○ Save these certificates and their private keys as one pfx file in C:\cert\
○ Use Skills39 as export password
○ Use the DNS name as filename :
■ www.sabang.net.pfx
■ public.sabang.net.pfx
■ www.merauke.net.pfx
■ wildcard.merauke.net.pfx
Opsi 1 pakai Linux dengan OpenSSL
Untuk mengkonfigurasi Authority Sertifikat (CA) untuk mengeluarkan sertifikat untuk layanan Linux, Anda dapat menggunakan alat seperti OpenSSL, yang merupakan perpustakaan sumber terbuka yang banyak digunakan untuk komunikasi SSL/TLS. Berikut adalah gambaran singkat tentang langkah-langkah yang perlu Anda lakukan untuk mengkonfigurasi CA Anda dan menghasilkan sertifikat yang dibutuhkan:
- Buat kunci private CA baru dan sertifikat root yang digandakan sendiri:
openssl req -new -x509 -days 3650 -keyout private/ca.key -out ca.crt -subj "/CN=LKSN2021-CA"
- Buat direktori untuk menyimpan sertifikat server dan kunci
mkdir -p private
- Buat sertifikat server dan kunci private dan tanda tangani dengan CA Anda:
openssl req -new -keyout private/www.sabang.net.key -out www.sabang.net.csr -subj "/CN=www.sabang.net"
openssl x509 -req -days 365 -in www.sabang.net.csr -CA ca.crt -CAkey private/ca.key -set_serial 01 -out www.sabang.net.crt
- Ulangi langkah 3 untuk nama DNS lainnya:
openssl req -new -keyout private/*.public.sabang.net.key -out *.public.sabang.net.csr -subj "/CN=*.public.sabang.net"
- Buat file pfx dan sertakan kunci private
openssl pkcs12 -export -out www.sabang.net.pfx -inkey private/www.sabang.net.key -in www.sabang.net.crt -password pass:Skills39
- Ulangi langkah 5 untuk nama DNS lainnya dan simpan file pfx ke C:\cert\
Catatan: Ini adalah langkah yang diperpendek dan skenario dunia nyata akan lebih kompleks dengan langkah validasi dan keamanan tambahan yang harus dilakukan.
Opsi 2 Pakai windows server CA
Berikut adalah jika mengunakan CA dari Windows Server menggunakan powershell
You can use PowerShell to configure a Windows Server as a CA (Certificate Authority) and issue certificates for your Linux services. Here's an overview of the steps you would need to take to set up your Windows Server CA and generate the required certificates:
- Install the Active Directory Certificate Services (AD CS) role on your Windows Server. You can use the Add Roles and Features wizard in the Server Manager, or you can use PowerShell with the following command:
Add-WindowsFeature AD-Certificate
- Use the Certutil command-line tool to configure your CA by following the prompt to complete the installation process:
certutil -setreg ca\csp\CNGHashAlgorithm SHA256
- Configure the CA to issue the certificate templates that you need by using the Certutil command-line tool
certutil -setreg ca\TemplateCertStoreName "CertificateAuthority\Certificate Templates"
- Use the Certreq command-line tool to request a new certificate
certreq -new c:\certs\www.sabang.net.inf c:\certs\www.sabang.net.req
This will create a file named www.sabang.net.req
- Use the Certreq command-line tool to submit the request to the CA, and retrieve the issued certificate:
certreq -submit -attrib "CertificateTemplate:WebServer" c:\certs\www.sabang.net.req c:\certs\www.sabang.net.crt
- Use the Certreq command-line tool to install the issued certificate to the LocalMachine\My certificate store
certreq -accept c:\certs\www.sabang.net.crt
Repeat steps 4 to 6 for the other DNS names
export the crt files in pfx format with a passwod
$pwd = ConvertTo-SecureString -String "Skills39" -Force -AsPlainText
Export-PfxCertificate -Cert "Cert:\LocalMachine\My\$($thumbprint)" -FilePath "C:\certs\www.sabang.net.pfx" -Password $pwd
- Repeat step 8 for the other DNS names
*Good Luck*
Comments
Post a Comment