Tutorial membuat sertifikat ssl menggunakan xampp

Post on 19-Jan-2017

71 views 9 download

Transcript of Tutorial membuat sertifikat ssl menggunakan xampp

TUTORIAL MEMBUAT SERTIFIKAT SSL

MENGGUNAKAN XAMPPYoga Pratama Putra

Dosen Pembimbing : Muhammad Jazman, S.Kom., M.Info.Sys.

INTRODUCTION

SSL memastikan data transaksi yang terjadi secara online di enkripsi/acak sehingga tidak dapat dibaca oleh pihak lain. Kegunaan utamanya adalah untuk menjaga keamanan dan kerahasiaan data ketika melakukan transaksi.

Alasan utama mengapa menggunakan SSL adalah untuk menjaga informasi sensitif selama dalam proses pengiriman melalui Internet dengan cara dienkripsi, sehingga hanya penerima pesan yang dapat memahami dari hasil enkripsi tersebut. Hal ini sangat penting, karena informasi yang kita kirimkan di Internet membutuhkan proses perjalanan dari komputer ke komputer sampai mencapai server tujuan.

Dalam pembuatan SSL pada xampp, penulis menggunakan sebuah virtual host untuk membuat domain yang berbeda dari localhost. Jadi nantinya kita akan memiliki 2 domain utama yaitu localhost dan domain virtual host yang akan kita buat.

LANGKAH – LANGKAH MEMBUAT VIRUTAL HOST

Buka Command Prompt sebagai admnistrator

STEP 1

Setelah kita berhasil menjalankan CMD, maka kita lakukan pengujian dengan menjalankan perintah SET US, perintah SET US disini gunanya hanya untuk menampilkan Environment Variable yang dimulai dengan huruf US

STEP 2

Kita akan membuat sebuah DNS baru pada Microsoft Windows, dengan cara :

C:\Windows\System32\drivers\etc\hosts

STEP 3

NEXT..

Jika berhasil maka perintah akan otomatis membuka file di notepad.

Lalu tambahkan DNS baru pada baris paling bawah, seperti pada gambar – SAVE.

STEP 3

Setelah anda menyimpan konfigurasi, maka langkah selanjutnya melakukan testing pada DNS yang anda buat. Dengan cara

STEP 4

Tambahkan settingan pada berkas httpd.conf yang berada di folder xampp

*Note :Sesuaikan lokasi xammp, dengan lokasi anda menginstall xampp.

NEXT..

Jika berhasil maka akan membuka file httpd.conf seperti pada gambar, lalu tambahkan teks berikut pada baris akhir :

NameVirtualHost *:80<VirtualHost *:80> ServerAdmin email@admin.com DocumentRoot "C:/xampp/htdocs" ServerName localhost ServerAlias localhost.localdomain ErrorLog "logs/localhost.error.log" CustomLog "logs/localhost.access.log" combined</VirtualHost>Include "conf/sites-enabled/*.conf"

NEXT...

Maksud perintah sebelumnya adalah mengaktifkan Name Based Virtual Host di port 80 untuk semua IP Address kita (*). ServerAdmin di sini adalah email admin yang nanti keluar kalau ada error pada VirtualHost kita.

Perintah yang penting di sini adalah ServerName dan ServerAlias : localhost disini artinya adalah sebagai domain untuk virtualhost jika mengakases localhost atau localhost.localdomain maka apache akan otomatis memberikan file yang ada pada DocumentRoot.

STEP 5

1. kita akan membuat sebuah folder “sites-enabled”, yang berfungsi sebagai tempat kita menyimpan konfigurasi DNS VirtualHost kita.

2. Kita akan membuat file untuk konfigurasi DNS VirtualHost yang akan disimpan pada folder sites-enabled.

NEXT..

Jika muncul pemberitahuan seperti pada gambar disamping, maka klik ‘yes’.Selanjutnya masukkan perintah berikut ini : <VirtualHost *:80>

ServerAdmin admin@yoga.putra.com DocumentRoot "C:/xampp/vhosts/yoga.putra/public_html" ServerName yoga.putra ServerAlias www.yoga.putra ErrorLog "C:/xampp/vhosts/yoga.putra/logs/error.log" CustomLog "C:/xampp/vhosts/yoga.putra/logs/access.log" combined </VirtualHost><Directory "C:/xampp/vhosts/yoga.putra/public_html"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>

