keamanan server www · kunci yang menunjuk kepada user atau fungsi. • file permissions –...

30

Upload: others

Post on 06-Dec-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar
Page 2: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Keamanan Server WWW• Arsitektur sistem Web terdiri dari dua sisi: server

dan client.

• Web server adalah suatu daemon yang berfungsimenerima request melalui protocol http baik dari localmaupun dari internet

• Informasi yang direquest oleh browser bisa berupa fileyang ada dalam storage atau meminta server untukmelakukan fungsi tertentu

• Jenis-jenis web server:

– IIS (web server untuk html dan asp). Bisa jalan di OSWindows

– APACHE web server (web server untuk html, php,asp, jsp, dan sebagainya). Bisa jalan di OS Windowsdan LINUX

Page 3: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

9 Celah Keamanan Pada Aplikasi Web1. Unvalidated Input

Semua aplikasi web menampilkan data dari HTTPrequest yang dibuat oleh user dan menggunakan datatersebut untuk melakukan operasinya. Hacker dapatmemanipulasi bagian-bagian pada request (querystring, cookie information, header) untuk membypassmekanisme keamanan.

Berikut ini tiga jenis penyerangan yang berhubungandengan masalah ini:

- Cross site scripting

- Buffer overflows

- Injection flaws

Page 4: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Unvalidated Input (lanjutan)

Cara untuk menangani hal tersebut, diantaranya:

• Tidak baik pada aplikasi web untuk percaya pada clientside scripting. Script tersebut biasanya menghentikanform submission apabila terdapat sebuah input yangsalah. Akan tetapi, script tersebut tidak dapatmencegah hacker untuk membuat HTTPrequestnya sendiri yang terbebas dari form.Menggunakan client side validation masih bisamembuat aplikasi web yang mudah diserang.

Page 5: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Unvalidated Input (lanjutan)

• Beberapa aplikasi menggunakan pendekatan "negative“(negative approach) pada validasinya: Aplikasi mencobamendeteksi jika terdapat elemen yang berbahaya padarequest parameter. Masalah dari jenis pendekatan iniadalah hanya bisa melindungi dari beberapa seranganyaitu: hanya serangan yang dikenali oleh validation codeyang dicegah.

• Cara yang lebih baik untuk menggunakan pendekatan"positive" (positive approach) yaitu: membatasi sebuahformat atau pola untuk nilai yang diijinkan danmemastikan input tersebut sesuai dengan formattersebut.

Page 6: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

9 Celah Keamanan Pada Aplikasi Web (lanjutan)2. Broken Access Control

Banyak aplikasi yang terdapat user role dan admin role:hanya admin role yang diijinkan untuk mengakseshalaman khusus atau melakukan action administration.Masalahnya adalah beberapa aplikasi tidak efektif untukmemaksa agar otorisasi ini bekerja.

Masalah lain yang berhubungan dengan access controladalah:

• Insecure Ids – Beberapa site menggunakan id ataukunci yang menunjuk kepada user atau fungsi.

• File permissions – Kebanyakan web dan aplikasiserver percaya kepada external file yangmenyimpan daftar dari user yang terotorisasidan resources mana saja yang dapat dan/atautidak dapat diakses.

Page 7: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Broken Access Control (lanjutan)

Langkah-langkah untuk mengatasinya adalah denganmengembangkan filter atau komponen yang dapatdijalankan pada sensitive resources. Filter ataukomponen tadi dapat menjamin hanya user yangterotorisasi dapat mengakases. Untuk melindungi dariinsecure Ids, kita harus mengembangkan aplikasi kitaagar tidak percaya pada kerahasiaan dari Ids yang dapatmemberi access control. Pada masalah file permission,file-file tersebut harus berada pada lokasi yang tidakdapat diakses oleh web browser dan hanya role tertentusaja yang dapat mengaksesnya.

Page 8: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

9 Celah Keamanan Pada Aplikasi Web(lanjutan)

3. Broken Authentication dan Session Management

