Memblokir User Agent Tertentu di Web Server Nginx

Minggu, 08 April 2018

Memblokir User Agent Tertentu di Web Server Nginx - Pada tutorial ini kita akan membahas bagaimana memblokir user agent tertentu di web server nginx. Tentu saja kalian punya tujuan tersendiri saat memblokir UA, misalnya mengindari bot scanner, ataupun bot crawler spam.
Misalnya kita ingin memblokir Accunetix, kita bisa block UA yang dipakai oleh Accunetix.


Kalian bisa edit di /usr/nginx/nginx.conf nya langsung atau di serverblock masing masing domain yang ingin disetting block UA nya. Jika di nginx.conf, atur konfigurasinya di bagian http {}, sementara jika di serverblock, masukkan di server{} .

Sebagai contoh, di tutorial ini saya ingin memblokir user agent wget. Maka kodenya:
if ($http_user_agent ~* (Wget) ) {
   return 403;
}
Jika ingin memblokir beberapa UA sekaligus, gunakan pemisah pipeline ( | ).
  if ($http_user_agent ~* (wget|accunetix) {
            return 403;
     }
Maka ketika salahsatu useragent yang diblock mengcoba merayapi situs kita, akan menampilkan error code 403 (forbidden). Untuk error code nya bisa kalian ubah sendiri. Bisa juga diganti 404 (not found).

Sebagai contoh kita coba gunakan curl dan user agent Wget untuk mengecek informasi header dari situs yang telah memblokir wget.
root@zafkiel:~# curl -I -A "wget" https://zafkiel.net/
HTTP/1.1 403 Forbidden
Date: Sun, 08 Apr 2018 13:11:19 GMT
Content-Type: text/html
Connection: keep-alive
Set-Cookie: __cfduid=dc028a3616b054075392db9e239c3d9b81523193079; expires=Mon, 08-Apr-19 13:11:19 GMT; path=/; domain=.zafkiel.net; HttpOnly; Secure
Vary: Accept-Encoding
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Server: cloudflare
CF-RAY: 4084faaa6b472384-FRA
Baiklah sekian tutorial sederhana kali ini, jika ada yang kruang jelas silahkan ditanyakan.

Artikel Terkait Nginx