Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Phát hiện truy nhập bất thường vào máy chủ web...

Tài liệu Phát hiện truy nhập bất thường vào máy chủ web

.PDF
82
179
149

Mô tả:

i HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- Nguyễn Quốc Trung PHÁT HIỆN TRUY NHẬP BẤT THƯỜNG VÀO MÁY CHỦ WEB Chuyên ngành: Khoa học máy tính Mã số: 8.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TSKH HOÀNG ĐĂNG HẢI HÀ NỘI - 2018 ii LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của tôi dưới sự hướng dẫn của PGS.TSKH. Hoàng Đăng Hải. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Học viên Nguyễn Quốc Trung iii LỜI CẢM ƠN Với tất cả lòng kính trọng và biết ơn sâu sắc, em xin gửi lời cảm ơn tới Thầy giáo PGS.TSKH. Hoàng Đăng Hải, người đã tận tình dạy dỗ và hướng dẫn em trong quá trình hoàn thành luận văn. Em cũng xin gửi lời cảm ơn chân thành tới các Thầy giáo, Cô giáo công tác tại Học viện Công nghệ bưu chính viễn thông, những người đã tận tình giảng dạy, truyền thụ cho em những kiến thức khoa học căn bản trong quá trình học tập tại trường. Cuối cùng, em xin gửi lời cảm ơn chân thành đến gia đình, bạn bè, các đồng nghiệp đã động viên, sát cánh cùng em trong quá trình học tập và thực hiện đề tài. Hà Nội, ngày 19 tháng 11 năm 2018 Học viên Nguyễn Quốc Trung iv MỤC LỤC LỜI CAM ĐOAN ....................................................................................................... i LỜI CẢM ƠN ........................................................................................................... iii MỤC LỤC ................................................................................................................. iv DANH MỤC CÁC TỪ VIẾT TẮT .......................................................................... vi DANH MỤC BẢNG ............................................................................................... viii DANH MỤC HÌNH .................................................................................................. ix MỞ ĐẦU .....................................................................................................................1 CHƯƠNG 1. MÁY CHỦ WEB VÀ VẤN ĐỀ AN TOÀN WEB ..............................3 1.1. Máy chủ Web và giao thức HTTP ........................................................................3 1.1.1. Giới thiệu máy chủ web ...................................................................................3 1.1.2. Các thành phần cơ bản của máy chủ web ........................................................4 1.1.3. Nguyên tắc hoạt động .......................................................................................5 1.1.4. Ghi nhật ký (Web Log) ....................................................................................7 1.1.5. Giao thức HTTP ...............................................................................................9 1.1.6. Một số nền tảng Apache, IIS, Ngin ................................................................12 1.2. Các lỗ hổng bảo mật Web ..................................................................................14 1.2.1. Khái niệm lỗ hổng bảo mật .............................................................................14 1.2.2. Các loại lỗ hổng phổ biến của Web ................................................................15 1.2.3. Phương pháp kiểm thử lỗ hổng .......................................................................17 1.3. Tấn công vào máy chủ Web ...............................................................................19 1.3.1. Giới thiệu về tấn công vào máy chủ Web ......................................................19 1.3.2. Một số loại tấn công điển hình vào máy chủ Web .........................................20 1.3.3. Thống kê tấn công máy chủ Web điển hình hiện nay ....................................21 1.3.4. Một số biện pháp điển hình chống tấn công vào máy chủ Web ....................23 1.4. Phát hiện truy nhập bất thường vào máy chủ Web.............................................24 1.5. Kết luận chương .................................................................................................25 CHƯƠNG 2. PHÁT HIỆN TRUY NHẬP BẤT THƯỜNG VÀO MÁY CHỦ WEB ........................................................................................................................26 v 2.1. Phạm vi phân tích, phát hiện truy nhập bất thường vào máy chủ Web ..............26 2.2. Kiến trúc hệ thống phát hiện truy nhập bất thường ............................................26 2.2.1. Tham khảo một số mô hình kiến trúc hệ thống ..............................................26 2.2.2. Kiến trúc hệ thống phát hiện truy nhập bất thường........................................30 2.3. Cấu trúc Weblog .................................................................................................30 2.4. Nguyên tắc hoạt động của khối xử lý Parse .......................................................32 2.5. Thu thập thông tin Weblog cho phát hiện bất thường ........................................35 2.5.1. Thu thập thông tin từ logfile hệ thống ...........................................................35 2.5.2.Thu thập thông tin từ công cụ ..........................................................................36 2.6. Phương pháp trích chọn đặc trưng dữ liệu .........................................................38 2.7. Cách thức phân tích Weblog phát hiện bất thường ............................................45 2.8. Phương pháp phân tích, đánh giá kết quả ...........................................................47 2.9. Kết luận chương .................................................................................................52 CHƯƠNG 3. THỬ NGHIỆM ...................................................................................53 3.1. Mô hình hệ thống máy chủ Web tại Công ty VCCorp .......................................53 3.2. Đặc tả dữ liệu máy chủ ghi nhận được ...............................................................55 3.3. Thử nghiệm phân tích, phát hiện bất thường với công cụ Weblog Expert ...............60 3.4. Một số kết quả thử nghiệm với Weblog Expert .................................................61 3.5. Kết luận chương .................................................................................................69 KẾT LUẬN ...............................................................................................................70 TÀI LIỆU THAM KHẢO vi DANH MỤC CÁC TỪ VIẾT TẮT TT Từ viết tắt 1 CPU 2 Nghĩa tiếng anh Nghĩa tiếng việt Central Processing Unit Bộ xử lý trung tâm CSDL Database Cơ sở dữ liệu 3 DDR Double Data Rate Tốc độ dữ liệu đôi 4 DNS Domain Name System 5 DoS Denial of Services 6 ECC 7 HDD 8 HTML 9 HTTP Error Checking and Correction Hard Disk Drive HyperText Markup Language HyperText Transfer Protocol hệ thống cho phép thiết lập tương ứng giữa địa chỉ IP và tên miền Từ chối dịch vụ Kiểm tra và sửa lỗi Ổ cứng Ngôn ngữ Đánh dấu Siêu văn bản Giao thức truyền tải siêu văn bản Giao thức kết hợp giữa HTTP và 10 HTTPS Hypertext Transfer giao thức bảo mật SSL hay Protocol Secure TLS cho phép trao đổi thông tin một cách bảo mật trên Internet 11 IIS 12 IMAP 13 IPSec 14 JS 15 LVF Internet Information Services Internet Message Access Protocol Dịch vụ thông tin Internet Giao thức truy cập thông báo Internet Protocol Security Bảo mật Giao thức Internet JavaScript Ngôn ngữ lập trình thông dịch Las Vegas algorithm for Thuật toán Las Vegas cho lựa chọn Filter feature selection tính năng Lọc vii 16 MDAC 17 NTFS 18 ORM Microsoft Data Access Thành phần truy cập dữ liệu của Components Microsoft New Technology File System Object-Relational Mapping Hệ thống tập tin công nghệ mới Bản đồ quan hệ giữa các đối tượng Là một giao thức tầng ứng dụng 19 POP3 Post Office Protocol 3 dùng để lấy thư điện tử từ server mail 20 RAID Redundant Arrays of Inexpensive Disks Là hình thức ghép nhiều ổ đĩa cứng vật lý thành một hệ thống ổ đĩa cứng. 21 RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên 22 SDR Single Data Rate Tốc độ dữ liệu đơn 23 SMTP Simple Mail Transfer Giao thức truyền tải thư tín đơn Protocol giản 24 SSL Secure Sockets Layer Chuẩn để thiết lập bảo mật Vietnam Computer 25 VNCERT Emergency Response Team 26 WWW World Wide Web Trung tâm ứng cứu khẩn cấp máy tính Việt Nam Mạng lưới toàn cầu viii DANH MỤC BẢNG Bảng 1.1. Ưu và nhược điểm của phương pháp kiểm thử hộp đen...........................17 Bảng 1.2. Ưu và nhược điểm của phương pháp kiểm thử hộp trắng ........................18 Bảng 1.3. Ưu và nhược điểm của phương pháp kiểm thử hộp xám .........................19 Bảng 2.1. Giải thích các trường Weblog ...................................................................31 Bảng 2.2. Các trường bổ sung trong một dòng định dạng log được kết hợp ............32 Bảng 3.1. Thống kê hoạt động chung của việc sử dụng trang web ..........................62 Bảng 3.2. Thống kê hoạt động hàng ngày của việc sử dụng trang web ....................63 Bảng 3.3. Thống kê hoạt động theo giờ trong ngày ..................................................64 Bảng 3.4. Các trang phổ biến nhất ............................................................................65 Bảng 3.5. Bảng thống kê lượng khách truy cập theo địa chỉ IP ................................66 ix DANH MỤC HÌNH Hình 1.1. Kiến trúc hệ thống máy chủ web ................................................................5 Hình 1.2. Các bước cơ bản trong tiến trình truyền tải web .........................................6 Hình 1.3. Phương thức GET trong HTTP .................................................................11 Hình 1.4. Phản hồi một request từ Web Client .........................................................11 Hình 1.5. Các lỗ hổng và mối đe dọa với máy chủ web ...........................................16 Hình 1.6. Các lỗ hổng bảo mật có nguy cơ tấn công cao nhất ..................................17 Hình 1.7. Mô hình tấn công mạng theo phương pháp truy cập trực tiếp ..................20 Hình 1.8. Các biện pháp bảo vệ theo chiều sâu ........................................................24 Hình 2.1. Mô hình kiến trúc hệ thống IBM QRadar SIEM ......................................27 Hình 2.2. Thống kê của Splunk .................................................................................28 Hình 2.3. Thống kê thu thập Web log từ các máy chủ cần giám sát của VNCS ......29 Hình 2.4. Hệ thống phân tích, phát hiện truy nhập bất thường .................................30 Hình 2.5. Cấu trúc của bộ Log Parser do Microsoft cung cấp ..................................33 Hình 2.6. Log Parser 2.2 của Microsoft Windows....................................................34 Hình 2.7. Định dạng File log dưới dạng text ............................................................35 Hình 2.8. Định dạng File log dưới dạng Excel .........................................................35 Hình 2.9. Access.log từ máy Metasploitable 2 .........................................................37 Hình 2.10. Kết quả sau khi ứng dụng Regex ............................................................38 Hình 2.11. Các thành phần chính của việc lựa chọn thuộc tính ................................40 Hình 2.12. Mô Hình Wrappe.....................................................................................41 Hình 2.13. Mô hình Filter .........................................................................................42 Hình 2.14. Tìm kiếm theo phương pháp Focus ........................................................43 Hình 2.15. Tìm kiếm theo phương pháp AAB ..........................................................43 Hình 2.16. Tìm kiếm theo kinh nghiệm Wrap1 ........................................................44 Hình 2.17. Tìm kiếm theo phương pháp LVF .........................................................45 Hình 2.18. Trình duyệt cảnh báo dấu hiệu bất thường..............................................47 Hình 2.19. Các IP có lượng truy cập lớn có dấu hiệu quậy phá ...............................48 Hình 3.1. Mô hình Mastrer – Slave Database Replication........................................53 x Hình 3.2. Mô hình hệ thống máy chủ web của VCCorp ...........................................54 Hình 3.3. File dự đoán mật khẩu được tạo ra trên destop của kali ...........................55 Hình 3.4. Log của dịch vụ FTP .................................................................................56 Hình 3.5. Sử dụng công cụ sqlmap tấn công sql injection ........................................56 Hình 3.6. Cảnh báo tấn công vào dịch vụ FTP .........................................................56 Hình 3.7. Thông tin chung về cảnh báo ....................................................................57 Hình 3.8. Danh sách sự kiện ....................................................................................57 Hình 3.9. Thông tin chi tiết từng cảnh báo ...............................................................58 Hình 3.10. Lỗi HTTP 500 .........................................................................................58 Hình 3.11. Chi tiết lỗi HTTP 500 ..............................................................................59 Hình 3.12. Payload của request vào web server .......................................................59 Hình 3.13. Một số thông tin khác như IP nguồn, IP đích, thời gian, cổng ...............59 Hình 3.14. File log trên web server ...........................................................................60 Hình 3.15. Giao diện WebLog Expert ......................................................................61 Hình 3.16. Các truy cập vào Web theo ngày trong tuần ...........................................63 Hình 3.17. Các hành vi truy nhập thống kê theo giờ trong ngày ..............................63 Hình 3.18. Các truy cập vào Web theo từng ngày ....................................................64 Hình 3.19. Các trang phổ biến nhất ..........................................................................65 Hình 3.20. Công cụ tìm kiếm đã sử dụng .................................................................67 Hình 3.21. Các trình duyệt sử dụng nhiều nhất.........................................................67 Hình 3.22. Các loại lỗi xảy ra ...................................................................................68 Hình 3.23. File log phát hiện truy nhập bất thường ..................................................68 1 MỞ ĐẦU Trong bối cảnh khoa học công nghệ ngày càng phát triển, phòng chống tội phạm khủng bố mạng, chiến tranh mạng và ứng phó với những nguy cơ mới từ không gian mạng là vấn đề toàn cầu được nhiều quốc gia xác định là một trong những nhiệm vụ trọng tâm trong bảo vệ, phát triển đất nước. Việt Nam không phải ngoại lệ [1]. Theo thống kê từ Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) có hơn 134.000 sự cố an ninh mạng đã xảy ra trong năm 2016. Máy chủ Web là một thành phần vô cùng nhạy cảm, là mục tiêu của một lượng lớn các cuộc tấn công. Phân tích logfile, phát hiện các truy nhập bất thường vào máy chủ Web là một nhu cầu thực tế đặt ra, giúp phán đoán nguy cơ xảy ra các cuộc tấn công vào máy chủ Web [4]. Trên cơ sở yêu cầu thực tiễn đặt ra, tôi đã chọn đề tài: “Phát hiện truy nhập bất thường vào máy chủ Web”. Đây là một đề tài có ý nghĩa đối với lĩnh vực an toàn thông tin và an ninh mạng nói chung và bảo đảm an toàn cho máy chủ Web nói riêng. Hiện tại, những cuộc tấn công vào các hệ thống mạng nói chung và hệ thống máy chủ Web nói riêng đang diễn ra hàng ngày, hàng giờ, thậm chí hàng phút trên toàn thế giới. Chính vì vậy, đây là một vấn đề có tính cấp thiết, cần được nghiên cứu. Phát hiện truy cập bất thường là bước quan trọng để phát hiện ra tấn công vào máy chủ Web. Đây là bước cơ sở để thực hiện các bước tiếp theo trong việc đảm bảo an toàn dịch vụ Web, phát hiện các hành động xâm nhập trái phép, các tấn công vào máy chủ Web. Nguyên lý chung để phát hiện bất thường là xây dựng một tập dấu hiệu bình thường (trong điều kiện hoạt động bình thường, không có tấn công) của hệ thống, tiếp đó thu thập các hành vi truy nhập vào máy chủ, so sánh với tập dấu hiệu bình thường đã lưu sẵn. Nếu có sự khác biệt có nghĩa là có hành vi truy nhập bất thường. Đối với máy chủ Web, khi thiết lập hệ thống có thể tạo lập tập dấu hiệu bình thường và lưu trữ trong máy (có thể trên một máy tính ở bên ngoài máy chủ). Mọi hành vi truy nhập vào máy chủ Web đều được ghi vào Logfile ví dụ Weblog. Thực 2 hiện thu logfile và phân tích sẽ có thể thu được và tách ra những thông tin cần thiết để phát hiện truy nhập bất thường. Một khả năng khác để thu thập thông tin về các hành vi là sử dụng công cụ thu thập thông tin về máy chủ Web, ví dụ công cụ WLELite. Công cụ này cho phép kết xuất nhiều thông tin liên quan đến hoạt động của Web. Ví dụ, có thể thống kê được các sự kiện vi phạm chính sách bảo mật, liệt kê được các địa chỉ IP truy nhập vào máy chủ Web, tìm kiếm các Hot-IP, tần suất truy nhập [15]. Kết quả thực hiện đề tài có ý nghĩa thiết thực khi được triển khai ứng dụng tại một nhà cung cấp dịch vụ Hosting là VCCorp, là nơi tôi đang công tác. Kết quả đề tài có thể được triển khai ứng dụng cho các đơn vị cung cấp dịch vụ máy chủ Web, các trung tâm dữ liệu. Bài luận văn gồm 3 chương chính với các nội dung sau: Chương 1: Máy chủ web và vấn đề an toàn web Chương 2: Phát hiện truy nhập bất thường vào máy chủ web Chương 3: Thử nghiệm 3 CHƯƠNG 1 MÁY CHỦ WEB VÀ VẤN ĐỀ AN TOÀN WEB 1.1. Máy chủ Web và giao thức HTTP 1.1.1. Giới thiệu máy chủ web Máy chủ web (Web server) được dùng để chỉ phần mềm máy chủ, hoặc phần cứng dành riêng để chạy các phần mềm trên máy chủ, có thể cung cấp các dịch vụ World Wide Web. Một máy chủ web xử lí các yêu cầu (request) từ các client (trong mô hình server - client) thông qua giao thức HTTP và một số giao thức liên quan khác [7]. Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx…; Apache dành cho *.php…; Sun Java System Web Server của SUN dành cho *p… Máy chủ Web thường có dung lượng lớn, tốc độ cao, lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website cùng với những thông tin liên quan khác, ví dụ như các mã Script, các chương trình dịch vụ và các file Multimedia, v.v. Máy chủ Web có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP (Hypertext Transfer Protocol) – giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác. Tất cả các máy chủ Web đều có một địa chỉ IP (IP Address) hoặc một tên miền (Domain Name). Ví dụ khi đưa http://www.vdo.vn/ vào dòng địa chỉ trên trình duyệt nghĩa là gửi một yêu cầu đến một máy chủ Web có Domain Name là www.vdo.vn. Máy chủ Web này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt. Bất kỳ một máy tính – máy chủ nào cũng có thể trở thành một máy chủ Web nếu cài đặt lên nó một chương trình phần mềm Web Server và có kết nối vào Internet. Khi một máy tính của người dùng kết nối đến một Web Server và gửi yêu cầu truy cập các thông tin trên một trang Web nào đó, Web Server sẽ nhận yêu cầu và gửi lại trình duyệt của người dùng những thông tin mong muốn. 4 Giống như những phần mềm khác trên máy tính, phần mềm máy chủ Web cũng chỉ là một ứng dụng phần mềm. Nó được cài đặt, và chạy trên máy tính – máy chủ dùng làm Web Server. Nhờ có chương trình này, người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet). Phần mềm máy chủ Web có thể được tích hợp với cơ sở dữ liệu (CSDL), hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng đến người dùng. Máy chủ Web thường hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho việc cung cấp thông tin trực tuyến. Vị trí đặt máy chủ Web đóng vai trò quan trọng trong chất lượng và tốc độ lưu chuyển thông tin từ máy chủ Web đến máy tính truy cập [8]. Các loại máy chủ Web phổ biến bao gồm: - Apache: Đây là máy chủ Web thường được cài đặt trên Linux. Hầu hết các trang web PHP được lưu trữ trên máy chủ Apache. - Internet Information Services (IIS): là máy chủ Web được phát triển bởi Microsoft. Hầu hết các trang web asp và aspx được lưu trữ trên máy chủ IIS. - Apache Tomcat: Hầu hết các trang web Java (jsp) được lưu trữ trên máy chủ này. - Các máy chủ web khác: bao gồm Web Server của Novell và máy chủ Lotus Domino của IBM, Nginx, v.v.[8] 1.1.2. Các thành phần cơ bản của máy chủ web Như đã nêu ở trên, một máy chủ Web bao gồm một phần mềm Web server cài đặt trên một máy tính hoặc máy chủ[14]. Máy tính hoặc máy chủ (server) là thiết bị phần cứng cần thiết để cài đặt phần mềm Web server. Tùy vào phạm vi ứng dụng, yêu cầu cung cấp dịch vụ, phần cứng máy chủ có thể có cấu hình từ đơn giản đến rất mạnh. Quan trọng đối với hiệu năng của máy chủ Web là tốc độ CPU, dung lượng đĩa cứng lưu trữ và tốc độ kết nối mạng. Ngoài ra để máy chủ Web hoạt động, còn cần thêm các thành phần quan trọng khác là máy chủ cơ sở dữ liệu (Database server) và máy chủ ứng dụng 5 (Application server). Trong một hệ máy chủ Web đơn gian, hai thành phần nêu trên có thể cùng được cài đặt trên một phần cứng máy tính/máy chủ. Trên hình 1.1 là kiến trúc đơn giản cho một hệ thống máy chủ Web. Web server bao gồm thành phần giao diện Web (Presentation layer hay Web interface), thành phần giao diện CSDL (Database interface). Máy chủ CSDL có thể đặt ngoài máy tính cài Web Server, được kết nối với nhau qua giao diện TCP/IP. Giao diện giữa máy chủ Web và trình duyệt của người dùng (Web Browser) được thực hiện qua kết nối HTTP hoặc HTTPS. Toàn bộ hoạt động của máy chủ Web được ghi vào nhật ký (Log file) phục vụ cho việc theo dõi, giám sát hoạt động và tìm lỗi). Máy trạm Bàn phím/Màn hình Trình duyệt web Người dùng Kết nối HTTP/ HTTPS Máy chủ web Lớp trình bày (Giao diện web) Máy chủ CSDL Cơ sở dữ liệu MySQL TCP / IP Giao diện cơ sở dữ liệu Tệp nhật kí Hình 1.1. Kiến trúc hệ thống máy chủ web 1.1.3. Nguyên tắc hoạt động Nguyên tắc hoạt động cơ bản của máy chủ Web được thể hiện trên hình 1.2. Người dùng gõ dòng địa chỉ máy chủ Web vào trình duyệt web và ấn Enter, trang web sẽ hiển thị trên màn hình máy tính người dùng. Để trang web có thể hiển thị được thì cơ chế hoạt động của máy chủ web được thể hiện qua các bước cơ bản trong tiến trình truyền tải trang web đến màn hình người dùng như sau. 6 Các tiến trình cơ bản Theo mô hình trên, trình duyệt web (bên trái) thực hiện một kết nối tới máy chủ web (bên phải), yêu cầu một trang web và nhận lại nó. Trình tự từng bước cơ bản xảy ra như sau. * Trình duyệt web tách địa chỉ website làm 3 phần: - Tên giao thức: “http” - Tên miền của máy chủ web: “http://maychuvietnam.com.vn” - Tên tệp HTML: “web-server.htm” * Trình duyệt gửi yêu cầu kết nối tới máy chủ Web (bản tin HTTP request). * Máy chủ Web trả lời bằng bản tin HTTP response. * Căn cứ thông tin trong bản tin yêu cầu, máy chủ Web liên hệ với máy chủ tên miền (DNS Server) để chuyển đổi tên miền “http://maychuvietnam.com.vn” ra địa chỉ IP tương ứng. Sau đó, trình duyệt sẽ gửi tiếp một kết nối tới máy chủ của website có địa chỉ IP này qua cổng 80. Dựa trên 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 HTML “web-server.htm”. Hình 1.2. Các bước cơ bản trong tiến trình truyền tải web Chú ý: Một cookies cũng sẽ được gửi kèm từ trình duyệt web đến máy chủ. Tiếp đến, máy chủ sẽ gửi một file văn bản có các thẻ HTML đến trình duyệt web của máy yêu cầu (một cookies khác cũng được gửi kèm theo từ máy chủ tới trình duyệt web, cookies này được ghi trên đầu trang của mỗi trang web). Trình duyệt web đọc các thẻ HTML để xác lập định dạng trang web và kết xuất nội dung trang ra màn hình yêu cầu. Trong giao thức HTTP nguyên bản, cần cung cấp đầy đủ đường dẫn của tên tệp. Ví dụ như “/” hoặc “/tên tệp.htm”. Sau đó, giao thức sẽ tự điều chỉnh để có thể 7 đưa ra một địa chỉ URL đầy đủ. Điều này cho phép các công ty kinh doanh dịch vụ lưu trữ có thể lưu trữ nhiều tên miền ảo (virtual domains). Có nghĩa nhiều tên miền cùng tồn tại trên một máy chủ và sử dụng cùng một địa chỉ IP duy nhất. Rất nhiều máy chủ web đưa thêm các chế độ bảo mật trong nhiều tiến trình xử lý. Máy chủ web hỗ trợ người quản lý trang web duy trì một danh sách tên và password cho phép những người được phép truy cập vào trang web. Với máy chủ web chuyên nghiệp, yêu cầu mức độ bảo mật lớn; chỉ cho kết nối đã được mã hóa giữa máy chủ và trình duyệt. Do đó những thông tin nhạy cảm như password… có thể được truyền tải tên Internet[14]. 1.1.4. Ghi nhật ký (Web Log) Web log file chính là các tệp nhật ký tự động tạo và duy trì bởi một máy chủ web. Mỗi lần truy cập vào trang Web, bao gồm mỗi lần xem một tài liệu HTML, hình ảnh hoặc các đối tượng của website đều được web server ghi nhận. Các máy chủ web như IIS, Apache hay Nginx đều có các web log file để ghi lại các nhật ký hoạt động của website[9]. Định dạng tệp nhật ký web thô chủ yếu là một dòng văn bản cho mỗi lần truy cập vào trang web. Điều này chứa thông tin về ai đã ghé thăm trang web, nơi họ đến và chính xác những gì họ đang làm trên trang web[2]. Với webserver có 2 dạng log file quan trọng: * Access_log: Access_log là nơi ghi lại tất cả những yêu cầu được xử lý bởi server. Vị trí và nội dung của access log được điều khiển bởi CustomLog directive. Có thể dùng LogFormat directive trong việc định dạng nội dung của tập tin access_log. LogFormat chỉ ra những thông tin server cần theo dõi để ghi lại trong access log. * Error_log: ErrorLog là nơi mà httpd sẽ gửi những thông tin nhận dạng và bất kỳ những lỗi nào gặp phải trong quá trình xử lý những yêu cầu. Tập tin này là nơi mà cần xem xét đầu tiên khi gặp phải những lỗi khởi động httpd hay những thao tác của server, vì nó lưu những thông tin chi tiết về những lỗi và cách sửa lỗi. Định dạng của tập tin error_log không bị bó buộc[9]. 8 * Định dạng các tệp log: - Đối với Access_log: Để thay đổi định dạng access log, có thể dùng directive log_format. Chỉ thị này mặc định nằm trong block http {…}. Để xem được log format ví dụ của Nginx, có thể vào chỉ dẫn thư mục /etc/nginx/nginx.conf (sử dụng hệ điều hành CentOS và Ubuntu)[14]. Mẫu log_format mặc định trong Nginx là access combined như sau: log_format combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"'; Chỉ thị log_format để định dạng access log cho Nginx, ý nghĩa các biến như sau:  $remote_addr địa chỉ IP truy cập web site của bạn.  $remote_user ghi lại tài khoản truy cập web nếu trang của bạn có xác thực người dùng, đa số là không dùng bạn có thể bỏ đi.  $time_local thời gian người dùng truy cập.  $request đoạn đầu của request.  $status trạng thái của response.  $body_bytes_sent kích thước body mà server response.  $http_referer URL được tham chiếu.  $http_user_agent thông tin trình duyệt, hệ điều hành mà người dùng truy cập. Dưới đây là ví dụ về một bản ghi log trong Access_log (sample log): 118.69.244.106 - - [08/Jun/2016:08:08:10 +0700] "GET /wpcontent/plugins/wp-tab-widget-pro/css/font-awesome.min.css HTTP/1.1" 200 7027 "https://www.thuysys.com/server-vps/backup-restore/huong-dan-backup-websitetren-linux-toan-tap.html" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36" - Đối với Error_log: Log này để ghi lại thông tin các lỗi cài đặt cấu hình hay đơn giản chỉ là những cảnh báo giữa Web Server và các dịch vụ của nó. Ví dụ một bản ghi trong file error_log trên máy chủ Web Apache như sau: [Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test 9 Cột đầu tiên chỉ ra ngày giờ entry này được tạo ra. Cột thứ 2 chỉ ra đây là entry lỗi. Cột thứ 3 cho biết địa chỉ IP của client tạo ra lỗi. Tiếp theo là message có nội dung chỉ ra rằng server được cấu hình để từ chối việc truy cập của client. Tiếp theo là đường dẫn của document mà client cần truy cập. Trong máy chủ Web Nginx, thực hiện ghi error_log bằng cách thêm chỉ thị error_log vào block http {…} như sau: server { error_log /var/log/nginx/error.log error; ...} Cú pháp chung của error log là: error_log log_file log_level Trong đó:  emerg log ở level này mang tính khẩn cấp, dạng như server sắp sập đến nơi rồi.  alert cảnh báo các vấn cần cần được xử lý ngay.  crit các vấn đề quan trong nhưng không nhất thiết phải xử lý ngay lập tức, để theo dõi thêm.  error ghi lại thông tin lỗi như đăng nhập hoặc cấu hình sai, mức độ thấp hơn crit.  warn ở mức độ cảnh báo không phải lỗi.  notice để thông báo cái gì đó.  info ghi thông tin hệ thống, không có gì cả.  debug ghi lại tất cả mọi thứ, dùng để dò lỗi. Ví dụ các trường trong một file log trên máy chủ IIS như sau: Date , Time , ClientIP , UserName , ServerIP , Method , UriStem , UriQuery , TimeTaken , HttpStatus , Win32Status , ServerPort , UserAgent , HttpSubStatus , and Referer 1.1.5. Giao thức HTTP HTTP (HyperText Transfer Protocol) là giao thức truyền tải siêu văn bản. Đây là một trong năm giao thức chuẩn của mạng Internet, được dùng để liên hệ thông tin giữa máy cung cấp dịch vụ Web (máy chủ Web) và máy sử dụng dịch vụ (Web client 10 hay Web browser) trong mô hình Client/Server dùng cho World Wide WebWWW. HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet). HTTP này nằm trong tầng Application Layer, được sử dụng để truyền nội dung trang Web từ Web Server đến trình duyệt Web ở Client[21]. Cơ chế hoạt động chính của HTTP là Request-Response: Web Client sẽ gửi Request đến Web Server, Web Server xử lý và trả về Response cho Web Client. Phương thức truy vấn (Request Method) phổ dụng của HTTP gồm: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH. Ngoài Method, URI (Địa chỉ định danh của tài nguyên), HTTP Version thì trong Request Header có một số trường thông dụng sau: - Accept: Loại nội dung có thể nhận được từ thông điệp response. Ví dụ: text/plain, text/html… - Accept-Encoding: Các kiểu nén được chấp nhận. Ví dụ: gzip, deflate, xz, exi… - Connection: Tùy chọn điều khiển cho kết nối hiện thời. Ví dụ: keep-alive, Upgrade… - Cookie: Thông tin HTTP Cookie từ server. - User-Agent: Thông tin về user agent của người dùng. Hai phương thức được sử dụng nhiều nhất trong HTTP request là GET và POST. Với GET, câu truy vấn sẽ được đính kèm vào đường dẫn của HTTP request. Ví dụ: /?username=”abc”&password=”def”. Một số đặc điểm của phương thức GET như sau: - GET request có thể được cached, bookmark và lưu trong lịch sử của trình duyệt. - GET request bị giới hạn về chiều dài, do chiều dài của URL là có hạn. - GET request không nên dùng với dữ liệu quan trọng, chỉ dùng để nhận dữ liệu. Ngược lại, với POST thì câu truy vấn sẽ được gửi trong phần message body của HTTP request, một số đặc điểm của POST như sau: - POST không thể cached, bookmark hay lưu trong lịch sử trình duyệt. - POST không bị giới hạn về độ dài.
- Xem thêm -

Tài liệu liên quan