Authentication dan session management menunjukkepada semua aspek dari pengaturan userauthentikasi dan management of active session. Berikutini beberapa hal yang perlu diperhatikan:

• Password strength – Aplikasi kita harus memberikanlevel minimal dari keamanan sebuah password,dimana dapat dilihat dengan cara melihat panjangdari password dan kompleksitasnya.

• Password use – Aplikasi kita harus membatasi useryang mengakses aplikasi melakukan login kembalike sistem pada tenggang waktu tertentu.

Page 9: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Broken Authentication dan Session Management(lanjutan)

• Password storage – password tidak boleh disimpan didalam aplikasi. Password harus disimpan dalam formatterenkripsi dan disimpan di file lain seperti file databaseatau file password.

• Issue lain yang berhubungan : password tidak boleh dalambentuk hardcoded di dalam source code.

• Session ID Protection – server biasanya menggunakansession Id untuk mengidentifikasi user yang masuk kedalam session.

• Salah satu cara yang dapat digunakan untuk mencegahterlihatnya session ID oleh seseorang pada suatu jaringanyang sama adalah menghubungkan komunikasi antarasever dan client pada sebuah SSL-protected channel.

Page 10: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

9 Celah Keamanan Pada Aplikasi Web(lanjutan)

4. Cross Site Scripting

Cross site scripting terjadi ketika seseorang membuataplikasi web melalui script ke user lain. Hal ini dilakukanoleh penyerang dengan menambahkan content (sepertiJavaScript, ActiveX, Flash) pada request yang dapatmembuat HTML output yang dapat dilihat oleh user lain.Apabila ada user lain yang mengakses contenttersebut, browser tidak mengetahui bahwa halamantersebut tidak dapat dipercaya.

Cara yang bisa digunakan untuk mencegah serangancross site scripting adalah dengan melakukan validasidata masuk dari user request (seperti header, cookie,user parameter,...).

Page 11: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

9 Celah Keamanan Pada Aplikasi Web(lanjutan)

5. Buffer Overflows

Penyerang dapat menggunakan buffer overflows untukmerusak aplikasi web. Penyerang mengirimkan requestyang membuat server menjalankan kode-kode yangdikirimkan oleh penyerang.

Tetapi pada desain dari Java environment, aplikasi yangberjalan pada J2EE server aman dari jenis serangan ini.

Untuk memastikan keamanan, cara yang paling baikadalah melakukan pengawasan apabila terdapat patchatau bug report dari produk server yang digunakan.

Page 12: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

9 Celah Keamanan Pada Aplikasi Web(lanjutan)

6. Injection Flaws

Hacker dapat mengirimkan atau menginject requestke operating system atau ke external sumber sepertidatabase. Berikut ini salah satu contoh dari SQL injection:masukkan salah satu keyword di google untukmendapatkan halaman login.Cth.: “/admin.asp" ,"/login.asp" dll. Kalau sudah dapat isikan di username“or”=“ di password “or”=“ lalu klik login kalau sukses akanmasuk

Page 13: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Sintak di web:Select * from admin where username = ‘administrator’ andPassword = ‘admin’Maka inputkan: ”or ‘’ = “Didapatkan: Select * from admin where username = ‘’ or ‘’ = ‘’and Password = ‘’ or ‘’=’’Perintah: “or “=“ menjadikan kondisi query menjadi true.

Untuk mencegah inputan diatas maka di skrip php padavariabel penampung data post ditambahkanmysql_real_escape_string() utk validasi input:$username =mysql_real_escape_string($_POST['username']);$password = mysql_real_escape_string($_POST['password']);Untuk pengguna php.

Injection Flaws (lanjutan)

Page 14: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

9 Celah Keamanan Pada Aplikasi Web (lanjutan)7. Insecure Storage

Aplikasi web biasanya menyimpan informasi pentingyang perlu dienkripsi untuk menghindari pengaksesansecara langsung. Tetapi beberapa metode enkripsimasih lemah dan bisa diserang. Berikut ini beberapakesalahan yang terjadi:

• Kesalahan untuk mengenkripsi data penting

