Install SSL di Web Server (Apache) Pada
CentOS
Setiap harinya
dunia internet memiliki banyak transaksi ataupun data-data sensitif yang
penting. Untuk keamanan dan kenyamanan pada setiap transaksi dalam Web Server
(Apache), penggunaan SSL (Secure Sockets Layer) tentunya dibutuhkan.
Namun, untuk web server  yang dienkripsi SSL, ada beberapa hal yang
diperlukan sesuai dengan instalasi yang Anda gunakan. Hal ini bertujuan agar
fungsinya maksimal dan dapat berjalan dengan lancar. 
SSL adalah
protokol keamanan yang digunakan pada hampir semua transaksi aman pada
internet. SSL mengubah suatu protokol transport seperti TCP menjadi sebuah
saluran komunikasi aman yang cocok untuk transaksi yang sensitif seperti
Paypal, Internet Banking, dan lain-lain. Keamanan dijamin dengan menggunakan
kombinasi dari kiptografi kunci publik dan kriptografi kunci simetri bersamaan
dengan sebuah infrastruktur sertifikat. Sebuah sertifikat adalah sebuah
kumpulan data identifikasi dalam format yang telah distandardisasi. Data
tersebut digunakan dalam proses verifikasi identitas dari sebuah entitas
(contohnya sebuah web server) pada internet.
SSL menyediakan
otentikasi (pada sisi client, dan opsional pada sisi server) terhadap
pihak-pihak yang berkomunikasi. SSL dapat mengamankan koneksi antara dua titik,
dan tidak ada pihak yang dapat melakukan hal-hal yang bersifat destruktif atau
mengakses informasi yang bersifat sensitif. SSL menyediakan sebuah saluran
komunikasi yang aman tanpa perlu adanya pertemuan kedua pihak yang
berkomunikasi untuk melakukan proses pertukaran kunci.
Jika Anda akan
menggunakan SSL, maka Anda perlu instalasi openssl dan mod_ssl. Openssl
dapat di download di link https://www.openssl.org/source
dan Modssl dapat di download di link www.modssl.org.
Berikut ini adalah langkah-langkah instalasi maupun konfigurasi yang perlu
dilakukan :
BERLANGGANAN
SERTIFIKAT SSL
Sertiffikat SSL
bisa didapatkan dengan berlangganan melalui http://www.warungssl.com
atau situs2 lainnya. Setelah melakukan pembayaran maka akan dikirimkan Web
Server Certificate dan Certificate Authority (CA).
INSTALLASI SSL
yum -y install mod_ssl
openssl
atau download
source Modssl di link www.modssl.org dan
Openssl di link https://www.openssl.org/source.
GENERATE
SERTIFIKAT
# Generate
private key
openssl genrsa
-out www.yollyrinaldi.key 2048
# Generate CSR
(Certificate Signing Request) untuk memberikan SSL authority
openssl req -new
-key www.domain.key -out www.yollyrinaldi.csr
Catatan : Anda
akan mengisi keterangan tentang SSL authority.
# Generate Self
Signed Key
openssl x509
-req -days 365 –in yollyrinaldi.csr –signkey yollyrinaldi.key -out yollyrinaldi.crt
Keterangan
:
·      Openssl : ini adalah alat baris perintah dasar yang disediakan oleh OpenSSL untuk
membuat dan mengelola sertifikat, kunci, permintaan penandatanganan, dll.
·      -x509 : Opsi ini
menentukan bahwa kita ingin membuat file sertifikat yang ditandatangani sendiri
bukan menghasilkan permintaan sertifikat.
·      -req : ini
menentukan subcommand untuk permintaan penandatanganan sertifikat X.509 (CSR)
manajemen. X.509 adalah standar infrastruktur kunci publik SSL yang menganut
untuk kunci dan sertifikat manajemen. Karena kita ingin membuat sertifikat
X.509 baru, ini adalah apa yang kita inginkan.
·      -nodes : Opsi ini
memberitahu OpenSSL bahwa kita tidak ingin untuk mengamankan file kunci kami dengan
passphrase. Memiliki dilindungi password file kunci akan mendapatkan di jalan
dari Apache mulai secara otomatis saat kita harus memasukkan password setiap
kali restart layanan.
·      -days 365: ini menentukan bahwa sertifikat kita
menciptakan akan berlaku selama satu tahun.
·      -newkey rsa: 2048 : Opsi ini akan menciptakan permintaan sertifikat dan kunci pribadi baru
pada waktu yang sama. Hal ini diperlukan karena kita tidak menciptakan sebuah
kunci pribadi di muka. The rsa: 2048 mengatakan OpenSSL untuk menghasilkan kunci
RSA yang 2048 bit panjang.
·      -keyout : Ini nama
parameter file output untuk file kunci pribadi yang sedang dibuat.
·      -out : Ini nama
pilihan file output untuk sertifikat yang kita menghasilkan.
Catatan : Konfigurasi ini digunakan kalau kita gak memakai sertifikat dari CA (Certificate Authority) (ex. http://www.warungssl.com).
Kirim file CRT ke pihak belangganan Sertificate SLL (ex. http://www.warungssl.com). 
Selanjutnya copy
file ssl yang dibuat tadi ke /home/ssl :
cp yollyrinaldi.crt
/home/ssl/yollyrinaldi.crt
cp yollyrinaldi.key
/home/ssl/yollyrinaldi.key
cp yollyrinaldi.csr
/home/ssl/yollyrinaldi.csr
KONFIGURASI SSL
Masuk ke
directory /etc/httpd/conf.d/ssl.conf
Edit :
SSLCertificateFile
/home/ssl/yollyrinaldi.crt  
SSLCertificateKeyFile
/home/ssl/yollyrinaldi.key 
Save dan keluar
dari ssl.conf (:wq!)
Restart Apache :
service httpd
restart
KONFIGURASI DI
VIRTUALHOST
Masih di
directory /etc/httpd/conf.d/ssl.conf 
Tambahkan :
SSLEngine on
ServerName    
yollyrinaldi.web.id
DocumentRoot
    /var/www/html/yollyrinaldi.web.id
SSLCertificateFile
/home/ssl/yollyrinaldi.crt
SSLCertificateKeyFile
/home/ssl/yollyrinaldi.key
Save dan exit
(:wq!)
Restart Apache :
service httpd
restart
KONFIGURASI 
.htaccess
Masuk ke
directory /etc/httpd/conf/httpd.conf
Menujulah ke
folder utama dari project web kalian lalu buat file .htaccess dengan isi
berikut:
RewriteEngine On
ServerName
yollyrinaldi.web.id
RewriteCond
%{HTTPS} !on
RewriteRule (.*)
https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Save dan exit
(:wq!)
Restart Apache :
service httpd
restart
Cobalah buka web
browser kalian lalu akses aplikasi web dan secara otomatis akan membawa ke
https.
Jika tidak ke
redirect bisa jadi file .htaccess tidak berjalan. Periksa konfigurasi
httpd.conf yang berada di /etc/httpd/conf/
Lalu cari baris
AllowOverride dan pastikan kondisinya sudah ALL seperti baris berikut:
AllowOverride
ALL
Selanjutnya
restart Apache, service httpd restart
Dan buka kembali
web kalian. Nanti akan terjadi redirect ke https
KONFIGURASI
FIREWALL
Anda seharusnya
sudah memiliki situs yang bekerja di https menggunakan sertifikat yang
ditandatangani sendiri. Jika anda tidak bisa menghubungkan, mungkin anda perlu
membuka port pada firewall anda.
iptables -A
INPUT -p tcp --dport 443 -j ACCEPT
/sbin/service
iptables save
iptables -L -v
Sumber : https://wiki.centos.org/HowTos/Https





