1. Trang chủ
  2. » Công Nghệ Thông Tin

NAXSI NGIXN an toàn mạng

22 330 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 0,98 MB

Nội dung

1 2 TÌM HIỂU VỀ NAXSI Giới thiệu Naxsi Apache có một web application firewall và cũng là một security module cực mạnh là mod_security. Nginx cũng có một security module mạnh tương tự, đó chính là NAXSI. NAXSI là module phát triển dành riêng cho Nginx, NAXSI là viết tắt của Nginx Anti XSS and SQL Injection. Sử dụng NAXSI cho phép bạn bảo vệ web application của bạn tốt hơn với cách viết rules uyển chuyển, đa dạng, tốc độ xử lý nhanh. 3 NAXSI được viết tắt từ “Nginx Anti XSS and SQL Injection”, là một web application firewall được phát triển dành riêng cho Nginx. NAXSI hoàn toàn open source và miễn phí. NAXSI có thể tự động phát hiện và ngăn chặn các cuộc tấn công bằng XSS và SQL Injection vào web application của bạn, thông qua hệ thống rules linh hoạt và bạn cũng có thể tự xây dựng thêm rules cho NAXSI. Cách làm việc của NAXSI rất đơn giản, NAXSI tự động đọc và phân tích các POST và GET request gửi đến webserver. Nếu phát hiện các dấu hiệu khả nghi, như chứa các string liên quan đến SQL Injection, XSS, thì tự động block các request từ IP đó, cách block là redirect truy cập sang một địa chỉ URL khác. So sánh: Nginx usage in February 2013. 4 Bảng so sánh tốc độ sử lý trả về 5 Hoạt động của NAXSI: 6 7 Rules:  URL : Checks on the search pattern in the URL (server path).  ARGS: Searches for the pattern in the request arguments.  FILE_EXT: Tests the file attachment for the search pattern.  BODY: Checks the body of a POST request for the search pattern; can be further limited with$BODY_VAR:VarName.  HEADERS : Finds the search pattern in the header of a request; can be further delimited:$HEADERS_VAR:User- Agent, $HEADERS_VAR:Cookie, $HEADERS_VAR:Content- Type,$HEADERS_VAR:Connection, $HEADERS_VAR:Accept-Encoding. Một vài Rules mẫu:  MainRule "str:/manager/html/upload" "msg:DN SCAN Tomcat" "mz:URL" "s:$UWA:8" id:42000217 ;  MainRule "rx:type( *)=( *)[\"|']symbol[\"|']" "msg:DN APP_SERVER Possible RAILS Exploit using type=symbol" "mz:BODY" "s:$ATTACK:8" id:42000233 ;  MainRule "str:basic ywrtaw46ywrtaw4=" "msg:APP_SERVER Tomcat admin-admin credentials" "mz:$URL/manager|$HEADERS_VAR:Authorization" "s:$ATTACK:8" id:42000216 ; 8  MainRule "str:http://" "msg:http:// scheme" "mz:ARGS|BODY|$HEADERS_VAR:Cookie" "s:$RFI:8" id:1100 ;  MainRule "str:/*" "msg:mysql comment (/*)" "mz:BODY|URL|ARGS|$HEADERS_VAR:Cookie" "s:$SQL:8" id:1003 ; 9 Cài đặt và cấu hình a. Cài đặt NAXSI là một module được phát triển riêng, do đó để cài đặt NAXSI và Nginx các bạn phải biên dịch (compile) Nginx từ source code, chứ không thể cài đặt qua YUM hay APT-GET. Sau đây, xin giới thiệu cách cài Nginx và Naxsi trên Cenos 6.5. Chú ý: Tất cả thực hiện dưới quyền root. - Cài các gói cần thiết: yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel - Tải và giải nén Nginx (1.9.3), Naxsi (0.54rc3) bằng các lệnh sau : cd /usr/local/src/ wget http://nginx.org/download/nginx-1.9.3.tar.gz tar -zxvf nginx-1.9.3.tar.gz wget https://github.com/nbs-system/naxsi/archive/0.54rc3.tar.gz tar -zxvf 0.54rc3 - Ta được các file và thư mục sau: - Tiếp theo các bạn tiến hành compile Nginx source kèm với NAXSI module. Quan trọng trong câu lệnh có dòng “ add-module= /naxsi-0.54rc3/naxsi_src/” để thực hiện việc gán thêm module vào Nginx. Thực hiện các lệnh compile như sau: cd nginx-1.9.3 ./configure prefix=/etc/nginx sbin-path=/usr/sbin/nginx conf- path=/etc/nginx/nginx.conf add-module= /naxsi-0.54rc3/naxsi_src/ error-log- path=/var/log/nginx/error.log http-log-path=/var/log/nginx/access.log pid- path=/var/run/nginx.pid lock-path=/var/run/nginx.lock http-client-body-temp- 10 path=/var/cache/nginx/client_temp http-proxy-temp-path=/var/cache/nginx/proxy_temp http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp http-uwsgi-temp- path=/var/cache/nginx/uwsgi_temp http-scgi-temp-path=/var/cache/nginx/scgi_temp user=nginx group=nginx with-http_ssl_module with-http_realip_module with- http_addition_module with-http_sub_module with-http_dav_module with- http_flv_module with-http_mp4_module with-http_gunzip_module with- http_gzip_static_module with-http_random_index_module with- http_secure_link_module with-http_stub_status_module with- http_auth_request_module with-mail with-mail_ssl_module with-file-aio with- ipv6 with-http_spdy_module with-cc-opt='-O2 -g -pipe -Wp,- D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector param=ssp-buffer-size=4 - m64 -mtune=generic' make make install Vậy là xong quá trình cài Nginx và Naxsi vào máy. Cấu hình Xong quá trình cài đặt Nginx và Naxsi vào máy. Giờ sẽ qua cấu hình để Naxsi chạy được trên Nginx. Để hoạt động thì NAXSI cần 2 files, một file chứa các rules và một file cấu hình sử dụng NAXSI. Sau khi cài đặt xong các bạn cần sao chép file chứa rules của NAXSI vào thư mục cấu hình Nginx. Các bạn thực hiện các lệnh sau: cp /usr/local/src/naxsi-0.54rc3/naxsi_config/naxsi_core.rules /etc/nginx/ -fv Tiếp theo mở file /etc/nginx/nginx.conf, chuyển tới phần http{} và include file naxsi_core.rules vào ngay dòng đầu tiên của http{} để thông báo cho Nginx biết các rules này nằm ở đây. nano /etc/nginx/nginx.conf [...]... vấn đề thì Naxsi sẽ kiểm tra và Nginx trả về lỗi như hình trên Chúng ta kiểm tra nội dung mà naxsi bắt lỗi tại file naxsi_ error.log 17 Như vậy là xong bước cài đặt và cấu hình cho Naxsi chạy trên Nginx với địa chỉ localhost Nếu muốn đọc và tìm hiểu thêm thì có thể tham khảo thêm tại: https://vuvps.com/bai-viet/huong-dan-cau-hinh -naxsi- security-module-cho-nginx/ https://github.com/nbs-system /naxsi/ wiki...Sau khi include file naxsi_ core.rules thì có nghĩa là Nginx để biết các rules sẽ nằm ở đâu Công việc tiếp theo của mình là cấu hình cho Nginx sử dụng các rules này như thế nào Giờ các bạn tiến hành mở file /etc/nginx /naxsi. rules nano /etc/nginx /naxsi. rules Sau đó thì cấu hình file naxsi. rules # Bật NAXSI module SecRulesEnabled; # URL trả về khi client bị block... “/etc/init.d/nginx” và thêm nội dung file như sau: #!/bin/sh # # nginx - this # # chkconfig: # description: # # processname: # config: # pidfile: # user: script starts and stops the nginx daemin - 85 15 Nginx is an HTTP(S) server, HTTP(S) reverse \ proxy and IMAP/POP3 proxy server nginx /etc/nginx/nginx.conf /var/run/nginx.pid nginx # Source function library /etc/rc.d/init.d/functions 12 # Source networking... đề C10K Không giống các máy chủ truyền thống, Nginx không dựa vào thread để xử lý yêu cầu Thay vào đó nó sử dụng một kiến trúc bất đồng bộ hướng sự kiện linh hoạt Kiến trúc này được sử dụng ít nhưng quan trọng là có thể dự đoán được bộ nhớ tải Nginx hoạt động dưới giấy phép 2-clause BSD, trên các nền tảng Linux, BSD, Mac OS X, Solaris, AIX, HP-UX cũng như các hệ điều hành dựa trên Unix 19 Cài đặt Nginx . dụng NAXSI. Sau khi cài đặt xong các bạn cần sao chép file chứa rules của NAXSI vào thư mục cấu hình Nginx. Các bạn thực hiện các lệnh sau: cp /usr/local/src /naxsi- 0.54rc3 /naxsi_ config /naxsi_ core.rules. xong quá trình cài Nginx và Naxsi vào máy. Cấu hình Xong quá trình cài đặt Nginx và Naxsi vào máy. Giờ sẽ qua cấu hình để Naxsi chạy được trên Nginx. Để hoạt động thì NAXSI cần 2 files, một file. thế nào. Giờ các bạn tiến hành mở file /etc/nginx /naxsi. rules nano /etc/nginx /naxsi. rules Sau đó thì cấu hình file naxsi. rules # Bật NAXSI module SecRulesEnabled; # URL trả về khi client

Ngày đăng: 14/08/2015, 14:37

TỪ KHÓA LIÊN QUAN

w