Konsep Dasar Pengamanan Pada Web
Kode XML
Salah satu keuntungan penggunaan standar XML signature adalah dapat dilakukannya penandatanganan sebuah dokumen XML oleh lebih dari satu pihak. Pihak tertentu hanya akan menandatangani elemen XML yang menjadi tanggung jawabnya.
XML
Encryption
Pengamanan terhadap data yang dipertukarkan merupakan salah satu kebutuhan yang muncul pada proses pertukaran data. W3C telah merekomendasikan Enkripsi XML sebagai metode alternatif untuk pengamanan data dengan menggunakan format XML. Namun demikian, Enkripsi XML dirancang untuk dapat diterapkan baik pada data XML maupun data non XML. Implementasi Enkripsi XML memungkinkan penggabungan data yang telah dienkripsi dengan data yang tidak dienkripsi di dalam satu dokumen XML. Dengan demikian, proses enkripsi maupun dekripsi dapat dilakukan hanya pada data yang memang perlu diamankan saja.
Enkripsi XML telah diimplementasikan baik pada level aplikasi maupun pada level parser. Pada level aplikasi, implementasi Enkripsi XML paling banyak dibuat dengan menggunakan DOM, Document Object Model.Sementara pada level parser, implementasi Enkripsi XML di antaranya dibuat dengan menggunakan parser Xerces.Enkripsi XML secara umum dapat dianggap sebagai proses transformasi dokumen XML yang belum terenkripsi ke dokumen XML yang sudah terenkripsi. W3C telah merekomendasikan XSLT, Extensible Stylesheet Language Transformations, sebagai bahasa transformasi untuk dokumen XML. Dengan demikian, maka XSLT sebagai bahasa transformasi untuk XML dapat digunakan untuk mengimplementasikan Enkripsi XML.
Xml
Key Management Specification
XML key management specification (XMKS) merupakan sebuah spesifikasi infrastruktur yang digunakan untuk pengamanan transaksi berbasis XML. Pada web services digunakan format komunikasi data berbasis XML dan untuk keamanan data-data tersebut digunakan teknik kriptografi kunci-publik. Pengelolaan terhadap kunci-publik ditentukan dengan adanya public-key infrastructure (PKI). XKMS merupakan bentuk pengembangan berikutnya dari PKI yang ada saat ini (PKIX) dan juga melakukan perubahan standar PKI sebagai salah satu bentuk web services. Dengan demikian XKMS dapat melakukan proses registrasi pasangan kunci-publik (private-key dan public-key), penentuan lokasi penyimpanan kunci-publik, validasi kunci-publik, pencabutan (revoke) kuncipublik, dan pemulihan (recover) kuncipublik.
Macam-Macam Serangan Terhadap Web dan Cara Penanggulangannya
Malicious Code
kode-kode pada suatu program yang “tersamar” yang tidak diketahui fungsi dan manfaatnya, tetapi sewaktu-waktu dapat aktif dan beraksi membahayakan keadaan sistem.
Sniffer
suatu usaha untuk menangkap setiap data yang lewat dari suatu jaringan.
Denial of Service Attack (DoS)
DoS merupakan serangan yang dilancarkan melalui paket-paket tertentu, biasanya paket-paket sederhana dengan jumlah yang sangat banyak/besar dengan maksud mengacaukan keadaan jaringan target.
Paket-Paket Pengamanan Web
dari sisi aplikasi
Kode XML
Salah satu keuntungan penggunaan standar XML signature adalah dapat dilakukannya penandatanganan sebuah dokumen XML oleh lebih dari satu pihak. Pihak tertentu hanya akan menandatangani elemen XML yang menjadi tanggung jawabnya.
Pengamanan terhadap data yang dipertukarkan merupakan salah satu kebutuhan yang muncul pada proses pertukaran data. W3C telah merekomendasikan Enkripsi XML sebagai metode alternatif untuk pengamanan data dengan menggunakan format XML. Namun demikian, Enkripsi XML dirancang untuk dapat diterapkan baik pada data XML maupun data non XML. Implementasi Enkripsi XML memungkinkan penggabungan data yang telah dienkripsi dengan data yang tidak dienkripsi di dalam satu dokumen XML. Dengan demikian, proses enkripsi maupun dekripsi dapat dilakukan hanya pada data yang memang perlu diamankan saja.
Enkripsi XML telah diimplementasikan baik pada level aplikasi maupun pada level parser. Pada level aplikasi, implementasi Enkripsi XML paling banyak dibuat dengan menggunakan DOM, Document Object Model.Sementara pada level parser, implementasi Enkripsi XML di antaranya dibuat dengan menggunakan parser Xerces.Enkripsi XML secara umum dapat dianggap sebagai proses transformasi dokumen XML yang belum terenkripsi ke dokumen XML yang sudah terenkripsi. W3C telah merekomendasikan XSLT, Extensible Stylesheet Language Transformations, sebagai bahasa transformasi untuk dokumen XML. Dengan demikian, maka XSLT sebagai bahasa transformasi untuk XML dapat digunakan untuk mengimplementasikan Enkripsi XML.
XML key management specification (XMKS) merupakan sebuah spesifikasi infrastruktur yang digunakan untuk pengamanan transaksi berbasis XML. Pada web services digunakan format komunikasi data berbasis XML dan untuk keamanan data-data tersebut digunakan teknik kriptografi kunci-publik. Pengelolaan terhadap kunci-publik ditentukan dengan adanya public-key infrastructure (PKI). XKMS merupakan bentuk pengembangan berikutnya dari PKI yang ada saat ini (PKIX) dan juga melakukan perubahan standar PKI sebagai salah satu bentuk web services. Dengan demikian XKMS dapat melakukan proses registrasi pasangan kunci-publik (private-key dan public-key), penentuan lokasi penyimpanan kunci-publik, validasi kunci-publik, pencabutan (revoke) kuncipublik, dan pemulihan (recover) kuncipublik.
Macam-Macam Serangan Terhadap Web dan Cara Penanggulangannya
Web Spoofing
Web
Spoofing melibatkan sebuah server web yang dimiliki penyerang yang diletakkan
pada internet antara pengguna dengan WWW, sehingga akses ke web yang dituju
pengguna akan melalui server penyerang. Cara seperti ini dikenal dengan sebutan
“man in the middle attack” [2,5]. Hal ini dapat terjadi dengan beberapa jalan,
tapi yang paling mungkin adalah :
·
Akses
ke situs web diarahkan melalui sebuah proxy server : ini disebut (HTTP)
application proxy. Hal ini memberikan pengelolaan jaringan yang lebih baik
untuk akses ke server. Ini merupakan teknik yang cukup baik yang digunakan pada
banyak situs-situs di internet, akan tetapi teknik ini tidak mencegah Web
Spoofing.
·
Seseorang
menaruh link yang palsu (yang sudah di-hack) pada halaman web yang populer.
·
Kita
menggunakan search engine (mesin pencari, seperti Yahoo, Alta Vista, Goggle)
untuk mendapatkan link dari topik yang ingin dicari. Tanpa kita ketahui,
beberapa dari link ini telah diletakkan oleh hacker yang berpura-pura menjadi
orang lain. Seperti, pencarian untuk situs bank memberikan salah satu hasil
http://www.kilkbca.com, sayangnya kita mungkin tidak mengetahui bahwa URL
sebenarnya dari Bank BCA adalah http://www.klikbca.com
PHP Injection
Script
php merupakan salah satu script yang sampai saat ini banyak digunakan oleh seorang
webmaster, disamping rival nya Java. Script
php
ini begitu 'Powerfull', mengapa dikatakan demikian karena dalam script php ini
kita bisa melakukan banyak hal. Mulai dari membuat file, membuat counter,
membuat date, membuat bukutamu, membuat forum (salah satunya PhpBB), mengakses
database secara langsung maupun juga membuat gambar dan animasi.
Kesemuanya
itu sudah terdapat dalam fungsi dari script php ini.
Nah
karena hal itu lah maka masih banyak orang yang menggunakannya untuk membangun
sebuah website, selain karena cukup mudah dipelajari.
Jadi
PHP Injection adalah mencari bugs pada script php yang ada yang dilakukan oleh
sebagian hacker.
Password Attack
usaha
penerobosan suatu sistem jaringan dengan cara memperoleh password dari jaringan
tersebut.
kode-kode pada suatu program yang “tersamar” yang tidak diketahui fungsi dan manfaatnya, tetapi sewaktu-waktu dapat aktif dan beraksi membahayakan keadaan sistem.
suatu usaha untuk menangkap setiap data yang lewat dari suatu jaringan.
DoS merupakan serangan yang dilancarkan melalui paket-paket tertentu, biasanya paket-paket sederhana dengan jumlah yang sangat banyak/besar dengan maksud mengacaukan keadaan jaringan target.
PENANGGULANGAN
·
Password
Attack
Pencegahannya
: installah shadow password, suatu program enkripsi untuk melindungi password.
·
Malicious
Code
Pencegahan
: gunakan program-program seperti tripwire, TAMU, sXid atau dengan menggunakan
MD5Checksum.
·
Sniffer
Pencegahan
: mengenkripsikan semua data yang akan kita lewatkan kedalam jaringan, misalnya
menggunakan ssh (secure shell) yang mempunyai fungsi yang sama dengan telnet
tetapi semua data yang dilewatkan kejaringan akan di enkrip dengan enkripsi 128
bit.
·
Scanner
Pencegahan
: pada umumnya program-program scanner menggunakan paket SYN dan ACK untuk
mendeteksi celah-celah sekuriti yang ada pada suatu sistem, SYN dan ACK
menggunakan ICMP sehingga untuk pencegahannya adalah memfilter paket-paket ICMP
dari sistem.
·
Spoofing
Pencegahan
: konfigurasikan sistem untuk menolak semua paket yang berasal dari localhost,
memakai program enkripsi untuk akses remote (mis: ssh), mematikan service yang
berhubungan dengan “dunia luar” apabila dirasakan kurang diperlukan.
·
Denial
of Service Attack (DoS)
Pencegahan
: dilakukan dengan mematikan alamat broadcast , dan memfilter paket-paket ICMP,
UDP, serta selalu melakukan update kernel yang digunakan oleh sistem.
dari sisi aplikasi
Pastikan
Anda menggunakan versi terbaru dari aplikasi web yang Anda pakai. Kunjungi
website aplikasi yang Anda pakai, misalnya untuk PHPBB adalah
http://www.phpbb.com , untuk Joomla adalah http://www.joomla.org . Kadang
sebuah aplikasi memiliki fitur upgrade online, jika ya dapat Anda gunakan
fasilitas tersebut. Jika tidak, lakukan upgrade manual sesuai instruksi yang
diberikan.
Coba
cek apakah masih ada sisa-sisa file dari penyusup yang ditaruh di website Anda.
Biasanya penyusup mengupload file seperti CGI/PHP Shell. Coba cek juga apakah
si penyusup membuat account administrator atau moderator pada aplikasi website
Anda.
Jika
Anda membuat program sendiri, periksa kembali keamanan program Anda. Sebaiknya
banyak membaca buku-buku tentang pemrograman yang aman (secure programming),
banyak membaca artikel soal keamanan pemrograman web, dan memperbanyak
pengalaman seputar pemrograman.
PHP:
php.ini, error_reporting
·
dari
sisi setting server hosting
Sebaiknya
mengganti password FTP atau shell/SSH Anda, karena siapa tahu telah
diketahui/dipakai orang.
Catatan:
Untuk mengetahui apakah ada yang login ke SSH, caranya adalah dengan
mengetikkan perintah 'last' dari shell Linux. Jika ada IP yang tidak dikenal
(bukan dari IP Anda biasa login) maka kemungkinan ada orang lain yang login
menggunakan account Anda.
Cobalah
menjalankan skrip sebagai cgi-USER dan bukan USER, sehingga jika aplikasi
website/skrip Anda diexploit, si penyusup tidak bisa begitu saja mengupload
file ke document root Anda. Silakan lihat artikel ini untuk lebih detilnya.
Jika
Anda menggunakan PHP, pastikan setting php.ini register_globals dan
allow_url_fopen off, kecuali Anda benar-benar membutuhkannya. Silakan lihat
artikel ini untuk detilnya.
Jika
Anda sama sekali tidak menggunakan skrip/aplikasi di website Anda, Anda dapat
mematikan fitur skrip, untuk keamanan. Dari control panel, pilih Subdomain
Manager lalu Prefs pada subdomain yang diinginkan, lalu pada pilihan
"Situs ini dapat menjalankan skrip (CGI/PHP/dsb)", pilih (x)
Tidak/disable.
Anda
juga dapat mencoba menghidupkan setting berikut ini di control panel:
"Gunakan RBL" [x] Aktif. Dengan setting ini, website Anda akan
dilindungi dari IP-IP yang mencurigakan, tapi ada kemungkinan sebagian
pengunjung Anda tidak dapat mengakses website Anda. Anda bisa mencoba-cobanya
terlebih dahulu.
Cobalah
menghidupkan setting Log output stderr skrip ke file di Subdomain preferences
control panel. Ini membuat pesan error ke stderr yang dicetak oleh skrip tidak
ditampilkan ke browser melainkan dicetak ke file log (di
sites/NAMASITE/syslog/script_error.YYYY-MM-DD.log). Pesan kesalahan skrip bisa
saja mengandung informasi sensitif seperti password, path, dsb sehingga ada
baiknya tidak usah bisa dilihat oleh semua pengunjung website.
Karena
server hosting yang menggunakan Spanel secara default memungkinkan mengakses
phpMyAdmin dan phpPgAdmin dari setiap website (via URL
http://NAMAWEBSITE/webapps/phpMyAdmin atau
http://NAMAWEBSITE/webapps/phpPgAdmin), maka pastikan username dan/atau dbname
Anda tidak diketahui orang (mis: lewat pesan error PHP atau cara lain). Dan
pastikan password database cukup kuat (mis: minimal 6-8 huruf, bukan kata/huruf
yang mudah ditebak seperti "123" atau sama dengan username/dbname).
Meskipun secara default koneksi remote MySQL tidak diperbolehkan saat ini dari
server hosting, namun lewat aplikasi phpMyAdmin/phpPgAdmin, database Anda masih
dapat diakses secara remote.
Jika
Anda ingin agar phpMyAdmin dan phpPgAdmin tidak tersedia, matikan lewat control
panel (menu Preferences).
·
dari
sisi database
Jika
ada file atau database yang dihapus, upload kembali dari backup Anda atau dari
backup server. Di server hosting disimpan backup harian dan histori backup
selama 3 bulan. Dapat Anda akses dan ambil dari File Manager control panel, di
volume Backup atau Backup History (lalu gunakan fasilitas copy paste clipboard
untuk mengkopinya kembali ke website Anda, yaitu volume Data). Sebaiknya Anda
memelihara backup juga secara teratur. Jika Anda mengalami kesulitan, Anda
dapat meminta staf technical support kami untuk merestorekan dari backup
server.
XXX SQL
injection.
SUMBER :