Chào Mọi Người. Show Hôm nay mình sẽ hướng dẫn mọi người cài đặt ModSecurity Lên Nginx sử dụng hệ điều hành Ubuntu 20.04. Contents
Giới Thiệu.Modsecurity là phần mềm Web Application Firewall ( WAF ) opensource nổi tiếng nhất, cung cấp khả năng chống lại các cuộc tấn công Layer 7 như SQL Injection, LFI, XSS,… dựa trên HTTP request và response khác với các Firewall khác như Iptables, UFW, Firewalld,.. hoạt động chủ yếu trên Layer 3, 4, Modsecurity cho phép theo dõi lưu lượng HTTP, ghi log và phân tích realtime…. Modsecurity hỗ trợ nhiều webserver như Nginx, Apache, IIS. Trong bài viết này thì mình sẽ hướng dẫn cài đặt Modsecurity trên Nginx. Cài Đặt.Cài Đặt ModSecurity.Để cài đặt thì bước đầu tiên sẽ cần cài đặt các gói cần thiết :
Tiếp theo sẽ tiến hành cài đặt ModSecurity, tuy nhiên vì ModSecurity là module của bên thứ 3 cho nên khi cài đặt Nginx theo thông thường sẽ không có ModSecurity. Tiến hành download ModSecurity source về:
Tiến hành biên dịch và cài đặt ModSecurity:
Ở bước này mọi người có thể thể thấy lỗi “fatal: No names found, cannot describe anything” như hình dưới đây, nhưng mọi người có thể cho qua nhé.
Lưu ý : Mọi người có thể thay -j2 thành -jx với x là số core trên VPS/Server của mọi người để tăng tốc độ biên dịch. Cài Đặt Module Modsecurity-nginxĐể kết nối được Modsecurity với Nginx thì ta cần module Modsecurity-nginx. Ở đây mình giả sử là đã được cài đặt Nginx trên Ubuntu và mình sẽ build dựa theo Nginx đã được cài đặt. Đầu tiên, là download Module Modsecurity-nginx.
Tiếp theo là cần kiểm tra phiên bản Nginx đang được cài đặt trên hệ điều hành.
Kết quả sẽ được như hình sau : Tiếp theo truy cập vào trang chủ download của Nginx để download đúng phiên bản Nginx source về:
Mọi người có thể lấy link download đúng phiên bản tại đây. Tiến hành giải nén Nginx :
Cấu hình Nginx build module ModSecurity-nginx
Sau đó copy module vừa được biên dịch vào thư mục của Nginx.
Cấu Hình Mod Security trên Nginx.Ta thêm sẽ dòng sau trong file config của nginx. Dòng cấu hình để giúp Nginx load module Modsecurity.
Tiếp theo để ModSecurity hoạt động thì ta cần khai báo Rule để phát hiện và chặn tấn công. Đối với người mới bắt đầu như chúng ta thì sẽ dễ dàng nến chúng ta sử dụng OWASP Core Rule Set (CRS). Đây là một bộ quy tắc tiêu chuẩn của Modsecurity. Đầu tiên download OWASP CRS từ Gitbuh.
Tiến hành giải nén
Tạo thư mục “/etc/nginx/modsec” rồi chuyển thư mục OWSP vừa giải nén vào thư mục modsec.
Kích hoạt các file cấu hình và Rule của OWSP.
Ta cũng cần copy các file cấu hình của Modsecurity vào thư mục “/etc/nginx/modsec”.
Chỉnh sửa lại file cấu hình của modsecurity.
Trong đó ta chỉnh 2 dòng sau: Từ
Thành
Tạo một file main.conf với nội dung như sau: vi /etc/nginx/modsec/main.conf Tới đây, ta đã hoàn tất việc cài đặt, ta chỉ cần chỉnh lại config của vhost để bật modsecurity cho website ta muốn bảo vệ bằng thêm 2 dòng sau vào block server.
Kiểm Tra Hoạt Động Của ModSecurity.Để kiểm tra hoạt động của NASXI thì ta sẽ test trên một VPS/Server khác kết nối tới VPS/Server được cài đặt NASXI. Đầu tiên test thử SQL Injection.
Nếu các bạn cấu hình đúng thì sẽ nhận được phản hồi với nội dung là file block.html chúng ta đã tạo khi nãy. Tương tự khi ta thử tiến hành XSS attack:
LFi attack :
Kiểm tra file log audit của Nginx ta khai báo khi nãy sẽ ghi nhận việc chặn. Lời CuốiNhư vậy bài viết hướng dẫn cài đặt Nginx với Modsecurity trên Ubuntu 20.04 của mình tới đây là hết. Cảm ơn mọi người đã bỏ thời gian theo dõi. Mọi người có thể tìm hiều thêm về Mosecurity tại đây. Related |