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.

π 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:
- Semua permintaan HTTP/S dari luar menuju aplikasi web dialihkan ke SafeLine.
- SafeLine memeriksa setiap permintaan terhadap aturan keamanan dan analisis semantik.
- Jika permintaan terdeteksi berbahaya, SafeLine memblokir atau menanggapi dengan aturan yang telah ditentukan.
- 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-mgtsafeline-wafsafeline-detectsafeline-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
- Masuk Dashboard
- Websites β Add Website
- Isi:
- Domain:
example.com - Protocol: HTTP / HTTPS
- Upstream Address:
127.0.0.1 - Upstream Port:
8080
- Domain:
- 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.pemprivkey.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
