You are on page 1of 78

aipro.

vn

Thực Trạng Tấn Công Web Application

Web Application Firewall


aipro.vn

Thực Trạng Tấn Công Web Application

Web Application Firewall


aipro.vn

Thực Trạng Tấn Công Web Application

Web Application Firewall


aipro.vn

Thực Trạng Tấn Công Web Application

Web Application Firewall


aipro.vn

Thực Trạng Tấn Công Web Application

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Giới Thiệu Web Application Firewall (WAF)

Web Application Firewall


aipro.vn

Thực Nghiệm Triển Khai WAF


ModSecurity là một web application firewall (WAF) mã nguồn mở,
bảo vệ tốt cho các web applications.
Trong bài Lab này Nginx vừa đóng vai trò một Web Server vừa làm
reverse proxy và kết hợp với ModSecurity để phát hiện các tấn công
Ứng dụng WAF

Web Application Firewall


aipro.vn

Thực Nghiệm Triển Khai WAF


NGINX là một phần mềm Web Server mã nguồn mở, ngoài dung để
phục vụ HTTP cache còn áp dụng vào reverse proxy, HTTP load
balancer và các giao thức truyền mail như IMAP4, POP3, và SMTP

Web Application Firewall


aipro.vn

Thực Nghiệm Triển Khai WAF


Mô hình Lab gồm 3 máy
1. Máy Kali đóng vai trò máy Hacker dùng để tấn công
2. Máy WAF sử dụng hệ điều hành Ubuntu 22.04, sẽ cài Web Server
nginx và Open source WAF Modsecurity
Máy WAF đặt inline nên sẽ có 2 interface mạng, vmNAT giả lập kết nối ra
Internet và vmNet1 sẽ làm gateway cho WebServer (Metasploitable2):
Interface vmNAT sẽ có IP được DHCP cấp 192.168.79.147/24
Interface vmNet1 đặt địa chỉ IP là 10.10.10.1/24
3. Máy WebServer có 1 interface mạng kết nối đến máy WAF được thiết
lập IP tĩnh là 10.10.10.10/24

Web Application Firewall


aipro.vn

Thực Nghiệm Triển Khai WAF

Web Application Firewall


aipro.vn

Kiểm tra các thiết lập trên máy Kali Linux

Web Application Firewall


aipro.vn

Thiết lập máy WAF trên Ubuntu

Web Application Firewall


aipro.vn
Thiết lập tạm thời địa chỉ 10.10.10.10/24 cho interface eth0 trên
máy WebServer (metasploitable2)
$sudo ifconfig eth0 10.10.10.10 netmask 255.255.255.0

Web Application Firewall


aipro.vn

Thiết lập tạm thời default gateway 10.10.10.1 cho interface eth0
trên máy WebServer (metasploitable2)
$sudo route add default gw 10.10.10.1
$route -n

Web Application Firewall


aipro.vn

Thiết lập máy chủ DC quản lý CSDL, File shares, …

Web Application Firewall


aipro.vn

Cài đặt nginx mới nhất lên máy WAF


sudo add-apt-repository ppa:ondrej/nginx-mainline -y
sudo apt update
sudo apt install nginx-core nginx-common nginx nginx-full

Web Application Firewall


aipro.vn

libmodsecurrity là thư viện của ModSecurity để lọc gói tin HTTP cho
các web application. Chúng ta có thể cài trực tiếp bằng lệnh apt
install libmodsecurity3, nhưng nên compile từ source code
Cài đặt các gói hỗ trợ download từ Github và compile từ Source code
#apt install git
#apt install gcc make build-essential autoconf automake libtool libssl-dev
libcurl4-openssl-dev liblua5.3-dev libfuzzy-dev ssdeep gettext pkg-config
libpcre3 libpcre3-dev libxml2 libxml2-dev libcurl4 libgeoip-dev libyajl-dev
doxygen

Web Application Firewall


aipro.vn

Download ModSecurity về thư mục /opt


#cd /opt
#git clone https://github.com/SpiderLabs/Modsecurity

Web Application Firewall


aipro.vn

Kiểm tra init và update cho submodule: #cd Modsecurity


#git submodule init
#git submodule update

Web Application Firewall


aipro.vn

Chạy lệnh build để xây biên dịch source


#./build.sh

Web Application Firewall


aipro.vn

Kiểm tra môi trường cài đặt: #./configure

Web Application Firewall


aipro.vn

Đóng gói cài đặt: #make

Web Application Firewall


aipro.vn

Cài đặt Modsecurity: #make install

Web Application Firewall


aipro.vn

Về lại thư mục /opt và download Modsecurity-nginx


#cd /opt
#git clone https://github.com/SpiderLabs/Modsecurity-nginx

Web Application Firewall


aipro.vn

Kiểm tra và download module nginx phiên bản phù hợp
#nginx -v
#wget http://nginx.org/download/nginx-1.23.1.tar.gz

Web Application Firewall


aipro.vn

Giải nén file #tar -xzvf nginx-1.23.1.tar.gz

Web Application Firewall


aipro.vn

Vào thư mục /opt/nginx-1.23.1 và dùng nginx -V để lấy tham số cấu
hình TLS

Web Application Firewall


aipro.vn

