Bagaimana cara mengamankan situs web Anda?



Dalam mencari metode dan alat modern yang memungkinkan kita untuk setidaknya dengan beberapa tingkat kepastian mengklaim bahwa situs web dilindungi dari serangan hacker di masa depan (Bahwa setiap orang akan memilikinya, tidak ada orang yang memiliki keraguan? Dan jika tidak ada , maka ini hanya masalah waktu), rekomendasi ditemukan bahwa kami akan mempertimbangkan dalam artikel ini.

Ini adalah daftar kecil namun penting dari tindakan spesifik yang harus diambil semua orang dengan sumber daya web mereka sendiri, jika reputasi perusahaan, keamanan sumber daya web, dan data pelanggan bukanlah kata-kata kosong untuk Anda.

Ada beberapa cara dasar untuk melindungi situs Anda:

  • memberikan perlindungan terhadap serangan DDoS;
  • menghubungkan sertifikat SSL;
  • gunakan hosting yang andal ;
  • gunakan plugins / libraries / frameworks / CMS yang aman (selanjutnya disebut sebagai "modul pihak ketiga");
  • SQL- XSS-;
  • - ;
  • - ;
  • , ;
  • , -, .

Secara alami, setiap item memiliki “tetapi” sendiri dan sejumlah sub-item yang harus diperhatikan. Mereka juga dapat dibagi menjadi beberapa subkelompok berdasarkan pertimbangan berikut: beberapa tindakan memerlukan koneksi satu kali, konfigurasi, dan pemeriksaan kesehatan yang langka (menyiapkan hosting dan sertifikat SSL), sementara yang lain melibatkan pemeriksaan terus-menerus, pembaruan, dan memerlukan perhatian dekat (semua yang lain).

Hosting yang andal dan SSL


Jadi, untuk memulainya, gudang senjata kami memiliki server yang dapat diandalkan atau hosting bersama, administrasi yang akan tetap berada di luar ruang lingkup artikel ini. Adapun untuk menghubungkan sertifikat SSL, ini adalah tindakan wajib dan bahkan komentar berlebihan di sini.

Perlindungan DDoS


Jika penyedia hosting Anda menyediakan layanan untuk perlindungan terhadap serangan DDoS atau Anda menggunakan layanan layanan anti-DDoS, maka pertanyaan ini dapat dianggap tertutup, tetapi mengapa tidak memperkuat perlindungan dan mengaturnya sendiri, yang tidak diragukan lagi merupakan tugas yang memakan waktu dan menyiratkan secara simultan menggunakan teknik berikut: jika Apache digunakan sebagai server web, maka Anda harus meletakkan proxy caching di depannya - Nginx atau Lighttpd, tetapi lebih baik menggunakan Nginx di frontend, tetapi dengan beberapa add-on (batasi ukuran buffer dan koneksi di Nginx, konfigurasikan batas waktu dan dll; gunakan modul testcookie-nginx; gunakan pemfilteran URL dan berikan kode non-standar 444, yang memungkinkan Anda untuk menutup koneksi dan tidak mengembalikan apa pun); dalam beberapa kasus, gunakan penguncian geografis;Mengotomatiskan proses menganalisis log situs web, memberikan perhatian khusus pada jumlah lalu lintas, waktu respons server, jumlah kesalahan dan jumlah permintaan per detik.

Keamanan Pihak Ketiga


Mengenai rekomendasi tentang penggunaan modul pihak ketiga yang aman dalam aplikasi mereka, topik ini mungkin salah satu yang paling penting, karena sebagian besar serangan berbahaya terjadi melalui modul pihak ketiga. Inti dari paragraf ini adalah menggunakan kerangka kerja dan pustaka dengan fitur keamanan bawaan yang akan membantu pengembang meminimalkan tampilan kerentanan dalam proses implementasi. Saya ingin menyoroti rekomendasi yang lebih terperinci mengenai item ini: gunakan modul pihak ketiga dari sumber tepercaya yang didukung oleh komunitas dan dikembangkan secara aktif; Tetap perbarui daftar semua modul pihak ketiga; Gunakan hanya fungsi yang diperlukan dalam aplikasi Anda.

Suntikan SQL dan serangan XSS


Rekomendasi mengenai perlindungan terhadap injeksi SQL dan serangan XSS membutuhkan penjelasan paling rinci, karena tujuan penyerang di sini adalah data spesifik dari database (injeksi SQL) dan data pengguna (serangan XSS). Penting juga untuk memahami bahwa masalah yang terkait dengan injeksi SQL mencakup bagian luas tentang penyediaan akses yang aman ke semua gudang data, termasuk basis data relasional dan basis data NoSQL, dan termasuk masalah keamanan kueri (Anda harus menghindari input tidak sah sebagai bagian dari SQL- perintah dan solusi terbaik adalah dengan menggunakan kueri parameterisasi yang dapat diterapkan pada konstruksi SQL / OQL dan prosedur tersimpan), konfigurasi (Anda perlu memastikan bahwa alat keamanan DBMS yang ada dan platform tempat pemasangannya dikonfigurasi dengan benar),otentikasi (harus dilakukan melalui saluran aman) dan koneksi (karena adanya beberapa cara untuk berinteraksi dengan database (melalui layanan atau API), perlu untuk memastikan keamanan koneksi menggunakan enkripsi dan otentikasi).

