Tiadakan dirimu, maka Jatidirimu akan terungkap tanpa kata-kata.

Archive for the ‘SSL’ Category

Cara Mengamankan Apache Web Server dengan Let’s Encrypt di Ubuntu 16.04

Pendahuluan

Tutorial ini akan mengajak pembaca untuk mengatur sertifikat TLS/SSL dari Let’s Encrypt di server Ubuntu 16.04 yang menjalankan Apache sebagai server webnya. Kita juga akan membahas bagaimana mengotomasi proses perbaruan sertifikat.

Sertifikat SSL dipakai di dalam server web untuk mengenkripsi traffic antara server dan klien dengan memberikan tambahan lapisan keamanan bagi user yang mengakses aplikasi web kita. Let’s Encrypt memberikan cara mudah untuk mengambil dan memasang sertifikat terpercaya tanpa biaya.

Prasyarat

Untuk menyelesaikan tutorial ini kita akan membutuhkan:

Jika sudah siap untuk move on, login ke server dengan akun user biasa.

Langkah 1 — Pasang Klien Let’s Encrypt

Sertifikat Let’s Encrypt dapat diunduh lewat software klien yang berjalan di server kita. Klien resmi untuk Let’s Encrypt bernama Certbot dan sudah memiliki repositori Ubuntu sendiri dengan versi terbaru. Karena pengembangannya yang sangat aktif, maka kita dapat langsung memasang Certbot terbaru dari repositorinya sendiri daripada menggunakan repositori Ubuntu.

Pertama, tambahkan dulu repositorinya:

sudo add-apt-repository ppa:certbot/certbot

Tekan ENTER untuk menerima. Lalu, jalankan perintah di bawah:

sudo apt-get update

Terakhir, pasang Certbot dengan perintah:

sudo apt-get install python-certbot-apache

Software klien certbot Let’s Encrypt sekarang sudah siap dipakai.

Langkah 2 — Mempersiapkan Sertifikat SSL

Membuat sertifikat SSL untuk Apache menggunakan Certbot cukup mudah. Klien secara otomatis akan mengambil dan memasang sertifikal SSL baru yang valid untuk domain yang diberikan sebagai parameter saat menjalankannya.

Untuk menjalankan pemasangan interaktif dan mengambil sertifikat untuk satu domain, jalankan perintah certbot sebagai berikut, alamat example.com dapat diganti dengan domain sendiri:

sudo certbot --apache -d example.com

Jika ingin menggunakan satu sertifikat valid untuk beberapa domain atau subdomain, kita bisa menambahkannya setelah domain utama. Domain yang pertama yang diberikan akan menjadi base domain untuk membuat sertifikatnya. Oleh karena itu sangat direkomendasikan untuk menggunakan top-level domain sebagai parameter pertama baru diikuti oleh subdomain atau alias yang lain:

sudo certbot --apache -d example.com -d www.example.com

Di contoh ini, base domainnya adalah example.com.

Setelah dependensi terpasang, kita akan dimintai beberapa data yang diperlukan untuk pembuatan sertifikat. Kita akan dimintai alamat email untuk melakukan recovery key serta pemberitahuan dan kita juga dapat mengatur untuk mengaktifkan http dan https sekaligus atau memaksa semua request ke https. Cara paling aman ialah dengan menggunakan https saja, kecuali jika memang membutuhkan ada traffic yang hanya dilakukan dengan http.

dan jika anda ingin mengaktifkan SSL pada subdomain anda , anda bisa menjalankan script berikut ini :

Selanjutnya anda akan diminta memasukkan alamat email anda , seperti gambar dibawah ini :

Cara Install Let's Encrypt

Jika sudah selanjutnya anda diminta untuk Agree Term Of Service mereka , ketik A untuk melanjutkan , seperti gambar dibawah ini :

Let's Encrypt

Selanjutnya anda ditanyakan apakah anda ingin share alamat email anda ke Electronic Frontier Foundation , ketik N untuk menolak , ketik Y untuk melanjutka , seperti gambar dibawah ini :

Cara Install Let's Encrypt

Selanjutnya anda akan diminta pengaturan install SSL untuk virtual host anda , ketik No 1 Mengizinkan HTTP dan HTTPS mengakses Website , ketik No 2 untuk mengatur keseluruhan ke Secure (HTTPS), jika sudah maka SSL let’s Encrypt sudah selesai di setup ke Virtual Host anda , seperti gambar dibawah ini :

