Web Security
Web Security adalah keamanan
untuk sebuah web atau tata cara mengamankan aplikasi web yang di kelola, biasa
nya yang bertanggung jawab melakukan nya adalah pengelola aplikasi web
tersebut. Berbicara mengenai masalah yang berkaitan dengan keamanan di dalam
era digital tidak lepas dari 3 prinsip utama yaitu : Confidentiality,
Integrity, dan Availability atau lebih dikenal dengan nama CIA. Sama halnya
ketika bergelut dengan keamanan (security) sebuah website, princip CIA sudah
selayaknya dijadikan pedoman yang harus dipahami apabila ingin website kita
lebih aman dan sulit untuk diserang.
CONFIDENTIALITY
Confidentiality memiliki makna
bahwa data-data ataupun informasi-informasi yang berada di dalam sebuah website
hanya dapat di baca atau di akses oleh orang-orang yang memang memiliki
kewenangan untuk mengaksesnya. Dalam era konsep Web 2.0 yang sedang berkembang
beberapa tahun belakangan ini, sangat memungkinkan sebuah website untuk dapat memiliki lebih dari
satu administrator. Contohnya adalah WordPress engine.Idealisme Web 2.0 yang
dapat mengajak siapa pun menjadi kontributor artikel-artikel di dalam sebuah
website, membuat siapa pun dapat mengakses halaman administrator untuk
memberikan kontribusinya baik dalam bentuk artikel maupun manajemen. Hal ini
sangat berbahaya mengingat pada halaman administrator kita dapat mengedit
file-file yang menjadi theme dari website yang bersangkutan. Dalam kasus
WordPress, untuk mengantisipasi tangan-tangan jahil orang yang tak dikenal,
developer WordPress sendiri telah mengantisipasi hal ini dengan cara membuat
role-role dari setiap user yang dimiliki. Sebagai contoh, Role selain
administrator tidak dapat mengubah theme dan/atau plugin website yang
bersangkutan. Sehingga tidak mungkin pengubahan theme dilakukan oleh user
selain administrator. Lebih lengkap mengenai fitur-fitur yang dapat diakses
oleh role-role user dapat dilihat di artikel: Perbedaan Role pada WordPress.
Dengan pembagian Role seperti ini data ataupun informasi seperti list user-user
hanya akan dapat dilihat oleh sang administrator sedangkan profile user dapat
di akses oleh masing-masing user. Dengan demikian tingkat keamanan dapat
dikatakan semakin tinggi.
INTEGRITY
Integrity memiliki pengertian
data-data yang berada didalam server atau website hanya dapat diubah ataupun di
delete oleh orang yang memiliki kewenangan untuk melakukan hal itu. Sebagai
contoh proses transfer dari server ke client atau sebaliknya (dapat berupa
upload maupun download), ternyata mengubah file yang sedang di transfer
tersebut, hal ini mengindikasikan bahwa sebuah aplikasi website yang sedang
digunakan tidak aman (insecure). Sama halnya jika ada serangan sebuah virus
yang dapat mengubah sebuah file, entah itu mengubah nama ataupun
isinya. Terkadang user dengan Role yang lebih rendah dari administrator
dapat (dengan cara tertentu, termasuk didalamnya karena ketidaksengajaan)
melakukan hal ini sekalipun ia tidak dapat mengakses data yang sedang diubah
ataupun dihancurkan itu. Tindakan ini terkadang adalah tindakan yang memang
tidak di sengaja oleh user tersebut, namun tetap terjadi diakibatkan karena
adanya error dalam applikasi web yang sedang digunakan. Untuk membuat
website menjadi lebih aman, hal ini tentunya harus dihindari. Salah satunya
adalah dengan mengaplikasikan salah satu proses yang wajib ada dalam sebuah
proses software engineering yaitu proses testing. Proses testing ini dibagi
menjadi dua yaitu: – Black box testing – White box testing Secara sederhana
black box testing adalah mengetes aplikasi yang diperuntukkan oleh user yang
memang mengakses website tersebut (act like enduser -bertindaklah sebagai
seorang user/pemakai). Sedangkan untuk whitebox testing mengkhususkan diri
kepada testing fungsi-fungsi yang telah ditulis dalam bahasa pemrograman
tertentu (PHP, Perl, ASP, Javascript, dan lain sebagainya). Testing-testing ini
dibagi menjadi tiga test berdasarkan input aplikasi atau fungsinya, yaitu test
dengan menggunakan input value: Yang memang dikehendaki Pas diperbatasan
Di luar batasan Apabile memang terdeteksi error dari testing ini sebaiknya
segera diperbaiki sebelum error ini ditemukan oleh hacker yang kemudian
digunakannya untuk mengeksploit website kita.
AVAILABILITY
Jika confidentiality bermakna
hanya user yang memiliki kewenangan yang dapat melihat data tertentu yang
tersimpan didalam sebuah server atau website, availability memiliki makna bahwa
website harus dapat diakses jika user ingin meggunakannya. Memang terkesan
membingungkan dan tidak berbeda dengan prinsip pertama, namun kedua prinsip ini
sangat jauh berbeda dikarenakan dilihat dari dua sudut pandang yang memang
berbeda. Availability hanya menekankan kepada dapat diaksesnya sebuah
website. Mengenai siapa yang dapat mengaksesnya itu telah dicover oleh prinsip
confidentiality. Jika sebuah website dapat diakses tanpa adanya error, itu
berarti website tersebut telah memenuhi prinsip availability ini. Hal ini
memiliki makna bahwa sebuah website haruslah dapat diakses apabila memang dibutuhkan,
dengan kata lain versi yang lebih mudahnya adalah, website harus available 24
jam 7 minggu (24/7). Website yang terkena serangan seperti DoS (Denial of
Service) yang berarti menolak untuk memberikan service kembali dikarenakan
traffic yang sangat padat sehingga membuat server menjadi down, memberikan
bukti bahwa keamanan website tersebut telah jebol. Sebuah website yang
aman haruslah dapat mengantisipasi adanya serangan-serangan yang membuat
website tidak beroperasi dikarena server yang digunakan telah down. Selain DoS
ada juga Buffer Overflow yang membuat applikasi web tidak dapat bekerja, atau
bahkan masalah kelebihan pemakaian bandwidth yang cenderung dilupakan karena
lupa untuk mengkalkulasi target user dari hadirnya sebuah wesbite. Selain itu masalah
kualitas perangkat-perangkat keras yang digunakan termasuk perangkat-perangkat
lunak seperti Operating System ataupun driver-driver agar perangkat keras
tersebut dapat berfungsi sebagaimana mestinya, juga harus mendapatkan prioritas
yang tinggi. Kegagalan sebuah perangkat lunak ataupun keras dapat membuat
website tidak dapat diakses atau dipergunakan sesuai dengan yang diharapkan.
Tidak ada komentar:
Posting Komentar