ModSecurity và OWASP trên CentOS 6 và Apache 2

ModSecurity là một tường lửa lớp ứng dụng web được thiết kế để hoạt động với IIS, Apache2 và Nginx. Đây là phần mềm mã nguồn mở miễn phí được phát hành theo giấy phép Apache 2.0. ModSecurity giúp bảo mật máy chủ web của bạn bằng cách theo dõi và phân tích lưu lượng truy cập trang web của bạn. Nó thực hiện điều này trong thời gian thực để phát hiện và chặn các cuộc tấn công từ hầu hết các khai thác đã biết bằng cách sử dụng các biểu thức thông thường. Về bản thân, ModSecurance cung cấp sự bảo vệ hạn chế và dựa vào các quy tắc để tối đa hóa sự bảo vệ.

Bộ quy tắc cốt lõi của Dự án bảo mật ứng dụng web mở (OWASP) (CRS) là một bộ quy tắc phát hiện tấn công chung cung cấp mức bảo vệ cơ bản cho bất kỳ ứng dụng web nào. Bộ quy tắc này là miễn phí, nguồn mở và hiện được tài trợ bởi Spider Labs.

OWASP CRS cung cấp:

  • Bảo vệ HTTP - phát hiện vi phạm giao thức HTTP và chính sách sử dụng được xác định cục bộ.
  • Tra cứu danh sách đen thời gian thực - sử dụng danh tiếng IP của bên thứ 3.
  • Bảo vệ từ chối dịch vụ HTTP - bảo vệ chống lũ HTTP và tấn công HTTP DoS chậm.
  • Bảo vệ tấn công web phổ biến - phát hiện các cuộc tấn công bảo mật ứng dụng web phổ biến.
  • Phát hiện tự động hóa - Phát hiện bot, trình thu thập thông tin, máy quét và hoạt động độc hại bề mặt khác.
  • Tích hợp với AV Scanning để tải lên tệp - phát hiện các tệp độc hại được tải lên thông qua ứng dụng web.
  • Theo dõi dữ liệu nhạy cảm - Theo dõi việc sử dụng thẻ tín dụng và chặn rò rỉ.
  • Bảo vệ Trojan - Phát hiện ngựa trojan.
  • Xác định lỗi ứng dụng - cảnh báo về cấu hình sai của ứng dụng.
  • Phát hiện lỗi và ẩn - Ngụy trang các thông báo lỗi được gửi bởi máy chủ.

Cài đặt

Hướng dẫn này chỉ cho bạn cách cài đặt bộ quy tắc ModSecurity và OWASP trên CentOS 6 chạy Apache 2.

Trước tiên, bạn cần đảm bảo rằng hệ thống của bạn được cập nhật.

 yum -y update

Nếu bạn chưa cài đặt Apache 2, thì hãy cài đặt nó ngay.

 yum -y install httpd

Bây giờ bạn cần cài đặt một số phụ thuộc để ModSecurity hoạt động. Tùy thuộc vào cấu hình máy chủ của bạn, một số hoặc tất cả các gói này có thể đã được cài đặt. Yum sẽ cài đặt các gói bạn không có và thông báo cho bạn nếu bất kỳ gói nào đã được cài đặt.

 yum -y install httpd-devel git gcc make libxml2 pcre-devel libxml2-devel curl-devel

Thay đổi thư mục và tải mã nguồn từ trang web ModSecuity. Phiên bản ổn định hiện tại là 2.8.

 cd /opt/
 wget https://www.modsecurity.org/tarball/2.8.0/modsecurity-2.8.0.tar.gz

Giải nén gói và thay đổi thư mục của nó.

 tar xzfv modsecurity-2.8.0.tar.gz 
 cd modsecurity-2.8.0

Cấu hình và biên dịch mã nguồn.

 ./configure
 make
 make install

Sao chép cấu hình ModSecurity mặc định và tệp ánh xạ unicode vào thư mục Apache.

 cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
 cp unicode.mapping /etc/httpd/conf.d/

Cấu hình Apache để sử dụng ModSecurity. Có 2 cách mà bạn có thể làm điều này.

 echo LoadModule security2_module modules/mod_security2.so >> /etc/httpd/conf/httpd.conf

