Halo Guys, pada artikel kali ini, mari kita belajar bersama cara menginstal Web Application Firewall (WAF) di server Ubuntu 22.04. WAF adalah sistem keamanan yang melindungi aplikasi web dari berbagai serangan berbasis HTTP/HTTPS, antara lain:
- SQL Injection
- Cross-Site Scripting (XSS)
- Path Traversal
- dan berbagai exploit lain yang menyerang celah pada aplikasi web
WAF bekerja dengan memfilter setiap permintaan yang masuk ke aplikasi web. Ia menganalisis berbagai komponen dalam HTTP request, seperti URL, header, body, dan cookie. Jika ditemukan indikasi ancaman atau pola serangan, WAF akan memblokir atau memodifikasi permintaan tersebut sebelum mencapai server.
Untuk langkah instalasinya, saya mengacu pada tutorial dari website ini Link referensi .
so guys, yuk mari kita coba
1. Sewa Virtual Private Server (VPS) OS Ubuntu 22.04 dengan spesifikasi minimal CPU 1 Core, RAM 2 GB, dan Disk 5 GB. Berikut contoh Provider Cloud Hosting yang menyediakan jasa tersebut: Sewa VPS Linux - Kenceng Solusindo
2. Apabila proses pembayaran sewa VPS berhasil dan status server 'Aktif', maka lakukan 'Start' VPS untuk menghidupkan server.
3. Akses VPS menggunakan aplikasi terminal emulator (Contoh: PuTTY). Jika belum memiliki aplikasinya dapat mengunduhnya melalui link ini: Link download PuTTY.
4. Login menggunakan username dan password yang telah dibagikan oleh pihak Provider Cloud. Selanjutnya, ubah password agar mudah diingat menjadi minimal 8 karakter yang terdiri dari kombinasi huruf kapital, huruf kecil, angka, dan simbol. Command untuk ubah password: passwd root
5. Setelah berhasil masuk ke dalam VPS, pastikan jenis sistem operasi dan ukuran CPU-RAM-Storage yang disewa sesuai.
1) Command cek jenis OS: cat /etc/*release
6. Sebelum melakukan proses instalasi WAF, perlu dilakukan update library dan pengaturan sinkronisasi waktu terlebih dahulu untuk memastikan sistem dalam kondisi terbaru dan waktu server akurat, sehingga menghindari potensi error selama instalasi dan operasional WAF.
1) sudo apt update && sudo apt upgrade -y
2) sudo timedatectl set-timezone Asia/Jakarta. Kemudian ketik command timedatectl untuk cek hasil konfigurasi waktunya.
7. Instal Docker dengan versi minimal 28.1.1. Tujuan instalasi ini adalah untuk menjalankan WAF dalam lingkungan terisolasi yang portabel, mudah dikelola, dan skalabel. Berikut langkah instalasinya:
1) Tambahkan Docker’s official GPG key, kemudian tambahkan repository docker ke Apt sources.
● sudo apt-get update
● sudo apt-get install ca-certificates curl
● sudo install -m 0755 -d /etc/apt/keyrings
● Copy-paste command berikut:
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
● sudo chmod a+r /etc/apt/keyrings/docker.asc
● echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
● sudo apt-get update
2) Mulai instal docker versi 28.1.1 atau versi terbaru: sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
● sudo systemctl enable containerd.service
8. Instal SafeLine WAF, merupakan tipe WAF open-source yang dapat digunakan untuk melindungi aplikasi web dari berbagai ancaman keamanan. Berikut langkah instalasinya:
1) Jalankan script automatic Deploy berikut: bash -c "$(curl -fsSLk https://waf.chaitin.com/release/latest/manager.sh)" -- --en. Kemudian ketik angka '1' untuk mulai proses instalasi SafeLine WAF.
2) Simpan konfigurasi SafeLine WAF di dalam lokasi default, yaitu /data/safeline dengan menekan enter pada keyboard untuk setuju dengan opsi default tersebut.
3) Reboot server dengan command reboot.
4) Cek status layanan SafeLine WAF: docker ps
5) Cek dashboard SafeLine WAF melalui salah satu browser, misal Microsoft Edge pada Laptop/PC yang terhubung dengan jaringan internet. Turunkan keamanan browser agar panel SafeLine WAF yang belum terpasang SSL, tetap dapat diakses oleh user Admin.
6) Berikut tampilan dashboard SafeLine WAF yang telah berhasil terinstal. Akses ke dashboard tersebut menggunakan alamat URL, port, dan password login yang terinfo dari hasil instalasi SafeLine WAF pada tahap sebelumnya (https://103.133.x.x:9443/).
9. Melakukan konfigurasi SafeLine WAF untuk proteksi aplikasi/website, dengan cara berikut:
1) Menambahkan alamat IP/domain server Apache, dimana pada artikel ini, service tersebut saya pasang di tempat yang sama dengan server WAF berada, yaitu 103.133.x.x dengan port custom 8080.
2) Menambahkan alamat IP/domain blog saya (https://greenteaslash.blogspot.com/).
10. Tunggu beberapa menit setelah konfigurasi WAF selesai dilakukan. Kemudian cek log akses dari masing-masing aplikasi/website yang telah terdaftar pada langkah sebelumnya.
1) Berikut tampilan log akses pada server aplikasi Apache (103.133.x.x:8080). Dari log tersebut, dapat diketahui bahwa terdapat serangan dari berbagai IP yang memanfaatkan percobaan akses ke endpoint sensitif seperti /boaform/admin/formLogin, /.env, dan /.git/config, serta percobaan koneksi tidak valid atau serangan protokol (dengan payload tidak standar). Serangan tersebut berhasil diblokir oleh WAF dengan kode respons 468 pada port 80 (HTTP).
2) Berikut tampilan log akses pada blog saya (https://greenteaslash.blogspot.com/). Dari log akses tersebut, dapat diketahui bahwa terdapat attacker yang mencoba melakukan serangan dengan payload TLS/SSL tidak valid atau handshake yang gagal. Semua percobaan tersebut berhasil diblokir oleh WAF dengan respons kode 400 pada port 443 (HTTPS).
Demikian artikel ini saya sampaikan, semoga bermanfaat.
Thanks.
Referensi:
https://www.awanservers.com/cara-mudah-install-safeline-waf-di-ubuntu-server/
Tidak ada komentar:
Posting Komentar