Sistem yang berbasis online memudahkan dan menyelesaikan masalah dalam perusahaan. Sistem berbasis online dapat diakses di mana pun pengguna berada. Fleksibilitas yang menjadi nilai tambah dapat membuat pegawai, bos atau pengguna bisa melakukan aktivitas perusahaan tanpa ada batasan waktu dan tempat. Memantau sistem menjadi mudah, memecahkan masalah yang urgent menjadi mudah dan dapat diselesaikan saat itu juga
Fleksibilitas dan kelebihan lain dari sistem berbasis online memiliki kerentanan terhadap serangan hacker. Oleh sebab itu penting untuk sebuah sistem berbasis online memiliki keamanan yang memadai dan dapat diandalkan. Berikut beberapa tips untuk keamanan sistem berbasis online
1. Komunikasi Menggunakan Protokol Secure (HTTPS)
Sistem berbasis online mengandalkan komunikasi antara pengguna dengan server. Komunikasi ini bersifat rahasia karena sering berkomunikasi dengan data-data yang sensitif seperti email, username, password, rahasia perusahaan, data pembayaran, informasi bank dan lain-lain. Komunikasi yang tidak menggunakan protokol HTTPS tidak terproteksi, dapat dibaca oleh orang-orang yang berniat tidak baik.
Dengan menerapkan protokol secure HTTPS pada tingkat komunikasi penguriman data, seluruh data dalam komunikasi akan terenkripsi menjadi huruf-huruf yang tidak dapat dibaca oleh siapapun kecuali server itu sendiri. Semua huruf terenkripsi menjadi tidak bermakna
Menerapkan HTTPS pada sistem anda membutuhkan biaya yang berada diluar perhitungan paket dan instalasi yang memiliki banyak proses. Jika anda menggunakan Jasa Pembuatan Sistem Online pada kami FilosofiWeb, anda akan mendapatkan security HTTPS secara gratis dan tidak dikenakan biaya.
2. Menerapkan Session atau JWT Session dengan login
Server bertanggung jawab untuk memastikan komunikasi data berasal dari sumber terpercaya pada setiap halaman sistem. Sumber terpercaya yang dimaksud adalah user terdaftar dalam sistem seperti pegawai, bos, pengguna terdaftar dan lain-lain. Banyak dijumpai halaman pembayaran tanpa melakukan verifikasi user sehingga halaman dapat diakses oleh siapapun.
Cara server melakukan verifikasi user dengan menerapkan session dengan cookie atau JWT session dengan request header pada API. Jika user tidak tervalidasi maka akan server merespon 401(unauthenticted)
3. Menggunakan Token Sebagai Watermark halaman URL
Meskipun user tervalidasi yang melakukan komunikasi, namun sistem tidak boleh mempercayai data yang dikirimkan oleh user. User dengan pengetahuan IT dengan niat yang buruk dapat merubah data yang dikirimkan ke server. Seperti contoh halaman pembayaran menggunakan data invoice, user dapat mengganti nomer invoice untuk niat yang tidak baik
Oleh sebab itu server harus memberikan watermark yang disebut token pada data halaman url yang dikirimkan untuk user. Server akan mengetahui jika token dan data tidak singkron. Jika token dan data tidak singkron, maka server akan menolak akses pada halaman tersebut.
Proses tokenisasi dilakukan dengan enkripsi dari pengumpulan seluruh data kemudian diberi password yang disebut salt. Password ini hanya server yang boleh mengetahui nya.
4. Validasi Data User Sebelum Proses
Data komunikasi dari user harus diasumsikan selalu memiliki kesalahan (praduga bersalah). Server bertanggung jawab untuk melakukan kontrol terhadap data user. Seperti contoh validasi untuk form pendafataran user baru. Server membutuhkan data nama dari user tersebut untuk proses sistem selanjutnya seperti pembayaran. Server harus berasumsi bahwa user dapat mengirimkan data nama yang kosong. Dengan asumsi praduga bersalah ini, Server akan melakukan cek, jika data nama kosong maka server akan menolak akses user sampai data nama terkirim dengan benar
5. Sanitasi Data User Menghindari SQL Injection
SQL Injection adalah teknik yang menyalahgunakan query dari database. Celah ini terjadi ketika input dari pengguna tidak disanitasi secara benar, contohnya adalah memasukan query database pada form input user seperti kata-kata 'TRUE'. 'TRUE' tersebut mengakibatkan query menghasilkan seluruh data yang ada di dalam database
Untuk mengatasi serangan SQL Injection bisa menggunakgan pg_exec pada postgres dengan binding param dari data user. Cara lainnya adalah preproses seluruh data dengan fungsi pg_escape_string
6. Password Akses Server Jangan asdf1234
Penting untuk diingat bahwa password akses server adalah yang terpenting karena server berhasil diretas, maka server akan hilang selamanya karena password dapat diganti.
7. Aktivasi Firewall Pada Server
Firewall akan melakukan filter terhadap port yang dapat diakses oleh publik. Port umum yang diperbolehkan untuk diakses adalah 80 dan 443 untuk http dan https. Port database, port socket atau port lainnya sebaiknya diproteksi oleh firewall agar publik tidap dapat akses secara langsung. Database yang dapat diakses oleh publik akan berakibat fatal jika berhasil diretas.
Demikian beberapa tips dari kemungkinan serangan-serangan dari orang berniat jahat pada sistem berbasis online. FilosofiWeb memastikan sistem anda selalu mendapat keamanan terbaik