Saturday, March 21, 2026

SafeLine: Web Application Firewall Open-Source untuk Melindungi Aplikasi Web

SafeLine adalah proyek open-source yang dikembangkan oleh Chaitin Tech sebagai Web Application Firewall (WAF) / reverse proxy yang dapat di-self-host untuk melindungi aplikasi web dari ancaman siber umum seperti injeksi SQL, XSS, bot berbahaya, dan serangan tingkat aplikasi lainnya.

Daftar Isi

πŸ” 1. Apa Itu SafeLine?

SafeLine ialah sistem keamanan web yang berdiri di depan aplikasi Anda seperti perisai: ia menyaring, memantau, dan memblokir lalu lintas HTTP/S berbahaya sebelum mencapai server aplikasi. Dengan kata lain, SafeLine berperan sebagai reverse proxy yang bertindak sebagai β€œpenjaga gerbang” antara klien (pengguna/internet) dan server aplikasi Anda.

Sebagai firewall aplikasi web, tujuannya adalah:

  • melindungi dari serangan web umum seperti SQL Injection, XSS, SSRF, Path Traversal dan lainnya;
  • **mencegah penyalahgunaan bot;
  • membatasi **request berlebihan atau brute force;
  • memberikan kontrol akses berbasis IP, aturan, dan pola lalu lintas.

Proyek ini memiliki ribuan stars dan forks di GitHub karena kemudahan penggunaan dan kekuatan fitur yang mendekati solusi komersial.

πŸš€ 2. Kelebihan dan Alasan Popularitas SafeLine

SafeLine kini menjadi salah satu WAF open-source paling populer di GitHub dengan puluhan ribu bintang dan ratusan ribu pemasangan/penggunaan di seluruh dunia.

Beberapa faktor yang mendorong popularitasnya:

βœ”οΈ Instalasi sangat mudah
Instalasi bisa dilakukan hanya dengan satu baris perintah atau melalui skrip otomatis yang menarik semua komponen yang diperlukan, sehingga tidak perlu keahlian tinggi dalam konfigurasi keamanan jaringan.

βœ”οΈ Open-source dan tanpa biaya lisensi
Karena dirilis di bawah lisensi GPL-3.0, SafeLine dapat digunakan secara bebas dalam berbagai lingkungan.

βœ”οΈ Dirancang untuk semua skala aplikasi
Mulai dari situs kecil, startup, sampai penggunaan perusahaan besar.

πŸ›‘οΈ 3. Fitur Utama SafeLine

SafeLine memiliki banyak fitur perlindungan yang mendalam dan modern:

πŸ“Œ Perlindungan Serangan Web

  • Menangkal banyak jenis serangan tingkat aplikasi seperti:
    • SQL Injection, XSS, Command Injection
    • SSRF, XXE, Path Traversal, dan lainnya
      Ini termasuk perlindungan terhadap serangan yang tergolong dalam OWASP Top 10.

πŸ“Œ Rate Limiting & Kontrol Lalu Lintas

  • Mengatur jumlah permintaan dari suatu alamat IP atau pola lalu lintas tertentu untuk mencegah DoS atau penyalahgunaan sumber daya.

πŸ“Œ Anti-Bot & Human/Machine Detection

  • Mengidentifikasi dan memblokir bot berbahaya atau skrip otomatis, sementara tetap memperbolehkan bot yang sah seperti crawler pencarian.

πŸ“Œ Challenge & Authentication

  • Fitur Anti-Bot Challenge dan Authentication Challenge yang memaksa verifikasi pengguna untuk memastikan hanya permintaan sah yang lewat.

πŸ“Œ Dynamic Protection

  • Melibatkan dynamic encryption untuk konten HTML dan JavaScript agar lebih sulit diambil dan dimanipulasi oleh aktor jahat.

πŸ“Œ Web Access Control Lists (ACLs)

  • Menyediakan daftar putih, daftar hitam, dan aturan berdasarkan berbagai parameter (IP, geolokasi, pola permintaan) untuk kontrol akses yang fleksibel.

βš™οΈ 4. Cara Kerja SafeLine