• Tidak amannya kunci, certificate, dan password

• Kurang amannya lokasi penyimpanan data

• Kurangnya perhitungan dari randomisasi

• Kesalahan pemilihan algoritma

• Mencoba untuk menciptakan algoritma enkripsi yangbaru

Page 15: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Insecure Storage (lanjutan)

Salah satu cara yang dilakukan untuk menghindarikesalahan penyimpanan informasi yang sensitif adalah :tidak membuat password sebagai atribut dari kelas yangmewakili informasi user; Daripada mengenkripsi nomorkartu kredit dari user, akan lebih baik untukmenanyakannya setiap kali dibutuhkan.

Page 16: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

9 Celah Keamanan Pada Aplikasi Web (lanjutan)

8. Denial of Service

Denial of Service merupakan serangan yang dibuatoleh hacker yang mengirimkan request dalam jumlahyang sangat besar dan dalam waktu yang bersamaan.Dikarenakan request-request tersebut, server menjadikelebihan beban dan tidak bisa melayani user lainnya.

Serangan DoS mampu menghabiskan bandwidth yangada pada server. Selain itu dapat juga menghabiskanmemory, koneksi database, dan sumber yang lain.

Page 17: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Denial of Service (lanjutan)

Cara yang dapat dilakukan seperti membatasi resourceyang dapat diakses user dalam jumlah yang minimal.Merupakan ide / cara yang bagus untuk membuat loadquota yang membatasi jumlah load data yang akandiakses user dari sistem.

Solusi yang lain adalah mendesain aplikasi web dimanauser yang belum terotorisasi hanya memiliki akses yangsedikit atau tidak memiliki akses ke content web yangberhubungan dengan database.

Page 18: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

9 Celah Keamanan Pada Aplikasi Web (lanjutan)9. Insecure Configuration Management

Biasanya kelompok (group) yang mengembangkanaplikasi berbeda dengan kelompok yang mengaturhosting dari aplikasi. Hal ini bisa menjadi berbahaya,dikarenakan keamanan yang diandalkan hanya darisegi aplikasi: sedangakan dari segi server juga memilikiaspek keamanan yang perlu diperhatikan. Adanyakesalahan dari konfigurasi server dapat melewati aspekkeamanan dari segi aplikasi.

Untuk memeriksa keamanan website kita bisa gunakansitus http://sucuri.net, langsung ketikan namawebsitenya di what’s your domain? Lalu Klik scan thissite

Page 19: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Insecure Configuration Management(lanjutan)

Berikut ini adalah kesalahan konfigurasi server yang bisamenimbulkan masalah:

• Hak akses direktori atau file yang salah.

• Adanya service yang seperti remote administration dan

content management yang masih aktif.

• Penggunaan default account dan default password.

• Fungsi administrative atau fungsi debug yang bisa diakses.Adanya pesan error yang informatif dari segi teknis.

• Kesalahan konfigurasi SSL certificate dan setting enkripsi

• Penggunaan self-signet certificates untuk melakukanautentikasi.

Page 20: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Keamanan Client WWW

• Keamanan client WWW, yaitu disisi pemakai(pengunjung) biasa diantaranya:

• Pelanggaran privacy

Ketika kita mengunjungi sebuah situs web, browserkita dapat “dititipi” sebuah “cookie” yang fungsinyaadalah untuk menandai kita. Ketika kita berkunjung keserver itu kembali, maka server dapat mengetahuibahwa kita kembali dan server dapat memberikansetup sesuai dengan keinginan (preference) kita. Inimerupakan servis yang baik. Namun data-data yangsama juga dapat digunakan untuk melakukantracking kemana saja kita pergi.

Page 21: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Keamanan Client WWW (lanjutan)

• Penyisipan virus atau trojan horse

Salah satu contoh yang sudah terjadi adalah adanyaweb yang menyisipkan trojan horse Back Orifice(BO) atau Netbus sehingga komputer anda dapatdikendalikan dari jarak jauh. Orang dari jarak jauhdapat menyadap apa yang anda ketikkan, melihat isidirektori, melakukan reboot, bahkan memformatharddisk

