Apakah OpenSID aman?

Seperti halnya semua Sistem Informasi Desa lainnya, database aplikasi OpenSID digunakan untuk menyimpan data penduduk dan data desa lainnya yang perlu dijaga keamannya. Hanya pihak-pihak yang berhak yang diperbolehkan mengakses data tersebut.

Karena itu, sangat wajar jika pihak perangkat desa dan dinas Kominfo terkait, sebelum meng-onlinekan aplikasi OpenSID mereka, ingin mengetahui apakah OpenSID aman atau lebih tepatnya, sejauh manakah penerapan keamanan di aplikasi OpenSID?

Pertama-tama, kita perlu paham bahwa tidak ada satupun aplikasi online yang sepenuhnya aman dari semua serangan online, walaupun aplikasi milik negera dan lembaga komersial dengan anggaran besar dan teknologi canggih sekalipun. Kita sudah terbiasa mendengar peristiwa database perusahaan besar atau instansi negara yang sistemnya diterobos penyerang online.

Meskipun resiko kebobolan selalu ada, penyedia aplikasi online terus berjalan, karena kemudahan/pendayagunaan/manfaat yang dimungkinkan oleh aplikasi online dianggap setimpal dengan resiko yang ada.

Demikian juga dengan penyediaan aplikasi SID online, termasuk OpenSID. Sudah banyak aplikasi OpenSID desa dan juga aplikasi SID CRI (OpenSID berasal dari SID CRI) yang sudah online, demi memperoleh manfaat adanya SID online. Bahkan banyak aplikasi SID CRI desa yang sudah bertahun-tahun online.

Pada umumnya, penyedia aplikasi online berusaha untuk mengantisipasi resiko serangan, dan menerapkan pertahanan terhadap resiko serangan tersebut. Jika terjadi peristiwa serangan, umumnya penyedia aplikasi akan mempelajari serangan yang terjadi dan menutup titik lemah yang ditemukan.

Demikian juga dengan OpenSID. Kelebihan OpenSID timbul dari sifatnya yang 'open source', yang terbuka dan dikembangkan bersama-sama oleh komunitas OpenSID yang anggotanya adalah perangkat desa dan pegiat desa. Masukan mengenai resiko keamanan dan cara menutup kelemahan datang dari seluruh komunitas OpenSID -- yaitu dari pihak-pihak yang berkepentingan -- karena merekalah yang memerlukan OpenSID menjadi seaman mungkin.

Ini berbeda dengan aplikasi yang dikembangkan lembaga atau perusahaan tertutup, di mana tindakan perbaikan atau penguatan keamanan belum tentu diumumkan atau diketahui -- di mana pengguna hanya bisa mendapatkan informasi yang diberikan oleh pengembang dan tidak bisa memeriksa sendiri.

Karena pengembangan secara komunitas tersebut, keamanan OpenSID terus meningkat. Versi baru OpenSID dirilis secara rutin (sekarang sebulan sekali), dan perbaikan keamanan selalu diberi prioritas pada setiap rilis. Bahkan perbaikan keamanan yang bersifat kritis bisa dirilis kapan saja. Di kalangan komunitas OpenSID, ada beberapa pegiat yang mengkhususkan diri untuk berurusan dengan keamanan aplikasi OpenSID.

Penggunaan OpenSID Online

Penggunaan OpenSID online dapat dibagi dalam tiga bagain :

  1. Pengunjung publik
  2. Layanan mandiri bagi warga
  3. Akses administrasi OpenSID untuk perangkat desa 

Pengunjung Publik

Pengunjung publik dapat menampilkan artikel dan melihat laporan yang disediakan oleh administrator. Adalah tanggung jawab administrator untuk memastikan setiap artikel dan laporan hanya berisi data yang boleh dilihat oleh publik.

Dalam hal ini resiko kemanan terbatas pada apakah pengunjung dapat mengisi alamat web (url) yang dapat menampilkan data yang seharusnya bukan untuk pengunjung umum. Untuk menghindari ini, pengunjung harus login untuk menampilkan data sesuai dengan hak aksesnya. Pengunjung umum, yang tidak login, hanya bisa menampilkan artikel dan laporan yang memang ditujukan pada publik. Selain itu, OpenSID juga mencegah pengunjung publik menampilkan isi folder web.

Pengunjung publik juga disediakan fasilitas untuk menulis komentar pada artikel yang ditampilkan. Resiko pada pengisian komentar adalah :

  1. isi komentar yang tidak patut
  2. serangan XSS (cross-site scripting)
  3. serangan sql injection
  4. serangan spam, dengan pengiriman komentar secara otomatis

