Konfigurasi SSL Self Signed Certificate menggunakan Nginx web Server pada Linux CentOS 6.7

Hi semua.., :D

nginx-ssl-installation

Apakabarnya..? semoga keadaan teman-teman semua dalam keadaan sehat wal'afiat ya, amin !. Cukup lama juga nih ga' bikin article di blog ane yg cetek ini.., btw baiklah langsung saja pada artikel kali ini kita akan melanjutkan pembahasan artikel sebelumnya mengenai konfigurasi nginx pada linux CentOS. Nah, pada article lanjutan ini kita akan membahas sedikit tambahan yaitu mengenai cara "Konfigurasi SSL Self Signed Certificate menggunakan Web Server Engine-X pada Linux CentOS 6.7"
Langkah-langkah yang dilakukan untuk mengkonfigurasi OpenSSL sebagai SSL Self Signed Certificate menggunakan web server Engine-X pada Linux CentOS 6.7 adalah sebagai berikut:

  1. Pastikan linux server Centos server anda sudah dikonfigurasi IP address dengan mengetikkan perintah :# ifconfigpada terminal linux CentOS anda, seperti tampilan gambar di bawah ini.
  2. Check ketersedian server DNS server pada CentOS server anda sesuai dengan domain yang anda butuhkan dengan mentikkan perintah :# nslookup acenk90.localPada terminal linux CentOS server anda, seperti tampilan gambar di bawah ini. Untuk tutorial konfigurasi DNS Server pada linux CentOS dapat dilihat pada artikel berikut ini.
  3. Check ketersedian jaringan internet pada linux CentOS server anda, kemudian tes dengan cara melakukan pingkealamat google.co.id dan pastikan reply dan terkoneksi seperti gambar di bawah ini. Tujuannya agar kita bisa melakukan installasi packet dan daemon yang dibutuhkan melalui repository via internet nantinya.
  4. Download packet repository noarch rpm daemon nginx dari repository via internet dengan mengetikkan perintah :# wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm melalui terminal linux CentOS server anda, dan pastikan success seperti pada tampilan gambar di bawah ini.
  5. Install packet RPM nginx repository noarch yang telah di download tadi dengan mengetikkan perintah :# rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpmmelalui terminal linux CentOS server anda dan pastikan success seperti tampilan gambar di bawah ini.
  6. Installkan packet nginx menggunakan "yum" dengan cara mengetikkan perintah :# yum install nginxmelalui terminal linux CentOS server anda kemudian ketikan "y" dan tekan "enter" untuk menyetujui proses installasi seperti pada tampilan gambar di bawah ini.
  7. Install packet php-fpm menggunakan "yum" dengan mengetikkan perintah :# yum install php-fpmmelalui terminal linux CentOS server anda kemudian pilih "y" untuk menyetujui proses installasi dan tekan tombol "enter", seperti tampilan gambar di bawah ini.
  8. Buka file konfigurasi "php.ini" menggunakan text editor "vim" dengan mengtikkan perintah :# vim /etc/php.inipada terminal linux CentOS server anda, seperti pada tampilan gambar di bawah ini.
  9. Cari baris "cgi.fix_pathinfo=1", lalu rubah menjadi "cgi.fix_pathinfo=0", kemudian save konfigurasi tersebut seperti tampilan gambar di bawah ini.
  10. Edit file konfigurasi "nginx.conf" menggunakan text editor vim dengan mengetikkan perintah :# vim /etc/nginx/nginx.confMelalui terminal linux CentOS anda, seperti gambar di bawah ini.
  11. Cari baris "worker_processes 1", lalu rubah menjadi "work_processes 4". Kemudian save konfigurasi tersebut seperti gambar di bawah ini.
  12. Setelah itu install packet OpenSSL menggunakan "yum" dengan cara mengetikkan perintah :# yum install opensslmelalui terminal linux CentOS server anda kemudian pilih "y" untuk menyetujui proses installasi dan tekan tombol "enter", seperti tampilan gambar di bawah ini.
  13. Cek versi openssl yang telah diinstallkan tadi dengan mengetikkan perintah :# rpm -qa opensslMelalui terminal linux CentOS seperti gambar di bawah ini.

    Pastikan versi package openssl terinstall bukan versi yang vulnerability yaitu versi OpenSSL 1.0.1f. Maka dari itu, untuk linux CentOS versi openssl yang sudah dipatch dapat dicek pada link ini https://access.redhat.com/site/articles/904433, lalu sesuaikan dengan versi linux RHEL/CentOS yang anda gunakan.
  14. Generate private key rsa ca.key 1 MB openssl dengan cara mengetikkan perintah:# openssl genrsa -out ca.key 1024Melalui terminal linux CentOS server anda, seperti pada tampilan gambar di bawah ini.

  15. Buatlah ca.key dan ca.csr baru untuk opensll yang telah di installkan tadi dengan cara mengetikkan perintah:# openssl req -new -key ca.key -out ca.csrMelalui terminal linux CentOS server anda dan isikan biodata untuk CSR yang akan dicreate tersebut seperti tampilan pada gambar di bawah ini.
  16. Selanjutnya melalukan pengecekkan signature CSR yang di create untuk self certificate tersebut dengan cara mengetikkan perintah :# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crtMelalui terminal linux CentOS server anda dan pastikan "OK", seperti tampilan gambar di bawah ini.

  17. Pindahkan file ca.crt yang telah dicreate tadi ke dalam directory path untuk CSR openssl "/etc/pki/tls/certs/" dengan cara mengetikkan perintah :# mv ca.crt /etc/pki/tls/certs/Melalui terminal linux CentOS server anda, seperti pada tampilan gambar di bawah ini.
  18. Kemudian pindahkan juga file ca.key dan ca.csr kedalam path directory private openssl "/etc/pki/tls/private" dengan cara mengetikkan perintah :# mv ca.key ca.csr /etc/pki/tls/privateMelalui terminal linux CentOS server anda seperti pada tampilan gambar di bawah ini.

  19. Check masing-masing file konfrigurasi ca yang telah kita copykan tadi ke pathnya masing-masing cara dengan mengetikkan perintah:# restorecon -RvF /etc/pkipada terminal linux CentOS server anda seperti tampilan gambar di bawah ini.
  20. Backup file konfigurasi nginx default.conf  dengan mengetikkan perintah:# cp -afR /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bakmelalui terminal linux CentOS server anda seperti tampilan gambar di bawah ini.
  21. Buka file konfigurasi nginx "default.conf" menggunakan text editor "vim" dengan cara mengetikkan perintah:vim /etc/nginx/conf.d/default.confMelalui terminal linux CentOS anda, seperti pada tampilan gambar di bawah ini.
  22. Isikan konfigurasi berikut pada file konfigurasi nginx default.conf :# # The default server # server { listen 80 default_server; server_name acenk90.local; location / { root /usr/share/nginx/html; index index.php index.html; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } server { listen 443 ssl; server_name acenk90.local; ssl on; ssl_certificate /etc/pki/tls/certs/ca.crt; ssl_certificate_key /etc/pki/tls/private/ca.key; access_log /var/log/nginx/acenk90.local.access.log main; location / { root /usr/share/nginx/html; index index.php index.html index.htm; } error_page 404 /not_found.html; location = /not_found.html { root /usr/share/nginx/html; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } Melalui terminal linux CentOS server anda, kemudian save konfigurasi tersebut seperti tampilan gambar di bawah ini.

  23. Kemudian link kan path directory web default nginx ke dalam directory home agar path directory web lebih tertata jika ada penambahan virtualhost web nantinya dengan, cara mengetikkan perintah :# ln -s /usr/share/nginx/html /home/acenk90.localmelalui terminal linux CentOS server anda seperti pada tampilan gambar di bawah ini.
  24. Check link path directory untuk web acenk90.local yang sudah kita create tadi dengan cara mengetikkan perintah :# ls -alpada terminal linux CentOS server anda. Sebelumnya pastikan anda sudah berada di dalam directory /home dan jika berhasil link dengan nama acenk90.local akan tercreate seperti pada tampilan gambar di bawah ini.
  25. Setelah file konfigurasi sudah tercreate dan Engine-X selesai dikonfigurasi lalu restart service bind dan Engine-X dengan mengetikkan perintah :/etc/init.d/named restart               dan/etc/init.d/nginx restartMelalui terminal linux CentOS server anda. Jika konfigurasi sudah benar maka process restart service daemon tersebut akan success seperti tampilan gambar di bawah ini.
  26. Pengujian nslookup domain acenk90.local kepada server nginx yang juga sudah dikonfigurasi DNS server di dalamnya, jika konfigurasi DNS sudah running dengan benar maka akan tampil seperti gambar di bawah ini.
  27. Pengujian akses web server nginx tanpa menggunakan ssl, seperti pada gambar di bawah ini.
  28. Untuk mengetes web server nginx yang sudah dikonfigurasi dengan ssl tadi kita coba copykan file index.html menjadi index.html2. Kemudian rubah file index.html menggunakan text konfigurasi nano dengan cara mengetikkan perintah :nano index.htmlmelalui terminal linux CentOS server anda seperti tampilan gambar di bawah ini.
  29. Isikan test "success ssl configuration" configuration kemudian save, seperti pada tampilan gambar di bawah ini.
  30. Check ketersedian file index.html yang sudah kita edit tadi dengan mengetikkan perintah :ls -al melalui terminal linux CentOS anda, seperti tampilan gambar di bawah ini.
  31. Pengujian akses "SSL Self Signed Certificate" dengan menambahkan "https" pada bagian depan alamat domain acenk90.local di kolom address bar web browser. Jika konfigurasi yang telah kita lakukan di atas success maka akan tampil peringatan "This Connection is Untrusted", hal ini disebabkan karena certificate ssl yang kita buat tadi hanya digunakan untuk self sign certificate. Jika kita menginginkan cerficate SSL yang trusted maka belilah certificate berbayar seperti dari verysign, comodo, digicert, dll. Kemudian klik "I Undertand the Risk" untuk melanjutkan proses seperti tampilan gambar di bawah ini.
  32. Agar kita tidak selalu diperingatkan setiap mengakses “https://acenk90.local“, maka contreng box “permanent store this exception“, kemudian klik “Confirm Security Exception” untuk melanjutkan ke proses selanjutnya, seperti pada tampilan gambar di bawah ini.
  33. Success akses halaman index.html yang sudah kita edit tadi melalui protocol ssl 443 seperti tampilan gambar di bawah ini.
  34. Mengecek informasi ssl yang telah kita create tadi, seperti tampilan gambar di bawah ini.
  35. Tampilan informasi detail ssl “acenk90.local” yang sudah kita create tadi beserta waktu masa expires SSL “Single Sign Certificate“, seperti pada gambar di bawah ini.

Demikianlah pembahasan artikel kali mengenai cara "Konfigurasi OpenSSL Self Signed Certificate menggunakan Web Server Engine-X pada Linux CentOS 6.7". Untuk pemabahasan lainnya akan kita bahas pada artikel selanjutnya.
Semoga artikel kali ini bermanfaat bagi kita semua.

Salam

Sumber : https://acenk90.wordpress.com/2015/12/29/konfigurasi-ssl-self-signed-certificate-pada-nginx-web-server-menggunakan-linux-centos-6-7/#more-2989
Nofriandi