Tutorial Lengkap Setup WireGuard + Cloudflare WARP untuk Optimasi Routing dengan VPS Singapura & Indonesia

 

      [ Client ]
          │
          ▼
    🌍 Internet
          │
    ┌───────────┐
    │  Starlink         │ (Only Transit)
    └───────────┘
          │
          ▼
  ┌─────────────────┐        ┌──────────────────┐
  │  VPS Singapura          │ -----> │  VPS Indonesia           
  │  10.100.100.1               │ <----- │  10.100.101.1                
  │  Public IP SG               │        │  Public IP ID                
  └─────────────────┘        └──────────────────┘
          │
          ▼
    [ WireGuard ]
          │
          ▼
   [ Cloudflare WARP ]
          │
          ▼
      🌍 Internet

      Penjelasan

✅ Client → Koneksi utama ke VPS Singapura melalui WireGuard
✅ VPS Singapura → Server utama untuk VPN
✅ VPS Indonesia → Server backup jika VPS Singapura mati
✅ Failover → Jika VPS SG mati, koneksi dialihkan ke VPS Indonesia
✅ Cloudflare WARP → Optimasi jalur & routing lebih cepat
✅ Starlink → Hanya sebagai transit, semua bandwidth tetap dari VPS


1. Pendahuluan

Topologi ini menggunakan dua VPS (Singapura & Indonesia) sebagai gateway utama untuk koneksi internet, dengan Starlink hanya sebagai transit. WireGuard digunakan sebagai VPN utama, dan Cloudflare WARP membantu optimasi routing. Sistem ini juga memiliki failover jika VPS utama (SG) mati, maka koneksi otomatis dialihkan ke VPS backup (ID).

2. Persiapan

Sebelum memulai, pastikan Anda memiliki:

  • 2 VPS (Singapura & Indonesia) dengan OS Ubuntu/Debian

  • WireGuard terinstal di kedua VPS

  • Cloudflare WARP terinstal di VPS utama (SG)

  • Akses root ke server dan client

3. Instalasi WireGuard di VPS Singapura & Indonesia

apt update && apt install wireguard -y

4. Konfigurasi WireGuard di VPS Singapura (/etc/wireguard/wg0.conf)

[Interface]
Address = 10.100.100.1/24
PrivateKey = <PRIVATE_KEY_SG>
ListenPort = 51820

[Peer]
PublicKey = <PUBLIC_KEY_ID>
AllowedIPs = 10.100.101.1/32
Endpoint = <PUBLIC_IP_ID>:51820
PersistentKeepalive = 25

5. Konfigurasi WireGuard di VPS Indonesia (/etc/wireguard/wg0.conf)

[Interface]
Address = 10.100.101.1/24
PrivateKey = <PRIVATE_KEY_ID>
ListenPort = 51820

[Peer]
PublicKey = <PUBLIC_KEY_SG>
AllowedIPs = 10.100.100.1/32
Endpoint = <PUBLIC_IP_SG>:51820
PersistentKeepalive = 25

6. Menjalankan WireGuard

systemctl enable wg-quick@wg0
systemctl start wg-quick@wg0

7. Instalasi Cloudflare WARP di VPS Singapura

curl -fsSL https://pkg.cloudflareclient.com/install.sh | bash
warp-cli register
warp-cli set-mode proxy
warp-cli connect

8. Menambahkan Routing di VPS Singapura

iptables -t nat -A POSTROUTING -o warp0 -j MASQUERADE
iptables -A FORWARD -i wg0 -o warp0 -j ACCEPT
iptables -A FORWARD -i warp0 -o wg0 -j ACCEPT

9. Setup Failover dari Singapura ke Indonesia

while true; do
  ping -c 3 10.100.100.1 > /dev/null
  if [ $? -ne 0 ]; then
    ip route replace default via 10.100.101.1 dev wg0
  else
    ip route replace default via 10.100.100.1 dev wg0
  fi
  sleep 10
done

Simpan script ini di /root/failover.sh dan jalankan:

chmod +x /root/failover.sh
nohup /root/failover.sh &

10. Uji Koneksi

Di client, coba hubungkan ke WireGuard VPS Singapura dan cek apakah routing berjalan dengan baik.

ping -c 3 8.8.8.8
curl ifconfig.me

Penutup Sistem ini memastikan koneksi tetap optimal dengan failover otomatis. Semua bandwidth tetap dari VPS, sementara Starlink hanya sebagai jalur transit. Jika ada pertanyaan, silakan tinggalkan komentar di blog!


