(5 intermediate revisions by the same user not shown)
Line 47: Line 47:
</syntaxhighlight>Ketika ada pertanyaan-pertanya jawab saja seperti beiktu ini<syntaxhighlight lang="linuxconfig">
</syntaxhighlight>Ketika ada pertanyaan-pertanya jawab saja seperti beiktu ini<syntaxhighlight lang="linuxconfig">
Country Name (2 letter code) [AU]:ID
Country Name (2 letter code) [AU]:ID
State or Province Name (full name):Jawa Timur
State or Province Name (full name) [Some-State]:JawaTimur
Locality Name:Wonorejo
Locality Name (eg, city) []:Wonorejo
Organization Name:SMKTKJNET
Organization Name (eg, company) [Internet Widgits Pty Ltd]:SMKTKJ
Common Name:smktkjCA
Organizational Unit Name (eg, section) []:TKJ
 
Common Name (e.g. server FQDN or YOUR name) []:smktkjCA
Email Address []:admin@mail.smktkj.net
</syntaxhighlight>Langkah berikutnya adalah membuat sertifikat untuk domain sebagai contoh disini yang dipakai adalah domain'''<code>smktkj.net</code>'''  dengan cara sebagai berikut<syntaxhighlight lang="linuxconfig">
</syntaxhighlight>Langkah berikutnya adalah membuat sertifikat untuk domain sebagai contoh disini yang dipakai adalah domain'''<code>smktkj.net</code>'''  dengan cara sebagai berikut<syntaxhighlight lang="linuxconfig">
openssl genrsa -out smktkj.net.key 2048
openssl genrsa -out smktkj.net.key 2048
openssl req -new -key smktkj.net.key -out smktkj.net.csr
openssl req -new -key smktkj.net.key -out smktkj.net.csr
</syntaxhighlight>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.  
</syntaxhighlight>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. seperti berikut ini <syntaxhighlight lang="linuxconfig" line="1">
 
Country Name (2 letter code) [AU]:ID
State or Province Name (full name) [Some-State]:JawaTimur
Locality Name (eg, city) []:Wonorejo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:SMKTKJ
Organizational Unit Name (eg, section) []:TKJ
Common Name (e.g. server FQDN or YOUR name) []:smktkj.net
Email Address []:admin@mail.smktkj.net


Langkah berikutnya kita membuat file konfigurasi '''SAN (Subject Alternative Name)''', dengan langkah sebagai berikut<syntaxhighlight lang="linuxconfig">
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
</syntaxhighlight>Langkah berikutnya kita membuat file konfigurasi '''SAN (Subject Alternative Name)''', dengan langkah sebagai berikut<syntaxhighlight lang="linuxconfig">
nano /etc/ssl/smktkj.net/smktkj.net.ext
nano /etc/ssl/smktkj.net/smktkj.net.ext
</syntaxhighlight>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.<syntaxhighlight lang="linuxconfig" line="1">
</syntaxhighlight>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.<syntaxhighlight lang="linuxconfig" line="1">
Line 147: Line 158:
[[File:Ssl ok.jpg|630x630px]]
[[File:Ssl ok.jpg|630x630px]]


== Tambahan ==
== Tambahan (Lakukan jika diperlukan saja) ==
Jika ingin domain langsung di redirect otomatis ke https edit di file virtualhost yang tanpa ssl dan tambahkan baris berikut di bawah baris  DocumentRoot /var/www/<syntaxhighlight lang="linuxconfig">
Jika ingin domain langsung di redirect otomatis ke https edit di file virtualhost yang tanpa ssl dan tambahkan baris berikut di bawah baris  DocumentRoot /var/www/<syntaxhighlight lang="linuxconfig">
Redirect permanent / https://smktkj.net/
Redirect permanent / https://smktkj.net/


untuk nama domain silahjkan di sesuaikan
untuk nama domain silahkan di sesuaikan
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 08:47, 24 November 2025

SSL

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):

  1. Client (browser) menghubungi server via HTTPS.
  2. Server mengirim sertifikat SSL (berisi public key dan identitas server).
  3. Client memverifikasi** sertifikat itu — apakah valid dan dikeluarkan oleh CA (Certificate Authority) tepercaya seperti Let's Encrypt, DigiCert, dll.
  4. Jika valid, client membuat kunci sesi (session key), lalu mengenkripsinya dengan public key dari server.
  5. Server mendekripsi dengan private key miliknya → keduanya sekarang punya kunci rahasia bersama untuk komunikasi aman.
  6. 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) [Some-State]:JawaTimur
Locality Name (eg, city) []:Wonorejo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:SMKTKJ
Organizational Unit Name (eg, section) []:TKJ
Common Name (e.g. server FQDN or YOUR name) []:smktkjCA
Email Address []:admin@mail.smktkj.net

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. seperti berikut ini

Country Name (2 letter code) [AU]:ID
State or Province Name (full name) [Some-State]:JawaTimur
Locality Name (eg, city) []:Wonorejo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:SMKTKJ
Organizational Unit Name (eg, section) []:TKJ
Common Name (e.g. server FQDN or YOUR name) []:smktkj.net
Email Address []:admin@mail.smktkj.net

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

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.

Tambahan (Lakukan jika diperlukan saja)

Jika ingin domain langsung di redirect otomatis ke https edit di file virtualhost yang tanpa ssl dan tambahkan baris berikut di bawah baris DocumentRoot /var/www/

Redirect permanent / https://smktkj.net/

untuk nama domain silahkan di sesuaikan