Web Server

advertisement
•Web Security
Web Server ????
Web Server (Server web) merupakan sebuah perangkat lunak server
yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang
dikenal dengan browser web dan mengirimkan kembali hasilnya dalam
bentuk halaman-halaman web yang umumnya berbentuk dokumen
HTML. Web server menunggu permintaan dari client yang
menggunakan browser seperti Netscape Navigator, Internet Explorer,
Mozilla Firefox, Opera, NeoPlanet dan program browser lainnya.
Untuk berkomunikasi dengan client-nya (web browser) web server
mempunyai protokol sendiri, yaitu HTTP (hypertext transfer protocol).
Dengan protokol ini, komunikasi antar web server dengan client-nya
dapat saling dimengerti dan lebih mudah.
Contoh dari Web Server diantaranya adalah Personal Web Server
(PWS), Xitami, Apache, Microsoft Internet Information Service (IIS) dll.
Web server yang terkenal diantaranya adalah Apache dan Microsoft
Internet Information Service (IIS). Apache merupakan server web
antar-platform, sedangkan IIS hanya dapat beroperasi di sistem
operasi Windows.
Hal yang paling utama dalam proses pembuatan web server adalah
memilih software mana yang akan digunakan sebagai web server
yang akan digunan. Untuk itu perlu adanya pertimbangan sebagai
berikut :
1. Lisensi dari software yang akan digunakan (freeware, shareware atau
komersial).
2. Kemudahan instalasi.
3. Kemudahan dalam mengatur konfigurasi.
4. Kemudahan untuk menambah atau mengubah peripheralnya.
5. Kemampuan Software.
6. Besar ruang yang dibutuhkan untuk menyimpan file-file minimal yang
dibutuhkan agar software dapat berfungsi dengan baik.
7. Prospek software tersebut dimasa yang akan datang.
8. Performasi dan konsumsi sumber daya yang digunakan software itu.
9. Fasilitas apa yang mampu didukung oleh software itu.
10.Dukungan teknis (mempunyai site-site atau milis untuk bertanya bila
terjadi masalah).
11.Dukungan platform (jenis sistem operasi apa saja yang dapat
menjalankan software tersebut).
12.Dukungan terhadap third party (apakah software ini dapat
ditambahkan software tambahan sebagai pelengkap).
Cara Kerja Web Server
1. Client disini dapat berupa komputer desktop dengan minimal
memiliki browser dangan terhubung ke web server melalui jaringan
(intranet atau internet).
2. Komputer yang berfungsi sebagai server, dimana didalamnya
terdapat perangkat lunak web server, agar komputer ini dapat
diakses oleh client maka komputer harus terhubung ke jaringan
(intranet atau internet).
3. Pertama, client (user) akan meminta suatu halaman ke (web)
server untuk ditampilkan di komputer client.
Misalnya client mengetikkan suatu alamat (biasa disebut URL) di
browser http://www.google.com. Client menekan tombol Enter
atau klik tombol Go pada browser. Lalu apa yang terjadi? Melalui
media jaringan (bisa internet, bisa intranet) dan melalui protokol
http, akan dicarilah komputer bernama www.google.com. Jika
ditemukan, maka seolah-olah terjadi permintaan, “hai google, ada
client yang minta halaman utama nich, ada dimana halamannya?”.
Inilah yang disebut request.
4. Sekarang dari sisi server (web server). Mendapat permintaan
halaman utama google dari client, si server akan mencari-cari di
komputernya halaman sesuai permintaan. Jika ditemukan, maka
halaman yang diminta akan dikirimkan ke client (si peminta),
namun jika tidak ditemukan, maka server akan memberi pesan
“404. Page Not Found”, yang artinya halaman tidak ditemukan.
• Security
HTTP Authentication
• Protect web content from those who don’t have a “need to know”
• Require users to authenticate using a userid/password before they
are allowed access to certain URLs
• HTTP/1.1 requires that when a user makes a request for a protected
resource the server responds with a authentication request header
– WWW-Authenticate
• contains enough pertinent information to carry out a “challenge-response”
session between the user and the server
Client requests a protected
resource
Client
Web
Server
Server responds with a 401 (not
authorized and a challenge request
for the client to authenticate
Client Response
• Well established clients like Firefox, Internet Explorer …. will respond to
the challenge request (WWW-Authenticate) by presenting the user with a
small pop-up window with data entry fields for
– userid
– password
– a Submit button and a Cancel button
• entering a valid userid and password will post the data to the server, the
server will attempt authentication and if authenticated will serve the
originally requested resource.
WWW-Authenticate
• The authentication request received by the browser will look
something like:
– WWW-Authenticate = Basic realm=“defaultRealm”
• Basic indicates the HTTP Basic authentication is requested
• realm indicates the context of the login
– realms hold all of the parts of security puzzle
» Users
» Groups
» ACLs (Access Control Lists)
• Basic Authentication
– userid and password are sent base 64 encoded (might as well be plain
text)
– hacker doesn’t even need to unencode all he has to do is “replay” the
blob of information he stole over and over ( this is called a “replay
attack”)
Ancaman via aplikasi berbasis web (1)
 Ancaman
 Serangan untuk mendapatkan account
 SQL injection
 Session hijacking
 Dan lain-lain
Ancaman via aplikasi berbasis web (2)
 Ancaman serangan account
 Analisa manajemen account untuk mendapatkan account
 Brute force attack
 Dan lain-lain
 Pencegahan
 Desain dan coding yang aman
 Mendisable pesan error sistem dan aplikasi yang tidak perlu
 Sanitasi nilai input dengan baik di sisi server
 Dan lain-lain
Ancaman via aplikasi berbasis web (3)
 Ancaman serangan SQL injection
Contoh:
 Query pada aplikasi database
select * from user where id=$id;
 Penyerang memasukan nilai variabel ”id”dengan query yang
“diinginkan"
$id=212; select * from admin
 Query akhir menghasilkan 2 buah query
select * from users where id=212;
select * from admin;
 Pencegahan
 Sanitasi nilai input dengan baik di sisi server
Ancaman via aplikasi berbasis web (4)
 Ancaman session hijacking
 HTTP adalah stateless
 Ekploitasi session
 Pencegahan
 Menggunakan session yang sulit ditebak, misalnya menyertakan id dan

password
Enkripsi nilai session
Eksploitasi server WWW
• Tampilan web diubah (deface)
• dengan eksploitasi skrip / previledge / OS di server
• Situs yang dideface dikoleksi di http://www.alldas.org
• Informasi bocor
• (misal laporan keuangan semestinya hanya dapat
diakses oleh orang/ bagian tertentu)
Keamanan Sistem WWW - BR - 1.2
- 2001.2002
14
Eksploitasi server WWW [2]
• Penyadapan informasi
– URLwatch: melihat siapa mengakses apa saja. Masalah
privacy
– SSL memproteksi, namun tidak semua menggunakan SSL
karena komputasi yang tinggi
• DoS attack
– Request dalam jumlah yang banyak (bertubi-tubi)
– Request yang memblokir (lambat mengirimkan perintah
GET)
Keamanan Sistem WWW - BR - 1.2
- 2001.2002
15
Eksploitasi server WWW [3]
• Digunakan untuk menipu firewall (tunelling ke
luar jaringan)
• Port 80 digunakan untuk identifikasi server
(karena biasanya dibuka di router/firewall)
Keamanan Sistem WWW - BR - 1.2
- 2001.2002
16
Membatasi Akses
• Access Control
– Hanya IP tertentu yang dapat mengakses server
(konfigurasi web server atau firewall)
– Via userid & password (htaccess)
– Menggunakan enkripsi untuk menyandikan datadata
Keamanan Sistem WWW - BR - 1.2
- 2001.2002
17
• Any Questions ?
• End Of Sessions
Download