Keamanan sistem informasi
-
Upload
windi-rohmaheny -
Category
Technology
-
view
22 -
download
0
Transcript of Keamanan sistem informasi
UJIAN AKHIR SEMESTER (UAS) / FINAL PROJECTVirtualHost + SSL
MODUL
oleh:
WINDI ROHMA HENY1145305427
JURUSAN SISTEM INFORMASIFAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAUPEKANBARU
2017
Menjalankan CMD sebagaiAdministrator
Cara 3 (Menjalankan CMD melalui Windows + R)1. Klik tombol windows yang ada pada keyboard + R lalu ketikan CMD.
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. CMD yang telah dijalankan sebagai administrator akan memiliki judul Administrator: seperti terlihat pada gambar berikut:
BERKAS HOSTHost file digunakan oleh sistem operasi untuk meng-override settingan DNS yang
diberikan oleh DNS Server. Pada Microsoft Windows, host file terdapat pada.
%WINDIR%\System32\Drivers\etc\hosts
Misalnya
C:\Windows\System32\drivers\etc\hosts
Disini kita perlu hak akses sebagai administrator untuk dapat mengedit file hosts untuk menambahkan alamat IP kita.
Sebagai contoh dalam modul ini penulis akan menambahkan alamat IP 127.0.0.0 dengan DNS rahmad.riansyah.com pada file hosts.
Adapun langkah - langkah pengerjaanya adalah sebagai berikut.1. Buka CMD, Lalu ketikan perintah notepad \Windows\System32\drivers\
etc\hosts lalu klik enter.
2.Setelah anda menekan enter maka secara otomatis CMD akan membuka file hosts. lalu yang perlu kita lakukan adalah menambahkan 127.0.0.1 windi.com pada baris bagian bawah.
3.Setelah selesai menambahkan 127.0.0.1 rahmad.riansyah.com pada baris bagian bawah maka pilih file » save.
4.Setelah anda selesai menyimpan konfigurasi yang telah anda lakukan langkah selanjutnya adalah kita melakukan pengujian apakah berkash hosts tersebut telah berhasil ditambahkan atau belum, adapaun cara yang kita gunakan adalah dengan perintah ping rahmad.riansyah.com pada CMD.
Setting VirtualHost dengan Apache (XAMPP)Salah satu HTTP Daemon yang paling banyak digunakan adalah apache.
http://httpd.apache.org/ Apache mendukung VirtualHost, dokumentasi resmi dari Apache 2.4 untuk VirtualHost ada di sini:
http://httpd.apache.org/docs/2.4/vhosts/ http://httpd.apache.org/docs/2.4/mod/core.html#virtualhost danhttp://httpd.apache.org/docs/2.4/vhosts/name-based.html
Setelah berhasil membuat berkas hosts, maka yang selanjutnya akan kita lakukan adalah mensetting virtualhost. adapun langkah - langkah dalam penyetingan VirtualHost pada apache adalah sebagai berikut :
1. Tambahkan settingan pada berkas httpd.conf, biasanya berkas ini berada pada C:\
xampp\apache\conf\httpd.conf (jika Anda menginstal xampp di drive C)
2.Lalu tambahkan baris berikut di akhir:NameVirtualHost *:80<VirtualHost *:80> ServerAdmin [email protected] 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"
Maksud perintah di atas adalah meng-enable 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 untuk VirtualHost ini jika orang mengakses localhost atau localhost.localdomain maka apache akan memberikan DocumentRoot "C:/xampp/htdocs"
2. Selanjutnya buatlah sebuah folder sites-enabled pada direktori conf dengan perintahmkdir C:\xampp\apache\conf\sites-enabled
3.Kemudian buat sebuah berkas di dalam folder sites-enabled tersebut notepad C:\xampp\apache\conf\sites-enabled\windi.rohma.conf
4.Kemudian akan muncul pesan peringatan dari notepad bahwa dia tidak bisa menemukan windi.rohma dan akan membuat file baru dengan nama windi.rohma .
Setelah file rahmad.riansyah berhasil di buat maka tambahkan baris berikut.<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "C:/xampp/vhosts/windi.rohma/public_html" ServerName windi.rohma ServerAlias www.windi.rohma ErrorLog "C:/xampp/vhosts/windi.rohma/logs/error.log" CustomLog "C:/xampp/vhosts/windi.rohma/logs/access.log" combined
</VirtualHost><Directory "C:/xampp/vhosts/rahmad.riansyah/public_html"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>
5. Kemudaian kita buat direktori vhosts untuk meletakan logs dan tempat penyimpanan website yang akan kita buat (public_html)
1. mkdir C:\xampp\vhosts2. mkdir C:\xampp\vhosts\windi.rohma3. mkdir C:\xampp\vhosts\windi.rohma\logs4. mkdir C:\xampp\vhosts\windi.rohma\public_html
6. Jangan lupa untuk menambahkan rahmad.riansyah ke berkas host Anda, notepad C:\Windows\System32\drivers\etc\hosts
Kemudian Tambahkan 127.0.0.1 windi.com dan 127.0.0.1 windi.rohma
7.Sekarang, restart Apache Anda dengan menekan tombol Stop, tunggu sebentar, lalu start. Kalau belum dijalankan, cukup di start saja.
Sekarang, seharusnya Apache Anda sudah memiliki setidaknya dua buah Document Root:● yang pertama di "C:/xampp/htdocs" untuk http://localhost;
● yang kedua di "C:/xampp/vhosts/windi.rohma/public_html" jika ada yang mengakses http:// windi.rohma
Setelah proses restart selesai, seharusnya kita sudah bisa menjalankan http://windi.rohma namun tampilanya masih akan seperti ini.
Mengganti Sertifikat SSL XAMPPSSL 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. Komputer lain yang ada diantara Anda dan server dapat melihat nomor Kartu Kredit Anda, username dan passwords, dan informasi sensitive lainnya bila hal ini tidak dienkripsi dengan Sertifikat SSL. Ketika sertifikat SSL digunakan, informasi menjadi tidak dapat terbaca oleh siapapun kecuali ke server yang memang dituju saat mengirim informasi tersebut. Hal ini melindungi informasi tersebut dari hackers dan pencuri identitas.
Otentikasi (Authentication)Selain juga enkripsi, sertifikat SSL juga menyediakan otentikasi. Ini artinya Anda dapat lebih pasti dalam mengirimkan informasi ke server yang benar-benar valid dan bukan malah ke kriminal server . Mengapa ini begitu sangat penting ? Sifat dasar dari internet artinya bahwa pelanggan Anda akan lebih sering dalam mengirimkan informasi yang melewati beberapa jumlah komputer. Setiap dari komputer ini bisa berpura-pura menjadi website Anda dan mengelabui pengguna Anda untuk mengirimkan informasi mereka ke komputer tersebut. Hal ini hanya dapat dihindari dengan menggunakan Public Key Infrastructure (PKI), dan mendapatkan sertifikat SSL dari penyedia SSL terpercaya.
Dalam modul kali ini penulis berperan sebagai CA (Certificate Authority) yang akan menandatangani sertifikat sendiri serta merubah sertifikat SSL yang dimiliki oleh XAMPP.
langkah - langkah yang akan kita lakukan akan terbagi menjadi beberapa tahapan :1. Perisapan2. Membuat Sertifikat CA3. Membuat Sertifikatt Untuk Localhost
4. Menandatangani Sertifikat Request5. Meletakan CRT dan Key Ke Apache6. Menginstall sertifikat CA
Persiapan
1. Buka CMD, lalu ketikan perintah cd \ (enter)
2.Lalu buat folder baru dengan nama sslcert, untuk membuat direktori menggunakan CMD ketikan Perintah mkdir. mkdir sslcert (enter)
3. Kemudian masuk kedalam folder sslcert dengan perintah cd \sslcert (enter)
4.Setelah berada pada folder sslcert, langkah selanjutnya adalah membuat 2 folder baru, yaitu folder certs dan private. ketikan perintah mkdir certs private (enter)
Folder certs nantinya untuk menampung semua sertifikat yang dihasilkan dan folder private untuk menyimpan semua private-key kita.
5.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)
6.Kemudian Buat sebuah berkas baru, namanya certindex.txt untuk menampung daftar sertifikat yang telah kita tandatangani.ketikan perintah notepad certindex.txt (enter)
Apabila muncul pesan peringatan seperti pada gambar dibawah ini maka klik Yes, peringatan tersebut muncul karna file certindex belum ada, dan notepad akan membuat file tersebut.
7.Sekarang buat konfigurasi OpenSSL kita, dengan perintah notepad openssl.cnf (enter)
Apabila muncul pesan peringatan seperti pada gambar sebelumnya maka klik saja Yes.lalu copy-paste baris baris berikut :## 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 = suppliedemailAddress = 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 = 2
commonName = Common Name (hostname.com, IP, or your name)commonName_max = 64
# 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
Membuat Sertifikat CA
Sebagai kepala unit IT di organisasi Anda, Anda harus bisa menandatangani sertifikat seluruh server. Untuk itu, Anda harus memiliki dahulu sebuah sertifikat (KEY, privateKEY) yang digunakan untuk menandangani seluruh sertifikat request (CSR) dari seluruh unit yang lain.
Sekarang, kita buat sertifikat PKI untuk CA kita, yang nantinya akan digunakan oleh perusahaan / sekolah / universitas Anda untuk menandatangani seluruh sertifikat di kantor / lab / kampus.
adapun langkah - langkah untuk membuat sertifikat PKI untuk CA adalah sebagai berikut :
1. 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)
2.kemudian masukan password yang akan kita gunakan untuk sertifikat CA kita :
Setelah berhasil memasukan password, maka kita akan diminta untuk memasukan informasi yang di butuhkan pada sertifikat.
You are about to be asked to enter information that will be incorporatedinto 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 blankFor 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 []:[email protected] 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) []:windi.com
Dengan perintah di atas, kita sekarang sudah memiliki sebuah kunci private untuk menandatangani sertifikat. Kunci private tersebut disimpan di folder private, dengan nama CAkey.pem.
Adapun berkas CAcert.pem adalah sertifikat public kita yang nanti akan digunakan oleh client untuk menginstal sertifikat kita.
Membuat sertifikat untuk Localhost
Selanjutnya, kita akan membuat sertifikat untuk localhost, untuk menggantikan sertifikat yang dibuat oleh XAMPP, dan sertifikat ini akan kita tandatangani sendiri dengan CAkey (private key) kita.
Perintah dibawah ini digunakan untuk membuat sebuah sertifikat REQuest, privateKEY. Semuanya dalam format *.pem. Nantinya, localhost-req.pem ini akan dikirimkan ke CA agar nanti ditandatangani (dan kalau ROOT CA, Anda harus bayar), nantinya CA akan menghasilkan .CRT, yang CRT ini berikut dengan localhost-key.pem (private key) akan diinstall ke Apache.
1. 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)
Kemudian masukan informasi yang dibutuhkan oleh sertifikat.
Organization Name (company) [Universitas Islam Negeri Sultan Syarif Kasim]:Organizational Unit Name (department, division) []:IT DepartmentEmail Address []:[email protected] 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
Menandatangani Sertifikat Request
Sebagai CA, Anda harus menandatangani seluruh request (yang valid) dari organisasi Anda. Kali ini, kita menandatangani sertifikat request dari server localhost, dimana si localhost ini telah memberikan berkas localhost-req.pem kepada kita.
Sekarang, jika ingin membuat snake-oil certificate, kita sendiri yang menjadi CA dan menandatangani sertifikat request tadi.
Biasanya perintah ssl tidak mau jalan apabila kita belum mengsetting path nya.
Adapaun perintah untuk mengsetting path agar memasukkan direktori C:\xampp\apache\bin adalah :set path=C:\xampp\apache\bin;%PATH% (enter)
Setelah selesai menyeting path untul ssl maka selanjutnya yang akan kita lakukan adalah menandatangani sertifikat request dari localhost-req.pem tadi, gunakan perintah:openssl ca -out localhost.crt.pem -config ./openssl.cnf -infiles localhost-req.pem (enter)
Using configuration from ./openssl.cnfLoading 'screen' into random state - done
Enter pass phrase for ./private/cakey.pem:[masukkan password privatekey CA Anda]Check that the request matches the signatureSignature okThe Subject's Distinguished Name is as followsorganizationName :PRINTABLE:'Universitas Islam Negeri Sultan Syarif Kasim'organizationalUnitName :PRINTABLE:'IT Department'localityName :PRINTABLE:'Pekanbaru'stateOrProvinceName :PRINTABLE:'Riau'countryName :PRINTABLE:'ID'commonName :PRINTABLE:'localhost'Certificate is to be certified until Jan 1 08:56:03 2027 GMT (3650 days)Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]yWrite out database with 1 new entriesData Base Updated
Setelah melewati tahap ini, Anda akan memiliki sebuah CRT, localhost.crt.pem yang dapat Anda letakkan ke server localhost Anda. Jangan lupa bahwa Apache juga membutuhkan private KEY untuk localhost ini.
Meletakkan CRT dan KEY ke Apache
Setelah Anda sukses membuat CRT dan KEY, sekarang Anda harus meletakkanya ke XAMPP. Jika XAMPP di install di drive C:, maka coba navigasi ke folder C:\xampp\apache\conf
Letakkan CRT ke folder ssl.crt
Dan KEY ke ssl.key
Setelah itu, jangan lupa diganti konfigurasi Apache agar menggunakan sertifikat baru yang Anda buat. Konfigurasi yang harus diganti biasanya terletak di folder extra, cari berkas httpd-ssl.conf
Kemudian ganti dengan sertifikat yang baru :
Restart XAMPP, sekarang Anda telah menggunakan sertifikat yang baru.
Menginstall Sertifikat CA.
Setelah berhasil Anda buat, sertifikat public key CA yang Anda buat tadi (CAcert.pem) harus Anda install dahulu ke SELURUH komputer yang nantinya akan menggunakan sertifikat yang kita tanda tangani. Menginstallnya cukup sekali saja. Internet Explorer dan Google Chrome
menggunakan mekanisme yang sama, sedangkan Mozilla Firefox menggunakan database root CA sendiri, jadi harus di install juga (lagi) di Firefox.Adapun langkah - langkah untuk menginstall sertifikat CA adalah sebagai berikut :
1. Buka Web Browser anda. (disini penulis menggunakan Mozila Firefox), kemudian pilih Tools » Option » Advance » Encryption » View Certificates
2. lalu installkan sertifikat yang telah kita buat kedalam web browser dengan cara mengimportkan sertifikat yang telah kita buat.
3. Disini penulis akan mengimportkan sertifikat dari windi.rohma.com
4. untuk melihat detail dari sertifikat yang telah kita install maka kita tinggal menekan view.
Sekalipun telah di install, koneksi https kita tetap akan tersilang di Google Chrome, tetapi tidak apa-apa, dan sedikit lebih baik daripada yang keluar adalah pesan Error koneksi tidak privat, walaupun kita tahu koneksi itu privat.