NEXT...

Maka hasilnya seperti pada gambar disamping.

STEP 6

Buatlah 3 folder baru dengan perintah sbg berikut :

1. mkdir C:\xampp\vhosts2. mkdir C:\xampp\vhosts\yoga.putra3. mkdir C:\xampp\vhosts\yoga.putra\logs4. mkdir C:\xampp\vhosts\yoga.putra\public_html

STEP 7

Sekarang, restart Apache pada xampp Anda dengan menekan tombol Stop, tunggu sebentar, lalu start. Jika belum dijalankan, cukup klik tombol start saja.

STEP 8

Jika semua proses berhasil maka kita akan memiliki 2 DNS yaitu, localhost dan VirtualHost kita, seperti pada gambar :

Tampilan localhost

NEXT..

Tampilan DNS VirtualHost

Untuk mengisi tampilan virtual host Anda, maka anda cukup copy dan paste file website yang anda miliki ke folder “C:/vhosts/yoga.putra/public_html”

LANGKAH – LANGKAH MEMBUAT SSL

1. Perisapan2. Membuat Sertifikat CA3. Membuat Sertifikat Untuk Client4. Menandatangani Sertifikat Request5. Meletakan CRT dan Key ke Apache6. Menginstall sertifikat CA

STEP 1 : PERSIAPAN

Buka cmd dan masuk ke direktori C:

STEP 2

Buat folder baru yang bernama “sslcert” Lalu masuk ke folder tersbut :

STEP 3

Buatlah folder baru kembali yang bernama “certs private”, folder certs ini berfungsi sebagai tempat penyimpanan semua sertifikat dan private berfungsi sebagai penyimpanan private key.

STEP 4

Sekarang buat sebuah berkas bernama serial, dan isi dengan 100001. Berkas serial ini nantinya digunakan untuk otomatis memberi nomor serial untuk setiap sertifikat yang dihasilkan.

ketikan perintah : echo 100001 >serial (enter)selanjutnya ketikan : copy con serial (enter)

100001 maka akan muncul pesan <Yes/No/All> :ketik All (enter)

lalu tekan ctrl + z (enter)

STEP 5

Buat sebuah dile baru bernama “certindex.txt”ketikan perintah notepad certindex.txt (enter)

Hasil perintah tersebutuntuk menampung daftar sertifikat yang

telah kita tandatangani. Jadi biarkan kosong

STEP 6

Kemudia buatlah sebuah file baru yang bernama “openssl.cnf”

Masukkan semua teks yang ada pada slide berikutnya

## OpenSSL configuration file.## Establish working directory. dir = .[ ca ]default_ca = CA_default [ CA_default ]serial = $dir/serialdatabase = $dir/certindex.txtnew_certs_dir = $dir/certscertificate = $dir/cacert.pemprivate_key = $dir/private/cakey.pemdefault_days = 3650#default_md = md5default_md = sha1preserve = noemail_in_dn = nonameopt = default_cacertopt = default_capolicy = policy_match [ policy_match ]countryName = matchstateOrProvinceName = matchorganizationName = matchorganizationalUnitName = optionalcommonName = supplied

emailAddress = optional

[ req ]default_bits = 2048 # Size of keysdefault_keyfile = key.pem # name of generated keys#default_md = md5 # message digest algorithmdefault_md = sha1 # message digest algorithmstring_mask = nombstr # permitted charactersdistinguished_name = req_distinguished_namereq_extensions = v3_req [ req_distinguished_name ] # Variable name Prompt string#------------------------- ----------------------------------0.organizationName = Organization Name (company)organizationalUnitName = Organizational Unit Name (department, division)emailAddress = Email AddressemailAddress_max = 40localityName = Locality Name (city, district)stateOrProvinceName = State or Province Name (full name)countryName = Country Name (2 letter code)countryName_min = 2countryName_max = 2commonName = Common Name (hostname.com, IP, or your name)commonName_max = 64

Lanjutan