... hoặc sử dụng trình soạn thảo văn bản như nano:

 nano /etc/httpd/conf/httpd.conf

Ở dưới cùng của tệp đó, trên một dòng riêng biệt thêm vào đây:

 LoadModule security2_module modules/mod_security2.so

Bây giờ bạn có thể khởi động Apache và cấu hình nó để bắt đầu khi khởi động.

 service httpd start
 chkconfig httpd on

Nếu bạn đã cài đặt Apache trước khi sử dụng hướng dẫn này, thì bạn chỉ cần khởi động lại nó.

 service httpd restart

Bây giờ bạn có thể tải xuống bộ quy tắc cốt lõi OWASP.

 cd /etc/httpd
 git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

Bây giờ cấu hình quy tắc OWASP.

 cd modsecurity-crs
 cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_config.conf

Tiếp theo, bạn cần thêm bộ quy tắc vào cấu hình Apache. Một lần nữa chúng ta có thể làm điều này theo hai cách.

 echo Include modsecurity-crs/modsecurity_crs_10_config.conf >> /etc/httpd/conf/httpd.conf
 echo Include modsecurity-crs/base_rules/*.conf >> /etc/httpd/conf/httpd.conf

... hoặc với trình soạn thảo văn bản:

 nano /etc/httpd/conf/httpd.conf

Ở dưới cùng của tập tin trên các dòng riêng biệt thêm điều này:

 Include modsecurity-crs/modsecurity_crs_10_config.conf
 Include modsecurity-crs/base_rules/*.conf

Bây giờ khởi động lại Apache.

 service httpd restart

Cuối cùng, xóa các tập tin cài đặt.

 yum erase /opt/modsecurity-2.8.0
 yum erase /opt/modsecurity-2.8.0.tar.gz

Sử dụng ModSecurance

Theo mặc định, ModSecurity chạy ở chế độ chỉ phát hiện, có nghĩa là nó sẽ ghi lại tất cả các vi phạm quy tắc nhưng sẽ không có hành động. Điều này được khuyến nghị cho các cài đặt mới để bạn có thể xem các sự kiện được tạo trong nhật ký lỗi Apache. Sau khi xem lại nhật ký, bạn có thể quyết định xem có bất kỳ sửa đổi nào đối với quy tắc hoặc vô hiệu hóa quy tắc (xem bên dưới) trước khi chuyển sang chế độ bảo vệ hay không.

Để xem nhật ký lỗi Apache:

 cat /var/log/httpd/error_log

Dòng ModSecurity trong nhật ký lỗi Apache được chia thành chín phần tử. Mỗi yếu tố cung cấp thông tin về lý do tại sao sự kiện được kích hoạt.

  • Phần đầu tiên cho biết tập tin quy tắc nào đã kích hoạt sự kiện này.
  • Phần thứ hai cho biết dòng nào trong tệp quy tắc bắt đầu.
  • Phần tử thứ ba cho bạn biết quy tắc nào đã được kích hoạt.
  • Yếu tố thứ tư cho bạn biết sửa đổi quy tắc.
  • Phần tử thứ năm chứa dữ liệu đặc biệt cho mục đích gỡ lỗi.
  • Phần tử thứ sáu xác định mức độ nghiêm trọng đăng nhập của mức độ nghiêm trọng của sự kiện này.
  • Phần thứ bảy mô tả hành động nào đã xảy ra và trong giai đoạn nào nó đã xảy ra.

Lưu ý rằng một số thành phần có thể vắng mặt tùy thuộc vào cấu hình máy chủ của bạn.

Để thay đổi ModSecurity sang chế độ bảo vệ, hãy mở tệp conf trong trình chỉnh sửa văn bản:

 nano /etc/httpd/conf.d/modsecurity.conf

... và thay đổi:

 SecRuleEngine DetectionOnly

đến:

 SecRuleEngine On

Nếu bạn gặp phải bất kỳ khối nào khi ModSecurity đang chạy, thì bạn cần xác định quy tắc trong nhật ký lỗi HTTP. Lệnh "tail" cho phép bạn xem nhật ký theo thời gian thực:

 tail -f /var/log/httpd/error_log

Lặp lại hành động gây ra khối trong khi xem nhật ký.

Sửa đổi Bộ quy tắc / Vô hiệu hóa ID quy tắc

Sửa đổi một quy tắc là vượt quá phạm vi của hướng dẫn này.

Để vô hiệu hóa một quy tắc cụ thể, bạn xác định id quy tắc nằm trong phần tử thứ ba (ví dụ [id = 200000]) và sau đó vô hiệu hóa nó trong tệp cấu hình Apache:

 nano /etc/httpd/conf/httpd.conf

... bằng cách thêm phần sau vào dưới cùng của tệp với id quy tắc:

<IfModule mod_security2.c>
SecRuleRemoveById 200000
</IfModule>

Nếu bạn thấy ModSecurity đang chặn tất cả các hành động trên (các) trang web của bạn, thì "Bộ quy tắc cốt lõi" có thể ở chế độ "Tự chứa". Bạn cần thay đổi điều này thành "Phát hiện hợp tác", chỉ phát hiện và chặn các bất thường. Đồng thời, bạn có thể xem các tùy chọn "Tự chứa" và thay đổi chúng nếu bạn muốn làm như vậy.

 nano /etc/httpd/modsecurity-crs/modsecurity_crs_10_config.conf

Thay đổi "phát hiện" thành "Tự chứa".

Bạn cũng có thể định cấu hình ModSecurity để cho phép IP của bạn thông qua tường lửa ứng dụng web (WAF) mà không cần đăng nhập:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=Off

... hoặc với việc đăng nhập:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=DetectionOnly

Để lại bình luận

Cách cài đặt SuiteCRM trên Ubuntu 16.04

Cách cài đặt SuiteCRM trên Ubuntu 16.04

Hướng dẫn cài đặt SuiteCRM, một giải pháp CRM mã nguồn mở, trên Ubuntu 16.04 với các bước chi tiết và dễ hiểu.

ReactOS: Đây có phải là tương lai của Windows?

ReactOS: Đây có phải là tương lai của Windows?

ReactOS, một hệ điều hành mã nguồn mở và miễn phí đã có phiên bản mới nhất. Liệu nó có thể đáp ứng đủ nhu cầu của người dùng Windows hiện đại và hạ gục Microsoft? Hãy cùng tìm hiểu thêm về trải nghiệm hệ điều hành kiểu cũ nhưng mới hơn này.

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Các cuộc tấn công ransomware đang gia tăng, nhưng liệu AI có thể giúp đối phó với loại virus máy tính mới nhất? AI có phải là câu trả lời? Đọc ở đây biết là AI boone hay cấm

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Whatsapp cuối cùng đã ra mắt ứng dụng Máy tính để bàn cho người dùng Mac và Windows. Giờ đây, bạn có thể truy cập Whatsapp từ Windows hoặc Mac một cách dễ dàng. Có sẵn cho Windows 8+ và Mac OS 10.9+

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Hãy đọc phần này để biết Trí tuệ nhân tạo đang trở nên phổ biến như thế nào đối với các công ty quy mô nhỏ và làm thế nào nó đang tăng khả năng khiến họ phát triển và giúp đối thủ cạnh tranh của họ có thể cạnh tranh.

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Gần đây Apple đã phát hành macOS Catalina 10.15.4 một bản cập nhật bổ sung để khắc phục các sự cố nhưng có vẻ như bản cập nhật đang gây ra nhiều vấn đề hơn dẫn đến việc máy mac bị chai. Đọc bài viết này để tìm hiểu thêm

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Máy tính của chúng tôi lưu trữ tất cả dữ liệu một cách có tổ chức được gọi là hệ thống tệp Ghi nhật ký. Đây là một phương pháp hiệu quả cho phép máy tính tìm kiếm và hiển thị các tệp ngay khi bạn nhấn tìm kiếm. Https://wethegeek.com/? P = 94116 & preview = true

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Khi Khoa học phát triển với tốc độ nhanh chóng, chiếm rất nhiều nỗ lực của chúng ta, những rủi ro của việc phục tùng bản thân trước một Điểm kỳ dị không thể giải thích cũng tăng lên. Hãy đọc, điểm kỳ dị có thể có ý nghĩa gì đối với chúng ta.

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1