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 3 0
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

Đ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

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 .3 I HTTP Web Server .3 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) 11 II Các phương pháp công webiste 13 Tấn công từ chối dịch vụ 13 Tấn công Phishing: .16 Tấn công CROSS-SITE SCRIPTING 17 Tấn công SQL-injection 18 Tấn công Session Hijacking .19 Tấn công Social Engineering 20 Tấn công dựa lỗ hổng website .21 Chương 2: Modsecurity .22 I Các khả mod_security 22 II Cài đặt 24 Download mod_security: 24 Trước cài đặt .24 Giải nén .25 Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Biên dịch 25 Tích hợp modsecurity vào apache 25 Khởi động lại apache 25 III Cấu hình 25 File cấu hình 25 Turning Rule on and off .25 SecDefaultAction .26 IV Rules 26 Xây dựng rules nào? 26 Cấu trúc rules 27 2.1 Variables 28 2.2 Collections .30 2.3 Operators 30 2.4 Actions 31 V Logging 32 Debug Log 32 Audit logging .33 Tuỳ biến thông tin log .34 VI Xây dựng sách Modsecurity chống lại số cơng 34 SQL Injection .34 XSS Attack 35 Website defacement 35 Brute force attacks 36 Directory indexing .36 Detecting the real IP address of an attacker .37 Một số công khác 37 VII Tài liệu tham khảo 39 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 yê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 điều lệnh đến trước Đây hạn chế, khiếm khuyết HTTP Nó ngun 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ã Trình duyệt web tách địa website làm phần:   Tìm hiểu Modsecurity 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ó thể  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  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ể hiện  dạng số thập phân gồm có “octet”,  ví dụ 216.27.61.137. 4 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, thì  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ìm hiểu Modsecurity Tên máy ("www") Tên miền ("howstuffworks") Tên miền cấp ("com") 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 off 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,utf-8;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 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: 22/07/2022, 15:26

Tài liệu cùng người dùng

Tài liệu liên quan