1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) tìm hiểu modsecurity chương 1 hoạt động của ứng dụng web và cá kiểu tấn công web

41 2 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 41
Dung lượng 339,46 KB

Nội dung

Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Mục Lục Chương 1: Hoạt động ứng dụng web cá kiểu công web I HTTP Web Server Các tiến trình Internet Máy chủ máy khách Địa IP (IPaddress) Các máy chủ tên miền (Name servers) Cổng (Ports) Giaothức (Protocols) II Các phương pháp công webiste Chương 2: Modsecurity I Các khả mod_security II Cài đặt Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Biên dịch Tích hợp modsecurity vào apache Khởi động lại apache III Cấu hình File cấu hình Turning Rule on and of SecDefaultAction IV Rules Xây dựng rules nào? Cấu trúc rules 2.1 Variables 2.2 Collections 2.3 Operators 2.4 Actions V Logging Debug Log Audit logging Tuỳ biến thông tin log VI Xây dựng sách Modsecurity chống lại số công SQL Injection XSS Attack Website defacement Brute force attacks Directory indexing Detecting the real IP address of an attacker Một số công khác VII Tài liệu tham khảo Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Chương 1: Hoạt động ứng dụng web cá kiểu công web I HTTP Web Server HTTP ? HTTP chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu văn bản) Nó giao thức mà World Wide Web sử dụng HTTP xác định cách thơng điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, file multimedia khác) định dạng truyền tải sao, hành động mà Web server (máy chủ Web) trình duyệt Web (browser) phải làm để đáp ứng lệnh đa dạng Chẳng hạn, bạn gõ địa Web URL vào trình duyệt Web, lệnh HTTP gửi tới Web server để lệnh hướng dẫn tìm trang Web u cầu kéo mở trình duyệt Web Nói nôm na hơn, HTTP giao thức truyền tải file từ Web server vào trình duyệt Web để người dùng xem trang Web diện Internet.HTTP giao thức ứng dụng giao thức TCP/IP (các giao thức tảng cho Internet) Có tiêu chuẩn khác điều khiển cách thức World Wide Web làm việc HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản), có chức quản lý cách thức mà trang Web định dạng hiển thị người ta gọi HTTP giao thức “phi trạng thái” (stateless) lệnh thực thi cách độc lập, lệnh sau khơng biết điều lệnh đến trước Đây hạn chế, khiếm khuyết HTTP Nó nguyên nhân tình trạng khó thực thi trang Web có khả phản ứng thơng minh lệnh mà người dùng nạp vào Và hạn chế Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity nhà phát triển khắc phục công nghệ ActiveX, Java, JavaScript cookies Phiên HTTP 1.1 So với phiên nguyên thủy (HTTP 1.0), phiên truyền tải trang Web nhanh giảm tình trạng tắc nghẽn giao thơng Web Web Server Các tiến trình Khi bạn ngồi trước máy tính duyệt web Internet Có người bạn bạn gọi điện thoại cho bạn nói “Tơi vừa đọc viết hay! Bạn đánh vào địa sau xem thử nhé, địa trang web http://computer.howstuffworks.com/web-server.htm “ Khi bạn gõ vào địa trang web trình duyệt web ấn Enter, thật kỳ diệu, trang web hiển thị hình bạn Vậy, làm mà trang web thị hình bạn, chế hoạt động máy chủ Web nào? Chúng giúp bạn hiểu rõ viết Các bước tiến trình truyền tải trang web đến hình bạn thể theo mơ hình sau: Theo mơ hình trên, trình duyệt web thực kết nối tới máy chủ web, yêu cầu trang web nhận lại Sau đây, thứ tự bước xảy đến đằng sau hình bạn: Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Trình duyệt web tách địa website làm phần: Phần giao thức: (“http”) Máy chủ tên miền: (www.howstuffworks.com) Tên tệp: (“web-server.htm”) Trình duyệt liên hệ với máy chủ tên miền để chuyển đổi tên miền "www.howstuffworks.com" địa IP (Internet Protcol) Sau đó, trình duyệt gửi tiếp kết nối tới máy chủ có địa IP tương ứng qua cổng 80 Dựa giao thức HTTP, trình duyệt gửi yêu cầu GET đến máy chủ, yêu cầu tệp "http://computer.howstuffworks.com/web-server.htm." (Bạn ý, cookies gửi kèm theo từ trình duyệt web đến máy chủ) Tiếp đến, máy chủ gửi đoạn text dạng HTML đến trình duyệt web bạn (cookies gửi kèm theo từ máy chủ tới trình duyệt web, cookies ghi đầu trang trang web) Trình duyệt web đọc thẻ HTML, định dạng trang web kết xuất hình bạn Nếu bạn chưa khám phá tiến trình trên, bạn gặp phải nhiều thuật ngữ Để hiểu hiểu cách chi tiết, bạn cần biết thêm khái niệm địa internet (địa IP), cổng (ports), giao thức (protocol)… Đoạn viết sau giúp bạn hiểu rõ Internet Internet gì? Internet tập hợp khổng lồ hàng triệu máy tính, nối với mạng máy tính Mạng máy tính cho phép tất máy tính trao đổi thơng tin cho Một máy tính đặt nhà tham gia vào mạng Internet thông qua đường điện thoại, đường thuê bao số cáp modem kết nối đến nhà cung cấp dịch vụ Internet (Internet service Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity provider - ISP) Máy tính cơng ty, trường học thường có 01 card mạng (Network interface Card - NIC) để kết nối trực tiếp vào mạng nội (Local Area Network) công ty trường học Mạng nội công ty, trường học nối tới nhà cung cấp dịch vụ Internet ISP đường điện thoại có tốc độ cao, ví dụ đường T1 Mỗi đường T1 đạt tốc độ 1.5 triệu bit giây, kết nối điện thoại thông thường đạt 30.000 đến 50.000 bít giây.Những nhà cung cấp dịch vụ ISP nối tới nhà cung cấp dịch vụ Internet lớn hơn…Đối với đường kết nối quốc gia hay khu vực, nhà cung cấp dịch vụ Internet thường sử dụng sợi cáp quang Hệ thống đường cáp tồn giới kết nối loại đường sợi cáp quang, cáp ngầm biển hệ thống vệ tinh (satellite) Bằng cách vậy, máy tính Internet kết nối với Internet Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Máy chủ máy khách Nhìn chung, máy tính Internet chia làm loại: Máy chủ máy khách Máy chủ loại máy tính cung cấp dịch vụ (máy chủ dịch vụ web, máy chủ dịch vụ thư điện tử) đến máy khác Máy khách máy tính sử dụng để kết nối tới dịch vụ máy chủ Khi bạn kết nối tới Yahoo! địa www.yahoo.com để xem trang web, trường hợp này, Yahoo! sử dụng máy tính, gọi máy chủ (cũng nhóm máy chủ có cấu hình lớn) kết nối Internet, nhằm cung cấp dịch vụ cho bạn Ngược lại, máy tính bạn khơng cung cấp dịch vụ Internet để người khác truy cập, coi máy tính sử dụng thơng thường, hay cịn gọi máy khách Một máy chủ cung cấp hay nhiều dịch vụ Internet Ví dụ, máy chủ có nhiều phần mềm chạy nó, cho phép hoạt động máy chủ web, máy chủ email máy chủ FTP Các máy trạm kết nối tới máy chủ thường với “mục đĩch” cụ thể, hướng yêu cầu tới máy chủ có ứng dụng phù hợp với “mục đích” đó, ví dụ bạn chạy chương trình duyệt web máy tính bạn, có nghĩa máy tính bạn kết nối tới máy chủ dịch vụ web Tương tự, chạy ứng dụng Telnet máy tính bạn kết nối tới máy chủ dịch vụ Telnet, chạy ứng dụng email kết nối tới máy chủ dịch vụ email… Địa IP (IPaddress) Để tất máy tính Internet liên hệ với nhau, máy tính cung cấp địa Internet, gọi IP Địa IP viết tắt từ Internet Protocol IP số 32 bít thể dạng số thập phân gồm có “octet”, ví dụ 216.27.61.137 số địa Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity IP gọi “octet”, số có giá trị từ đến 255, có nghĩa “octet” có đến 28 giá trị khác Địa IP máy tính tham gia Internet Đối với máy chủ, địa IP cố định Một máy tính, kết nối Internet đường line điện thoại thơng qua modem, cung cấp địa IP nhà cung cấp dịch vụ Internet (ISP) Địa IP cho lần kết nối, đồng nghĩa thay đổi địa IP khác kết nối lần Theo cách này, thay vi phải cung cấp địa IP cho khách hàng truy cập, nhà cung cấp dịch vụ Internet ISP cần địa IP cho modem Nếu bạn làm việc hệ điều hành windows, bạn xem nhiều thơng tin liên quan Internet ghi vào cấu hình máy tính bạn, bao gồm địa IP tại, tên máy cách sử dụng lệnh WINIPCFG.EXE (IPCONFIG.EXE Windows 2000/XP) Trên máy Unix,để hiển thị địa IP, tên máy tính, bạn gõ dòng lệnh nslookup dấu nhắc Khi máy tính kết nối Internet, thơng số địa IP quan trọng giúp bạn kết nối tới máy chủ Ví dụ, trình duyệt web, bạn gõ địa kết nối http://209.116.69.66, lúc này, bạn kết nối kết máy chủ có địa IP 209.116.69.66 máy chủ có dịch vụ Web server cho website HowStuffWorks Các máy chủ tên miền (Name servers) Thông thường, người dùng Internet nhớ hết số địa IP, lý địa IP thay đổi Vì vậy, tất máy chủ Internet phải có tên cho dễ đọc, thường gọi “tên miền” – Domain names Ví dụ, tên miền www.howstuffworks.com tên cố định, dễ đọc so với việc phải nhớ địa IP 209.116.69.66 Tên miền www.howstuffworks.com gồm có phần: Khoa ATTT – Học viện KT Mật Mã Tên máy ("www") Tên miền ("howstuffworks") Tên miền cấp ("com") Tìm hiểu Modsecurity Tên miền quản lý công ty, tên VeriSign VeriSign tạo tên miền “cấp một” đảm bảo tất tên miền khác tên miền cấp VeriSign trì thơng tin liên quan đến địa tên miền sở liệu “whois” Tên máy tạo công ty cung cấp dịch vụ lưu trữ tên miền “www” tên máy phổ biến, nhiều nơi thay tên khác, ví dụ tên máy thể khu vực địa lý, ví dụ “encarta.msn.com”, tên miền Microsoft's Encarta encyclopedia, tên máy "encarta" thay cho www Tập hợp máy chủ tên miền (domain name servers - DNS) ánh xạ tên miền dễ đọc tới địa IP tương ứng Những máy chủ lưu trữ sở liệu tên miền ánh xạ đến địa IP, chúng bố trí nhiều nơi mạng Internet Các công ty, nhà cung cấp dịch vụ Internet trường đại học trì máy chủ tên miền cỡ nhỏ để ánh xạ tên máy tới địa IP tương ứng Tại VeriSign, có máy chủ tên miền trung tâm sử dụng liệu cung cấp VeriSign để ánh xạ tên miền đến địa IP Nếu bạn gõ địa http://computer.howstuffworks.com/web-server.htm vào trình duyệt web, trình duyệt tách tên miền www.howstuffworks.com gửi tới máy chủ tên miền, sau máy chủ tên miền gửi ngược lại địa IP với tên miền www.howstuffworks.com Trên máy chủ UNIX, bạn biết thơng tin tương tự cách sử dụng lệnh nslookup đơn giản cần gõ vào tên Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity www.howstuffworks.com dịng lệnh, câu lệnh tìm kiếm tên máy chủ chuyển địa IP tương ứng cho bạn Như vậy, Internet tạo thành hàng triệu máy tính, máy có địa IP Trong số đó, nhiều máy tính máy chủ cung cấp dịch vụ cho máy khác Internet, ví dụ máy chủ e-mail, máy chủ web, máy chủ FTP, máy chủ Gopher, máy chủ Telnet… Cổng (Ports) Bất kỳ máy chủ cung cấp dịch vụ Internet, sử dụng cổng đánh số Ví dụ, máy chủ chạy dịch vụ web dịch vụ FTP, dịch vụ WEB thường dùng cổng 80, dịch vụ FTP dùng cổng 21 Các máy khách kết nối tới dịch vụ, thường rõ địa IP kết nối qua cổng cụ thể Trên Internet, dịch vụ có sẵn cổng tương ứng danh sách dịch cụ cổng tương ứng: Echo : daytime : 13 qotd : 17 (Quote of the Day) ftp : 21 telnet : 23 smtp : 25 (Simple Mail Transfer, meaning e-mail) time : 37 nameserver : 42 nicname : 43 (Who Is) gopher : 70 finger : 79 www : 80 10 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity thể dạng thị (directives) đặt trực tiếp file cấu hình Apache (thơng thường httpd.conf) Ngồi đặt cấu hình vào file riêng, chẳng hạn modsecurity.conf thư mục conf.d sau cần thêm vào httpd.conf Include conf.d/modsecurity.conf (mặc định httpd.conf có dịng include conf.d/*.conf với dịng thực tất file có phần mở rộng conf) Turning Rule on and of Theo mặc định rule engine bị disable Để kích hoạt modsecurity ta cần thêm thị sau vào file cấu hình SecRuleEngine On Directive dùng để điều khiển rule engine, sử dụng tuỳ chọn On, Off DynamicOnly Off : Vơ hiệu hố modsecurity DetectionOnly : Khi phù hợp luật khơng thực action (nó có ích trường hợp muốn test luật mà khơng muốn block request có vấn đề với luật) On : Các rules modsecurity áp dụng cho tất nội dung SecDefaultAction Dùng để tạo action mặc định Khi tạo luật mà không rõ hành động cho luật thực hành động mặc định Ví dụ: SecDefaultAction "phase:2,deny,log,status:403" IV Rules Xây dựng rules nào? 27 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity HTTP request GET /documentation/index.html HTTP/1.1 Host: www.modsecurity.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) ecko/20060124 Firefox/1.5.0.1 Accept: text/xml,application/xml,application/xhtml+xml, text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.modsecurity.org/index.php Cookie: utmz=129890064.1139909500.1.1.utmccn=(direct)| utmcsr=(direct)|utmcmd=(none); utma=129890064.347942152.1139909500 1140275483.1140425527.13; utmb=129890064; utmc=129890064 Xem xét request thấy HTTP Header sau : GET – Đây request method Host User-Agent Accept Accept-Language Accept-Encoding Accept-Encoding 28 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Keep-Alive Connection Referer Modsecurity sử dụng thông tin rules để cản lọc requests Và khơng header, modsecurity xem xét POST payload nhắc tới trên, Chẳng hạn ta có cấm request có Referer www.abc.com ta có rule sau: SecRule HTTP_Referer “www\.abc\.com” Khơng cho phép User-Agent có từ HotBar: SecRule HTTP_User-Agent “HotBar” Cấu trúc rules SecRule VARIABLES OPERATOR [ACTIONS] 2.1 Variables SecRule ARGS dirty Có thể dùng hay nhiều variables SecRule ARGS|REQUEST_HEADERS:User-Agent dirty REMOTE_ADDR : Địa IP client REMOTE_HOST : hostname client (nếu tồn tại) REMOTE_USER : Authenticated username (nếu tồn tại) REMOTE_IDENT : Remote Username (lấy từ inetd, dùng) REQUEST_METHOD : Request Method (GET, HEAD, POST ) SCRIPT_FILENAME : Đường dẫn đầy đủ script thực thi PATH_INFO : Phần mở rộng URI phía sau tên script, ví dụ: /archive.php/5 PATH_INFO /5 QUERY_STRING : URI phía sau dấu ? Ví dụ /index.php?i=1 QUERY_STRING i=1 29 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity AUTH_TYPE : Basic Digest Authentication DOCUMENT_ROOT : đường dẫn đến documentroot SERVER_ADMIN : email Server Administrator SERVER_NAME : hostname Server SERVER_ADDR : Địa IP Server SERVER_PORT : Server port SERVER_PROTOCOL : protocol, (ví dụ HTTP/1.1) SERVER_SOFTWARE : Apache version TIME_YEAR : Năm (2006) TIME_MON : Tháng (2) TIME_DAY : Ngày TIME_HOUR : Giờ TIME_MIN : Phút TIME_SEC : Giây TIME_WDAY : Thứ tự ngày tuần (ví dụ - Thursday) TIME : Thời điểm viết theo cấu trúc : YmdHMS ví dụ: 20060220144530 : 20/02/2006 14h 45' 30'' API_VERSION THE_REQUEST : dòng request vd: GET / HTTP/1.1 REQUEST_URI : Request URI REQUEST_FILENAME : Tên file yêu cầu đến IS_SUBREQ Một vài variables đặc biệt : POST_PAYLOAD – POST payload (nội dung POST hay POST body) ARGS - filter arguments,giống QUERY_STRING|POST_PAYLOAD ARGS_NAMES – variable/parameter names only 30 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity ARGS_VALUES – variable/parameter values only COOKIES_NAMES - cookie names only COOKIES_VALUES - cookie values only SCRIPT_UID SCRIPT_GID SCRIPT_USERNAME SCRIPT_GROUPNAME SCRIPT_MODE ARGS_COUNT COOKIES_COUNT HEADERS HEADERS_COUNT HEADERS_NAMES HEADERS_VALUES FILES_COUNTHTTP_header – search request header "header" ENV_variable – search environment variable variable ARG_variable – search request variable/parameter variable COOKIE_name - search cookie with name name FILE_NAME_variable - search the filename of the file uploaded under the name variable FILE_SIZE_variable - search the size of the file uploaded under the name variable FILES_NAMES FILES_SIZES Thậm chí cịn có vài Variables đặc biệt : HTTP_header – search request header "header" 31 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity ENV_variable – search environment variable variable ARG_variable – search request variable/parameter variable COOKIE_name - search cookie with name name FILE_NAME_variable - search the filename of the file uploaded under the name variable FILE_SIZE_variable - search the size of the file uploaded under the name variable 2.2 Collections Một variables bao gồm hay nhiều phần liệu Khi variable có nhiều giá trị ta gọi collection Ví dụ: với variable ARGS ta có thơng số p, q SecRule ARGS:p dirty SecRule ARGS:q dirty 2.3 Operators Sử dụng @ để operation SecRule ARGS "@rx dirty" Sử dụng !@ để operation negation SecRule &ARGS "!@rx ^0$" Ở đề cập đến operation rx (regular expression) RX quy định thể [Jj]oy : thể chuỗi có chứa Joy joy [0-9] : số từ tới [a-zA-Z] : chữ từ a đến z chũ thường lẫn in hoa ^ : bắt đầu chuỗi $ : kết thúc chuỗi ^abc$ : chuỗi bao gồm từ abc 32 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity :mọi kĩ tự p.t : ví dụ pat,pet, pzt… 2.4 Actions Khi request vi phạm rule mod_security thực thi hành động (action) Khi action không rõ rule rule sử dụng default action Có loại actions : Primary Actions Primary actions định cho phép request tiếp tục hay không Mỗi rule có primary action Có primary actions : deny : Request bị ngắt, mod_security trả HTTP status code 500 status code bạn thiết lập thị status: pass : Cho phép request tiếp tục xử lý rules Allow: Cho phép truy cập bỏ qua phases khác (trừ phases logging) Nếu muốn cho qua phase cần rõ allow:phase Khi kiểm tra luật phases sau Chỉ cho phép truy cập tới request phases: allow:request, cho qua phase 1,2 kiểm tra phase trở redirect : Redirect request đến url Secondary Actions Secondary actions bổ sung cho Primary actions, rule có nhiều Secondary actions status : n Request vi phạm rule mod_security trả HTTP status code n thay status code 500 mặc định exec : thực thi lệnh request vi phạm log : ghi log request vi phạm rule 33 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity nolog : không ghi log pause : n mod_security đợi thời gian n ms trả kết Flow Actions chain: kết nối hay nhiều rules lại với skipnext:n mod_security bỏ qua n rules theo sau Default Action Khi rule khơng rõ action rule dùng default action thiết lập SecDefaultAction Ví dụ : SecDefaultAction "phase:2,deny,log,status:403" V Logging Debug Log Sử dụng SecDebugLog directive lựa chọn file để ghi lại thông tin debug SecDebugLog logs/modsec-debug.log Bạn thay đổi mức độ chi tiết thông tin log thông qua directive : SecDebugLogLevel Giá trị log thay đổi từ 0-9 : - no logging - errors (intercepted requests) only - warnings - notices - details of how transactions are handled 34 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity - as above, but including information about each piece of information handled - log everything, including very detailed debugging information Audit logging Apache log thơng tin khơng cho phép lần ngược bước kẻ công Mod_security hỗ trợ audit loging với đầy đủ thơng tin từ lần ngược lại q trình kẻ công, chỉnh sửa rules cho hợp lý tránh bị “false positive” Có directives: SecAuditEngine On : bật audit log lên SecAuditLog logs/audit.log : file lưu trữ log Ngồi cịn có SecAuditLog2 logs/audit2.log :chỉ file lưu trữ log phụ Đây ví dụ audit log : ==378bfd37============================== Request: conmaz.com 203.160.1.170 - - [20/Feb/2006:02:21:52 0600] "GET /favicon.ico HTTP/1.1" 403 285 "-" "-" - "-" -GET /favicon.ico HTTP/1.1 Cookie: rocker=r0xker Host: conmaz.com Connection: Keep-Alive mod_security-message: Access denied with code 403 Pattern match "^$" at HEADER("User-Agent") mod_security-action: 403 HTTP/1.1 403 Forbidden 35 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Content-Length: 285 Keep-Alive: timeout=5, max=29 Connection: Keep-Alive Content-Type: text/html; charset=iso-8859-1 378bfd37— Tuỳ biến thông tin log SecAuditEngine chấp nhận giá trị sau : On – log tất requests Off – không log RelevantOnly – log sinh lọc rules Ngồi mod_security cịn hỗ trợ log dựa vào status code , ví dụ bạn cần log lại requests gây lỗi 5xx : SecAuditLogRelevantStatus ^5 VI Xây dựng sách Modsecurity chống lại s ố cơng SQL Injection Các từ khóa thường sử dụng công SQL Injection regular expressions tương ứng UNION SELECT union\s+select UNION ALL SELECT union\s+all\s+select INTO OUTFILE into\s+outfile DROP TABLE drop\s+table ALTER TABLE alter\s+table LOAD_FILE load_file SELECT * select\s+* 36 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity \s : định nghĩa PCRE regular expression cho phép phát khoảng trắng mã thay (%20) Để chống lại công SQL Injection, ta dựa vào đặc điểm từ đưa rule sau: SecRule ARGS "union\s+select" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "union\s+all\s+select" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "into\s+outfile" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "drop\s+table" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "alter\s+table" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "load_file" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "select\s+*" "t:lowercase,deny,msg:'SQL Injection'" XSS Attack SecRule ARGS "alert\s+*\(" "t:lowercase,deny,msg:'XSS'" SecRule ARGS "&\{.+\}" "t:lowercase,deny,msg:'XSS'" SecRule ARGS "" "t:lowercase,deny,msg:'XSS'" SecRule ARGS "javascript:" "t:lowercase,deny,msg:'XSS'" SecRule ARGS "vbscript:" "t:lowercase,deny,msg:'XSS'" Website defacement SecRule REMOTE_ADDR ".*" "phase:4,deny,chain,t:md5,t:hexEncode, exec:/usr/bin/emailadmin.sh" SecRule RESPONSE_BODY "!@contains %{MATCHED_VAR}" Brute force attacks # # Block further login attempts after failed attempts # 37 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity # Initalize IP collection with user's IP address SecAction "initcol:ip=%{REMOTE_ADDR},pass,nolog" # Detect failed login attempts SecRule RESPONSE_BODY "Username does not exist" "phase:4,pass,setvar:ip.failed_logins=+1,expirevar:ip.failed_logins=60" # Block subsequent login attempts SecRule IP:FAILED_LOGINS "@gt 3" deny # # Throttle login attempts after failed attempts # SecAction "initcol:ip=%{REMOTE_ADDR},pass,nolog" SecRule RESPONSE_BODY "Username does not exist" phase:4,pass,setvar:ip.failed_logins=+1,expirevar:ip.failed_logins=10 " SecRule IP:FAILED_LOGINS "@gt 3" "phase:4,allow,pause:3000" Directory indexing # # Prevent directory listings from accidentally being returned # SecRule REQUEST_URI "/$" "phase:4,deny,chain,log,msg:'Directory index returned'" SecRule RESPONSE_BODY "Index of /" 38 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Detecting the real IP address of an attacker SecRule ARGS "/etc/passwd" "pass,redirect:/log_ip.php" Một số công khác Xflash ddos SecRule REQUEST_HEADERS_NAMES "x-flash-version" deny Command Excution and file disclosure SecRule ARGS_VALUES "^(uname|id|ls|cat|rm|kill|mail)" SecRule ARGS “(/home|/var|/boot|/etc|/bin|/usr|/tmp)” HTML Tags SecRule ARGS "

Ngày đăng: 16/12/2022, 14:54

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w