Cấu hình Caddy Server WAF

8 Likes Comment

WAF (Web Application Firewall) còn gọi là tường lửa ứng dụng web. WAF kiểm tra lượng truy cập và sẽ lọc ra các yêu cầu có mối đe dọa xâm hại đến website trước khi đến ứng dụng web.

Khi các công ty và users ngày càng phụ thuộc vào các ứng dụng web (Web Application), chẳng hạn như email dựa trên web hoặc chức năng e-Commerce, các cuộc tấn công nhằm vào lớp ứng dụng gây ra rủi ro lớn hơn cho năng suất và bảo mật. Do đó, WAF thật sự rất quan trọng nhằm bảo vệ khỏi các mối đe dọa liên quan đến bảo mật web.

Không đứng ngoài nguy cơ bị hack thì cộng đồng caddy cũng có những công cụ phục vụ cho việc chống lại các cuộc tấn công, ở bài số 1 thì chúng ta đã cấu hình cài đặt được một máy chủ caddy server với một phần mềm WAF tuy nhiên chưa được cấu hình gì cả trong bài này chúng ta sẽ cấu hình nó, nếu bạn cài đặt mới hãy xem lại bài số 1 nha

Để cấu hình chúng ta cần dùng 1 block như sau trong Caddyfile

    coraza_waf {
		directives `
			SecAction "id:1,pass,log"
			SecRule REQUEST_URI "/test5" "id:2, deny, log, phase:1"
			SecRule REQUEST_URI "/test6" "id:4, deny, log, phase:3"
		`
		include file1.conf 
		include file2.conf
		include /some/path/*.conf
	}

Trông nó sẽ như thế này khi hoàn chỉnh

{
    order coraza_waf first
}
caddy.manhtuong.net {
    coraza_waf {
		directives `
			SecAction "id:1,pass,log"
			SecRule REQUEST_URI "/test5" "id:2, deny, log, phase:1"
			SecRule REQUEST_URI "/test6" "id:4, deny, log, phase:3"
		`
		include /etc/caddy/waf/config.conf
        include /etc/caddy/waf/coreruleset/crs-setup.conf.example
        include /etc/caddy/waf/coreruleset/rules/*.conf

	}
    root * /home/caddy/web
    php_fastcgi unix//run/php/php7.4-fpm.sock
    file_server
    log {
        output file /home/caddy/caddy.manhtuong.net.log
        }
}

Nhớ thay domain caddy.manhtuong.net thành domain của bạn phần order coraza_waf first đó là thành phần bắt buộc để cho phép waf sẽ chạy trước khi dữ liệu vào ứng dụng có như vậy thì waf mới hoạt động hiệu quả được,

Phần config.conf thì chúng at tải file cấu hình tải file này và lưu vào /etc/caddy/waf

root@caddy:~# mkdir -p /etc/caddy/waf
root@caddy:~# cd /etc/caddy/waf
root@caddy:/etc/caddy/waf# wget -O config.conf https://raw.githubusercontent.com/corazawaf/coraza/v2/master/coraza.conf-recommended

Sau đó cũng ta cần tải bộ ModSecurity Core Rule Set để có thể sử dụng

root@caddy:/etc/caddy/waf# git clone https://github.com/coreruleset/coreruleset.git
root@caddy:/etc/caddy/waf# cd /etc/caddy/waf/coreruleset

Sau đó chúng ta cần loại bỏ 3 rule trong bộ rule của crs để có thể hoạt động được

root@caddy:~# cd /etc/caddy/waf/coreruleset/rules
root@caddy:/etc/caddy/waf/coreruleset/rules# rm -rf REQUEST-922-MULTIPART-ATTACK.conf
root@caddy:/etc/caddy/waf/coreruleset/rules# rm -rf REQUEST-949-BLOCKING-EVALUATION.conf
root@caddy:/etc/caddy/waf/coreruleset/rules# rm -rf REQUEST-920-PROTOCOL-ENFORCEMENT.conf

Sau khi xóa song chúng ta tiến hành cấu hình SecRuleEngine để waf có thể hoạt động bằng cách sửa file /etc/caddy/waf/config.conf và đổi cấu hình

# -- Rule engine initialization ----------------------------------------------

# Enable Coraza, attaching it to every transaction. Use detection
# only to start with, because that minimises the chances of post-installation
# disruption.
#
SecRuleEngine DetectionOnly


# -- Request body handling ---------------------------------------------------

Thành

# -- Rule engine initialization ----------------------------------------------

# Enable Coraza, attaching it to every transaction. Use detection
# only to start with, because that minimises the chances of post-installation
# disruption.
#
SecRuleEngine On


# -- Request body handling ---------------------------------------------------

Sau khi cấu hình song chúng ta tiến hành khởi động lại caddy

systemctl start caddy.service

Sau đó chúng ta có thể kiểm tra xem waf đã hoạt động hay chưa bằng cách vào web thêm mấy cái thẻ <script> và nó trả về 403 là đúng

Nếu bạn bị block nhầm hãy đổi cấu hình SecRuleEngine về mặc định là DetectionOnly sau đó tiến hành phân tích log để có hướng xử lý white rule cho ứng dụng. việc whitelist rule cũng tương tự như Modsecurity

0 0 votes
Article Rating

You might like

Avatar

About the Author: Vô Ưu

Xin chào! Tôi là Vouu, người sáng lập blog này. Tôi là một người yêu thích. Tôi có một công việc ban ngày với tư cách là một chuyên viên bơm vá săm xe các loại, và trang web này là một trong những hoạt động yêu thích của tôi, đặc biệt là trong những lúc rảnh rỗi. Hy vọng bạn thích sử dụng trang web này, và nó sẽ mang lại cho bạn nhiều điều bổ ích. Phản hồi từ người đọc sẽ truyền cảm hứng cho tôi để tôi có thể viết được nhiều hơn nữa !. Bạn chỉ cần để lại nhận xét bên dưới nếu bạn thấy bài viết này hữu ích. Chúc bạn ngày mới tốt lành!
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x