Cara Install Let's Encrypt

Untuk Virtual host yang lain anda bisa memasang dengan cara diatas , tetapi anda hanya diminta memasukkan pengaturan install SSL saja , karena informasi seperti memasukan email dan accept term of service sudah di awal dilakukan.

 

Setelah pemasangan selesai, kita dapat melihat sertifikat yang dibuat di etc/letsencrypt/live. Kita juga dapat melakukan verifikasi status sertifikat SSL melalui tautan berikut: (jangan lupa untuk mengganti example.com dengan basedomain):

https://www.ssllabs.com/ssltest/analyze.html?d=dicloud-vm.tk&latest

Seharusnya sekarang kita sudah bisa mengakses website dengan https.

Langkah 3 — Mengatur Perbaruan Otomatis

Sertifikat Let’s Encrypt hanya valid selama 90 hari. Pengguna disarankan untuk mengotomatiskan proses perbaruan sertifikatnya. Kita perlu menyiapkan perintah yang akan berjalan secara otomatis untuk memeriksa tanggal kadaluarsa sebuah sertifikat dan memperbaruinya.

Untuk menjalankan proses di atas kita akan menggunakan cron, service sistem standar untuk melakukan pekerjaan yang berulang. Kita akan memberitahu cron apa yang harus dilakukan dengan membuka dan mengubah isi file bernama crontab.

sudo crontab -e

Tambahkan baris berikut ke dalam crontab:

crontab

. . .
15 3 * * * /usr/bin/certbot renew --quiet

Bagian 15 3 * * * dari perintah di atas artinya “jalankan perintah ini setiap hari jam 3:15 pagi.

Perinath renew akan memberitahu Certbot untuk memeriksa semua sertifikat yang terpasang di sistem dan memperbarui setiap sertifikat yang akan kadaluarsa dalam 30 hari. Opsi quiet memberitahu Certbot untuk tidak menampilkan informasi apapun atau menunggu masukan pengguna.

Sistem cron akan menjalankan perintah ini setiap hari. Karena kita memasang sertifikat dengan menggunakan --apache, maka Apache juga akan direstart untuk menggunakan sertifkat yang baru.

=============

15 3 * * * /usr/bin/certbot renew –quiet
17 3 * * * /etc/init.d/apache2 restart

============================

Penutup

Di tutorial ini, kita telah belajar bagaimana memasang sertifikat SSL gratis dari Let’s Encrypt untuk mengamankan website yang menggunakan Apache. Kami sarankan pembaca untuk memeriksan blog resmi Let’s Encrypt untuk info terbaru serta membaca dokumentasi Certbot untuk detail lebih lengkap mengenai klien yang tadi kita gunakan.

 

Sumber = https://www.codepolitan.com/cara-mengamankan-apache-web-server-dengan-lets-encrypt-di-ubuntu-1604-59e6ec9237efe

Sumber = https://www.dicloud.id/tutorial/articles/panduan-cara-install-lets-encrypt-pada-virtual-host-di-ubuntu-16-04

Sumber = https://stackoverflow.com/questions/28498400/restart-apache-service-automatically-using-cron-12am-daily

Refrensi Lagi Untuk membuat SSL Mode ( HTTPS )

HTTPS singkatan dari HyperText Transport Protocol Secure, memiliki pengertian sama dengan HTTP tetapi dengan alasan keamanan (security), HTTPS memberi tambahan Secure Socket Layer (SSL). Umumnya website yang menggunakan HTTPS ini adalah website yang memiliki tingkat kerawanan tinggi yang berhubungan dengan masalah keuangan dan privacy dari pelanggannya seperti website perbankan dan investasi.

Teknologi HTTPS protocol mencegah kemungkinan “dicurinya” informasi penting (credit card adalah contoh yang paling sering disebut-sebut) yang dikirimkan selama proses komunikasi berlangsung antara user dengan web server (atau sebaliknya). Secara teknis, website yang menggunakan HTTPS akan melakukan enkripsi terhadap informasi (data) menggunakan teknik enkripsi SSL. Dengan cara ini meskipun seseorang berhasil “mencuri” data tersebut selama dalam perjalanan user web server, orang tersebut tidak akan bisa membacanya karena sudah diubah oleh teknik enkripsi SSL.