🔥 DNS TANPA AMPUN: Filtering Super Kuat dengan AdGuard Home + BIND Resolver 🔥

 


Pendahuluan

Di dunia jaringan, keamanan dan kecepatan adalah segalanya! Tutorial ini akan membawamu menguasai kombinasi AdGuard Home + BIND DNS, solusi hybrid yang bisa:
Memblokir iklan, malware, & konten berbahaya langsung dari DNS
Menjaga kecepatan & kestabilan jaringan dengan resolver lokal
Mengontrol sepenuhnya domain lokal & upstream DNS

Spesifikasi Server yang Dibutuhkan

Untuk menjalankan AdGuard Home dan BIND secara optimal, berikut spesifikasi minimal server:

  • CPU: 2 Core (Rekomendasi 4 Core untuk performa lebih baik)
  • RAM: 2GB (Rekomendasi 4GB jika menangani banyak query)
  • Storage: 20GB SSD (Rekomendasi lebih besar jika ingin menyimpan log DNS dalam jangka panjang)
  • OS: Debian 10/11 atau Ubuntu 20.04/22.04
  • Koneksi Jaringan: Minimal 100Mbps, lebih baik jika 1Gbps untuk ISP besar

Apa yang Akan Kamu Pelajari?

1️⃣ Instalasi AdGuard Home di Debian/Linux – Blokir iklan & ancaman sejak dini
2️⃣ Konfigurasi Filtering & Upstream DNS – Pilih server tercepat & teraman
3️⃣ Instalasi & Setup BIND sebagai Resolver – Kendali penuh atas DNS lokal
4️⃣ Integrasi AdGuard Home dengan BIND – Kombinasi yang tak tertandingi
5️⃣ Testing & Monitoring DNS Query – Pantau & optimalkan performa DNS
6️⃣ Custom Redirect Page di AdGuard Home – Ganti halaman blokir ke tampilan sendiri


1️⃣ Instalasi AdGuard Home di Debian/Linux

AdGuard Home adalah DNS server yang mampu memfilter iklan, malware, dan konten berbahaya langsung dari query DNS.

Langkah-langkah Instalasi

wget https://github.com/AdguardTeam/AdGuardHome/releases/latest/download/AdGuardHome_linux_amd64.tar.gz
tar -xvf AdGuardHome_linux_amd64.tar.gz
cd AdGuardHome
sudo ./AdGuardHome -s install

Akses Web UI AdGuard Home

Setelah instalasi selesai, buka browser dan akses:

http://<IP-SERVER>:3000

Ikuti wizard setup untuk konfigurasi awal.


2️⃣ Konfigurasi Filtering & Upstream DNS

  • Masuk ke SettingsDNS Settings
  • Tambahkan upstream DNS (misalnya Cloudflare, Google, atau Quad9)
  • Aktifkan Filtering untuk memblokir iklan & malware otomatis

3️⃣ Instalasi & Setup BIND sebagai Resolver

BIND digunakan sebagai DNS resolver authoritative untuk domain lokal.

Instalasi BIND

sudo apt update && sudo apt install bind9 -y

Konfigurasi Named.conf.options

Edit file konfigurasi:

sudo nano /etc/bind/named.conf.options

Tambahkan:

options {
    directory "/var/cache/bind";
    recursion yes;
    allow-recursion { any; };
    forwarders {
        127.0.0.1 port 5353; // Arahkan ke AdGuard Home
    };
};

Simpan dan restart BIND:

sudo systemctl restart bind9

4️⃣ Integrasi AdGuard Home dengan BIND

  • Masuk ke AdGuard Home Web UISettingsDNS Settings
  • Tambahkan 127.0.0.1:53 sebagai upstream untuk query internal
  • Tambahkan Google/Cloudflare sebagai fallback DNS resolver

5️⃣ Testing & Monitoring DNS Query

Cek apakah setup sudah berjalan dengan baik:

dig google.com @127.0.0.1
dig your-local-domain.com @127.0.0.1

Cek log DNS di AdGuard Home untuk melihat filtering yang terjadi.


6️⃣ Custom Redirect Page di AdGuard Home

Secara default, AdGuard Home hanya menampilkan pesan error ketika sebuah domain diblokir. Kita bisa menggantinya dengan halaman redirect kustom.

