10 Step To Setup HTTPS Server
10 Step To Setup HTTPS Server
Berikut adalah langkah-langkah yang perlu dilakukan untuk menjadikan web server kita akses secara https sahaja.
4) Cipta Self Signed Key # openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
# cp ca.csr /etc/pki/tls/private/ca.csr
8) Edit fail ssl.conf : # nano +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf Cari line berikut dan ubah kepada berikut :
9) Edit fail httpd.conf : Cari line berikut dan ubah kepada berikut : #Listen 80
Kan senang dah siap...cuma certificate yang dicipta tu bukanlah cert yang universal valid. Nak guan yang valid kena daftar di DigiCERT.
Selamat Mencuba!
*Sampai botak memikir hehehe...aku kagum dengan bakat steve jobs and belajar apa yang baik padanya, but i am totally hate yahudi
Aku nak kongsi tips-tips yang aku perolehi berdasarkan pengalaman sendiri dan juga pengalaman orang lain.
2) Pastikan Application server (PHP) telah melaksanakan konfigurasi yang selamat juga
3) Pastikan Database Server (mysql / postgresql) turut telah melaksanakan konfigurasi yang selamat juga
4) Pastikan semasa pembangunan sistem atau naiktaraf sistem, jangan sekali-sekali lakukan pada host server yang sedang live kerana ini mengundang kepada masalah berikut : - serangan hackers yang mudah sebab aplikasi dibangunkan tidak sepenuhnya bersedia untuk live - pengguna sistem akan merasa terganggu dan sakit hati sebab asyik berubah sahaja sistem yang sedang digunakan mereka pada masa tu.
5) Semasa membangunkan sistem, laksanakan di server ujian sebelum di transfer kepada server live. Pastikan server ujian mempunyai konfigurasi kawalan keselamatan web server dan application server yang sama seperti server sebenar bagi mengelakkan fungsi sistem dibangunkan tidak dapat dilaksanakan di server live nanti
6) Kenalpasti keperluan perisian sokongan sebelum membangunkan sistem aplikasi bagi memastikan proses migrasi kepada server sebenar lebih mudah. - kenalpasti konfigurasi, jenis dan versi web server - kenalpasti konfigurasi, jenis dan versi application server - kenalpasti konfigurasi, jenis dan versi database server - kenalpasti module dan perisian sokongan dari segi jenis dan versi bagi memastikan
7) Jangan sesekali suka menggunakan nama fail yang mudah dikenali seperti :
- admin_edit.php - admin_delete.php
Ini kerana nama tersebut mudah dikenali di seluruh dunia. Cuba berikan nama bersesuaian dan lebih bersifat lokaliti cth :
- ptadbir_kemaskini.php - ptadbir_padam.php
Nama mengikut lokaliti mengurangkan risiko nama fail dan fungsinya dikenali hackers kerana kebanyakan mereka memang tau berbahasa inggeris sebab belajar ICT ni semua rujukan kebanyakannya dalam bahasa inggeris. Namun kena ingat, orang malaysia pun dah pandai hack...so fikirkanlah nama bersesuaian yang susah orang lain untuk kenalpasti fungsi fail tersebut TAPI...jangan pula sampai pembangun sistem sendiri tak tahu...
8) Jangan sesekali suka meninggalkan fail backup di dalam folder yang akan diletakkan di dalam host server live. Begitu juga dengan fail untuk kegunaan restore database barangkali ada dalam server live. Contohnya :
Langkah ini mengundang risiko paling bahaya kepada sistem anda kerana kemungkinan fail tersebut tidak ditetapkan kawalan keselamatan yang ketat kerana ianya tidak bersedia untuk paparan live server dan ini mengundang hackerz untuk menjadikannya sebagai batu loncatan bagi membolehkan menceroboh server tersebut seterusnya melakukan kerja tak sepatutnya pada sistem tersebut.
9) Apabila membangunkan sistem yang mempunyai tahap capaian yang ketat, maka pemerhatian terperinci perlu dibuat kepada kaedah kawalan capaian kepada data di
if session(validuser) = true paparkan data dikehendaki else redirect ke page login bagi memaksa pengguna login dahulu endif
10) Penggunaan session atau cookies perlulah berhati-hati dan pastikan datanya di encypt agar tidak dapat diserang menerusi man in the middle attack. Validation setiap page perlu dibuat bagi memastikan ianya mematuhi ketetapan sistem berdasarkan tahap capaian.
11) Jangan sesekali suka dan terlalu banyak menggunakan include dalam satu-satu page. Ini mengundang risiko berikut jika tidak dikawal sebaiknya : - serangan hackerz menerusi include injection kepada page include yang tidak dikawal tahap capaian - memperlahankan akses dan proses kepada page tersebut. mengundang kebosanan pengguna gunakan sistem
12) Minimakan penggunaan javascript dan sebolehnya diringkaskan codingnya. Begitu juga coding server side di setiap page perlu diringkaskan sebaik mungkin agar proses page dapat dikurangkan dan lebih cepat. percayalah!...ia memang amat membantu
13) Kawal juga jenis fail dan saiz fail yang ingin di upload ke dalam server. Ini kerana tanpa ada kawalan yang baik akan mengundang serangan hackerz yang amat mudah dan juga turut menyebabkan server menjadi slow kemungkinan serangan DDOS kepada upload page tu. Selain tu tiada penetapan saiz fail bakal menyebabkan pengguna akan mengalami respon sistem yang teramat perlahan, Cuba gunakan kaedah pecah kecil fail sebelum di hantar kepada server.
14) Bagi kemasukan data yang banyak sampai 2-3 page borang manual dan dilaksanakan dalam sistem yang besar penggunanya akan menyebabkan sistem terasa amat perlahan kesudahannya, percayalah. Sebaiknya pecah kecil mengikut subtopik pada borang tersebut dan kemaskini secara runcit ke dalam server. Ini bagi mengurangkan proses penghantaran data yang terlalu besar sekaligus kepada server
secara serentak kepada semua pengguna pada satu-satu masa. Pecah kecil akan membantu mengurangkan packet data yang diproses seterusnya melajukan akses kepada sistem
15) Bagi pelaksanaan web sistem, janganlah melaksanakannya mengikut flow sistem client server seperti ada satu sistem tu...Bina interface yang user friendly dan mudah dicapai dalam 1 muka surat tanpa perlu scroll panjang ke bawah serta mudah nak mencapai fungsi-fungsi tertentu dalam sistem. Kaedah HCI (Human Computer Interface) ni memang dah jadi topik utama dalam ijazah atau diploma ICT sekarang ni...
16) Pastikan form page perlulah dibuat validation bagi menjadikannya zero error input daripada pengguna. Make it as perfect as possible supaya nanti pembangun sistem tk perlu pening kepala nak kena ubah database ikut jalan belakang.
* Aku rasa setakat ni dulu apa yang aku teringat untuk dikongsi bersama. Jika rakanrakan ada cadangan tambahan lain pada artikel ni amatlah dialukan.