Pencegahan masing-masing resiko tersebut dilakukan dengan :

  1. setiap komentar dimoderasi, yaitu harus diperiksa administrator sebelum ditampilkan untuk umum
  2. menggunakan fitur platform (Codeigniter) untuk mencegah XSS
  3. menggunakan fitur Codeigniter untuk mencegah sql injection
  4. menggunakan fitur captcha pada form komentar untuk mencegah pengisian komentar oleh program secara otomatis

Jika perlu, administrator dapat menutup fasilitas komentar, sehingga pengunjung tidak bisa lagi memberi komentar pada suatu artikel.

Layanan Mandiri bagi warga

OpenSID menyediakan layanan mandiri bagi warga, di mana setelah login, warga dapat menampilkan data pribadi mereka yang tersimpan di database OpenSID untuk mereka periksa.

Warga dapat login menggunakan NIK dan kode sandi (PIN) yang dirahasiakan. Warga diminta untuk selalu mengamankan PIN mereka supaya tidak diketahui atau digunakan orang lain. Setiap saat warga dapat meminta administrator untuk memberi mereka PIN yang baru. Setiap kali mendapat PIN baru dari administrator, warga diberi kesempatan untuk mengubah PIN pilihannya. Karena PIN disimpan di database menggunakan enkripsi, hanya warga yang bersangkutan yang mengetahui.

Untuk mencegah pencobaan login secara otomatis, jumlah login salah dibatasi sampai tiga kali. Setelah gagal login tiga kali, login terkunci untuk beberapa menit sebelum dibuka kembali.

Setelah login, warga hanya dapat menampilkan data mereka sendiri, dan tidak dapat melihat data warga lain, walaupun dengan manipulasi alamat web (url).

Warga yang login juga dapat mengirim laporan kepada kantor desa dalam bentuk pesan. Resiko keamanan fitur ini serupa dengan fitur komentar yang disediakan untuk pengunjung publik. Pengamanannya serupa juga. Laporan dari warga hanya dilihat oleh administrator, dan tidak ditampilkan pada publik. Form laporan tidak perlu diberi captcha, karena warga harus login untuk mengisi form ini.

Apabila ada warga yang dianggap menyalahi aturan penggunaan layanan mandiri, administrator dapat menghapus hak akses warga tersebut kapan saja.

Akses Administrasi OpenSID oleh perangkat desa

Administrator dapat memberi akses pada staf kantor desa untuk login ke modul Administrasi OpenSID. Akses ini diperlukan untuk melakukan fungsi pengelolaan data desa seperti pengisian data penduduk, layanan surat menyurat, penyusunan materi web, dll.

OpenSID menyediakan 4 (empat) tingkat pengguna dengan hak akses yang berbeda. Masing-masing tingkat dapat menjalankan fitur dan menampilkan data sesuai dengan peran masing-masing jenis pengguna. Hanya pengguna jenis Administrator yang dapat melakukan semua fungsi yang disediakan OpenSID.

Seperti halnya pada aplikasi lainnya, hak akses Administrator OpenSID perlu dibatasi dan hanya diberikan pada petugas yang terpercaya. Juga tentunya, semua jenis pengguna perlu dibatasi pada petugas yang memang memerlukan. Pengamanan username dan password pengguna OpenSID tidak beda dengan pengamanan username dan password pada aplikasi manapun.

Password pengguna tersimpan dalam database dalam bentuk terenkripsi, sehingga tidak bisa ditebak walaupun database pengguna terakses.

Resiko serangan online akan bertambah seiring dengan banyaknya pengguna yang diberi akses ke modul Administrasi OpenSID. Selain membatasi jumlah pengguna, strategi lainnya yang dapat digunakan untuk mengurangi resiko serangan online adalah dengan membatasi penggunaan OpenSID online hanya pada penyediaan data bagi publik dan warga.

Yaitu, pengelolaan data untuk mendukung kegiatan kantor desa dan untuk administrasi data desa tidak dilakukan online, tetapi tetap dilakukan menggunakan OpenSID offline di jaringan komputer di kantor desa yang tidak bisa diakses melalui internet.

Pada strategi ini, OpenSID online tidak digunakan untuk pengelolaan data. Karena itu, akses pada modul Administrasi di OpenSID online cukup disediakan untuk satu pengguna saja. Dengan demikian, resiko keamanan akan menjadi lebih kecil.