Copy hết chuỗi configure arguments ra:

Web Application Firewall


aipro.vn

Kiểm tra môi trường cấu hình nginx

Web Application Firewall


aipro.vn

Tạo modules: #make modules

Web Application Firewall


aipro.vn

Copy modules vào folder /etc/nginx/modules


#cd objs
#cp ngx_http_modsecurity_module.so /etc/nginx/modules
#ls -l /etc/nginx/modules

Web Application Firewall


aipro.vn

Cấu hình để load module trong nginx.conf


#nano /etc/nginx/nginx.conf
→ thêm vào đoạn như sau:
load_module
/etc/nginx/modules/ngx_http_modsecurity_module.so;

Web Application Firewall


aipro.vn

Download Core-rule set: #cd /opt


#git clone https://github.com/coreruleset/coreruleset modsecurity-crs

Web Application Firewall


aipro.vn

Đổi tên file cấu hình


#cd modsecurity-crs
#mv crs-setup.conf.example crs-setup.conf

Web Application Firewall


aipro.vn

Đổi tên file RULES


#cd rules
#mv REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example
REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf

Web Application Firewall


aipro.vn

Di chuyển thư mục modsecurity-crs đến /usr/local


#cd /opt
#mv modsecurity-crs /usr/local/

Web Application Firewall


aipro.vn

Tạo thư mục modsec trong /etc/nginx và copy unicode.maping vào
thư mục modsec
#mkdir -p /etc/nginx/modsec
#cp /opt/Modsecurity/unicode.mapping /etc/nginx/modsec

Web Application Firewall


aipro.vn

Đổi tên file modsecurity.conf và copy vào mục modsec


#cd Modsecurity
#mv modsecurity.conf-recommended modsecurity.conf
#cp modsecurity.conf /etc/nginx/modsec/

Web Application Firewall


aipro.vn

Chỉnh sửa file modsecurity.conf


#nano /etc/nginx/modsec/modsecurity.conf
→ Thay đổi SecRuleEngine từ DetectionOnly thành On

Web Application Firewall


aipro.vn

Tạo thêm file main.conf trong /etc/nginx/modsec


#nano /etc/nginx/modsec/main.conf
→ Nội dung file main.conf như sau:
Include /etc/nginx/modsec/modsecurity.conf
Include /usr/local/modsecurity-crs/crs-setup.conf
Include /usr/local/modsecurity-crs/rules/*.conf

Web Application Firewall


aipro.vn

Chỉnh sửa file defaut trong /etc/nginx/sites-available


#nano /etc/nginx/sites-available/default
→ nội dung thay đổi như sau:
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;

Web Application Firewall


aipro.vn

Kiểm tra cấu hình của nginx


#nginx -t
Khởi động lại nginx và kiểm tra trạng thái
#systemctl restart nginx
#systemctl status nginx

Web Application Firewall


aipro.vn

Để cấu hình reverse proxy trên máy WAF, ta tạo file reverse.conf
vào thư mục /etc/nginx/conf.d
#nano /etc/nginx/conf.d/reverse.conf
→ Và thêm vào các nội dung file như sau:
server {
listen 80;
server_name 192.168.79.147;
location / {
proxy_pass http://10.10.10.10;
}
}

Web Application Firewall


aipro.vn

Kiểm tra cấu hình của nginx


#nginx -t
Khởi động lại nginx và kiểm tra trạng thái
#systemctl restart nginx
#systemctl status nginx

Web Application Firewall


aipro.vn

Truy cập đến WebServer thông qua IP outside của WAF

Web Application Firewall


aipro.vn

Chọn Website DVWA

Web Application Firewall


aipro.vn

Nhập admin và password để đăng nhập

Web Application Firewall


aipro.vn

Truy cập được trang chủ của Website DVWA

Web Application Firewall


aipro.vn

Chọn Setup → Create / Reset Database

Web Application Firewall


aipro.vn

Chọn Create / Reset Database → Setup successful

Web Application Firewall


aipro.vn

Chọn SQL Injection

Web Application Firewall


aipro.vn

Kiểm thử tấn công SQL Injection %' or '0'='0

Web Application Firewall


aipro.vn

Kết quả WAF đã phát hiện và ngăn chặn tấn công

Web Application Firewall


aipro.vn

Kiểm tra kết quả log ở file modsec_audit.log trên WAF


#cat /var/log/modsec_audit.log

Web Application Firewall


aipro.vn

Chọn DVWA Security để thiết lập Security Level

Web Application Firewall


aipro.vn

Thiết lập Security Level sang low

Web Application Firewall


aipro.vn

Chọn XSS stored để kiểm thử lỗ hổng XSS

Web Application Firewall


aipro.vn

Nhập Name: Test 1 và các thông tin khác như sau:
Message: <script>alert("This is a XSS Test")</script>
→ Nhấn nút Sign Guestbook

Web Application Firewall


aipro.vn

Kết quả WAF đã phát hiện và ngăn chặn tấn công XSS

Web Application Firewall


aipro.vn

Kiểm tra log #cat /var/log/modsec_audit.log

Web Application Firewall


aipro.vn

Kỹ thuật Hacker bypass WAF

Web Application Firewall


aipro.vn

Web Application Firewall

You might also like