Untuk mengenali suatu website menggunakan SSL atau tidak, cukup dengan memperhatikan informasi di depan alamat website pada browser. Apabila alamat website diawali dengan https:// maka bisa dipatikan website tersebut sudah menggunakan teknologi SSL. Cara lain yaitu dengan melihat “icon kunci” di pojok kanan bawah browser, apabila “icon” tersebut terlihat dalam posisi terkunci maka website tersebut aman.

Berikut langkah-langkah konfigurasi dari https:

 

1. Mengaktifkan modul apache ssl, dengan perintah sebagai berikut:

a2enmod ssl

Kalau mau mematikan apache SSL silahkan ketikan perintah

sudo a2dismod ssl

2. Restart apache dengan perintah

/etc/init.d/apache2 restart

 

3. Setelah perintah restart dijalankan, kin Apache harus mengetahui dimana port 443 yang biasa digunakan untuk https, dengan cara sebagai berikut:

netstat -tap | grep https

root@server1:~# netstat -tap | grep https
tcp6 0 0 [::]:https [::]:* LISTEN 1238/apache2
root@server1:~#

Sebelumnya, kita pastikan terlebih dahulu bahwa virtual hosting yang telah kita konfigurasu berhasil dijalankan. Pada saat ini virtual hosting yang saya gunakan adalah dengan alamat http://www.okisaputra.net, dimana dokumentnya terletak pada root/var /www/www.okisaputra.net.

4. Selanjutnya membuat direktori dari virtual host dengan cara sebagai berikut:

cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/www.okisaputra.net-ssl

5. Setelah itu buka template dari /etc/apache2/sites-available/www.okisaputra.-ssl seperti langkah dibawah ini:

nano /etc/apache2/sites-available/www.okisaputra.net-ssl

Pastikan menggunakan alamat IP yang benar pada baris xxx.xxx.xxx.xxx:443>

ServerAdmin webmaster@okisaputra.net
ServerName http://www.okisaputra.net:443
DocumentRoot /var/www/www.okisaputra.net

Options FollowSymLinks
AllowOverride None

Vhost default ini menggunakan sertifikat snakeoil yang ditandatangani dengan Ubuntu:

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

6. Sekarang non-aktifkan vhost default SSL (jika sebelumnya aktif),setelah itu mengaktifkan vhost http://www.okisaputra.net dan reload apache seperti langkah dibawah:

a2dissite default-ssl
a2ensite http://www.hostmauritius.com-ssl
/etc/init.d/apache2 reload

