Bảo mật trang web luôn là chủ đề được người dùng quan tâm nhất từ trước đến nay. Trong bài viết dưới đây BKHOST sẽ mang đến cho bạn công cụ mod_security hỗ trợ bảo vệ trang web để bạn có thể tham khảo và cân nhắc sử dụng.
Mod Security là gì?
ModSecurity là bộ công cụ giúp theo dõi, kiểm soát các quá trình hoạt động và các truy cập vào trang web với thời gian thực. Đến với ModSecurity bạn có thể làm những gì bạn muốn bằng việc lựa chọn các tính năng có sẵn phù hợp, không nhất thiết phải cứng nhắc theo một khuôn khổ nhất định.
Chi tiết hơn thì mod_security là một module của Apache, được xây dựng với mục đích chính là đảm bảo an toàn cho các trang web.
ModSecurity còn tên gọi khác là mod_security, security2_module hoặc modsec, nó hoạt động như Firewall của ứng dụng web giúp trang web tránh khỏi các cuộc tấn công của đối tượng xấu. Tùy theo từng bộ quy tắt được sử dụng mà sẽ chống lại các loại tấn công khác nhau. Với mô hình OSI 7 lớp ứng dụng nó cũng bị ảnh hưởng bởi ModSecurity.
ModSecurity sẽ nhận các yêu cầu từ Apache, sau đó so sánh các yêu cầu với các mô tả trong bộ quy tắt và thực hiện các hành động theo yêu cầu dựa trên kết quả kiểm tra.
Gần đây, khi cài đặt các phiên bản của cPanel và DirectAdmin thường không yêu cầu thiết lập ModSecurity thủ công, do đó bạn cần lưu ý.
Bạn cần hiểu được máy chủ của mình sẽ lưu trữ các loại trang web nào để chọn được bộ quy tắt phù hợp, đồng thời biết được các loại yêu cầu cụ thể từ Apache sẽ giúp ích cho việc hoạt động của trang web. Nếu ModSecurity chặn một trong các yêu cầu dựa vào bộ quy tắt thì các thành phần của các trang web sẽ không hoạt động được nếu cài đặt bộ quy tắt đó.
Bộ quy tắc mod_security
Để mod_security được hoạt động thì cần có bộ quy tắc. SpiderLabs đã hợp tác với OWASP để thành lập nên bộ quy tắt “generic” dùng cho các chức năng từ mod_security.
Bạn có tham khảo và tải xuống bộ quy tắt từ: owasp-modsecurity-crs
Bạn cũng có thể tự tạo cho mình bộ quy tắt hoặc mua các bộ quy tắt tùy chỉnh khác. Hãy tìm kiếm trên Google theo nhu cầu mà bạn muốn.
Cài đặt mod_security
Sau đây là hướng dẫn các phương pháp cài đặt mod_security trên cả cPanel và DirectAdmin.
Cài đặt trên cPanel
Để cấu hình được ModSecurity thì yêu cầu bạn phải cài đặt module này vào Apache. Nếu chưa được cài đặt, hãy nhờ sự trợ giúp từ EasyApache để được cài đặt. Hãy đảm bạn rằng bạn luôn chọn ModSecurity trước khi bắt đầu quá trình cấu hình.
Ngoài ra, bạn có thể đăng nhập vào máy chủ bằng tài khoản root, và chạy lệnh sau trên cPanel với Easy Apache 4.
{{EJS0}}
Đó là quy tắt để cài đặt mod_security và giúp nó có thể hoạt động.
Sau khi hoàn tất quá trình cài đặt, bạn sẽ thêm bộ quy tắt bằng cách đề xuất trong WHM tại tại Home >> Security Center >> ModSecurity™ Vendors
như mô tả ở đây. Bộ quy tắt OWASP của cPanel theo nguyên tắt sẽ cung cấp sẵn, trong trường hợp bạn muốn sử dụng bộ quy tắt khác hãy liên hệ với nhà phát triển bộ quy tắt để được thêm vào WHM. Chọn bộ quy tắt có sẵn là một phương pháp cài đặt được ưa chuộng nhất.
Cài đặt trên DirectAdmin
Mod_security cho DirectAdmin được cài đặt nhờ vào CLI thông qua Custombuild, do đó bạn cần tìm hiểu về DirectAdmin và Custombuild trước khi thực hiện quá trình cài đặt.
DirectAdmin có 2 bộ quy tắt khác nhau là - OWASP
và Comodo
. Các bước cài đặt dưới đây giả định rằng bạn lựa chọn bộ ‘Comodo’
Đăng nhập vào máy chủ DirectAdmin với tài khoản root và chạy lệnh sau:
{{EJS1}}
Lệnh này giúp cài đặt mod_security vào máy chủ và cài đặt Directadmin.
Sau khi quá trình cài đặt hoàn tất, bạn đăng nhập vào Directadmin và sử dụng ModSecurity bằng cách vào Server Manager >> ModSecurity
(https: // hostname: 2222 / admin / modsecurity).
Bạn có thể quản lý ModSecurity tại đây, cũng như kiểm tra nhật ký, điều chỉnh các quy tắt và các tác vụ quản trị khác.
Khả năng tương thích của Mod Security
Có một số loại quy tắt không có khả năng tương thích với mod_ruid2. Bất kỳ quy tắt nào của ModSecurity có lưu trữ giá trị vào tệp sẽ không hoạt động được với mod_ruid2 do sự tương tác quyền của tệp, quyền sở hữu và các quy trình apache sẽ chạy. Tương tự các quy tắt này cũng không khả dụng với mpm-itk. Nếu không chắc chắn rằng bộ quy tắc cụ thể có bao gồm các quy tắc lưu trữ tệp không, bạn cần xác định là với nhà cung cấp trước khi sử dụng bộ quy tắc này trong mod_ruid2
hoặc mpm-itk
.
Firewall
Nếu như máy chủ của bạn có cài đặt ConfigServer Security & Firewall, bạn cần biết liệu LF_MODSEC có đang bật mặc định hay không. Nếu đã bật tính năng này, IP kích hoạt quy tắt modsec trong một số lần nhất định tại khoản thời gian nhất định, IP này sẽ bị chặn trong Firewall, có thể là chặn tạm thời hay vĩnh viễn tùy vào cấu hình. Để tránh xung đột quy tắc với các ứng dụng web, bạn cần đảm bảo rằng modsec được cài đặt phù hợp với máy chủ trước khi bật tính năng LF_MODSEC, nếu không thì khách hàng truy cập vào trang web có thể bị Firewall chặn.
Có nên sử dụng mod_security không?
Lưu ý: Bạn cần tham khảo ý kiến của các nhà phát triển các bộ quy tắc trước khi quyết định sử dụng nếu không có tự tin cũng như không có nhiều kinh nghiệm.
Câu trả lời ở đây chỉ mang tính chất tương đối, vì nó còn phụ thuộc vào nhiều yếu tố. Chẳng hạn như bạn đã xác định được bộ quy tắt này không gây ảnh hưởng đến các chứng năng của trang web, thì việc sử dụng mod_security là rất cần thiết. Nhưng nếu trang web của bạn có nhiều yêu cầu POST tùy chỉnh thì mod_security rất có thể sẽ gây ảnh hưởng đến các chức năng cốt lõi của trang web, do đó bạn nên tránh sử dụng.
Tổng kết về Mod Security
Như bạn đã biết, thì ModSecurity có thể được xem là một ứng dụng bổ ích giúp bảo vệ trang web khỏi những cuộc công kích nguy hiểm từ Cross-Site Scripting, SQL Injection, PHP Shell tải lên v,v… Nhưng, nếu bạn không thường xuyên cập nhật phần mềm thì việc sử dụng mod_security có thể gây bất lợi cho bạn. Do đó, trước khi quyết định đầu tư vào bất kỳ bộ quy tắt nào của mod_security bạn cần tham khảo thật kỹ cũng như hỏi ý kiến nhà phát triển để có trải nghiệm tốt hơn.
Nếu bạn bất cứ câu hỏi nào liên quan đến mod_security, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.