tutorial ca
TRANSCRIPT
KEMANANAN SISTEM INFORMASITutorial CA by endang setianingsih
Menjalankan CMD sebagai Administrator
Berkas Host Setting VirtualHost dengan Xampp Mengganti Sertifikat SSL XAMPP Membuat HTTPS - Localhost - Domain
CMD SEBAGAI ADMINISTRATOR
Cari CMD di searchklik kanan lalu pilih Run as Administrator
CARA MEMBUAT BERKAS HOST
Host 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 Seperti:C:\Windows\System32\drivers\etc\hosts
diperlukan hak akses sebagai administrator untuk bisa mengedit file hosts menambahkan alamat IP.Contoh: dalam modul ini saya akan menambahkan alamat IP 127.0.0.0 dengan DNS endang.com pada file hosts.
Langkah – langkah sebagai berikut : Buka CMD sebagai administrator Lalu ketikan perintah notepad \Windows\System32\drivers\etc\host Klik enter
LANJUTAN...
Setelah menekan enter maka CMD akan membuka file hosts.
Tambahkan host baru di bagian paling bawah
contoh:127.0.0.1 endang.com Save (ctrl +s)
LANJUTAN...
periksa host yang telah di buat dengan perintah ping
Contoh : ping endang.com Jika berhasil maka hasilnya akan seperti
berikut:
SETTING VIRTUALHOST DENGAN XAMPP HTTP Daemon yang paling banyak digunakan adalah
apache. http://httpd.apache.org/ Apache mendukung VirtualHost, dokumentasi resmi dari Apache 2.4 untuk VirtualHost sebagai berikut:
http://httpd.apache.org/docs/2.4/vhosts/ http://httpd.apache.org/docs/2.4/mod/core.html#virtualhosthttp://httpd.apache.org/docs/2.4/vhosts/name-based.html Setelah berhasil membuat berkas hosts, maka
selanjutnya akan di lakukan adalah mensetting virtualhost.
Caranya sebagai berikiut :
LANJUTAN... Xampp menggunakan versi : xampp-win32-5.6.15-1-VC11 Buka CMD sebagai administrator Ketikan perintah:notepad C:\xampp\apache\conf\httpd.conf (jika Anda menginstal xampp di drive C)
LANJUTAN... Selanjutnya buatlah folder sites-enabled pada
direktori conf menggunakan perintah:mkdir C:\xampp\apache\conf\sites-enabled
Kemudian buat sebuah berkas di dalam folder sites-enablednotepad C:\xampp\apache\conf\sites-enabled\tata.com.conf<VirtualHost *:80> ServerAdmin admin@endang DocumentRoot "C:/xampp/vhosts/endangpublic_html" ServerName endang ServerAlias www.endang ErrorLog "C:/xampp/vhosts/endang/logs/error.log" CustomLog "C:/xampp/vhosts/endang/logs/access.log" combined
</VirtualHost><Directory "C:/xampp/vhosts/endang/public_html"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>
Save
LANJUTAN...
Buatlah direktori vhosts untuk meletakan logs dan public_html (tempat penyimpanan website)
Ketikkan perintah dibawah pada CMD : (berkas host endang)
mkdir C:\xampp\vhostsmkdir C:\xampp\vhosts\endangmkdir C:\xampp\vhosts\endang\logsmkdir C:\xampp\vhosts\endang\public_html tambahkan berkas host notepad C:\Windows\System32\drivers\etc\hosts
Lalu restart ulang apache pada xampp Jika berhasil maka apache akan jalan Jika tidak maka ada kesalahan pada settingan host , atau di httpd.conf Ketelitian sangat diperlukan dalam mengetikan perintah di CMD atau di
notepadnya
CARA MEMBUKTIKAN APACHE SUDAH MEMILIKI DUA BUAH DOCUMENT ROOT::/xampp/htdocs untuk http://localhost Bukak mozila firefox Ketikan localhost
Cara membuktikan Apache sudah memiliki dua buah Document Root:
"C:/xampp/vhosts/tata/public_html" jika ada yang mengakses http://endang
MENGGANTI SERTIFIKAT SSL XAMPP:
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 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.
LANJUTAN.. 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.
Langkah membuat sertifikat yang selesai di tandatangani CA
- Perisapan- Membuat Sertifikat CA- Membuat Sertifikatt Untuk Localhost- Menandatangani Sertifikat Request- Meletakan CRT dan Key Ke Apache- Menginstall sertifikat CA
- Buka CMD sebagai administrator- Ketikan perintah cd \ (enter)- Buat folder sslcert- Ketikan perintah mkdir sslcert (enter)- Masuk kedalam folder sslcert- Ketikan perintah cd \sslcert (enter)
Kemudian saat 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. 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)
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.
Lalu Save (ctrl + s)
Langkah berikutnya adalah membuat konfigurasi OpenSSL
Ketik perintah notepad openssl.cnf (enter) bila 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 = 2commonName = 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 Save (ctrl +s)
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.
Cara 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) Kemudian masukan password yang akan kita gunakan untuk sertifikat CA
kita Peringatan !!!
hati – hati pada saat memasukan password karena di cmd tidak terlihat hasil password yang telah dibuat, jadi harus diperhatikan !
setelah berhasil memasukan password, maka 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) []:endang.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, 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 ditandatangani (dan kalau ROOT CA, Anda harus bayar), kemudian CA akan menghasilkan .CRT, yang CRT ini berikut dengan localhost-key.pem (private key) akan diinstall ke Apache.
Cara membuat https localhost : 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 akan menandatangani sertifikat request dari server localhost, dimana si localhost ini telah memberikan berkas localhost-req.pem kepada kita.
jika ingin membuat snake-oil certificate, kita sendiri yang menjadi CA dan menandatangani sertifikat request.
Langkah – langkah menandatangani sertifikat CA : Buka CMD sebgai administrator Masuk kedalam folder sslcert Ketikan perintah cd \sslcert (enter) Setelah masuk kedalam folder sslcert, kita setting PATH Ketikan perintah 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)
Langkah – langkah menandatangani sertifikat CA :Using configuration from ./openssl.cnfLoading 'screen' into random state - doneEnter 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:’SIF E'localityName :PRINTABLE:'Pekanbaru'stateOrProvinceName :PRINTABLE:'Riau'countryName :PRINTABLE:'ID'commonName :PRINTABLE:'localhost'Certificate is to be certified until jan 7 08:35:29 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
langkah menandatangani sertifikat CA : 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
instalkan CA yang sudah ditandatangani ke apache, mozila firefox, google chrom, internet explorer kita
Langkah – langkah menginstal SA yang sudah di tandatangani : 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
Letakan localhost.crt.pem ke apache yang terdapat di :C :/xampp/apache/conf/ssl.cert Letakan juga localhost-key.pem yang terdapat di :C:/sslcert/private Pindahkan ke :C :/xampp/apache/conf/ssl.key
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
Lalu ganti server menjadi localhost Masuk ke mozila Pilih options Pilih advance View certificates
Letakan sertifikat ke xampp kita , caranya sama seperti sebelumnya
Lalu tambahkan pada berkas httpd-ssl.conf ini :<VirtualHost _default_:443># General setup for the virtual hostDocumentRoot "C:/xampp/htdocs"ServerName endang.com:443ServerAdmin adminssl@ endang.com.comErrorLog "C:/xampp/apache/logs/error.log"TransferLog "C:/xampp/apache/logs/access.log"# SSL Engine Switch:# Enable/Disable SSL for this virtual host.SSLEngine onSSLCertificateFile "conf/ssl.crt/ endang.com.crt.pem"SSLCertificateKeyFile "conf/ssl.key/ endang.com-key.pem"<FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars</FilesMatch><Directory "C:/xampp/apache/cgi-bin"> SSLOptions +StdEnvVars</Directory></VirtualHost>
Instalkan sertifikat tadi ke mozila firefox/google chrom/internet explorer
Caranya sama seperti sebelumnya sertifikat berhasil di install maka di ketikan
https://endang.com