SafeLine bekerja sebagai reverse proxy:

  1. Semua permintaan HTTP/S dari luar menuju aplikasi web dialihkan ke SafeLine.
  2. SafeLine memeriksa setiap permintaan terhadap aturan keamanan dan analisis semantik.
  3. Jika permintaan terdeteksi berbahaya, SafeLine memblokir atau menanggapi dengan aturan yang telah ditentukan.
  4. Permintaan yang aman diteruskan ke server aplikasi sesuai kebijakan.

Dengan demikian, SafeLine menjadi lapisan keamanan pertama sebelum aplikasi direalisasikan atau diakses.

🧠 5. Integrasi & Ekosistem

SafeLine memiliki ekosistem plugin dan integrasi yang memungkinkan kerja sama dengan ingress controller dan API gateways, seperti:

  • Ingress-nginx plugin untuk SafeLine β€” memungkinkan integrasi dengan controller Kubernetes ingress untuk memblokir serangan API.
  • Kong SafeLine plugin β€” untuk menghubungkan dengan API gateway Kong.
  • Traefik Safeline plugin β€” untuk digunakan bersama Traefik sebagai middleware.

πŸ§ͺ 6. Panduan Singkat Instalasi

SafeLine mudah di-deploy dengan langkah umum berikut:

git clone https://github.com/chaitin/safeline.git
cd safeline
bash ./setup.sh

Atau instalasi cepat dengan satu baris perintah:

bash -c "$(curl -fsSLk https://waf.chaitin.com/release/latest/setup.sh)"

Setelah instalasi, Anda dapat mengakses dashboard SafeLine via browser untuk konfigurasi lanjutan.

Tip: SafeLine juga mendukung Docker dan docker-compose untuk deployment yang lebih terstruktur, cocok untuk lingkungan produksi.

πŸ“ˆ 7. Tren Adopsi & Statistik

SafeLine menunjukkan pertumbuhan cepat dalam komunitas keamanan siber:

  • Telah mencapai > 400,000 pemasangan global di berbagai organisasi.
  • Mendapatkan puluhan ribu bintang di GitHub, menjadikannya salah satu WAF open-source paling populer.
  • Digunakan oleh perusahaan, organisasi pendidikan, serta hobiis homelab.

πŸ“Œ 8. Kelebihan & Kekurangan

πŸ‘ Kelebihan

  • Open-source dan gratis.
  • Instalasi mudah dan antarmuka pengguna ramah.
  • Perlindungan lanjutan terhadap ancaman modern.
  • Komunitas aktif dan dukungan plugin.

πŸ‘Ž Kekurangan / Tantangan

  • Memerlukan sumber daya server sendiri (self-hosted).
  • Konfigurasi lanjutan mungkin memerlukan pemahaman keamanan jaringan.

πŸ›‘οΈ Panduan Lengkap Instalasi & Konfigurasi SafeLine WAF

Metode: Docker Compose (Recommended)

1️⃣ Prasyarat Sistem

Spesifikasi Minimum (disarankan)

  • OS: Ubuntu 20.04 / 22.04 (Debian-based lebih stabil)
  • CPU: 2 Core
  • RAM: 4 GB (minimal 2 GB)
  • Disk: β‰₯ 20 GB
  • Akses: root / sudo
  • Port terbuka:
    • 80 (HTTP)
    • 443 (HTTPS)
    • 9443 (Dashboard SafeLine)

2️⃣ Update Sistem

sudo apt update && sudo apt upgrade -y

3️⃣ Install Docker & Docker Compose

Install Docker

curl -fsSL https://get.docker.com | sh

Aktifkan & jalankan Docker:

sudo systemctl enable docker
sudo systemctl start docker

Tambahkan user ke grup docker (opsional tapi disarankan):

sudo usermod -aG docker $USER
newgrp docker

Cek Docker

docker --version

4️⃣ Install Docker Compose (Plugin)

sudo apt install docker-compose-plugin -y

Cek:

docker compose version

5️⃣ Download SafeLine (Official Installer)

SafeLine tidak menggunakan docker-compose manual biasa, tapi script resmi yang otomatis membuat Docker Compose + volume + network.

Jalankan installer resmi

bash -c "$(curl -fsSLk https://waf.chaitin.com/release/latest/setup.sh)"

⏳ Tunggu proses selesai (Β±2–5 menit).

Installer akan:

  • Pull image SafeLine
  • Membuat docker-compose
  • Membuat volume data
  • Menjalankan semua service