Sekarang buka browser dan browsing ke vhost baru Anda SSL (https://www.okisaputra.net). Karena kita menggunakan sertifikat default Ubuntu yang ditandatangani, maka kita harus mendapatkan peringatan bahwa sambungan untrusted (untuk menggunakan situs web saja, klik pada Saya Memahami Risiko dan ikuti petunjuk pada browser Anda) maka akan tampil halaman HTTPS seperti yang dibawah ini:

https

REFERENSI = http://shelvieka.blogspot.co.id/2010/07/membuat-web-server-dan-virtual-host-di.html

Step by Step Setting sertifikat SSL pada apache ubuntu 12.04

SSL (Secured Socket Layer) adalah sebuah teknologi enkripsi (persandian) yang dikembangkan oleh Netscape pada tahun 1994 untuk mengamankan HTTP (menjaga pengiriman data antara web server (situs) dengan pengunjungnya. Ada beberapa versi SSL, versi 2 dan versi 3, tetapi versi 3 paling banyak digunakan saat ini. Saat kita mengakses situs yang terenkripsi SSL kita bisa merasa lebih aman dalam mengirimkan data sensitif ke situs tersebut. untuk tindakan pertama yang harus dilakukan adalah instal apache web server dulu pada ubuntu 12.04 adalah dengan cara berikut

sudo apt-get install apache2

aktifasi modul SSL

sudo a2enmod ssl

kemudian silahkan restart service apachenya

sudo service apache2 restart

langkah berikutnya adalah dengan membuat directory baru yang akan digunakan untuk menyimpan key server dan sertifikat ssl

sudo mkdir /etc/apache2/ssl

Kemudian kita membuat sertifikatnya. ketika kita meminta sertifikat baru, kita dapat menentukan berapa lama sertifikat tersebut seharusnya tetap berlaku dengan mengubah 365 dengan jumlah hari yang kita inginkan. Seperti berdiri sertifikat ini akan berakhir setelah satu tahun.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Dengan perintah ini, kita akan menciptakan sertifikat SSL dan kunci server yang melindungi, dan menempatkan keduanya ke dalam direktori baru. Perintah ini akan meminta terminal untuk menampilkan form yang perlu terisi, yang paling penting adalah “Common Name”. Masukkan domain resmi nama anda atau jika anda tidak memiliki maka dapat mengisi dengan alamat IP situs Anda. contohnya :

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:NYC
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Awesome Inc
Organizational Unit Name (eg, section) []:Dept of Merriment
Common Name (e.g. server FQDN or YOUR name) []:example.com
Email Address []:webmaster@awesomeinc.com

Langkah berikutnya adalah dengan setup sertifikatnya

sudo nano /etc/apache2/sites-available/default-ssl

Tambahkan satu baris dengan nama server Anda tepat di bawah email Admin Server atau ServerAdmin :

ServerName contoh.com:443

silahkan ganti contoh.com dengan DNS, nama domain atau alamat IP server (harus sama dengan common name di sertifikatnya).

Temukan tiga baris berikut, dan pastikan bahwa mereka cocok dengan ekstensi di bawah ini:

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

langkah selanjutnya adalah dengan virtual host yang baru

sudo a2ensite default-ssl

setelah menjalankannya silahkan reload apachenya

sudo service apache2 reload

untuk melakukan test dapat mengakses https://alamat-ip atau https://domainnya

 

Sumber = http://rian.sakti.us/setting-ssl-apache2.html

Apa itu Secure Socket Layer (SSL) Http dan Https

SSL adalah kependekan dari Secure Socket Layer yang merupakan suatu protocol layer transport yang digunakan dalam koneksi internet secara aman. Jika anda menginginkan suatu koneksi komunikasi lewat internet dengan cara yang secure, maka gunakan koneksi SSL.

SSL menawarkan tiga tingkat keamanan, yaitu:

  1. Authentication: Memastikan bahwa message yang diterima berasal dari seseorang yang tersurat
  2. Confidentiality: Melindungi pesan dari suatu usaha pembacaan oleh penerima yang tidak berhak disepanjang perjalanannya.
  3. Integrity: Memastikan bahwa pesan asli, tidak mengalami perubahan dalam perjalanannya.

SSL dikembangkan oleh Netscape Communications agar bisa mengirim data secara aman lewat internet. Jika anda pernah memperhatikan di browser internet dengan menggunakan HTTPS, maka koneksi internet ini adalah menggunakan SSL yang umum digunakan pada suatu transaksi online. Jadi HTTPS adalah suatu protocol untuk melakukan transfer data yang terinkripsi melalui web.

Apa bedanya HTTPS dan HTTP:

  1. HTTPS melakukan koneksi melalui port 443, sementara HTTP menggunakan port 80
  2. HTTPS mengirim / menerima data dengan inkripsi lewat protocol SSL, sementara HTTP mengirim data dengan plain text

Jadi dalam transaksi online, maka pastikan anda melihat online store anda menggunakan HTTPS dalam bertransaksi keuangan lewat internet.

Jika anda mempunyai website, apa yang diperlukan agar bisa di host disuatu host yang bisa SSL.

  •     Web server haruslah support inkripsi SSL
  •     IP address public yang unik agar penyedia certificate SSL bisa melakukan validasi website anda
  •     Suatu certificate SSL dari penyedia layanan SSL

Dua yang pertama bisa anda dapatkan dari ISP anda, hubungi ISP anda untuk memastikannya.

SSL beroperasi pada antara layer Application dan Transport pada model OSI. SSL tidak bekerja secara transparent automatis, karena hanya bisa kalau memang protocol-protocol applikasi secara explicit memang diimplementasikan.

SSL menggunakan inkripsi public-key untuk maksud authentication dan inkripsi  symmetric key untuk inkripsi informasi yang dikirim. Untuk public key inkripsi SSL menggunakan algoritma inkripsi Rivest-Shamir-Adleman (RSA), makanya bergantung pada implementasi dari infrastructure public key (PKI) yang didukung. Integritas pesan dijamin dengan cara mekanisme checking integritas yang disebut sebagai  message authentication code (MAC).

Suatu sesi SSL bermula saat suatu client dengan SSL-enabled meminta suatu koneksi dengan server dengan SSL-enabled melalui TCP port 443, yaitu port SSL. Hal ini akan menginisiasi suatu koneksi SSL antara client dan server. Semua website yang menggunakan SSL mempunyai suatu URL dengan awalan HTTPS. Server kemudian mengirimkan certificate digital dan public key kepada client tersebut.

Client server kemudian melakukan negosiasi tingkat inkripsi mana yang bisa diterima yang biasanya 40-bit, 56-bit, ataupun 128 bit keatas. Client kemudian menghasilkan suatu secret session key yang kemudian di inkripsi menggunakan public key dari server untuk kemudian mengirimkan nya kepada server. Server kemudian melakukan dekripsi secret session key tersebut menggunakan private key-nya. Dari poin ini seterusnya, secret key cryptography dikenakan dan kemudian session key digunakan untuk meng-inkripsi semua pertukaran data antara client dan server, memberikan suatu komunikasi private yang aman.

SSL ini tentunya tidak bebas dari masalah begitu saja. Semua transaksi web dengan SSL akan menambah overhead pemrosesan pada server. Terkadang menjadi dua kali lipat tingkat overhead prosessingnya dibanding tanpa menggunakan koneksi secure SSL. Dengan hardware mesin yang sama, maka tingkat beban prosessing dengan menggunakan SSL akan menjadi sangat berat dibanding tanpa SSL.

Disamping itu, SSL jadi sulit diimplementasikan dalam e-commerse yang menggunakan web server farms dan server load balancers. Hal ini mengingat SSL didesign agar client menggunakan IP address yang sama selama sessi berlangsung.

Untuk mengatasi masalah ini, biasanya digunakan hardware khusus yang disebut SSL Accelerators untuk mengambil alih beban processing dan sesi cache kepada server-server lain untuk meningkatkan performa.

 

Sumber = http://ecgalery.blogspot.co.id/2013/06/apa-itu-secure-socket-layer-ssl.html

Cara Mengamankan PhpMyadmin dengan SSl Mode HTTPS di Ubuntu

Bonjour! Server database adalah sebuah area yang sangat sensitif, dimana tidak bisa sembarang orang dapat mengaksesnya atau mengambil data didalamnya, apalagi jika mempunyai niat yang tidak baik. Semua itu harus dijauhkan dari server database karena akibatnya akan sangat fatal. Ada banyak metode yang bisa dilakukan oleh seorang system administrator.
Seperti yang kita ketahui bahwa PhpMyAdmin adalah salah satu media konsol database yang memudahkan pekerjaan kita daripada harus mengakses database menggunakan CLI. Namun terkadang resiko kesalahan bisa lebih besar ketika kita mengotak-atik database dengan konsol CLI daripada ketika kita mengaksesnya dengan PhpMyAdmin. Lalu pertanyaannya adalah, apakah kita yakin jika PhpMyAdmin kita buka maka server kita aman? Tentu tidak! Sebelumnya saya pernah membahas mengenai beberapa metode pengamanan PhpMyAdmin di linux. Sebenarnya dengan cara yang saya tulis di artikel tersebut sudah cukup aman, namun jika boleh saya jujur itu masih kurang aman. Karena didalam artikel saya tersebut PhpMyAdmin masih diakses dengan HTTP Mode. Itu artinya Sniffing masih mempunyai kemungkinan untuk dilakukan bukan? Tentu kita tidak mau server database kita di obrak-abrik oleh para hacker. Dengan ditulisnya artikel ini saya akan memberikan tutorial tentang bagaimana caranya mengamankan PhpMyAdmin dengan SSL Mode HTTPS di Linux. Metode ini saya praktekan dengan VM Ubuntu Server, bagi anda yang memakai distro linux lainnya sepertinya tidak akan berbeda terlalu jauh. Jika anda belum menginstall PhpMyAdmin di server anda, silahkan install terlebih dahulu, jika anda belum mengetahui cara install PhpMyAdmin di Linux anda bisa mengikuti langkah-langkahnya di artikel saya sebelumnya.
Baiklah kita mulai, saya memberikan IP Address 192.168.1.1 pada VM saya. Langkah pertama yang akan kita lakukan adalah kita memberikan autentikasi sebelum mengakses halaman login PhpMyAdmin. Hal ini sangat saya rekomendasikan untuk anda lakukan demi mengamankan PhpMyAdmin anda. Cara memberikan autentikasi pada PhpMyAdmin adalah :
Buka file /etc/phpmyadmin/apache2.conf. Lalu cari text “DirectoryIndex index.php”. Lalu tambahkan line dibawahnya “AllowOverride All”.
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .
membuat file .htaccess pada folder /usr/share/phpmyadmin/. Masukkan script dibawah ini :
AuthType Basic
AuthName “Restricted Files”
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Script diatas akan mengarahkan user pada autentikasi sebelum mengakses halaman login PhpMyAdmin. Username dan password yang digunakan untuk autentikasi tersebut berbeda dengan username dan password yang dipakai untuk mengakses MySQL via CLI atau via PhpMyAdmin. File username dan password untuk autentikasi ini akan disimpan di folder /etc/phpmyadmin/.htpasswd. Selanjutnya yang akan kita lakukan adalah membuat username dan password untuk autentikasi. Ketikkan perintah ini di server atau VM anda :

sudo htpasswd -c /etc/phpmyadmin/.htpasswd user_name

Setelah anda menekan enter untuk perintah tersebut, anda akan disuruh membuat password untuk user tersebut. Perintah ini akan membuat sebuah user untuk autentikasi sebelum mengakses halaman login PhpMyAdmin dan file tersebut akan disimpan pada file /etc/phpmyadmin/.htpasswd. Untuk mengujinya silahkan restart service apache anda.

sudo service apache2 restart

Maka seharusnya anda mendapatkan tampilan seperti ini :

 

Autentikasi sebelum mengakses login page PhpMyAdmin
Selanjutnya adalah kita akan memaksa PhpMyAdmin diakses melalui HTTPS, bukan HTTP. Ini bertujuan supaya setiap transaksi data antara kita dan server tersebut di enkripsi. Jadi tidak ada kesempatan bagi para hacker untuk melakukan sniffing. Cara mengkonfigurasi HTTPS SSL Mode di Linux sebenarnya sudah saya bahas diartikel sebelumnya. Tapi daripada ribet, saya akan menuliskan ulang diartikel ini. Cara konfigurasi PhpMyAdmin dengan HTTPS SSL Mode, pertama, lakukan dua perintah dibawah ini pada server anda :
sudo a2enmod ssl
sudo service apache2 restart
 
Lalu buatlah direktori untuk menyimpan file certificate SSL, dan buatlah cert dan key dengan perintah ini :
sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
 
Perintah diatas akan membuat file certificate yang berlaku untuk 365 hari atau 1 tahun dengan enkripsi 2048 bit. Lalu kedua file tersebut akan disimpan didalam folder /etc/apache2/ssl. Setelah anda menekan enter untuk perintah tersebut, anda harus mengisi pertanyaan-pertanyaan yang tampil seperti dibawah, isilah dengan benar.
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:ID
State or Province Name (full name) [Some-State]:West Java
Locality Name (eg, city) []:Bandung
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Apocalypsix Inc
Organizational Unit Name (eg, section) []:IT Dept
Common Name (e.g. server FQDN or YOUR name) []:apocalypsix.com
Email Address []:webmaster@apocalypsix.com
 
Setelah membuat file certificate dan key kita tambahkan NameVirtualHost :443 didalam file /etc/apache2/ports.conf. Lalu selanjutnya adalah mengkonfigurasi file site default-ssl di folder /etc/apache2/default-ssl. Masukkan lokasi apache.key dan apache.cert yang kita buat sebelumnya. Cari dan rubah line tersebut sesuai path masing-masing.
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
Tutup dan save. Lalu selanjutnya adalah memaksa PhpMyAdmin diakses melalui HTTPS. Masukkan script dibawah ini kedalam file /etc/phpmyadmin/config.inc.php. Simpan script ini di line paling bawah.
$cfg[‘ForceSSL’] = true;
Simpan dan Tutup file. Lalu aktifkan site default-ssl
sudo a2ensite default-ssl
sudo service apache2 restart
Untuk melihat hasilnya anda bisa coba dengan memanggil phpmyadmin.
192.168.1.1/phpmyadmin
 
Pertama anda akan melihat tampilan seperti dibawah ini. Masukkan username dan password yang kita buat tadi.
Autentikasi sebelum login page PhpMyAdmin
Lalu setelah anda login akan tampil halaman seperti ini :
Security warning SSL
Dan akhirnya anda akan melihat login page PhpMyAdmin :
Login Page PhpMyAdmin
Login dengan username dan password mysql anda.
PhpMyAdmin
Dan sekarang server database anda sudah lebih aman dari sebelumnya. Cara mengamankan PhpMyAdmin dengan SSL Mode HTTPS di linux tidak sulit bukan. Semoga artikel ini membantu anda.
Semoga bermanfaat,