TỔNG QUAN VỀ THU THẬP VÀ PHÂN TÍCH LOG FILE
Tổng quan về Log file
Log file là một tập tin quan trọng trong máy tính, ghi lại các sự kiện xảy ra trên thiết bị phần cứng, hệ điều hành hoặc phần mềm đang chạy Chúng bao gồm log file của các thiết bị như firewall, router, modem, cũng như của hệ điều hành như Linux, Windows, IOS Ngoài ra, log file cũng được sử dụng cho các ứng dụng web, mail, database và các phần mềm truyền thông, giúp theo dõi và quản lý hoạt động của hệ thống một cách hiệu quả.
Logging là quá trình lưu trữ thông tin vào một tập tin, trong đó các thông điệp được ghi theo thứ tự thời gian Việc bảo vệ tập tin nhật ký khỏi các hành động gây sai lệch là rất quan trọng để đảm bảo tính chính xác và độ tin cậy của dữ liệu.
Transaction log là một tập tin ghi lại thông điệp giao tiếp giữa hệ thống và người sử dụng, hoặc là phương pháp thu thập dữ liệu tự động ghi lại kiểu, nội dung và thời gian giao dịch của người dùng từ thiết bị đầu cuối Trong cơ sở dữ liệu, Transaction log chứa các record lưu trữ thông tin về các thao tác cập nhật dữ liệu được thực hiện trên database.
Để ngăn chặn log file trở nên cồng kềnh và khó kiểm soát, việc cài đặt hệ thống quay vòng log file (Logrotation) là cần thiết Hệ thống này sẽ thiết lập tên cho các log file mới và đổi tên các file cũ bằng cách thay đổi hậu tố số Quá trình luân phiên này được cấu hình để quản lý nhiều file và tự động xóa các log file cũ nhất khi cần thiết Ví dụ, trong thư mục /var/log có thể thấy các file như: messages, messages.1, messages20071111, messages-20071118,
1.1.2 Tác dụng của Log file
Log file là công cụ ghi lại liên tục các thông báo về hoạt động của hệ thống và các dịch vụ được triển khai Nó giúp theo dõi và phân tích hiệu suất, bảo mật và sự cố trong quá trình vận hành.
- Phân tích nguyên nhân gốc rễ của một vấn đề
- Giúp cho việc khắc phục sự cố nhanh hơn khi hệ thống gặp vấn đề
- Giúp cho việc phát hiện, dự đoán một vấn đề có thể xảy ra đối với hệ thống
1.1.3 Cơ chế ghi Log file
- Các ứng dụng tự ghi nhật ký vào các thư mục riêng rẽ Khó theo dõi các nhật ký
- Nhật ký nhân hệ điều hành không phải là ứng dụng
- Các ứng dụng khó sử dụng nhật ký của nhau
- Khó phát hiện ứng dụng có vấn đề
- Các ứng dụng gửi thông báo chung cho một ứng dụng chịu trách nhiệm ghi nhật ký
- Tùy theo mức độ ứng dụng nhật ký sẽ ghi các thông tin phù hợp vào nhật ký
- Giúp quản trị viên có cái nhìn chi tiết về hệ thống, qua đó có định hướng tốt hơn về hướng giải quyết
Tất cả các hoạt động của hệ thống đều được ghi lại và lưu trữ an toàn trên máy chủ log, nhằm đảm bảo tính toàn vẹn và hỗ trợ cho quá trình phân tích điều tra các cuộc tấn công vào hệ thống.
Log tập trung kết hợp với các ứng dụng thu thập và phân tích log khác giúp tối ưu hóa quy trình phân tích log, từ đó giảm thiểu nhu cầu về nguồn nhân lực.
Thu thập và phân tích Log file
Thu thập Log file là quá trình theo dõi thời gian thực nhằm hiểu các bản ghi do máy chủ hoặc thiết bị tạo ra Quá trình này có thể nhận nhật ký từ tệp văn bản hoặc nhật ký sự kiện Windows, và cũng có thể thu thập trực tiếp từ nhật ký hệ thống từ xa, điều này rất hữu ích cho tường lửa và các thiết bị khác.
Quá trình này nhằm mục đích phát hiện các lỗi trong ứng dụng hoặc hệ thống, nhận diện cấu hình sai, phát hiện các nỗ lực xâm nhập, vi phạm chính sách và các vấn đề liên quan đến bảo mật.
Phân tích log file là một nghệ thuật giúp trích xuất thông tin có ý nghĩa và đưa ra kết luận về trạng thái an toàn từ các bản ghi sự kiện của máy tính Mặc dù không phải là một ngành khoa học chính thức, nhưng kỹ năng phân tích độc lập và trực quan, cùng với việc đảm bảo chất lượng trong quá trình phân tích, ngày càng trở thành những khái niệm quan trọng trong lĩnh vực này.
Các sự kiện xảy ra trên các thiết bị khác nhau tại những thời điểm khác nhau có thể tạo ra các quan hệ tức thời, mở ra cơ hội cho kẻ tấn công khai thác lỗ hổng Điều này có thể dẫn đến việc hệ thống phát hiện xâm nhập đưa ra dự báo sai hoặc cho thấy có ai đó đang cố gắng quét lỗ hổng trong hệ thống mạng.
Các nỗ lực kết nối và nắm bắt dịch vụ, cùng với những sai lầm trong hệ thống, thường đòi hỏi việc thiết lập mối quan hệ với nhiều nguồn thông tin khác nhau Điều này nhằm mục đích thu thập thông tin đầy đủ và có ý nghĩa nhất.
Các sự kiện an ninh thông tin thường được điều tra qua logfile, nhưng nhiều hacker không để lại dấu vết, khiến cho việc phát hiện xâm nhập trở nên khó khăn Nếu không có hành động được ghi nhận, việc phân tích sẽ không khả thi Hơn nữa, thiết kế hạ tầng logging thường bị kẻ tấn công khai thác, và các logfile có thể bị xóa để che giấu dấu vết Khi kẻ xâm nhập có thể xóa log, việc phân tích trở nên bất khả thi Mặc dù log không phải lúc nào cũng cung cấp thông tin chi tiết cần thiết, việc phân tích log vẫn là một bước quan trọng trong việc đảm bảo an ninh thông tin.
Thông tin từ các log file rất phong phú nhưng thường phức tạp để phân tích, đặc biệt với lượng dữ liệu hàng gigabyte thu thập từ các công ty lớn Mặc dù có nhiều phương pháp lưu trữ, việc làm cho dữ liệu trở nên có thể phân tích và ứng dụng trong thiết bị giám sát là thách thức lớn Việc thu thập log tại cùng một địa điểm giúp tăng cường thông tin nhưng cũng đơn giản hóa việc phản hồi các sự kiện nhờ tốc độ truy cập nhanh Tập trung các log không chỉ giúp thống kê hiệu quả mà còn đảm bảo lưu trữ an toàn, rất hữu ích trong việc phát hiện kẻ xâm nhập thông qua chứng cứ log Do đó, tài liệu minh chứng từ chương trình ghi log trở nên rất cần thiết trong các tình huống này.
Việc tập trung log trên hệ thống Unix có thể dễ dàng thực hiện thông qua syslog chuẩn, nhưng các giải pháp thay thế có thể mang lại hiệu quả tốt hơn Tập trung log không chỉ hỗ trợ cho nhiều mục đích trong quá trình biên dịch mà còn nâng cao tính bảo mật của hệ thống, khiến cho kẻ xâm nhập phải tấn công nhiều server để xóa dấu vết Hơn nữa, việc này tạo sự thuận tiện cho quản trị mạng khi chỉ cần kết nối với một thiết bị để xem tất cả logfile từ mạng Tuy nhiên, việc tập trung log cũng gặp nhiều thách thức, đặc biệt là trong việc xử lý một lượng lớn thông tin log.
1.2.4 Công cụ phân tích Log
Solarwinds Log & Event Manager thu thập và tập trung thông tin từ nhiều thiết bị khác nhau vào một file log duy nhất, liên kết dữ liệu để cung cấp chi tiết quan trọng như tên sự kiện, ngày xảy ra và mức độ nghiêm trọng Phần mềm không chỉ phân tích file log mà còn học hỏi từ các sự kiện trong quá khứ, cảnh báo người dùng trước khi sự cố tương tự xảy ra Cách tiếp cận chủ động này giúp lưu trữ thông tin về hành vi vi phạm dữ liệu, đồng thời cung cấp nhiều tính năng hữu ích khác.
• Phát hiện các hoạt động đáng ngờ và đưa ra phản hồi tự động
• Đi kèm với các biện pháp bảo mật tiên tiến như LEM, SSO, tích hợp smart card và hơn thế nữa
• Liên kế các sự kiện và báo cáo chúng trong thời gian thực
• Cung cấp giải pháp khắc phục trong thời gian thực
• Giám sát tính toán vẹn của file
• Đi kèm với tính năng giám sát USB
• Cung cấp bảo mật chống lại các mối đe dọa bên ngoài và bên trong
• Giao diện dễ sử dụng
• Các log tập trung giúp dễ dàng khắc phục sự cố
• Đưa ra cảnh báo về các hoạt động đáng ngờ trong nguồn cấp dữ liệu về những mối đe dọa có thể xảy ra
• Hỗ trợ hơn 1200 thiết bị, ứng dụng và hệ thống
ManageEngine EventLog Analyzer thu thập dữ liệu từ nhiều nguồn khác nhau và lưu trữ chúng trong một kho lưu trữ tập trung Dữ liệu này được đóng dấu thời gian và mã hóa hash để đảm bảo tính xác thực và ngăn chặn việc giả mạo bản ghi Các tính năng chính của nó bao gồm khả năng phân tích và báo cáo chi tiết về các sự kiện, giúp người dùng theo dõi và quản lý an ninh hệ thống hiệu quả hơn.
• Cho phép nhập log từ máy chủ từ xa thông qua HTTPS hoặc FTP
• Tuân thủ theo nguyên tắc của các cơ quan quản lý khác nhau như HIPAA
• Cho phép người dùng tạo báo cáo linh hoạt dựa trên các tiêu chí khác nhau
• Hoạt động tốt với hơn 700 thiết bị từ hơn 30 nhà cung cấp
• Đi kèm với dashboard đồ họa chứa các biểu tượng
• Đi kèm với PostgreSQL theo mặc định, nhưng dùng cũng có thể chọn MySQL hoặc MS SQL
• Thu thập dữ liệu từ các nguồn dữ liệu có và không có tác nhân
• Chỉ ra các mối đe dọa với 70 quy tắc tương quan sự kiện sáng tạo
Bài viết này đề cập đến các tính năng nâng cao như giám sát tính toàn vẹn của file, cung cấp quyền truy cập đặc quyền cho người dùng, và liên kết sự kiện theo thời gian thực, mang lại sự bảo mật và hiệu quả tối ưu cho hệ thống.
• Cung cấp tùy chọn tìm kiếm thông qua các blog để có được thông tin cụ thể
InsightOps là một công cụ giám sát và phân tích log dựa trên đám mây, cho phép thu thập và liên kết dữ liệu log từ nhiều thiết bị khác nhau để thực hiện phân tích nhanh chóng và chi tiết Sản phẩm này thuộc loại phần mềm dưới dạng dịch vụ (SaaS), giúp dữ liệu log trở nên dễ tiếp cận và hữu ích cho các bộ phận khác nhau trong doanh nghiệp.
• Hoạt động ở bất kỳ định dạng dữ liệu nào bao gồm cả JSON cho đến plaint text
• Tổ chức tất cả các bản ghi ở một vị trí tập trung
Các tính năng tìm kiếm nâng cao cho phép người dùng dễ dàng tìm kiếm dữ liệu log bằng cách sử dụng từ khóa, cặp giá trị chính hoặc mẫu biểu thức chính quy.
• Cung cấp tùy chọn tạo các tag tùy chỉnh để dễ dàng xác định các sự kiện quan trọng
• Truyền các log và số liệu ứng dụng trực tiếp để phân tích thời gian thực
• Tính năng lưu trữ và báo cáo được thiết kế để đáp ứng các yêu cầu cần tuân thủ
• Chấp nhận dữ liệu từ mọi môi trường và ở mọi định dạng
• SQL-Like Query Language- ngôn ngữ truy vấn giống như SQL thực hiện các phép tính nâng cao như average, sum, min, max, percentile…
• Cung cấp trực quan hóa dữ liệu để phân tích tốt hơn
• Các dashboard đồ họa đi kèm với biểu đồ cột, biểu đồ tròn, biểu đồ đường… để dễ hiểu về phân tích dữ liệu
• Cung cấp một loạt các cảnh báo như cảnh báo dựa trên mẫu, cảnh báo không hoạt động, phát hiện bất thường và thông báo toàn diện
• Đi kèm với các API mạnh mẽ để tận dụng tối đa nền tảng
• Tích hợp tốt với các công cụ hiện có như ứng dụng Slack, OpsGenie và Iphone
LOGalyze là phần mềm mã nguồn mở hỗ trợ cho các hệ điều hành như UNIX, Linux, Windows và nhiều hệ điều hành khác Phần mềm này có khả năng thu thập và phân tích dữ liệu để xác định nguồn gốc, mức độ nghiêm trọng và loại dữ liệu, sau đó lưu trữ chúng trong kho lưu trữ LOGalyze cũng cung cấp các cảnh báo và báo cáo liên quan đến việc tuân thủ các nguyên tắc, giúp người dùng quản lý và giám sát an ninh thông tin hiệu quả.
• Tạo số liệu thống kê đa chiều giúp người dùng hiểu chi tiết về các sự kiện
• Đây là phần mềm mã nguồn mở, miễn phí và được hỗ trợ bởi một cộng đồng lớn
• Phân tích mọi file log với các định nghĩa mặc định hoặc tùy chỉnh
• Cho phép người dùng duyệt hoặc tìm kiếm các log bằng GUI
• Đi kèm với một tùy chọn để truyền các log an toàn đến các thiết bị syslog
• Cảnh báo người dùng khi có bất kỳ sự kiện phù hợp với tiêu chí được chỉ định
• Tương thích với syslog, rsyslog, syslog-ng và Snare
• Được tích hợp với hệ thống AHR ticketing để quản lý tốt hơn báo cáo sự cố
• Tạo ra các báo cáo tuân thủ nguyên tắc của các cơ quan quản lý khác nhau như
HIPAA, PCI DSS và PSZAF-HPT
• Cung cấp các tương quan thời gian thực và các quy tắc sáng tạo
Splunk là phần mềm mạnh mẽ dùng để thu thập, lưu trữ, lập chỉ mục, trực quan hóa, phân tích và báo cáo dữ liệu từ bất kỳ máy nào và ở bất kỳ định dạng nào Với nhiều tính năng nổi bật, Splunk giúp người dùng dễ dàng quản lý và khai thác thông tin hiệu quả.
• Lập chỉ mục dữ liệu bất kể định dạng hoặc vị trí
• Chỉ áp dụng cấu trúc và lược đồ tại thời điểm tìm kiếm, vì vậy người dùng khó có thể phân tích dữ liệu mà không bị giới hạn
• Sử dụng Splunk Search Processing Language độc quyền cho các truy vấn tìm kiếm
• Cung cấp tùy chọn phóng to và thu nhỏ các timeline trong cửa sổ thời gian dạng cuộn
• Cung cấp hơn 140 lệnh để thực hiện tìm kiếm, tính toán số liệu và tìm kiếm các tiêu chí cụ thể
• Giúp dễ dàng liên kết các sự kiện và hoạt động dựa trên thời gian địa điểm hoặc kết quả tìm kiếm
• Đi kèm với giao diện Pivot độc đáo giúp dễ dàng khám phá và chia sẻ thông tin chi tiết
• Báo cáo và dashboard tùy chỉnh giúp thuận tiện và có được cảm giác trực quan
• Giúp tạo cảnh báo theo thời gian thực, thông báo kích hoạt tự động có thể được gửi qua mail
• Người dùng có thể truy cập phần mềm Splunk thông qua bất kỳ trình duyệt dựa trên web nào
• Dễ dàng thiết lập và onboarding dữ liệu
Tổng kết chương 1
Chương 1 cung cấp cái nhìn tổng quan về log file, bao gồm cách thu thập và phân tích log file Bài viết cũng giới thiệu một số loại log, ứng dụng của chúng và cơ chế ghi log file.
THU THẬP VÀ PHÂN TÍCH LOG FILE
Windows log file
Nhật ký sự kiện ghi lại các hoạt động diễn ra trong hệ thống, cung cấp cơ sở cho việc kiểm tra và đánh giá hiệu suất Nó cũng có thể được sử dụng để phân tích hoạt động và chẩn đoán các vấn đề phát sinh trong hệ thống.
Các log file đóng vai trò quan trọng trong việc phân tích hoạt động của các hệ thống phức tạp, đặc biệt là trong các ứng dụng có tương tác người dùng như ứng dụng máy chủ Chúng cũng hỗ trợ hiệu quả trong việc kết hợp dữ liệu từ nhiều nguồn khác nhau.
Bằng cách áp dụng các biện pháp kết hợp và phân tích thống kê các log file, chúng ta có thể xác định mối tương quan giữa những sự kiện dường như không liên quan trên các máy chủ khác nhau.
Hệ điều hành Windows phân loại các sự kiện thành 5 loại:
- Information event: Mô tả sự thành công của một công việc, chẳng hạn như cài đặt xong một ứng dụng
- Warning event: Thông báo cho quản trị viên một vấn đề tiềm ẩn, chẳng hạn không gian đĩa thấp
- Error message: Mô tả một vấn đề quan trọng mà có thể dẫn đến tính năng nào đó bị vô hiệu hóa
- Success audit event: Mô tả một hoạt động thành công, chẳng hạn như một người dùng cuối đăng nhập thành công vào hệ thống
- Failure audit event: Mô tả một hoạt động không thành công, chẳng hạn như một người dùng cuối nhận được thông báo khi nhập mật khẩu không chính xác
Mỗi sự kiện trong một bản ghi chứa các thông tin sau:
- Date: Ngày mà sự kiện xảy ra
- Time: Thời gian diễn ra sự kiện
- User: Tên người sử dụng của người dùng đã đăng nhập vào khi sự kiện xảy ra
- Computer: Tên của máy tính
- Event ID: Số định danh tương ứng với sự kiện
- Source: Chương trình hoặc một ứng dụng thực hiện sự kiện
- Type: Kiểu của sự kiện (information event, warning event, error message, security success audit event hoặc failure audit event)
➢ Vị trí của Event log:
• Kiểu tập tin là *.evt
• Tên tập tin: SecEvent.evt, AppEvent.evt, SysEvent.evt
• Kiểu tập tin là *.evtx
• %System root%\System32\winevt\logs
• Tên tập tin: Security.evtx, Application.evtx, System.evtx, …
• Tên tập tin: HardwareEvents.evtx, Application.evtx, Internet Explorer.evtx…
• Vị trí mặc định có thể được thay đổi trong Registry
Hình 2 1: Vị trí Even log
Ghi log chỉ khả dụng cho các thiết bị có bật Windows Firewall, và không phải tất cả các kết nối đều được ghi lại Chỉ những kết nối được cấu hình bảo vệ bởi Windows Firewall mới được ghi log.
Tất cả lưu lượng truy cập đi ra được gửi đến đích thành công sẽ không được ghi lại trong log Hơn nữa, những lưu lượng gửi đi mà không bị chặn cũng không được lưu trữ trong log.
Kích thước mặc định của file log trong Windows Firewall là 4.096 kilobyte (KB); kích thước tối đa là 32,767 KB
Khi file log đạt đến kích thước giới hạn mà bạn thiết lập, các file log sẽ được đổi tên và một file log mới được tạo ra
Vị trí Windows Firewall Log:
- XP/Server 2003: \systemroot\pfirewall.log
\systemroot\System32\LogFiles\Firewall\pfirewall.log Các thông tin cần quan tâm khi phân tích Windows Firewall Log như:
- Sự kiện đã diễn ra: Hành động
- Date/Time: Date, Time − Computers được đề cập: Source IP, Destination
- Ports được đề cập: Source port, Destination port
- Kiểu packet: Protocol, Tcpip Flags
IIS, viết tắt của Internet Information Services, là dịch vụ thông tin Internet được tích hợp trong các phiên bản Windows Nó hoạt động trên nền tảng hệ điều hành Windows, cung cấp và phân phối thông tin qua mạng, bao gồm nhiều dịch vụ như Web Server và FTP Server.
Nó cho phép xuất bản nội dung của các trang web lên Internet hoặc Intranet thông qua "Phương thức chuyển giao siêu văn bản" (HTTP).
Sau khi hoàn thành thiết kế các trang web, để đưa chúng lên mạng cho người dùng có thể truy cập, bạn cần sử dụng một Web Server, trong trường hợp này là IIS.
IIS có nhiệm vụ tiếp nhận yêu cầu từ máy trạm và phản hồi bằng cách cung cấp thông tin mà máy trạm cần.
Có thể sử dụng IIS để:
- Xuất bản một Website của bạn trên Internet
- Tạo các giao dịch thương mại điện tử trên Internet (hiện các catalog và nhận được các đơn đặt hàng từ nguời tiêu dùng)
- Chia sẻ file dữ liệu thông qua giao thức FTP
- Cho phép người ở xa có thể truy xuất database của bạn (gọi là Database remote access)
IIS hỗ trợ các giao thức mạng phổ biến như HTTP và FTP, cùng với một số giao thức khác như SMTP và POP3, nhằm tiếp nhận yêu cầu và truyền tải thông tin trên mạng với nhiều định dạng khác nhau.
Một trong những dịch vụ được ưa chuộng nhất của IIS mà chúng ta sẽ khám phá trong giáo trình này là dịch vụ WWW, hay còn gọi là dịch vụ Web.
Web services utilize the HTTP protocol to receive requests from web browsers in the form of a URL (Uniform Resource Locator) for a specific webpage, and IIS responds to these requests by sending the corresponding webpage content back to the web browser.
It is essential to activate logging for each website, FTP, and SMTP server to effectively collect and convert usage data Ensure that you select "Enable Logging" on the Windows Internet Information Services page.
Hình 2 2: Hộp thoại IIS Manager (window Server 20112)
Các bước thực hiện như sau:
• Trong cửa sổ Windows Internet Information Services, kích chuột phải vào trang web hoặc máy chủ, và sau đó nhấp vào Propertties
• Hộp thoại properties được hiển thị
• Trên tab Web Site, chọn Enable Logging và nhấp W3C Extended Format Log
File từ Active danh sách định dạng log
• Apply, và sau đó nhấp vào Properties
• Hộp thoại Logging thuộc tính mở rộng được hiển thị
• Trên tab General Properties, thiết lập các thuộc tính chung như lịch trình log (hàng ngày, hàng tuần, hàng tháng, vv) và log vị trí file
Trên tab Properties Extended, hãy chọn các thuộc tính cần ghi log, bao gồm tất cả các thuộc tính được khuyến nghị Bạn cũng có thể lựa chọn các thuộc tính trình Accounting, nhưng lưu ý rằng thông tin này không hữu ích cho phản hồi và sẽ không được ghi vào file CSR.
• Nhấn OK để lưu các thiết lập và đóng hộp thoại, và sau đó nhấn OK lần nữa để đóng hộp thoại thuộc tính
Hình 2 3: Tab Logging trong hộp thoại IIS Manager 2.1.3.2 Vị trí IIS log file Đối với hệ điều hành window sử dụng IIS 5 tới IIS 6 (vị trí mặc định):
IIS 5 – IIS 6: %windir%\System32\LogFiles\exYYMMDD.log Đối với hệ điều hành window sử dụng từ IIS 7 trở đi (vị trí mặc định):
IIS 7 – IIS 10: %SystemDrive%\inetpub\logs\LogFiles u_exYYMMDD.log (utf-8) exYYMMDD.log (ANSI)
Hình 2 4: Đường dẫn mặc định đến file log trong window server 2012
Việc quản lý và sử dụng Accounting Data Collector cho Microsoft IIS cho phép thu thập dữ liệu từ các file log được tạo ra bởi IIS Các trường dữ liệu trong file log này được xác định dựa trên các thuộc tính đã chọn khi kích hoạt ghi nhật ký cho IIS Server File log cung cấp thông tin quan trọng như số byte gửi từ địa chỉ IP client đến server, số byte gửi từ server đến client, tên người dùng, địa chỉ IP, tên trang web IIS, và tên máy chủ.
Date Ngày mà sự kiện xảy ra
Time Thời gian mà sự kiện xảy ra c-ip (client IP address) Địa chỉ IP của máy khách đã truy cập vào server cs-username (user name)
Linux log file
Các hệ thống Unix sở hữu một hệ thống ghi log mạnh mẽ và linh hoạt, cho phép bạn ghi lại hầu hết mọi thông tin mà bạn có thể nghĩ đến Bạn cũng có thể thao tác với các bản ghi này để truy xuất thông tin cần thiết một cách dễ dàng.
Nhiều phiên bản của Unix cung cấp hệ thống ghi log dễ dàng gọi là syslog, cho phép các chương trình gửi thông tin ghi log đến một nơi tập trung.
Syslog trong Unix là một công cụ ghi log hệ thống quan trọng, cho phép định hình và quản lý các thông tin log đồng dạng Hệ thống này hoạt động thông qua một tiến trình ghi log trung tâm, thường được khởi động bởi chương trình /etc/syslogd hoặc /etc/syslog.
Hệ thống ghi log hoạt động đơn giản, với các chương trình gửi thông tin ghi log tới syslogd, dựa trên file cấu hình /etc/syslogd.conf hoặc /etc/syslog Khi có kết nối, thông tin sẽ được ghi vào file log tương ứng Dưới đây là bảng liệt kê 4 mục syslog cơ bản.
Dấu hiệu nhận diện là thuật ngữ dùng để mô tả ứng dụng hoặc quy trình gửi thông báo log, với các ví dụ tiêu biểu như email, kernel và FTP.
Một chỉ dẫn quan trọng trong thông báo là các mức độ được xác định trong syslog, đóng vai trò như một hướng dẫn từ việc chỉnh sửa thông tin lỗi cho đến các sự kiện quan trọng.
Khi một sự kiện mới kết nối với một bộ chọn, một hành động sẽ được thực hiện, tạo ra sự kết nối giữa các phương tiện và mức độ khác nhau.
Khi một thông tin mới kết nối với bộ chọn, các hành động có thể bao gồm việc ghi thông tin vào file log, phản xạ thông tin tới bàn điều khiển hoặc thiết bị khác, gửi thông báo tới hệ thống ghi log của người dùng, hoặc chuyển tiếp thông báo đến máy chủ syslog khác.
Bảng 2 2: Bốn mục syslog cơ bản 2.2.1.1 Facility syslog
Các loại facility được sử dụng và quy định trong hệ thống Linux:
Auth Các hoạt động liên quan đến yêu cầu tên và mật khẩu (getty, su, login)
Authpriv Tương tự như auth nhưng ghi log tới một file mà chỉ có thể được đọc bởi những người dùng được chọn
Console Sử dụng để bắt các thông báo mà thường trực tiếp gửi tới bàn điều khiển hệ thống
Cron Các thông báo từ người lập hệ thống cron
Daemon Hệ thống daemon nhận tất cả ftp Các thông báo liên quan đến hệ thống ftp deamon
Kern Các thông báo kernel local0.local7 Các phương tiện nội bộ được xác định cho mỗi site
Lpr Các thông báo từ dòng hệ thống in
Mail Các thông báo liên quan tới hệ thống mail
Mark Các sự kiện giả được sử dụng để tạo timestamp trong các file hệ thống
News Các thông báo liên quan tới mạng lưới giao thức tin tức (network news protocol) Ntp Các thông báo liên quan đến giao thức thời gian mạng
User Các tiến trình người dùng thông thường
Uucp Hệ thống phụ UUCP
Các mức độ ưu tiên của Syslog:
Emerg Tình trạng khẩn cấp, như một sự ngưng hoạt động hệ thống sắp xảy ra, thường được thông báo tới tất cả người dùng
Alert Tình trạng mà nên được chỉnh lại cho đúng ngay lập tức, như một dữ liệu hệ thống bị hư hỏng
Crit Tình trạng nghiêm trọng, như lỗi phần cứng
Err Các lỗi thông thường
Notice Tình trạng mà không là lỗi, nhưng có lẽ nên được thực hiện theo một cách đặc biệt
Info Thông báo mang tính thông tin
Debug Các thông báo mà được sử dụng khi chỉnh lỗi các chương trình
None Các mức giả tạo được sử dụng để xác định không log các thông báo
Bảng 2 4: Các mức độ ưu tiên của syslog
Trường hành động xác định một trong 5 hành động sau:
- Thông tin ghi log tới một file hoặc một thiết bị Ví dụ, /var/log/lpr.log hoặc /dev/console
Gửi thông báo đến người dùng bằng cách chỉ định nhiều tên người dùng, được phân tách bằng dấu phẩy (ví dụ: root, amrood).
- Gửi một thông báo tới tất cả người dùng Trong trường hợp này, trường hành động bao gồm một dấu *
- Gửi một thông báo thông qua pipe tới một chương trình Trong trường hợp này, chương trình được xác định sau ký hiệu pipe (|)
Gửi thông báo tới syslog trên một host khác yêu cầu chỉ định tên host kèm theo dấu hiệu Điều này giúp xác định nguồn gốc của thông báo một cách chính xác và hiệu quả.
17 Định dạng của lệnh ghi log là: logger [-i] [-f file] [-p priority] [-t tag] [message]…
Dưới đây là chi tiết về các tham số:
-f filename Sử dụng nội dung của tên file như thông báo để log
-i log ID tiến trình của tiến trình logger với mỗi dòng
Nhập thông báo với quyền ưu tiên đã được xác định, cho phép lối vào bộ chọn cụ thể Quyền ưu tiên thông báo có thể được biểu thị dưới dạng số hoặc dưới dạng cặp phương thức quyền ưu tiên.
Quyền ưu tiên mặc định là user notice
-t tag Đánh dấu mỗi dòng được thêm tới hệ thống log với thẻ đã xác định
Message Các tham số chuỗi mà nội dung được kết nối cùng nhau theo thứ tự xác định, riêng rẽ bởi khoảng trống
Hình 2 6: Các tham số trong lệnh ghi log
Có thể sử dụng trang trợ giúp (Manpage Help) để kiểm tra cú pháp của các lệnh này
Tất cả các ứng dụng trong hệ thống đều tạo ra các tệp log trong thư mục /var/log và các thư mục con của nó Dưới đây là danh sách một số ứng dụng quan trọng cùng với thư mục log tương ứng của chúng.
Bảng 2 5: Thư mục log của ứng dụng quan trọng 2.2.2 Apache Log
Trong việc quản một máy chủ web hiệu quả, log file là rất cần thiết để thu được
Apache HTTP Server cung cấp khả năng khai thác log toàn diện và linh hoạt, cho phép người dùng nhận được 18 thông tin phản hồi quan trọng về hoạt động và hiệu suất của máy chủ, cũng như phát hiện bất kỳ vấn đề tiềm ẩn nào.
Cảnh báo bảo mật: Người dùng có quyền ghi vào thư mục lưu trữ log file của Apache có khả năng truy cập vào uid của máy chủ, thường là tài khoản root Do đó, không nên cấp quyền ghi cho người dùng trong các thư mục chứa log file, vì điều này có thể dẫn đến hậu quả nghiêm trọng.
File log có thể chứa thông tin từ client, dẫn đến việc có thể xuất hiện các ký tự điều khiển trong file log Do đó, cần thận trọng khi nhận diện các log file gốc.
Log file ứng dụng
Email log là các tệp tin lưu trữ thông tin về mọi email được gửi qua Mail Server trong một khoảng thời gian cụ thể Những thông tin này bao gồm chi tiết về người gửi, người nhận, thời gian gửi, và trạng thái của các email.
- Các địa chỉ email của từng người gửi và người nhận email
- Ngày và thời gian mỗi email được gửi đi
- Các trạng thái phân phối của từng email
- Bất kỳ mã lỗi liên quan với mỗi email
Phân tích Email cho biết các thông tin:
Các thành phần có thể phân tích:
Tin tặc sử dụng phương thức tạo thư giả mạo bằng cách biên soạn email với thông tin giả về địa chỉ hòm thư nhận phản hồi (Return-Path), địa chỉ hòm thư tiếp nhận trả lời (Reply-To) và địa chỉ hòm thư người gửi (From) Họ thường tìm kiếm máy chủ thư điện tử hoặc cài đặt phần mềm gửi thư (MTA) không yêu cầu xác thực hòm thư người gửi để phát tán email giả mạo Hai dấu hiệu chính để phát hiện thư giả mạo theo phương thức này là: địa chỉ hòm thư không khớp với thông tin thực tế và nội dung thư có dấu hiệu lừa đảo.
- Khi mở xem nguồn gốc chi tiết của thư điện tử, địa chỉ hòm thư
“ReturnPath” không trùng với địa chỉ hòm thư người gửi đến (From)
Địa chỉ IP của máy chủ gửi thư thường không khớp với địa chỉ IP của hệ thống thư điện tử thật mà bị giả mạo Hiện nay, các địa chỉ IP giả mạo này chủ yếu có nguồn gốc từ nước ngoài.
ISA Server 2006 offers robust logging capabilities, allowing real-time monitoring of user internet access Additionally, it enables the generation of daily reports or reports based on specific timeframes.
Ghi log trên iptables là một công cụ hữu ích để giám sát lưu lượng truy cập đến máy chủ, cho phép chúng ta theo dõi số lượng truy cập từ bất kỳ địa chỉ IP nào Phần này sẽ hướng dẫn cách kích hoạt ghi log cho tất cả các gói dữ liệu được lọc bởi iptables thông qua các lệnh cấu hình cụ thể.
- Kích hoạt việc ghi log trên iptables:
- Xác định ip nguồn hoặc phạm vi mà log sẽ được tạo ra
- Để xác định cấp độ LOG tạo ra bởi iptables phía sau tham số –log-level
$ iptables -A INPUT -s [ IP]-j LOG log-level 4
• Để kiểm tra log file kernel:
$ tailf /var/log/kern.log
• Trên CentOS/RHEL và Fedora:
- Để thay đổi tên tập tin log trong iptables, chỉnh sửa file cấu hình /etc/rsyslog.conf
- Chèn thêm dòng: kern.warning /var/log/iptables.log
- khởi động lại hệ thống: $ service rsyslog restart
Hệ thống phát hiện xâm nhập (IDS) là một công cụ quan trọng trong việc bảo vệ mạng, với nhiệm vụ phát hiện và ngăn chặn các hành động tấn công nhằm vào hệ thống IDS giúp nhận diện các hành động bất thường và gửi cảnh báo đến quản trị viên mạng để khóa các kết nối tấn công Hệ thống này còn có khả năng phân biệt giữa các cuộc tấn công từ bên trong tổ chức và các cuộc tấn công từ bên ngoài, như hacker, góp phần nâng cao an ninh mạng hiệu quả hơn.
Hệ thống phòng chống xâm nhập (IPS) là phần mềm hoặc thiết bị chuyên dụng, có khả năng phát hiện và ngăn chặn các mối đe dọa an ninh IPS giúp bảo vệ hệ thống khỏi những xâm nhập trái phép, đảm bảo an toàn cho dữ liệu và thông tin quan trọng.
IDS and IPS share many similarities, which allows them to be collectively referred to as IDP (Intrusion Detection and Prevention) The IDS/IPS log provides essential information about security events and potential threats.
- Cảnh báo về loại gói tin đáng ngờ
- Giúp trong việc xác định các thiết bị thăm dò
- Giúp trong việc tạo dấu hiệu phát hiện tấn công mới
- Thống kê Attack (Host/Network based)
Tổng kết chương 2
Trong chương này, chúng ta đã khám phá phương pháp thu thập và phân tích các loại log như Windows Log, Linux Log và Application Log Bài viết cũng cung cấp thông tin về đặc điểm, vị trí và nội dung của một số loại log quan trọng.
THỰC HIỆN THU THẬP VÀ PHÂN TÍCH LOG FILE
Phân tích log file sử dụng splunk enterprise
Hình 3 1: Mô hình thực nghiệm
- Công cụ hỗ trợ: XAMPP, DVWA, Splunk Enterprise
- Thực hiện phân tích tệp tin nhật ký ghi lại các sự kiện xảy ra đối với Web server chạy trên máy chủ Apache
Xampp là một phần mềm tạo máy chủ web tích hợp đầy đủ các thành phần như Apache, PHP, MySQL, FTP Server và Mail Server, cùng với các công cụ quản lý như phpMyAdmin Khác với Appserv, Xampp cung cấp giao diện quản lý tiện lợi, cho phép người dùng dễ dàng bật, tắt hoặc khởi động lại các dịch vụ máy chủ theo nhu cầu.
-Tải XAMPP tại https://www.apachefriends.org/index.html nhấn vào dowload XAMPP for windows để tiến hành tải về
Hình 3 2: Trang tải về Xampp
- Tiến hành cài đặt XAMPP
- Chỉ cần kích vào next để tiến hành cài đặt tại mục Location ấn vào change để chọ thư mục cài đặt cuối cùng ấn finish để hoàn tất
- Ấn Start để chạy các dịch vụ máy chủ Apache, MySQL (Nếu lỗi xảy ra có thể do trùng port trên máy tính ấn vào config để thay đổi)
Bước 2: Tải và cài đặt DVWA
Damn Vulnerable Web Application (DVWA) là một ứng dụng mã nguồn mở PHP/MySQL, được thiết kế để chứa các lỗi logic bảo mật trong mã nguồn PHP Những lỗi này có thể xảy ra trong bất kỳ ngôn ngữ lập trình nào và nhằm giảm thiểu lỗ hổng bảo mật do tư duy lập trình thiếu cẩn thận DVWA cung cấp một môi trường thực hành hacking và pentest hợp pháp, giúp các nhà phát triển ứng dụng web nâng cao hiểu biết về lập trình an toàn và bảo mật.
- Tải DVWA tại https://dvwa.co.uk/ nhấn vào dowload để tiến hành tải về
- Sau khi tải về được một tệp tin zip giải nén tập tin được một folder DVWA- master
- Copy folder DVWA-master vào đường dẫn path-to-xampp/xampp/htdocs
Hình 3 4: Folder htdocs chứa folder DVWA-master
- Mở dổi tên tệp config.inc.php.bak tại folder config thành config.inc.php mở tệp và cấu hình
$_DVWA[ 'db_port'] = '3308';(Cần giống port ở MySQL của XAMPP)
Hình 3 5: Tệp tin config.inc.php sau khi cấu hình lại
- Tiến hành truy cập vào DVWA tại địa chỉ localhost/DVWA/setup.php
- Ấn vào Creat/Resetdatabase để khởi chạy DVWA
- Sau khi ấn Creat/Resetdatabase đợi 1 thời gian sẽ tự động chuyển sang trang login.php nhập user: admin, password: password để tiến hành đăng nhập vào dvwa
Hình 3 7: Giao diện khi khởi tạo DVWA thành công
Bước 3: Dowload vào cài đặt Splunk Entersprise
-Tải Splunk Entersprise https://www.splunk.com/ nhấn vào dowload phiên bản cho window 10
-Tiến hành cài đặt như bình thường
-Sau khi cài đặt thành công truy cập vào http://localhost:8000 để truy cập vào splunk
-Đăng nhập với username và password đã lưu ở quá trình cài đặt
Hình 3 8: Giao diện đăng nhập Splunk
Bước 4: Sử dụng DVWA thiết lập một vài cuộc tấn công lên máy chủ apache rồi thu logfile để phân tích bằng splunk
- Tiến hành tấn công (Ở đây là tấn cống SQL Injection)
Hình 3 9: Tấn công SQL Injection
- Vào file log máy chủ apache kiểm tra xem đã thu được log hay chưa (đường dẫn path-to-xampp/xampp/apache/logs/access.log)
Hình 3 10: Log file thu được sau tấn công SQL Injection
- Vào splunk để khởi tạo phân tích log file
- Ấn vào add Data chọn Monitor chọn File or Directory
Hình 3 11: Thêm dữ liệu Splunk
- Chọn đường dẫn đi vào file sau đó chọn Continuously Monitor để kiểm tra liên tục ấn next để tiếp tục
Hình 3 12: Màn hình chọn file log
- Tiếp đến chọn định dạng file log sau đó ấn next để tiếp tục đến hết
Hình 3 13: Splunk phân tích log file thu được
- Sau khi cấu hình hoàn tất ta thu được bản phân tích log của apache từ splunk
Hệ thống quản lý log ELK Stack
Hình 3 14: Mô hình triển khai server ELK để quản lý thu thập log
Mô hình máy chủ quản lý log ELK (ELK stack) gồm:
- Một máy chủ centOS cài đặt nhóm các phần mềm mã nguồn mở Elasticsearch, Logstash, Kibana
- Máy ubuntu cài đặt filebeat để gửi các log về Logtash
- Máy kali linux sử dụng Metasploit để thực hiện tấn công vào Server ubuntu
- Trên máy centOS cài đặt các dịch vụ:
• Elasticsearch - máy chủ lưu trữ và tìm kiếm dữ liệu
• Logstash - thành phần xử lý dữ liệu, sau đó nó gửi dữ liệu nhận được cho Elasticsearch để lưu trữ
• Kibana - ứng dụng nền web để tìm kiếm và xem trực quan các logs
- Trên máy ubuntu triển khai dịch vụ filebeat để thực hiện việc gửi các log file về Logtash để xử lý, thống kê, quản lý
- Trên máy kali linux, thực hiện việc cấu hình Metasploit để tấn công đến máy ubuntu
3.2.3.1 Cài đặt ELK stack Để cài đặt các dịch vụ này, đầu tiên cần cài đặt Java, trên máy chủ centOS sử dụng câu lệnh
#yum install java-1.8.0-openjdk-devel -y
Bước 1: Cài đặt Elasticsearch CentOS Để cài đặt sử dụng lệnh:
#yum install elasticsearch -y Để kích hoạt dịch vụ và xem trạng thái của dịch vụ sử dụng lệnh:
Hình 3 16: Trạng tháo hoạt động của Elasticsearch
Bước 2: Cài đặt Kibana CentOS
Kibana là ứng dụng nền web, nó lắng nghe các truy vấn http gửi đến cổng mặc định 5601
- Để cài đặt, sử dụng câu lệnh:
- Kích hoạt và kiểm tra trạng thái của kibana sử dụng câu lệnh:
Hình 3 17: Trạng thái hoạt động của Kibana sau khi được cài đặt
- Kiểm tra Kibana bằng cách truy cập đến địa chỉ IP server với cổng là 5601
Hình 3 18: Trang chủ khi đăng nhập thành công
Bước 3: Cài đặt Logstash CentOS
Logstash là công cụ nhận và xử lý dữ liệu đầu vào, sau đó lưu trữ tại Elasticsearch Để hoạt động hiệu quả, Logstash cần được cấu hình với các thiết lập đầu vào (input) và đầu ra (output) Để bắt đầu, bạn cần thực hiện cài đặt bằng lệnh phù hợp.
Xác định xem cấu hình có xảy ra lỗi hay không:
#sudo -u logstash /usr/share/logstash/bin/logstash path.settings /etc/logstash -t
Hình 3 19: Thông báo Config Validation Result
- Để kích hoạt và kiểm tra trạng thái của logstash thực hiện câu lệnh:
Hình 3 20: Trạng thái hoạt động của logstash sau khi kích hoạt
Bước 4: Cài đặt Beats/Filebeat Ubuntu
Thực hiện việc thu thập các file log trên Server cài đặt nó, cấu hình để nó gửi tới Logstash Sử dụng lệnh:
#sudo apt-get install apt-transport-https
Hình 3 21: Trạng thái hoạt động của filebeat sau khi cài đặt
- Cấu hình cho filebeat sử dụng trình soạn thảo vi hoặc nano tại
- File cấu hình tại /etc/filebeat/filebeat.yml, mở ra chỉnh sửa các nội dung sau:
• Tìm đến mục Elasticsearch output comment lại để không gửi log thẳng đến Elasticsearch
# Array of hosts to connect to
• Tìm đến Logstash output, bỏ các comment để yêu cầu filebeat gửi đến Logstash (địa chỉ dùng là địa chỉ máy centOS:) output.logstash:
Hình 3 22: Cho phép filebeat gửi dữ liệu đến logstash, vô hiệu hóa gửi dữ liệu đến
- Filebeat có nhiều module tương ứng với loại log nó thu thập, để xem trạng thái các module này thực hiện lệnh
- Sau đó nếu muốn kích hoạt module nào thì thực hiện theo cú pháp, ví dụ kích hoạt system, apache, mysql
Hình 3 23: Danh sách các modules 3.2.3.2 Xem log trong Kibana
- Sau khi cài đặt một ELK (một trung tâm quản lý log), nó sẽ nhận log từ một server gửi đến bằng Filebeat
- Truy cập vào Kibana theo địa chỉ IP của ELK, nhấn vào phần Discover, chọn mục Index Management của Elasticsearch, xuất hiện các index có tiền tố là filebeat-
*, chính là các index lưu dữ liệu log do Filebeat gửi đến Logstash và Logstash để chuyển lưu tại Elasticsearch
Hình 3 24: Các log xuất hiện theo thời gian thực
3.2.3.3 Sử dụng Metasploit để tấn công
- sử dụng Metasploit khai tác lỗ hổng SSH, thực hiện việc Brute-forcing vào máy ubuntu server thông lỗ hổng của SSH
Hình 3.25: Metasploit có sẵn trên kali linux
- Thực hiện nmap để lấy các cổng dịch vụ đang được mở trên server bằng câu lệnh
- Xuất hiện các cổng đang hoạt động của server, ở đây sử dụng SSH để thực hiện tấn công
- tìm kiếm kiểu tấn công phù hợp trong Metasploit, cấu hình để thực hiện cuộc tấn công Brute-forcing vào máy ubuntu server
Hình 3.26: Cấu hình phù hợp để thực hiện tấn công
Sau khi cấu hình xong, bạn chỉ cần gõ lệnh exploit hoặc run để bắt đầu tấn công Metasploit sẽ sử dụng thư viện mật khẩu có sẵn để thực hiện việc dò quét, và quá trình này sẽ dừng lại khi tìm được tên người dùng và mật khẩu chính xác hoặc khi đã quét hết thư viện mật khẩu.
Hình 3.27: Quá trình dò quét mật khẩu đang được diễn ra
Khi máy Kali tấn công vào Ubuntu, các log sẽ được sinh ra và ghi lại, sau đó chuyển vào Filebeat, một thành phần của ELK stack Tiếp theo, các log này sẽ được gửi đến Logstash để định hình lại và cuối cùng được lưu trữ trong cơ sở dữ liệu của Elasticsearch theo thời gian thực.
Hình 3.28: Các log được sinh ra trong quá trình máy kali tấn công
Windows Event Viewer
Event Viewer là công cụ tích hợp trong Windows, cho phép người dùng xem lại các sự kiện xảy ra trong hệ thống với nhiều thông tin chi tiết như người dùng, thời gian, máy tính và dịch vụ Công cụ này giúp lọc các sự kiện rời rạc thành những sự kiện tương tự, từ đó cung cấp thông tin cần thiết một cách nhanh chóng Trong Event Viewer, các sự kiện được phân chia riêng biệt cho từng ứng dụng, và một máy chủ cài đặt mặc định sẽ có ba phân vùng trong Event Viewer.
Hình 3 29: Giao diện của Event Viewer trong Windows (win server 2012)
Application log ghi lại các sự kiện từ các ứng dụng của các nhà sản xuất như Symantec và các ứng dụng email Thường thì, application log được thiết lập mặc định trong application 32, do đó người dùng chỉ có thể đọc mà không thể thay đổi cài đặt.
Hình 3.30: Một bản ghi của Application về một lỗi trong Event Viewer
3.3.2 Security log Đây là một trong những log quan trọng nhất trong hệ thống, nó ghi lại toàn bộ các thiết lập audit trong group policy Nhưng trong các thiết lập group policy quan trọng nhất là thiết lập giám sát quá trình login vào hệ thống, truy cập dữ liệu
Hình 3.31: Giao diện security log trong windows
The default system log configuration allows users to review events related to the activation, deactivation, pausing, disabling, and enabling of system services For instance, if a service encounters an error while active, it will be recorded in the system log within the event viewer.
Hình 3.32: Một cảnh báo mà system log thu được
Lý do được người dùng WIN-M3BT2EI3DNH \ Administrator cung cấp cho lần này là tắt máy tính đột xuất
Log properties giúp cấu hình dung lượng file log, cách xoá các event cũ đi như thế nào, và những tính năng lọc các sự kiện
Hình 3.33: Thiết lập cho security properties Đây là thiết lập cho security properties: Với file log tên là gì và ở đâu:
%SystemRoot%\System32\Winevt\Logs\Security.evtx
Dung lượng tối đa cho file log là 20480 KB, nhưng có thể được cấu hình để lớn hơn hoặc nhỏ hơn Nếu file log vượt quá dung lượng này, hệ thống sẽ tự động xóa các sự kiện cũ theo thuật toán First in First out (FIFO), nghĩa là sự kiện vào trước sẽ được xóa trước.
Tổng kết chương 3
Trong chương 3, chúng tôi đã áp dụng công cụ Splunk Enterprise để phân tích các tệp nhật ký ghi lại sự kiện xảy ra trên webserver Bên cạnh đó, chúng tôi cũng sử dụng Event Viewer tích hợp trong Windows để xem xét các sự kiện đã diễn ra trong hệ thống Cuối cùng, việc triển khai Server ELK đã được thực hiện nhằm quản lý và thu thập log hiệu quả.