# Default values for the above, for consistency and less typing.# Variable name Value#------------------------ ------------------------------0.organizationName_default = Universitas Islam Negeri Sultan Syarif KasimlocalityName_default = PekanbarustateOrProvinceName_default = RiaucountryName_default = ID [ v3_ca ]basicConstraints = CA:TRUEsubjectKeyIdentifier = hashauthorityKeyIdentifier = keyid:always,issuer:always [ v3_req ]basicConstraints = CA:FALSEsubjectKeyIdentifier = hash

Lanjutan

Hasil script tersebut

STEP 7 : MEMBUAT SERTIFIKAT CA

Ketikan perintah berikut :C:\xampp\apache\bin\openssl.exe req -new -x509 -extensions v3_ca -keyout private\CAkey.pem -out CAcert.pem -days 3650 -config ./openssl.cnf (enter)

STEP 8

Kemudian masukkan Password yang akan kita gunakan sebagai CA.

STEP 9Setelah berhasil memasukkan password CA maka kita akan diminta untuk mengisi data berikut :

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.

-----

Organization Name (company) [Universitas Islam Negeri Sultan Syarif Kasim]:

Organizational Unit Name (department, division) []:SIF2014Email Address []:yogapratamaputra0@gmail.comLocality Name (city, district) [Pekanbaru]:

State or Province Name (full name) [Riau]:

Country Name (2 letter code) [ID]:Common Name (hostname.com, IP, or your name) []:yoga.putra.com

Anda bisa sesuaikanAnda bisa sesuaikan

Anda bisa sesuaikan

NEXT..

Contoh gambar :

STEP 10 : MEMBUAT SERTIFIKAT CLIENT

ketikan perintah berikut ini :C:\xampp\apache\bin\openssl req -new -nodes -out localhost-req.pem -keyout private/localhost-key.pem -config ./openssl.cnf (enter)

Jika anda ingin membuat client baru, Anda cukup mengganti seluruh nama“localhost” menjadi nama DNS anda

STEP 11

Kemudian isilah informasi tersebut :

Organization Name (company) [Universitas Islam Negeri Sultan Syarif Kasim]:Organizational Unit Name (department, division) []:IT DepartmentEmail Address []:rahmad.riansyah@gmail.comLocality Name (city, district) [Pekanbaru]:State or Province Name (full name) [Riau]:Country Name (2 letter code) [ID]:Common Name (hostname.com, IP, or your name) []:localhost

STEP 12 : MENANDATANGANI SERTIFIKAT

Biasanya perintah ssl tidak akan berjalan jika kita belum melakukan setting path, maka ketikan text berikut untuk mengaktifkan path :set path=C:\xampp\apache\bin;%PATH% (enter)

STEP 13

Selanjutnya kita akan menandatangani sertifikat requestopenssl ca -out localhost.crt.pem -config ./openssl.cnf -infiles localhost-req.pem (enter)

Jika anda ingin menandatangani sertifikat lainnya, anda cukup mengganti seluruh nama “localhost” dengan DNS anda.

STEP 14

Jika langkah sebelumnya berhasil, maka selanjutnya kita akan memindahkan file CRT dan KEY ke Apache pada xampp. *sesuaikan lokasi xampp anda

STEP 15

Kemudian edit pengaturan pada “httpd-ssl.conf”

NEXT..

Edit semua file yang telah diblock sesuai dengan sertifikat yang anda miliki. Lalu restart Apache pada xampp.

STEP 16 : MENGINSTALL SERTIFIKAT CA

Selanjutnya kita akan menginstall sertifikat CA pada browser.

Disini saya menggunakan Mozilla Firefox V. 48.0.2

Buka browser pilih menu sepert pada gambar Option

STEP 17

Selanjutnya pilih Advanced Certificates View Certificates

STEP 18

Lalu installkan sertifikat anda dengan mengimport sertifikat yang anda miliki.

Disini saya menginstall sertifikat “yoga.putra”

STEP 19

Setelah berhasil kita dapat melihat informasi mengenai sertifikat yang kita miliki dengan klik tombol View.

STEP 20

Meskipun kita telah menginstall sertifikat ke browser tetap saja koneksi https kita akan dibaca koneksi yang tidak aman. Namun itu tidak masalah, lebih baik dari pada pemberitahuan eror yang anda terima.

SEKIANTerima Kasih