Penanggulangan Website Deface
Penanggulangan Website Deface
Hacking secara teratur dilakukan oleh skrip otomatis yang ditulis untuk menjelajahi Internet dalam upaya untuk mengeksploitasi masalah keamanan situs web yang dikenal di perangkat lunak. Berikut adalah 10 tip teratas kami untuk membantu Anda dan situs Anda tetap aman saat online.
Jika Anda menggunakan solusi hosting terkelola maka Anda tidak perlu terlalu khawatir tentang penerapan pembaruan keamanan untuk sistem operasi karena perusahaan hosting harus mengurus hal ini.
Jika Anda menggunakan perangkat lunak pihak ketiga di situs web Anda seperti CMS atau forum, Anda harus memastikan Anda cepat menerapkan patch keamanan apa pun. Sebagian besar vendor memiliki milis atau umpan RSS yang merinci masalah keamanan situs web apa pun. WordPress, Umbraco dan banyak CMSes lainnya memberi tahu Anda tentang pembaruan sistem yang tersedia saat Anda log in.
Banyak pengembang menggunakan alat seperti Composer, npm, atau RubyGems untuk mengelola ketergantungan perangkat lunak mereka, dan kerentanan keamanan muncul dalam paket yang Anda andalkan namun tidak diperhatikan adalah salah satu cara termudah untuk tidak tertangkap. Pastikan Anda selalu menyimpan dependensi Anda, dan gunakan alat seperti Gemnasium untuk mendapatkan pemberitahuan otomatis saat kerentanan diumumkan di salah satu komponen Anda.
Jika Anda menggunakan perangkat lunak pihak ketiga di situs web Anda seperti CMS atau forum, Anda harus memastikan Anda cepat menerapkan patch keamanan apa pun. Sebagian besar vendor memiliki milis atau umpan RSS yang merinci masalah keamanan situs web apa pun. WordPress, Umbraco dan banyak CMSes lainnya memberi tahu Anda tentang pembaruan sistem yang tersedia saat Anda log in.
Banyak pengembang menggunakan alat seperti Composer, npm, atau RubyGems untuk mengelola ketergantungan perangkat lunak mereka, dan kerentanan keamanan muncul dalam paket yang Anda andalkan namun tidak diperhatikan adalah salah satu cara termudah untuk tidak tertangkap. Pastikan Anda selalu menyimpan dependensi Anda, dan gunakan alat seperti Gemnasium untuk mendapatkan pemberitahuan otomatis saat kerentanan diumumkan di salah satu komponen Anda.
Contohnya :
SELECT * FROM table WHERE
3. XSS
Serangan cross-site scripting (XSS) menyuntikkan JavaScript jahat ke halaman Anda, yang kemudian berjalan di browser pengguna Anda, dan dapat mengubah konten halaman, atau mencuri informasi untuk dikirim kembali ke penyerang. Misalnya, jika Anda menunjukkan komentar pada halaman tanpa validasi, penyerang dapat mengirimkan komentar yang berisi tag skrip dan JavaScript, yang dapat dijalankan di setiap browser pengguna lain dan mencuri cookie login mereka, yang memungkinkan serangan tersebut mengendalikan akun setiap Pengguna yang melihat komentar Anda perlu memastikan bahwa pengguna tidak dapat menyuntikkan konten JavaScript aktif ke dalam halaman Anda.
Ini adalah perhatian khusus dalam aplikasi web modern, di mana halaman sekarang dibangun terutama dari konten pengguna, dan yang dalam banyak kasus menghasilkan HTML yang kemudian juga ditafsirkan oleh kerangka kerja front-end seperti Sudut dan Ember. Kerangka kerja ini memberikan banyak perlindungan XSS, namun pencampuran server dan rendering klien menciptakan jalan serangan baru dan yang lebih rumit juga: tidak hanya menyuntikkan JavaScript ke HTML yang efektif, namun Anda juga dapat menyuntikkan konten yang akan menjalankan kode dengan memasukkan perintah sudut, atau menggunakan Ember Pembantu.
Kuncinya di sini adalah fokus pada bagaimana konten buatan pengguna Anda bisa lolos dari batas yang Anda harapkan dan ditafsirkan oleh browser sebagai sesuatu yang lain seperti yang Anda inginkan. Ini mirip dengan mempertahankan terhadap injeksi SQL. Saat membuat HTML secara dinamis, gunakan fungsi yang secara eksplisit membuat perubahan yang Anda cari (misalnya gunakan element.setAttribute dan element.textContent, yang akan otomatis lolos oleh browser, daripada menyetel elemen.innerHTML dengan tangan), atau gunakan fungsi Di alat templating Anda yang secara otomatis melakukan pelarian yang tepat, daripada menggabungkan string atau menyetel konten HTML mentah.
Alat lain yang hebat di kotak peralatan pembela XSS adalah Content Security Policy (CSP). CSP adalah header yang dapat dikembalikan server Anda yang memberitahukan browser untuk membatasi bagaimana dan apa JavaScript dijalankan di halaman, misalnya untuk melarang menjalankan skrip yang tidak dihosting di domain Anda, tidak mengizinkan inline JavaScript, atau menonaktifkan eval (). Mozilla memiliki panduan yang sangat baik dengan beberapa contoh konfigurasi. Hal ini membuat skrip penyerang lebih sulit bekerja, bahkan jika mereka bisa memasukkannya ke halaman Anda.
Hati-hati dengan berapa banyak informasi yang Anda berikan dalam pesan kesalahan Anda. Berikan sedikit kesalahan kepada pengguna Anda, untuk memastikan mereka tidak menyimpan rahasia yang ada di server Anda (misalnya kunci API atau sandi basis data). Jangan memberikan rincian pengecualian penuh, karena ini dapat membuat serangan kompleks seperti injeksi SQL jauh lebih mudah. Simpan kesalahan terperinci di log server Anda, dan tampilkan hanya informasi yang mereka butuhkan kepada pengguna.
6. Passwords
Semua orang tahu mereka harus menggunakan password yang rumit, tapi itu tidak berarti mereka selalu melakukannya. Sangat penting untuk menggunakan kata kunci yang kuat ke area admin server dan situs web Anda, namun sama pentingnya juga untuk meminta praktik sandi yang baik bagi pengguna Anda untuk melindungi keamanan akun mereka.
Sebanyak pengguna mungkin tidak menyukainya, menerapkan persyaratan password minimal delapan karakter, termasuk huruf besar dan nomor akan membantu melindungi informasi mereka dalam jangka panjang.
Sandi harus selalu disimpan sebagai nilai terenkripsi, sebaiknya gunakan algoritma hashing satu arah seperti SHA. Dengan menggunakan metode ini berarti ketika Anda mengautentikasi pengguna, Anda hanya bisa membandingkan nilai terenkripsi. Untuk keamanan situs tambahan, ada baiknya Anda memasukkan garam ke password, menggunakan garam per kata kunci baru.
Jika seseorang melakukan hacking dan mencuri kata kunci Anda, dengan menggunakan kata sandi hash dapat membantu mengurangi kerusakan, karena penguraiannya tidak mungkin dilakukan. Yang terbaik yang bisa dilakukan seseorang adalah serangan kamus atau serangan brute force, yang pada dasarnya menebak setiap kombinasi sampai menemukan kecocokan. Bila menggunakan kata sandi asin proses cracking sejumlah besar password bahkan lebih lambat karena setiap tebakan harus dipanggang secara terpisah untuk setiap kata kunci + garam yang sangat mahal secara komputasi.
Untungnya, banyak CMS memberikan manajemen pengguna di luar kotak dengan banyak fitur keamanan situs web yang ada di dalamnya, walaupun beberapa modul konfigurasi atau tambahan mungkin diperlukan untuk menggunakan kata sandi asin (pra Drupal 7) atau untuk menetapkan kekuatan kata kunci minimum. Jika Anda menggunakan .NET maka layak menggunakan penyedia keanggotaan karena sangat dapat dikonfigurasi, berikan keamanan situs web inbuilt dan sertakan kontrol readymade untuk proses masuk dan reset kata sandi.
7. File Uploads
Jika Anda memiliki formulir upload file maka Anda perlu memperlakukan semua file dengan sangat curiga. Jika Anda mengizinkan pengguna mengunggah gambar, Anda tidak dapat bergantung pada ekstensi file atau jenis mime untuk memverifikasi bahwa berkas tersebut adalah gambar karena gambar tersebut dapat dengan mudah dipalsukan. Bahkan membuka file dan membaca header, atau menggunakan fungsi untuk mengecek ukuran gambar tidak full proof. Sebagian besar format gambar memungkinkan penyimpanan bagian komentar yang bisa berisi kode PHP yang bisa dijalankan oleh server.
Jadi apa yang bisa Anda lakukan untuk mencegah hal ini? Pada akhirnya Anda ingin menghentikan pengguna agar tidak dapat mengeksekusi file yang mereka unggah. Secara default, server web tidak akan mencoba mengeksekusi file dengan ekstensi gambar, namun tidak disarankan untuk hanya mengandalkan pengecekan ekstensi file sebagai file dengan nama image.jpg.php telah diketahui bisa melewatinya.
Beberapa pilihan adalah mengganti nama file di upload untuk memastikan ekstensi file yang benar, atau untuk mengubah hak akses file, misalnya chmod 0666 sehingga tidak bisa dijalankan. Jika menggunakan * nix Anda bisa membuat file .htaccess (lihat di bawah) yang hanya akan memungkinkan akses untuk mengatur file yang mencegah serangan ekstensi ganda yang disebutkan sebelumnya.
8. SSL (HTTPS)
HTTPS adalah protokol yang digunakan untuk memberikan keamanan melalui Internet. HTTPS menjamin pengguna yang mereka ajak bicara ke server yang mereka harapkan, dan tidak ada orang lain yang dapat mencegat atau mengubah konten yang mereka lihat saat transit.
Jika Anda memiliki sesuatu yang mungkin diinginkan pengguna Anda secara pribadi, sangat disarankan untuk hanya menggunakan HTTPS untuk mengirimkannya. Itu tentu saja berarti kartu kredit dan halaman login (dan URL yang mereka kirimkan) tapi biasanya jauh lebih banyak dari situs Anda juga. Formulir masuk akan sering menetapkan kuki misalnya, yang dikirim dengan setiap permintaan lainnya ke situs Anda yang dibuat pengguna masuk, dan digunakan untuk mengautentikasi permintaan tersebut. Seorang penyerang yang mencuri ini bisa dengan mudah meniru pengguna dan mengambil alih sesi login mereka. Untuk mengalahkan serangan semacam ini, Anda hampir selalu ingin menggunakan HTTPS untuk keseluruhan situs Anda.
Itu tidak lagi semudah dan mahal seperti dulu. Let's Encrypt menyediakan sertifikat gratis dan otomatis, yang Anda perlukan untuk mengaktifkan HTTPS, dan ada alat komunitas yang ada untuk berbagai platform umum dan kerangka kerja untuk menyiapkannya secara otomatis untuk Anda.
Khususnya Google telah mengumumkan bahwa mereka akan meningkatkan Anda di peringkat pencarian jika Anda menggunakan HTTPS, memberikan manfaat SEO ini juga. Ada tongkat untuk pergi dengan wortel itu meskipun: Chrome dan peramban lainnya berencana memberi peringatan lebih besar dan lebih besar di setiap situs yang tidak melakukan ini, mulai dari bulan Januari 2017. HTTP yang tidak aman sedang dalam perjalanan keluar, dan sekaranglah waktunya untuk meningkatkan.
Sudah menggunakan HTTPS di mana-mana? Pergi lebih jauh dan lihat pengaturan HTTP Strict Transport Security (HSTS), sebuah header yang mudah Anda tambahkan ke tanggapan server Anda untuk melarang HTTP yang tidak aman untuk keseluruhan domain Anda.
Setelah Anda berpikir Anda telah melakukan semua yang Anda bisa maka saatnya untuk menguji keamanan situs Anda. Cara paling efektif untuk melakukannya adalah dengan menggunakan beberapa alat keamanan situs web, sering disebut pengujian penetrasi atau pengujian pena singkat.
Ada banyak produk komersial dan gratis untuk membantu Anda dalam hal ini. Mereka bekerja dengan basis yang sama dengan skrip yang akan digunakan hacker karena mereka menguji semua eksploitasi dan mencoba kompromi situs Anda dengan menggunakan beberapa metode yang disebutkan sebelumnya seperti injeksi SQL.
Beberapa alat gratis yang layak dilihat:
Netsparker (edisi komunitas gratis dan versi percobaan tersedia). Bagus untuk pengujian injeksi SQL dan XSS. OpenVAS. Klaim menjadi pemindai keamanan open source paling canggih. Bagus untuk menguji kerentanan yang diketahui, saat ini memindai lebih dari 25.000. Tapi bisa jadi sulit untuk setup dan membutuhkan server OpenVAS yang akan diinstal yang hanya berjalan di * nix. OpenVAS adalah garpu Nessus sebelum menjadi produk komersial closed-source.
SecurityHeaders.io (cek online gratis). Alat untuk melaporkan dengan cepat header keamanan yang disebutkan di atas (seperti CSP dan HSTS) domain telah diaktifkan dan dikonfigurasi dengan benar.
Xenotix XSS Exploit Framework Alat dari OWASP (Open Web Application Security Project) yang mencakup banyak pilihan contoh serangan XSS, yang dapat Anda jalankan untuk memastikan dengan cepat apakah masukan situs Anda rentan di Chrome, Firefox dan IE.
Xenotix XSS Exploit Framework Alat dari OWASP (Open Web Application Security Project) yang mencakup banyak pilihan contoh serangan XSS, yang dapat Anda jalankan untuk memastikan dengan cepat apakah masukan situs Anda rentan di Chrome, Firefox dan IE.
Hasil dari tes otomatis bisa menakutkan, karena menyajikan banyak potensi masalah. Yang penting adalah fokus pada isu kritis terlebih dahulu. Setiap isu yang dilaporkan biasanya dilengkapi dengan penjelasan bagus tentang potensi kerentanan. Anda mungkin akan menemukan bahwa beberapa masalah menengah / rendah tidak menjadi perhatian situs Anda.
Jika Anda ingin mengambil langkah lebih jauh maka ada beberapa langkah lebih lanjut yang dapat Anda lakukan untuk mencoba kompromi situs Anda secara manual dengan mengubah nilai POST / GET. Proxy debugging dapat membantu Anda di sini karena memungkinkan Anda untuk mencegat nilai permintaan HTTP antara browser dan server Anda. Aplikasi freeware populer yang disebut Fiddler adalah titik awal yang baik.
Jadi, apa yang harus Anda coba ganti pada permintaan itu? Jika Anda memiliki halaman yang seharusnya hanya terlihat oleh pengguna yang masuk, saya akan mencoba mengubah parameter URL seperti id pengguna, atau nilai cookie dalam upaya untuk melihat rincian pengguna lain. Bidang lain yang patut diuji adalah formulir, mengubah nilai POST untuk mencoba mengirimkan kode untuk melakukan XSS atau mengunggah skrip sisi server.
Semoga tips ini akan membantu menjaga keamanan situs dan informasi Anda. Untungnya sebagian besar CMS memiliki banyak fitur keamanan situs inbuilt, namun masih merupakan ide bagus untuk mengetahui eksploitasi keamanan yang paling umum sehingga Anda dapat memastikan bahwa Anda dilindungi.
Jika Anda ingin mengambil langkah lebih jauh maka ada beberapa langkah lebih lanjut yang dapat Anda lakukan untuk mencoba kompromi situs Anda secara manual dengan mengubah nilai POST / GET. Proxy debugging dapat membantu Anda di sini karena memungkinkan Anda untuk mencegat nilai permintaan HTTP antara browser dan server Anda. Aplikasi freeware populer yang disebut Fiddler adalah titik awal yang baik.
Jadi, apa yang harus Anda coba ganti pada permintaan itu? Jika Anda memiliki halaman yang seharusnya hanya terlihat oleh pengguna yang masuk, saya akan mencoba mengubah parameter URL seperti id pengguna, atau nilai cookie dalam upaya untuk melihat rincian pengguna lain. Bidang lain yang patut diuji adalah formulir, mengubah nilai POST untuk mencoba mengirimkan kode untuk melakukan XSS atau mengunggah skrip sisi server.
Semoga tips ini akan membantu menjaga keamanan situs dan informasi Anda. Untungnya sebagian besar CMS memiliki banyak fitur keamanan situs inbuilt, namun masih merupakan ide bagus untuk mengetahui eksploitasi keamanan yang paling umum sehingga Anda dapat memastikan bahwa Anda dilindungi.
Sumber : http://www.creativebloq.com/web-design/website-security-tips-protect-your-site-7122853
Nama : Heri Fidiawan
Nim : 311410117
Kelas : TI. 14. B2
Komentar
Posting Komentar