Kumpulan Script Anti-Hack & Anti-Retas untuk Server Perusahaan — Lengkap dengan Tombol Salin!
Di era digital yang semakin canggih, ancaman peretasan dan pencurian data menjadi momok menakutkan bagi para pengusaha. Data perusahaan adalah aset paling berharga—mulai dari data pelanggan, rahasia dagang, hingga informasi keuangan. Jika jatuh ke tangan orang jahat yang tidak bertanggung jawab, bisa berakibat fatal: kerugian finansial, hilangnya kepercayaan pelanggan, bahkan kebangkrutan.
Kami hadir untuk membantu Anda! Berikut adalah kumpulan script anti-hack dan anti-retas yang dapat Anda terapkan di server perusahaan. Setiap script dilengkapi dengan tombol salin agar mudah diimplementasikan. Semua script ini dirancang untuk melindungi server dari berbagai jenis serangan siber, mulai dari serangan DDoS, SQL Injection, Cross-Site Scripting (XSS), hingga brute force login.
Sebagai pengusaha yang jujur dan bertanggung jawab, lindungi data perusahaan Anda sekarang juga! Jangan biarkan peretas mengambil keuntungan dari kerja keras Anda.
Script Dasar: Perlindungan Server dari Serangan Umum
Script pertama ini adalah fondasi keamanan dasar yang wajib Anda terapkan. Meliputi perlindungan terhadap serangan DDoS, pembatasan akses, dan deteksi aktivitas mencurigakan.
1. Script Perlindungan DDoS & Rate Limiting
Script ini membatasi jumlah permintaan (request) dari satu alamat IP dalam waktu tertentu. Mencegah serangan DDoS yang membanjiri server dengan lalu lintas palsu.
# Script Perlindungan DDoS & Rate Limiting (Nginx)
# Simpan di file /etc/nginx/nginx.conf atau /etc/nginx/conf.d/rate-limiting.conf
# Definisikan zona rate limiting
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
# Terapkan pada server atau lokasi tertentu
server {
listen 80;
server_name example.com;
location / {
limit_req zone=mylimit burst=20 nodelay;
limit_req_status 429;
# Tambahkan aturan lain di sini
}
}
2. Script Perlindungan Brute Force Login
Mencegah percobaan login berulang-ulang (brute force) dengan membatasi jumlah percobaan login yang gagal.
# Script Perlindungan Brute Force Login (PHP)
# Simpan di file config.php atau fungsi autentikasi Anda
function login_attempts_check($ip_address) {
$attempts_file = '/tmp/login_attempts.txt';
$max_attempts = 5;
$block_duration = 300; // 5 menit
$attempts = file_get_contents($attempts_file);
$data = json_decode($attempts, true) ?? [];
if (isset($data[$ip_address])) {
if ($data[$ip_address]['count'] >= $max_attempts && (time() - $data[$ip_address]['time']) < $block_duration) {
return false; // IP diblokir
}
// Jika waktu blokir habis, reset hitungan
if ((time() - $data[$ip_address]['time']) >= $block_duration) {
unset($data[$ip_address]);
}
}
return true; // IP diizinkan
}
// Contoh penggunaan
$ip = $_SERVER['REMOTE_ADDR'];
if (!login_attempts_check($ip)) {
die("Terlalu banyak percobaan login gagal. Silakan coba lagi dalam 5 menit.");
}
Script Keamanan Data & Database
Data adalah aset perusahaan. Lindungi dari serangan SQL Injection, XSS, dan akses ilegal.
3. Script Perlindungan SQL Injection
Menghindari serangan SQL Injection dengan memvalidasi semua input dari pengguna.
# Script Perlindungan SQL Injection (PHP - PDO)
# Menggunakan prepared statement untuk menghindari SQL injection
function safe_query($pdo, $sql, $params = []) {
try {
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return $stmt;
} catch (PDOException $e) {
error_log("SQL Error: " . $e->getMessage());
return false;
}
}
# Contoh penggunaan
$pdo = new PDO("mysql:host=localhost;dbname=perusahaan;charset=utf8", "username", "password");
$sql = "SELECT * FROM users WHERE email = :email AND password = :password";
$params = [':email' => $_POST['email'], ':password' => $_POST['password']];
$result = safe_query($pdo, $sql, $params);
4. Script Enkripsi Data Sensitif
Mengenkripsi data sensitif (seperti password, nomor kartu, NIK) yang disimpan di database.
# Script Enkripsi Data Sensitif (PHP - AES-256-CBC)
# Gunakan untuk mengenkripsi data sebelum disimpan ke database
define('ENCRYPTION_KEY', 'rahasia-kunci-anda-yang-sangat-kuat');
define('ENCRYPTION_IV_LENGTH', openssl_cipher_iv_length('aes-256-cbc'));
function encrypt_data($data) {
$iv = openssl_random_pseudo_bytes(ENCRYPTION_IV_LENGTH);
$encrypted = openssl_encrypt($data, 'aes-256-cbc', ENCRYPTION_KEY, 0, $iv);
return base64_encode($iv . $encrypted);
}
function decrypt_data($encrypted_data) {
$data = base64_decode($encrypted_data);
$iv = substr($data, 0, ENCRYPTION_IV_LENGTH);
$encrypted = substr($data, ENCRYPTION_IV_LENGTH);
return openssl_decrypt($encrypted, 'aes-256-cbc', ENCRYPTION_KEY, 0, $iv);
}
# Contoh penggunaan
$encrypted_nik = encrypt_data('1234567890123456');
echo "Data terenkripsi: " . $encrypted_nik . "\n";
echo "Data asli: " . decrypt_data($encrypted_nik);
5. Script Perlindungan Cross-Site Scripting (XSS)
Mencegah serangan XSS dengan memfilter dan membersihkan semua input dan output HTML.
# Script Perlindungan Cross-Site Scripting (XSS) - PHP
# Bersihkan semua input dan output untuk mencegah XSS
function sanitize_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
return $data;
}
function sanitize_output($data) {
return htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
}
# Contoh penggunaan
$nama = sanitize_input($_POST['nama']);
$komentar = sanitize_input($_POST['komentar']);
echo "Nama: " . sanitize_output($nama) . "
";
echo "Komentar: " . sanitize_output($komentar) . "
";
6. Script Backup Otomatis Database
Melakukan backup database secara otomatis dan periodik untuk mengantisipasi kehilangan data akibat serangan.
# Script Backup Otomatis Database (Bash untuk Linux)
# Simpan di /etc/cron.daily/backup-database.sh
# Jangan lupa jadwalkan dengan cron!
#!/bin/bash
DB_NAME="nama_database"
DB_USER="username"
DB_PASS="password"
BACKUP_DIR="/var/backups/database"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/$DB_NAME-$DATE.sql"
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE
# Kompres backup
gzip $BACKUP_FILE
# Hapus backup lama (lebih dari 30 hari)
find $BACKUP_DIR -name "*.sql.gz" -mtime +30 -delete
echo "Backup $DB_NAME selesai: $BACKUP_FILE.gz"
Script Monitoring & Deteksi Dini Serangan
Deteksi dini adalah kunci untuk mencegah kerusakan lebih parah. Script di bawah ini akan memonitor aktivitas server dan memberi tahu Anda jika ada kejanggalan.
7. Script Monitoring Aktivitas Login Gagal
Mencatat dan memberi peringatan jika ada aktivitas login gagal yang mencurigakan.
# Script Monitoring Login Gagal - PHP (gunakan dengan cron)
# Jalankan script ini setiap 5 menit untuk memonitor log server
$log_file = '/var/log/auth.log';
$alert_email = 'admin@perusahaan.com';
$failed_logins = shell_exec("tail -n 100 $log_file | grep 'Failed password' | wc -l");
if ($failed_logins > 10) {
$subject = "Peringatan: Banyak percobaan login gagal";
$message = "Terjadi $failed_logins percobaan login gagal dalam 5 menit terakhir. Cek log server segera.";
mail($alert_email, $subject, $message);
}
# Untuk log nginx/access.log
$access_log = '/var/log/nginx/access.log';
$suspicious_requests = shell_exec("tail -n 500 $access_log | grep -E '(sql|select|union|--|;|\
Kumpulan Script Anti-Hack & Anti-Retas untuk Server Perusahaan — Lengkap dengan Tombol Salin!
www.ilov.eu.org