Cài đặt NGINX với ModSecurity trên CentOS 6

Trong bài viết này, tôi sẽ giải thích cách xây dựng ngăn xếp LEMP được bảo vệ bởi ModSecurity. ModSecurity là một tường lửa ứng dụng web nguồn mở rất hữu ích để bảo vệ chống lại các mũi tiêm, các cuộc tấn công PHP và hơn thế nữa. Nếu bạn muốn thiết lập NGINX với ModSecurity, hãy tiếp tục đọc.

Tất cả các bước trong bài viết này yêu cầu quyền truy cập root.

Bước 1: Cài đặt các điều kiện tiên quyết

Nếu bạn chưa chạy như người dùng root, hãy tự leo thang:

/bin/su

Chúng tôi cần một trình biên dịch, vì vậy hãy thực hiện như sau để đảm bảo:

yum install -y gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel httpd-devel libxml2-devel xz-devel python-devel libcurl-devel
yum groupinstall -y 'Development Tools' 

Để cài đặt NGINX, trước tiên chúng ta cần có được gói. Tải xuống gói:

cd /usr/src && wget http://nginx.org/download/nginx-1.9.9.tar.gz

Chúng tôi cũng sẽ yêu cầu gói PHP cho ngăn xếp của chúng tôi.

wget http://us2.php.net/distributions/php-5.6.16.tar.bz2

Vì chúng tôi đang cài đặt ModSecurity, chúng tôi sẽ lấy nguồn và tải xuống:

wget https://www.modsecurity.org/tarball/2.9.0/modsecurity-2.9.0.tar.gz

Bây giờ, giải nén / giải nén các tập tin.

tar xvf nginx-1.9.9.tar.gz
tar xvf php-5.6.16.tar.bz2
tar xvf modsecurity-2.9.0.tar.gz   

Sau đó, chúng tôi sẽ cài đặt ModSecurity.

cd /usr/src/modsecurity-2.9.0 && ./configure --enable-standalone-module --disable-mlogc
make && make install

Bây giờ chúng tôi đã có được tất cả các điều kiện tiên quyết, hãy cài đặt NGINX. Nhóm lệnh sau đây để cài đặt NGINX và ModSecurity.

cd /usr/src/nginx-1.9.9 && ./configure --add-module=../modsecurity-2.9.0/nginx/modsecurity/
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

Bây giờ, hãy cài đặt máy chủ MySQL.

yum install -y mysql-server
service mysqld start
mysql_secure_installation

Đối với mysql_secure_installationlệnh:

  • Nhấn enter ở bước đầu tiên của trình hướng dẫn cài đặt.
  • Nhập Y khi được nhắc nếu mật khẩu root MySQL mới được đặt.
  • Nhập mật khẩu mới, xác nhận bằng cách nhập lại.
  • Nhấn Y để xóa người dùng ẩn danh, không cho phép truy cập root từ xa vào MySQL bằng cách nhấn lại Y.
  • Nhấn Y lần cuối để xóa cơ sở dữ liệu / người dùng thử nghiệm.
  • Cuối cùng, nhấn Y để lưu các thay đổi của bạn.

Một điều cuối cùng để cài đặt, và đó là PHP. Trong bài viết này, chúng tôi sẽ cài đặt PHP từ nguồn.

Nhập thư mục nguồn cho PHP.

cd /usr/src/php-5.6.16

Bây giờ, cấu hình PHP. Các đối số sau đây trong ./configurelệnh là có để bạn có thể chạy các ứng dụng như WordPress.

 ./configure --with-pear=/usr/lib/pear --enable-libxml --with-pdo-mysql --with-mysqli --with-mysql --enable-mbstring --with-curl
 make
 make install

Cài đặt PHP-FPM cho NGINX:

yum install -y php-fpm

Chúng ta cần cài đặt PHP-FPM trên chính PHP vì bản thân NGINX không tích hợp trực tiếp với PHP. Thay vào đó, NGINX chuyển quá trình xử lý PHP sang PHP-FPM để thực thi các tập lệnh của chúng tôi.

Làm tốt lắm! Bạn đã cài đặt các điều kiện tiên quyết.

Bước 2: Định cấu hình ModSecurity / NGINX

Hãy bắt đầu bằng cách xây dựng bộ quy tắc ModSecurity. ModSecurity không làm gì cho đến khi bạn định cấu hình nó.

Lấy quy tắc OWASP được đặt từ trang web của họ:

 cd /usr/src && wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master
 tar xvf master

Sau khi bạn đã tải xuống bộ quy tắc, chúng tôi sẽ kết hợp cấu hình mặc định với các quy tắc cơ bản.

cd SpiderLabs-owasp-modsecurity-crs-60c8bc9
cp /usr/src/modsecurity-2.9.0/modsecurity.conf-recommended /usr/local/nginx/conf/modsecurity.conf
cp /usr/src/modsecurity-2.9.0/unicode.mapping /usr/local/nginx/conf/
cat base_rules/*.conf >> /usr/local/nginx/conf/modsecurity.conf
cp base_rules/*.data /usr/local/nginx/conf

Về lý thuyết, điều này sẽ bảo vệ chống lại hầu hết các khai thác web. Tuy nhiên, các plugin / mã bạn cài đặt cũng cần được kiểm tra, bởi vì mặc dù ModSecurity là một biện pháp bảo mật tuyệt vời, nhưng nó không phải là chống đạn.

Tạo một thư mục tại /var/www:

mkdir /var/www

Và một thư mục cho máy chủ ảo của bạn:

mkdir /var/www/yourwebsite.com

Cuối cùng, nối các phần sau vào cấu hình NGINX của bạn tại /usr/local/nginx/conf/nginx.conf. Hãy chắc chắn rằng bạn nối thêm cấu hình này trước khi xuất hiện }biểu tượng cuối cùng .

  server {
  listen   80;
  root /var/www/yourwebsite.com;
  index index.php index.html index.htm;
  server_name yourwebsite.com www.yourwebsite.com;
  location / {
  ModSecurityEnabled on;
  ModSecurityConfig /usr/local/nginx/modsecurity.conf;
  }
  }

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

Bước 3: Bắt đầu PHP-FPM và NGINX

Bước này khá đơn giản - tất cả những gì bạn phải làm là thực hiện các lệnh sau.

service php-fpm start
/usr/sbin/nginx

Xin chúc mừng! Bạn đã thiết lập trang web đầu tiên của mình với NGINX được bảo vệ bởi ModSecurity. Để đọc thêm về ModSecurity, hãy truy cập trang web chính thức của họ .



Leave a Comment

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