Debian : Memasang SSL (OpenSSL): Difference between revisions
No edit summary |
No edit summary |
||
| Line 143: | Line 143: | ||
[[File:Windows certificate manager4.jpg|870x870px]] | [[File:Windows certificate manager4.jpg|870x870px]] | ||
Setelah di pastikan sudah berada di dalam list, tahap selanjutnya kita ujicoba memanggil domain kita di aplikasi browser dengan menggunakan https. jika bisa terbuka dan tidak ada error maka SSL sudah berhasil terpasang. | Setelah di pastikan sudah berada di dalam list, tahap selanjutnya kita ujicoba memanggil domain kita di aplikasi browser dengan menggunakan https. jika bisa terbuka dan tidak ada error maka SSL sudah berhasil terpasang. Sampai disini pekerjaan kita telah selesai. | ||
[[File:Ssl ok.jpg]] | [[File:Ssl ok.jpg]] | ||
Revision as of 11:59, 29 October 2025

Apa itu SSL ?
SSL (Secure Sockets Layer) adalah protokol keamanan yang digunakan untuk mengenkripsi komunikasi antara client (misalnya browser) dan server (misalnya web server). Tujuannya: supaya data yang dikirim (seperti username, password, atau informasi kartu kredit) tidak bisa disadap atau dimanipulasi oleh pihak ketiga.
Analogi sederhana SSL
Bayangkan kamu mengirim surat rahasia ke temanmu:
- Tanpa SSL → kamu kirim surat biasa. Siapa pun di jalan (misalnya hacker di jaringan Wi-Fi publik) bisa membaca isinya.
- Dengan SSL → kamu masukkan surat ke amplop terenkripsi yang hanya bisa dibuka oleh penerima yang punya kunci yang cocok.
Cara kerja SSL
SSL menggunakan konsep enkripsi asimetris dan sertifikat digital.
Berikut alur sederhananya (dikenal sebagai SSL Handshake):
- Client (browser) menghubungi server via HTTPS.
- Server mengirim sertifikat SSL (berisi public key dan identitas server).
- Client memverifikasi** sertifikat itu — apakah valid dan dikeluarkan oleh CA (Certificate Authority) tepercaya seperti Let's Encrypt, DigiCert, dll.
- Jika valid, client membuat kunci sesi (session key), lalu mengenkripsinya dengan public key dari server.
- Server mendekripsi dengan private key miliknya → keduanya sekarang punya kunci rahasia bersama untuk komunikasi aman.
- Semua data setelah itu dikirim dalam bentuk terenkripsi (HTTPS).
Apa hubungan SSL dengan HTTPS ?
- HTTP = komunikasi biasa tanpa enkripsi.
- HTTPS = HTTP + SSL/TLS (jadi data dienkripsi). Sekarang sebenarnya SSL sudah digantikan oleh TLS (Transport Layer Security) — versi modern yang lebih aman. Namun istilah “SSL” masih sering digunakan secara umum untuk menyebut SSL/TLS.
Apa pentingnya bagi Admin Server
Sebagai calon admin server, kamu perlu paham SSL di level konfigurasi:
- Menginstal sertifikat SSL di web server (misalnya Apache, Nginx, atau Lighttpd).
- Menggunakan Let's Encrypt untuk sertifikat gratis dan otomatis diperbarui.
- Mengonfigurasi redirect HTTPS dan keamanan tambahan seperti HSTS, OCSP Stapling, dan cipher suite yang kuat.
Langkah - langkah memasang SSL di Server Debian 12
Tahap pertama yang perlu dilakukan adalah memasang openssh, ketikkan perintah berikut ini :
apt install openssl ssl-cert -y
Tunggu proses instalasi selesai, setelah selesai tahap berikutnya kita harus membuat folder khusus untuk menampung file-file sertifikat yang sudah dibuat.
mkdir -p /etc/ssl/smktkj.net
Setelah itu buka folder smktkj.net dengan perintah berikut ini
cd /etc/ssl/smktkj.net
Langkah berikutnya adalah membuat CA Lokal (Certificate Authority) dengan mengetikkan perintah berikut ini
openssl genrsa -out smktkjCA.key 2048
openssl req -x509 -new -nodes -key smktkjCA.key -sha256 -days 3650 -out smktkjCA.crt
Ketika ada pertanyaan-pertanya jawab saja seperti beiktu ini
Country Name (2 letter code) [AU]:ID
State or Province Name (full name):Jawa Timur
Locality Name:Wonorejo
Organization Name:SMKTKJNET
Common Name:smktkjCA
Langkah berikutnya adalah membuat sertifikat untuk domain sebagai contoh disini yang dipakai adalah domainsmktkj.net dengan cara sebagai berikut
openssl genrsa -out smktkj.net.key 2048
openssl req -new -key smktkj.net.key -out smktkj.net.csr
akan ada pertanyaan-pertanyaan seperti pada tahap sebelumnya, jawab saja sama persis dengan proses sebelumnya. namun pada pertanyaan Commoin Name isi dengan nama domain masing-masing sebagai contoh smktkj.net sisanya abaikan saja.
Langkah berikutnya kita membuat file konfigurasi SAN (Subject Alternative Name), dengan langkah sebagai berikut
nano /etc/ssl/smktkj.net/smktkj.net.ext
kemudian isikan baris berikut ini, sekali lagi untuk nama-nama domain yang dipakai pada baris di bawah hanyalah contoh, silahkan di sesuaikan dengan server masing-masing.
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
subjectAltName = @alt_names
[alt_names]
DNS.1 = smktkj.net
DNS.2 = www.smktkj.net
DNS.3 = db.smktkj.net
DNS.4 = mail.smktkj.net
DNS.5 = ftp.smktkj.net
setelah itu simpan file tersebut. Langkah berikutnya adalah proses menandatangani sertifikat domain dengan CA lokal, dengan cara mengetikkan perintah di bawah ini
openssl x509 -req -in smktkj.net.csr -CA smktkjCA.crt -CAkey smktkjCA.key -CAcreateserial -out smktkj.net.crt -days 825 -sha256 -extfile smktkj.net.ext
semua kata-kata smktkj.net disesuaikan dengan nama domain masing-masing.
setelah semua langkah-langkah di atas di lakukan periksalah di dalam folder /etc/ssl/smktkj.net/ , dengan perintah
ls /etc/ssl/smktkj.net/
pastikan ada file-file berikut ini :
smktkjCA.crt → root CA kamu
smktkj.net.crt → sertifikat domain
smktkj.net.key → private key domain
sekali lagi nama file bisa berbeda, yang penting ada file dengan ekstensi *.crt, *.key Langkah selanjutnya adalah mengaktifkan modul SSL di Apache2 dengan mengetikkan perintah berikut ini
a2enmod ssl
systemctl restart apache2
Langkah selanjutnya adalah tahap membuat VirtualHost untuk HTTPS, ketikkan perintah berikut ini
nano /etc/apache2/sites-available/smktkj.net-ssl.conf
untuk nama smktkj.net bisa diganti dengan nama domain masing-masing
setelah itu isi file tersebut dengan baris berikut ini
<VirtualHost *:443>
ServerName smktkj.net
ServerAlias www.smktkj.net db.smktkj.net mail.smktkj.net ftp.smktkj.net
DocumentRoot /var/www/smktkj.net
SSLEngine on
SSLCertificateFile /etc/ssl/smktkj.net/smktkj.net.crt
SSLCertificateKeyFile /etc/ssl/smktkj.net/smktkj.net.key
SSLCertificateChainFile /etc/ssl/smktkj.net/smktkjCA.crt
<Directory /var/www/smktkj.net>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/smktkj_ssl_error.log
CustomLog ${APACHE_LOG_DIR}/smktkj_ssl_access.log combined
</VirtualHost>
Jangan lupa di sesuaikan untuk server name dan document root /var/www, setelah semua beres jangan lupa di simpan. Tahap selanjutnya kita aktifkan file virtualhost yang baru saja kita buat dengan perintah berikut ini
a2ensite smktkj.net-ssl.conf
systemctl reload apache2
untuk nama file smktkj.net-ssl.conf silahkan di sesuaikan dengan nama file masing-masing.
Langkah - langkah memasang file SSL di PC Client Windows 10/11
Untuk memasang SSL di komputer klien yang menggunakan sistem operasi Windows 10 / 11 caranya adalah sebagai berikut
Tekan tombol Windows + R
maka akan terbuka Windows Run, di dalam windows run ketikkan perintah certmgr.msc seperti pada ganbar berikut ini. Kemudian klik OK
kemudian akan terbuka windows certificate manager seperti pada gambar berikut ini, cari folder Trusted Root Certification Authorities -> klik folder Certificates
Setelah itu klik kanan klik tombol Action --> All Tasks --> Import
Pada tampilan pertama langsung klik Next, kemduain pada tampilan berikutnya klik tombol Browser dan carila file sertifikat yang sudah di Download dari server, kemudian klik Next
Kemudian pada tahap berikutnya langsung klik Next saja. kemudian klik Finish. Pastika file sertifikat domain kita sudah ada di dalam list.
Setelah di pastikan sudah berada di dalam list, tahap selanjutnya kita ujicoba memanggil domain kita di aplikasi browser dengan menggunakan https. jika bisa terbuka dan tidak ada error maka SSL sudah berhasil terpasang. Sampai disini pekerjaan kita telah selesai.




