Kiểm tra thứ hạng web Phát hiện và chống xâm nhập Web Server với Mod Security
Thứ tư, 23 Tháng 10 2019

Phát hiện và chống xâm nhập Web Server với Mod Security

Chuyên mục: Bảo mật web

Bảo mật website với Mod Security

 

Phát hiện và chống xâm nhập Web Server với Mod Security

 

1. giới thiệu về Mod_security

ModSecurity là một bộ máy phát hiện và phòng chống xâm nhập dành cho các ứng dụng web (hoặc 1 web application firewall). Hoạt động như một module của máy chủ web Apache, mục đích của ModSecurity là tăng cường bảo mật cho các ứng dụng web, bảo vệ chúng khỏi các loại tấn công đã biết và chưa biết.

Sau khi cài đặt Apache mặc định sẽ không có mod_security.Bạn phải download mod_security từ http://www.modsecurity.org .Phiên bản mới nhất hiện nay là 1.9. Mod_security dùng được cho cả apache 1.x và 2.x (trên cả windows ,*.nix …)
 
2.Cài đặt và cấu hình:

Việc install Mod_security tương đối đơn giản,sau khi đã download Binary packages về:

Với apache 2.x:

Bạn chỉ việc copy file mod_security.so vào thư mục modules/ của apache và mở file httpd.conf  thêm vào dòng sau:

LoadModule security_module modules/mod_security.so

là có đã hoàn thành bước cài đặt

Với apache 1.x:

Ban copy file mod_security.so (*.nix ) hoăc mod_security.dll (windows) vào thư mục libexec/ và mở file httpd.conf thêm vào dòng sau:

LoadModule security_module libexec/mod_security.so

Để sử dụng mod_security bạn phải cấu hình cho nó( cái này tùy vào mỗi hệ thống mà sẽ dẫn đến những cấu hình khác nhau). Trước tiên bạn mở file httpd.conf ra và thêm vào dòng sau:

   # cấu hình cho mod_security

hoặc bạn có thể tạo riêng một file là modsecurity.conf trong thư mục conf cua apache và include nó tù file cấu hình của apache httpd.conf:

   include conf/modsecurity.conf

Sau khi cài đặt mặc định bộ máy filtering sẽ disable ( muốn dùng mod_security chúng ta phải bật nó lên).

Ban chỉ việc thêm vào dòng sau trong file modsecurity.conf:

SecFilterEngine On ( or Off , DynamicOnly )

Sau đây là cách cấu hình cho mod_security để hạn chế những kiểu tấn công cơ bản:
 
#Chống lại kiểu tấn công thực thi các lệnh:

SecFilter /etc/password

SecFilter /bin/ls

#Chống lại kiểu tấn công Directory traversal

SecFilter "\.\./"

#Lọc các kí tự hay dùng trong shell code

SecFilterForceByteRange 32 126

#Lọc các kí tụ hay dùng trong XSS attack

SecFilter ""

SecFilter "[[:space:]]*sript"

#chống lại kiểu tấn công XSS thông qua PHP session cookie

SecFilterSelective ARG_PHPSESSID "!^[0-9a-z]*$"

SecFilterSelective COOKIE_PHPSESSID "!^[0-9a-z]*$"

#Hạn chế sqlinjection attack

SecFilter "delete[[:space:]]+from"

SecFilter "insert[[:space:]]+into"

SecFilter "select.+from"

#Hạn chế MSSQL injection attack

SecFilter xp_enumdsn

SecFilter xp_filelist

SecFilter xp_availablemedia

SecFilter xp_cmdshell

SecFilter xp_regread

SecFilter xp_regwrite

SecFilter xp_regdeletekey

#chống spam mail

    SecFilterSelective "ARG_recipient" "!@modsecurity\.org$"

#phát hiện xâm nhập

SecFilterSelective OUTPUT "Volume Serial Number"

SecFilterSelective OUTPUT "Command completed"

SecFilterSelective OUTPUT "Bad command or filename"

SecFilterSelective OUTPUT "file(s) copied"

SecFilterSelective OUTPUT "Index of /cgi-bin/"

SecFilterSelective OUTPUT ".*uid\=\("

#Nếu muốn ghi lại log

SecAuditLog logs/audit.log

SecFilterDebugLog logs/modsec.log

SecFilterDebugLevel 0

#Muốn mod_security phân tích POST request, dùng:

SecFilterScanPOST On

# để mod_security *kiểm tra* URL encoding và UTF-8.

SecFilterCheckURLEncoding On

SecFilterCheckUnicodeEncoding On

Lưu ý:nếu bạn dùng SecFilterCheckUnicodeEncoding On, một số bộ gõ hay input tiếng Việt sẽ không hoạt động, một số bộ gõ hay input tiếng Việt sẽ không hoạt động

Nếu bạn chạy web với nhiều virtualhost và muốn một site trong nhiều sites không dùng mod_security, bạn có thể dùng:

SecFilterSelective SERVERNAME "^tên_của_web_site$" nolog,allow
 
3. Lời kết

Trên đây chỉ là vài cấu hình cơ bản,Còn rất nhiều kiểu cấu hình mà tôi không đề cập  (tùy thuộc vào hệ thống của bạn mà có cấu hình cho thích hợp).

Chúc bạn thanh công.

Bài liên quan :
Plugins bảo mật trang web Joomla
Những Plugin bảo mật web WordPress tốt nhất
Một số phương pháp bảo mật web Wordpress
Chmod an toàn cho wordpress
Bảo mật web wordpress
Chmod an toàn cho website
Sử dụng file .htaccess để block Bots và ban địa chỉ IP
Không cho IP/ISP truy cập website bằng .htacces
Hướng dẫn bảo mật PHP và Mysql phần 01
Hướng dẫn bảo mật PHP và Mysql phần 02
Hướng dẫn bảo mật PHP và Mysql phần 03
Dùng .htaccess bảo vệ file chống hack local
Lưu ý bảo mật dữ liệu cho web PHP sử dụng Shared hosting Linux
Bảo mật website bằng cách tối ưu file .htaccess
Bảo mật Session trong lập trình PHP mới nhất
Bảo mật cho Website Joomla
Chuyển file configuration.php ra khỏi thư mục gốc trên host
Đặt password khi truy cập thư mục Administrator
Cách ngăn truy cập vào thư mục Administrator của Joomla!
Bảo mật website bằng .htaccess
3 cách phòng chống website khỏi SQL Injection
Một số phương pháp bảo mật website joomla

 

Logo bảo mật web - Công cụ bảo mật website Joomla và Wordpress

HTL Computer