Page 22: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

SSL (Secure Socket Layer)

• SSL telah menjadi standar de facto pada komunitasuntuk mengamankan komunikasi antara client danserver. SSL adalah sebuah layer protocol yang beradaantara layer TCP/IP standar dengan protocol di atasnyayaitu application-level protocol seperti HTTP. SSLmengijinkan server untuk melakukan autentikasi denganclient dan selanjutnya mengenkripsi komunikasi.

Page 23: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Certificate

• Salah satu bagian yang perlu kita konfigurasi untukmembangun komunikasi SSL pada server adalahsebuah security certificate. Sebuah certificate dalam halini seperti sebuah pasport : dimana memiliki informasi-informasi penting pemilik yang bisa diketahui oleh oranglain. Sertifikat tersebut biasanya disebarkan olehCertification Authorities (CA). Sebuah CA mirip sepertipassport office : dimana CA bertugas untuk melakukanvalidasi sertifikat pemilik dan menandai sertifikat agartidak dapat dipalsukan.

Page 24: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

Certificate (lanjutan)

• Sampai saat ini sudah banyak Certification Authoritiesyang cukup terkenal, salah satunya adalah Verisign.Menentukan pemilihan CA adalah tanggung jawab atauwewenang dari seorang admin untuk memberikansebuah sertifikat keamanan yang berlaku pada server.

Page 25: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar
Page 26: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

SOAL LATIHAN

1. Suatu daemon yang berfungsi menerima requestmelalui protocol http baik dari local maupun dariinternet, yaitu :a. Navigator d. Outlookb. Web Browser e. Web Serverc. PhpEditor

2. Teknik yang digunakan untuk menambahkan script padasebuah website yang akan dieksekusi oleh user lainpada browser user lain tersebut, yaitu :a. Denial of Service d. Broken Authenticationb. Cross Site Scripting e. Syn floodc. Buffer Overflows

Page 27: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

2. Teknik yang digunakan untuk menambahkan script padasebuah website yang akan dieksekusi oleh user lainpada browser user lain tersebut, yaitu :a. Denial of Service d. Broken Authenticationb. Cross Site Scripting e. Syn floodc. Buffer Overflows

3. Merupakan serangan yang dibuat oleh hacker yangmengirimkan request dalam jumlah yang sangat besardan dalam waktu yang bersamaan, yaitu:a. Denial of Service attack d. Smurf Attackb. Wiretapping e. Logic Bombc. Trojan

Page 28: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

3. Merupakan serangan yang dibuat oleh hacker yangmengirimkan request dalam jumlah yang sangat besardan dalam waktu yang bersamaan, yaitu:a. Denial of Service attack d. Smurf Attackb. Wiretapping e. Logic Bombc. Trojan

4. Dibawah ini membuat password yang baik, kecuali :a. Gunakan kombinasi angka dan hurufb. Gunakan karakter @,#$&* dllc. Buat sepanjang mungkind. Mudah diingat tapi susah ditebak orange. Panjang dan kompleksitas

Page 29: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

4. Dibawah ini membuat password yang baik, kecuali :a. Gunakan kombinasi angka dan hurufb. Gunakan karakter @,#$&* dllc. Buat sepanjang mungkind. Mudah diingat tapi susah ditebak orange. Panjang dan kompleksitas

5. Keamanan komunikasi di internet dengan sistemenkripsi antar clien dan server, yaitu:a. SPAM d. TCPb. SSH e. HTTPc. SSL

Page 30: Keamanan Server WWW · kunci yang menunjuk kepada user atau fungsi. • File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar

5. Keamanan komunikasi di internet dengan sistemenkripsi antar clien dan server, yaitu:a. SPAM d. TCPb. SSH e. HTTPc. SSL

1. Suatu daemon yang berfungsi menerima requestmelalui protocol http baik dari local maupun dariinternet, yaitu :a. Navigator d. Outlookb. Web Browser e. Web Serverc. PhpEditor