Metode 1: DNS Rewrites ke Halaman Kustom

  1. Buat Server Web (Nginx/Apache) di Mesin yang Sama
    sudo apt install nginx -y
    echo '<h1>Website ini diblokir oleh jaringan</h1>' | sudo tee /var/www/html/index.html
    sudo systemctl restart nginx
    
  2. Atur DNS Rewrite di AdGuard Home
    • Buka AdGuard Home Web UIFiltersDNS Rewrites
    • Tambahkan domain yang ingin diarahkan ke IP server web
    • Contoh:
      example.com → 192.168.1.100
      

Metode 2: Redirect Langsung via Firewall

Jika ingin langsung mengarahkan semua situs yang diblokir ke halaman tertentu, gunakan rule iptables:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80
iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.1.100:443

💡 Dengan metode ini, pengguna yang mengakses situs yang diblokir akan otomatis diarahkan ke halaman kustom!


🚀 Sekarang jaringanmu sudah lebih aman, cepat, dan bebas iklan! 🚀

XSS Exploits and Defenses: Memahami Serangan dan Cara Mengatasinya

 

Pendahuluan Cross-Site Scripting (XSS) adalah salah satu serangan keamanan web yang paling umum dan berbahaya. Dengan mengeksploitasi kerentanan ini, penyerang dapat menyisipkan skrip berbahaya ke dalam halaman web, yang kemudian dijalankan di browser pengguna. Artikel ini akan membahas berbagai jenis XSS, cara eksploitasi, dan langkah-langkah pertahanan yang efektif.


Jenis-Jenis XSS

  1. Stored XSS (Persistent XSS)

    • Terjadi ketika skrip berbahaya disimpan di database atau server web dan dijalankan setiap kali halaman dimuat oleh pengguna lain.
    • Contoh: Komentar di forum yang berisi skrip JavaScript berbahaya.
  2. Reflected XSS

    • Terjadi ketika input pengguna yang tidak difilter langsung dipantulkan kembali dalam respons HTTP.
    • Contoh: URL dengan parameter yang dapat disusupi skrip berbahaya.
  3. DOM-Based XSS

    • Terjadi ketika skrip berbahaya dimanipulasi langsung di Document Object Model (DOM) oleh browser tanpa interaksi dengan server.
    • Contoh: JavaScript yang memproses URL tanpa validasi.

Eksploitasi XSS

Penyerang memanfaatkan XSS untuk:

  • Mencuri cookie sesi pengguna.
  • Mengalihkan pengguna ke situs phishing.
  • Menyisipkan keylogger untuk mencatat input pengguna.
  • Mengontrol konten halaman untuk manipulasi data.

Contoh payload sederhana XSS:

<script>alert('XSS Attack!');</script>

Ketika disisipkan dalam input yang tidak tervalidasi, skrip ini akan dieksekusi di browser korban.


Pertahanan terhadap XSS

  1. Validasi dan Sanitasi Input

    • Gunakan htmlspecialchars() di PHP atau escape() di JavaScript untuk membersihkan input.
    • Contoh sanitasi:
      echo htmlspecialchars($_GET['user_input'], ENT_QUOTES, 'UTF-8');
      
  2. Content Security Policy (CSP)

    • Mencegah eksekusi skrip yang tidak diizinkan dengan menerapkan kebijakan CSP pada header HTTP:
      Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-cdn.com
      
  3. Escape Output Data

    • Gunakan fungsi khusus untuk menghindari injeksi skrip berbahaya pada HTML, JavaScript, dan atribut lainnya.
  4. Hindari Menggunakan eval() dan innerHTML

    • Sebisa mungkin hindari metode yang langsung mengeksekusi kode atau menampilkan HTML tanpa validasi.
  5. Gunakan Framework yang Aman

    • Framework modern seperti React, Angular, dan Vue.js memiliki mekanisme bawaan untuk melindungi dari XSS.

Kesimpulan

XSS adalah ancaman serius bagi keamanan web, tetapi dapat dicegah dengan praktik pengkodean yang aman. Validasi input, escape output, dan penerapan CSP adalah langkah-langkah penting dalam mengamankan aplikasi dari serangan ini. Dengan memahami eksploitasi dan metode pertahanan, pengembang dapat memastikan bahwa sistem mereka lebih tahan terhadap serangan siber.


Dengan menerapkan langkah-langkah ini, Anda dapat menjaga keamanan aplikasi web dari ancaman XSS. Tetap waspada dan selalu lakukan pengujian keamanan secara berkala!

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | coupon codes