
Selamat Sore SobatTech, pada hari Rabu ini gua akan berbagi tutorial yaitu Cara Mengamankan Website Dari Serangan Hacker Terbaru
oke langsung saja kita mulai
Cara Mengamankan Website Dari Serangan Hacker
Keamanan didalam sebuah website tentu saja sangat penting untuk menjaga website kita dari serangan hacker yang tidak bertanggung jawab. Ada banyak sekali modus yang digunakan oleh hacker ketika dia berhasil masuk atau mengakses website kita. Pertama website kita akan di jual, kedua website kita akan di tanamkan virus, yang dimana virus ini dapat merusak berbagai file file dan mengenkripsi data website kita, dibutuhkan bayaran untuk membuka file kita tersebut, sangat mirip seperti virus virus di komputer.
Sebenarnya apa sih yang membuat website kita menjadi mudah untuk para hacker masuk, bahkan bocil bocil yang ngikutin tutorial di youtube pun bisa untuk melakukan tindakan ilegal ini dan memperaktekkannya ke website orang lain.
Hal yang mendasar dan menjadi penyebab kebobolan atau kerentanan suatu website adalah kurang update untuk programmernya.
Pemrograman php sudah menyediakan fitur fitur untuk membuat website menjadi aman, terkadang bagi programer pemula lalai terhadap keamanan suatu website, sehingga terjadi kebobolan data atau website anda kena hack.
Berikut ini beberapa jenis serangan yang di lakukan pada kerentanan suatu website dan cara mencegah hal itu terjadi.
Cara mencegah SQL INJECTION
Sql injection merupakan celah keamanan dari sisi server. Celah ini terjadi karena input dari user tidak difilter dengan baik dan dalam pembuatannya menggunakan form yang salah. Jadi sampai saat ini SQL Injection masih menjadikan jalan untuk para peretas menjalankan aksinya. Apalagi sekarang ini hacking melalui jaringan internet sudah tidak semudah zaman dulu.
Contoh SQL Injection melalui form password harusnya password diisi dengan karakter saja, tetapi form tersebut bisa diisi dengan karakter lain, jadi hacker bisa menyisipkan karakter seperti (:;-,=’) sehingga hacker bisa memasukan query SQL Injection, sehingga website Anda sudah bisa ditembus oleh hacker tersebut.
<?php
// ANGGAP SAJA DATABASE
define("USERNAME", "admin");
define("PASSWORD", "123");
$koneksi = mysqli_connect("localhost","root","","namadatabase");
if (isset($_POST['user'])) {
$user = $_POST['user'];
$pass = $_POST['pass'];
if ($user == USERNAME && $pass == PASSWORD) {
echo "berhasil login";
}else {
echo "gagal";
}
}
?>
nah dari kode di atas tidak ada filter sama sekali terhadap inputan user
$user = $_POST['user'];
kita perbaiki sedikit untuk keamanan dari sql injection
dengan menambahkan kode seperti ini
$user = mysqli_real_escape_string($koneksi, $_POST['user']);
Cara Mencegah CSRF
Csrf itu apa ya ?, untuk lengkapnya kalian bisa cari cari di google dan sekarang saya akan jelaskan untuk versi sederhananya
sederhananya begini, anggap saja Si A punya website dan isi websitenya ada tampilan login
karena Website Si A ini punya Bug CSRF maka ada hacker lain yang membuat form yang sama di web mereka (si hackernya) tapi submitnya ke Web Si A harusnya kan tidak boleh karena berasal dari web yang berbeda, kira kira seperti itu lah singkatnya.
nah untuk mengatasi bug csrf tersebut kita bisa membuat token di setiap request, Jadi ceritanya begini ketika website SI A pertama kali dibuka maka dia akan mengenerate random token lalu di simpan sebagai session dan di masukkan ke input form type hidden untuk validasi nanti di server.
ini contoh generate token random
$token = md5(time().rand(9,999),"kodeasal");
kemudian di sisi form loginnya kita tambahkan input hidden
<input type="hidden" name="csrf" value="<?= $token ?>">
kalau seperti itu tokennya akan selalu berganti setiap kita refresh halaman atau submit
untuk mengatasinya kita buat tokenya ke dalam session
<?php session_start();
if (!isset($_SESSION['csrf'])) {
$token = md5(time().rand(9,999),"kodeasal");
$_SESSION['csrf'] = $token;
}else {
$token = $_SESSION['csrf'];
}
penjelasan jika tidak ada session maka buat session baru namanya csrf dengan value $token
kalau udah ada gunakan token tersebut
kemudian untuk pengecekannya seperti ini
if (isset($_POST['csrf'])) {
if ($token == $_POST['csrf']) {
echo "aman";
}else {
echo "csrf";
}
}
Kesimpulannya begini : kita hanya mengecek apakah token yang kita buat di session itu sama dengan token yang di kirim lewat type hidden di form tadi
kalau sama berarti itu halaman asli
tapi kalau beda berarti itu dari halaman lain atau istilahnya CSRF haa.
Dengan metode ini juga dapat mencegah terjadinya spam terhadap form login yang kita buat.
Mencegah Serangan DDOS
Serangan DDOS (Distributed Denial of Service) adalah jenis serangan yang ada pada internet yang di mana penyerang berusaha membuat traffic menjadi banjir dengan lalu lintas dari berbagai sumber. Jenis Serangan DDOS ini biasanya dilakukan oleh orang yang tidak bertanggung jawab, tetapi pasti di awal ada ke kesalan yang menyebabkan website target menjadi korban, contohnya banyak hacker indonesia yang menyerang situs dprd, menyerang situs israel dan lain lain.
Jadi solusi untuk masalah ini adalah dengan membuat wesite tidak merugikan orang lain, hacker juga punya hati, gak mungkin dia ddos ke website yang tidak punya masalah.
Selanjutnya jika kamu ingin mengamankan website dari segi sistemnya, maka gunakanlah CloudFlare.
Cloudflare berfungsi sebagai proxy antara website dan pengunjung. Dengan menggunakan Cloudflare maka server akan tersebar di beberapa negara, hal itu menjadikan loading sebuah website lebih cepat dan tentunya mengamakan dari serangan ddos.
Cara Mencegah Bot Dengan Captcha
Pernah kan kalian berkunjung ke suatu website lalu menemukan form login yang dalam form tersebut terdapat tulisan saya bukan robot. Nah itu yang dinamakan captcha, ada banyak sekali jenis captcha yang bisa di gunakan kamu bisa membuat sendiri atau bisa menggunakan captcha dari google. Tujuan utama dari captcha ini yang pasti untuk membedakan pengunjung asli atau bot. Oleh sebab itu membuat captcha pada form anda itu sangat di sarankan.
Beralih ke HTTPS
Beralih ke HTTPS (Hypertext Transfer Protocol Secure) adalah cara yang sangat saya rekomendasikan untuk meningkatkan keamanan situs web Anda. HTTPS adalah protokol untuk mengirimkan informasi secara aman melalui internet. Itu menggunakan enkripsi untuk melindungi data yang sedang dikirim, sehingga lebih sulit bagi penyerang untuk mencegat dan membaca data.
Selain untuk mengamankan website, dengan https juga akan meningkatkan seo dan akan di pandang oleh search engine menjadi website yang secure atau aman dan cocok untuk di tampilkan.
Melakukan Backup Sesering Mungkin
Lakukan lah backup sesering mungkin, ini untuk meminimalisir terjadinya error pada server atau apabila terkena virus kamu bisa merestorenya ke backupan terakhir. Untuk melakukan backup saya sendiri jangka waktunya sekitar 3-5 Hari sekali.
mungkin sekian penjelasan dari saya tentang mengamankan website dari serangan hacker, sekian dan terima kasih.