Sedangkan untuk cross-site scripting (serangan XSS), dalam hal ini konsekuensi dari keparahan sedang dapat disebabkan oleh XSS atau XSS yang direfleksikan berdasarkan model objek dokumen (DOM), dan scripting lintas-situs dengan eksekusi kode pada browser pengguna dapat mengakibatkan konsekuensi serius. untuk mencuri kredensial, memotong sesi, atau menginstal perangkat lunak berbahaya. Ukuran perlindungan utama dalam kasus ini adalah penyaringan (menambahkan kombinasi karakter tertentu sebelum karakter atau garis untuk mencegah interpretasi yang salah), mengode data (mengubah karakter tertentu menjadi kombinasi karakter yang tidak menimbulkan ancaman bagi juru bahasa) di sisi server dan menggunakan seperangkat header HTTP khususnya, Set-Cookie dengan parameter HttpOnly dan Secure,serta X-XSS-Protection dengan nilai 1.

Ukuran keamanan umum yang digunakan untuk mencegah injeksi SQL dan skrip lintas situs adalah memeriksa semua input untuk sintaks dan semantik. Norma sintaksis harus dipahami sebagai korespondensi lengkap dari data input ke bentuk presentasi yang diharapkan, dan norma semantik menunjukkan bahwa data input tidak melampaui batas fungsional tertentu.

Penebangan dan pemantauan


Rekomendasi mengenai pencatatan semua peristiwa dan pemantauan peristiwa keamanan telah disebutkan ketika mempertimbangkan metode perlindungan terhadap serangan DDoS, tetapi dalam kasus ini kami mempertimbangkan sisi yang lebih luas dari masalah yang terkait dengan deteksi serangan dan penyangkalan terhadap mereka, serta penyelidikan atas insiden keamanan yang telah terjadi. Dengan demikian, selain alat pencatatan standar yang disediakan oleh server web, Anda perlu memastikan bahwa waktu acara dan ID pengguna dicatat, serta aktivitas berbahaya yang berpotensi khusus untuk situs web Anda. Dalam hal mendeteksi aktivitas jahat, aplikasi Anda harus memblokir sesi pengguna atau memblokir berdasarkan alamat IP, secara umum, mengambil tindakan dan memberi tahu administrator tentang hal itu. Di sini kita berbicara tentang alat-alat seperti WAF atau IDS / IPS.

Cadangan


Adapun cadangan situs web dan semua data secara berkala, di sini Anda perlu memikirkan tempat dan jenis penyimpanan data ini. Cara yang efektif adalah mengenkripsi penyimpanan data penting dan cadangan, serta menyimpan file cadangan bukan pada sistem file, tetapi di tempat yang berbeda, keamanannya tidak ada keraguan, dan yang akan selalu siap untuk penyebaran cepat.

12345 atau qwerty?


Rekomendasi untuk menggunakan kata sandi yang kuat dan kompleks tidak hanya dan tidak begitu banyak tentang kata sandi, tetapi secara umum tentang otentikasi dan manajemen sesi pengguna. Ada tiga tingkat otentikasi, dan penggunaan kata sandi hanya mengacu pada yang pertama - tingkat paling sederhana (yang kedua adalah otentikasi multi-faktor; yang ketiga adalah otentikasi berdasarkan enkripsi). Namun, bahkan di sini ada sejumlah persyaratan untuk kata sandi itu sendiri, mekanisme pemulihan kata sandi, serta untuk penyimpanan kata sandi yang aman. Manajemen sesi memungkinkan Anda untuk memantau keadaan otentikasi pengguna untuk bekerja dengan situs web tanpa otentikasi ulang. Sesi juga diperlukan untuk membuat dan menyelesaikan.

Perlindungan panel admin


Rekomendasi terakhir adalah untuk melindungi panel admin situs web, karena itu adalah salah satu kelemahan dalam keseluruhan sistem karena fungsi yang luas terkait dengan menambah / mengedit posting dan halaman, bekerja dengan file dan banyak lagi. Oleh karena itu, syarat penting adalah untuk memastikan kontrol akses yang tepat, serta penyembunyian maksimum lokasi panel administratif dari penjahat dunia maya, diimplementasikan dengan hanya mentransfer alamat ke yang tidak standar dan memaksimalkan perlindungan untuk titik masuk ini melalui perlindungan dari brute force, penyaringan dengan alamat IP, dll. Saat membuat sistem kontrol akses, prinsip-prinsip berikut harus dipatuhi: mengirim semua permintaan melalui sistem kontrol akses; Tolak akses secara default (mis. Tolak permintaan, jika tidak diotorisasi secara khusus); hak minimum untuk semua pengguna,program atau proses; penolakan untuk menggunakan model peran kontrol akses, kode-keras dalam kode; pendaftaran semua acara yang terkait dengan kontrol akses.

Kesimpulan


Artikel ulasan ini membahas beberapa teknik untuk meningkatkan keamanan situs web. Setiap rekomendasi individu layak mendapatkan ulasan terpisah, tetapi bahkan dengan ulasan singkat seperti itu, satu hal tetap jelas - pendekatan untuk memastikan keamanan harus komprehensif dan sistematis dan tidak boleh ditoleransi. Anda perlu secara hati-hati mendekati kontrol akses, memperbarui modul pihak ketiga yang terbaru, memfilter data input dan banyak lagi. Punya sesuatu untuk ditambahkan? Pastikan untuk membagikan komentar Anda.



Sebagai iklan


VDSina menawarkan server yang andal dengan pembayaran harian atau satu kali, setiap server terhubung ke saluran Internet 500 Megabits dan bebas dari serangan DDoS!


All Articles