Cara Memblokir Rentang IP Menggunakan `.htaccess`
Salah satu fitur menarik dari Apache adalah fleksibilitas .htaccess
. Selain dipakai untuk rewrite URL atau mengatur caching, .htaccess
juga bisa digunakan untuk membatasi akses berdasarkan alamat IP.
Kalau Anda pernah menghadapi spam bot, brute force, atau trafik berbahaya dari negara/region tertentu, salah satu solusi cepatnya adalah memblokir IP address atau bahkan satu range sekaligus.
Dasar: Memblokir Satu IP
Untuk memblokir satu IP saja, contoh konfigurasinya sederhana:
<RequireAll>
Require all granted
Require not ip 192.168.1.100
</RequireAll>
Aturan ini akan memblokir 192.168.1.100
, sementara IP lain tetap bisa mengakses.
Memblokir Rentang IP
Nah, bagaimana kalau Anda ingin memblokir seluruh range, misalnya 192.168.1.0 – 192.168.1.255
?
Caranya pakai CIDR notation.
<RequireAll>
Require all granted
Require not ip 192.168.1.0/24
</RequireAll>
/24
artinya subnet mask255.255.255.0
, alias 256 alamat IP.- Dengan aturan ini, semua IP dari
192.168.1.0
hingga192.168.1.255
akan diblokir.
Beberapa Contoh Praktis
-
Blokir range besar (misalnya 65.000 IP):
<RequireAll> Require all granted Require not ip 10.0.0.0/16 </RequireAll>
(Memblokir
10.0.0.0
sampai10.0.255.255
) -
Blokir beberapa IP atau subnet sekaligus:
<RequireAll> Require all granted Require not ip 203.0.113.25 Require not ip 198.51.100.0/24 Require not ip 192.0.2.0/28 </RequireAll>
-
Hanya izinkan IP tertentu (whitelist mode):
<RequireAll> Require ip 203.0.113.5 Require ip 203.0.113.6 </RequireAll>
(Selain IP yang disebut, semua akan ditolak.)
Catatan Penting
- Versi Apache → Sintaks
Require
ini berlaku di Apache 2.4+. Jika Anda masih pakai Apache 2.2, sintaksnya berbeda (Deny from
,Allow from
). - Jangan terlalu banyak aturan →
.htaccess
dieksekusi setiap request. Kalau ada ribuan IP yang diblok, performa bisa turun. Untuk kasus ekstrem, lebih baik pakai firewall (misalnyaiptables
atauufw
). - Testing dulu → Jangan langsung deploy di production tanpa uji coba. Bisa jadi aturan yang salah justru memblokir semua orang (termasuk admin 😅).
Kesimpulan
Memblokir IP atau rentang IP lewat .htaccess
adalah trik cepat untuk menahan trafik berbahaya langsung di level web server. Cocok untuk kasus ringan sampai menengah, misalnya bot spam, brute force, atau trafik dari subnet tertentu.
Tapi kalau skalanya besar, pertimbangkan solusi yang lebih kuat seperti WAF (Web Application Firewall) atau firewall server.