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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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... NAXSI có thể tự động phát hiện và ngăn chặn các cuộc tấn

Trang 2

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

Trang 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

Trang 4

4

Bảng so sánh tốc độ sử lý trả về

Trang 5

Hoạt động của NAXSI:

Trang 6

6

Trang 7

 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 ;

Trang 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 :

- 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

Trang 10

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 http_mp4_module http_gunzip_module

http_gzip_static_module http_random_index_module

http_secure_link_module http_stub_status_module

http_auth_request_module mail mail_ssl_module file-aio ipv6 with-http_spdy_module with-cc-opt='-O2 -g -pipe -Wp,-

withD_FORTIFY_SOURCE=2 fexceptions fstackprotector param=sspbuffersize=4 m64 -mtune=generic'

Để 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

Trang 11

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

CheckRule "$RFI >= 8" BLOCK;

CheckRule "$TRAVERSAL >= 4" BLOCK;

CheckRule "$EVADE >= 4" BLOCK;

CheckRule "$XSS >= 8" BLOCK;

Mở lại file nginx.conf và thêm vào các dòng như trong hình:

Trang 12

12

Vậy là xong phần cấu hình Giờ ta cần làm một số thao tác để chạy dịch vụ Nginx

- Tạo tài khoản hệ thống Nginx:

# description: Nginx is an HTTP(S) server, HTTP(S) reverse \

# proxy and IMAP/POP3 proxy server

Trang 13

# Source networking configuration.

/etc/sysconfig/network

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0

echo -n $"Starting $prog: "

daemon $nginx -c $NGINX_CONF_FILE

echo -n $"Stopping $prog: "

killproc $prog -QUIT

echo -n $"Reloading $prog: "

killproc $nginx -HUP

RETVAL=$?

echo

}

Trang 15

- Thêm lệnh sau:

chmod +x /etc/init.d/nginx

- Thiết lập dịch vụ khởi động cùng hệ thống:

chkconfig add nginx

chkconfig level 345 nginx on

- Thay đổi các giá trị trong file nginx.conf:

types_hash_bucket_size 64;

server_names_hash_bucket_size 128;

Trang 16

16

- Tạo đường dẫn sau “/var/cache/nginx/client_temp”:

- Khởi động dịch vụ Nginx:

service nginx start

Chúng ta kiểm tra kết quả:

Trang 17

Thử kiểm tra với đường dẫn sau:

http://127.0.0.1/?a=%3C

Sau khi nhập vào thì đường dẫn có 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

Trang 18

18

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

Trang 19

Tìm hiểu về NGINX

Giới thiệu Nginx

Nginx là một máy chủ reverse proxy mã nguồn mở cho các giao thức HTTP, HTTPS, SMTP, IMAP và POP3

Nginx được biết tới bởi sự miễn phí, có hiệu năng cao, sự ổn định cao, nhiều tính năng, cấu hình đơn giản và tiết kiệm tài nguyên

Nginx được phát triển bởi Igor Sysoev vào nằm 2002, được phân phối ra công chúng lần đầu vào nằm 2004

Nginx là một trong số các máy chủ giải quyết được vấn đề 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

Trang 20

yum install epel-release

Cài gói Nginx với lệnh sau:

yum -y install nginx

Khởi động Nginx:

service nginx start

Trang 21

Kiểm tra kết quả thì chúng ta mở trình duyệt vào url địa chỉ “http://localhost”

Trang 22

22

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

HÌNH ẢNH LIÊN QUAN

Bảng so sánh tốc độ sử lý trả về - NAXSI NGIXN an toàn mạng
Bảng so sánh tốc độ sử lý trả về (Trang 4)

TỪ KHÓA LIÊN QUAN

w