6️⃣ Cek Status Container

docker ps

Jika sukses, akan muncul container seperti:

  • safeline-mgt
  • safeline-waf
  • safeline-detect
  • safeline-db
  • dll

7️⃣ Akses Dashboard SafeLine

Buka browser:

https://IP_SERVER:9443

⚠️ Biasanya muncul SSL warning β†’ lanjutkan (self-signed cert).

Login Default

  • Username: admin
  • Password: admin

πŸ‘‰ WAJIB ganti password setelah login


8️⃣ Konfigurasi Awal (Wajib)

πŸ” Ganti Password Admin

Menu:

System Settings β†’ Account β†’ Change Password

9️⃣ Menambahkan Website / Aplikasi ke SafeLine

Contoh skenario:

  • Aplikasi asli berjalan di: http://127.0.0.1:8080
  • Domain: example.com

βž• Tambah Protected Site

  1. Masuk Dashboard
  2. Websites β†’ Add Website
  3. Isi:
    • Domain: example.com
    • Protocol: HTTP / HTTPS
    • Upstream Address: 127.0.0.1
    • Upstream Port: 8080
  4. Save

βœ… Sekarang traffic ke example.com lewat SafeLine


πŸ” Alur Traffic (Penting)

Client
  ↓
SafeLine (80/443)
  ↓
Backend App (8080)

🚫 Client tidak boleh langsung ke backend


πŸ”’ 10️⃣ Mengaktifkan HTTPS (SSL)

Opsi A β€” Upload Sertifikat Sendiri

Menu:

Certificates β†’ Upload Certificate

Upload:

  • fullchain.pem
  • privkey.pem

Opsi B β€” Reverse Proxy di Depan SafeLine

Misalnya:

  • Cloudflare
  • Load Balancer
  • Nginx

➑️ SafeLine tetap bisa jalan HTTP internal


🧠 11️⃣ Konfigurasi Keamanan Penting

Aktifkan Protection Engine

Menu:

Security β†’ Protection Settings

Aktifkan:

  • βœ… SQL Injection
  • βœ… XSS
  • βœ… Command Injection
  • βœ… Path Traversal
  • βœ… SSRF
  • βœ… WebShell Detection

πŸ€– Anti-Bot Protection

Menu:

Security β†’ Bot Protection

Aktifkan:

  • Rate limit
  • JS Challenge
  • Cookie Validation

🚦 Rate Limiting

Menu:

Security β†’ Rate Limit

Contoh:

  • 100 request / 10 detik / IP

πŸ“Š 12️⃣ Monitoring & Log

Menu:

  • Dashboard β†’ Attack Overview
  • Logs β†’ Request Logs
  • Logs β†’ Blocked Attacks

Kamu bisa melihat:

  • IP attacker
  • Jenis serangan
  • Payload
  • Waktu kejadian

πŸ”„ 13️⃣ Restart / Stop SafeLine

cd /data/safeline
docker compose restart

Stop:

docker compose down

Start:

docker compose up -d

πŸ§ͺ 14️⃣ Testing (Wajib)

Coba akses:

http://example.com/?id=1' OR '1'='1

Jika muncul blocked page SafeLine β†’ βœ… berhasil


❗ Troubleshooting Umum

❌ Tidak bisa akses dashboard

  • Pastikan port 9443 terbuka
sudo ufw allow 9443

❌ Backend tidak bisa diakses

  • Pastikan upstream IP & port benar
  • Pastikan backend listen di 0.0.0.0

πŸ“Œ Best Practice Produksi

βœ” Gunakan HTTPS
βœ” Jangan expose port backend
βœ” Aktifkan log rotation
βœ” Backup /data/safeline
βœ” Gunakan firewall (UFW / iptables)


🧾 Kesimpulan

SafeLine adalah pilihan kuat dan fleksibel jika Anda ingin melindungi aplikasi web dari berbagai ancaman keamanan secara langsung dan terukur tanpa biaya lisensi. Dengan dukungan komunitas besar dan kemajuan terus-menerus, SafeLine layak dipertimbangkan sebagai bagian dari strategi keamanan aplikasi modern β€” khususnya untuk tim DevOps, DevSecOps, dan administrator sistem

Similar Posts