chương 1 giới thiệu chi tiết về file log trong server, những ứng dụng của file log server đối với quản trị viên trong quá trình hoạt động lẫn bảo mật hệ thống. Những hiểu biết về hệ thống phân tích file log server cũng sẽ được trình bày trong chương này.1 Giới thiệu bài toán 1.1 Tổng quan về bảo mật server Bảo mật server là việc bảo vệ dữ liệu và tài nguyên được lưu trên các máy chủ khỏi việc bị truy cập trái phép, chỉnh sửa hoặc đánh cắp,…. Trong một thế giới lý tưởng, dữ liệu và tài nguyên trên server phải luôn được giữ bí mật, ở trạng thái chính xác và sẵn sàng để sử dụng. Tuy nhiên bài toán bảo mật server lưu trữ dữ liệu hiện đang là vấn đề gây nhức nhối hiện nay của các quản trị viên.
Với việc mạng Internet đang được phổ cập mạnh mẽ như hiện nay việc bảo mật server sẽ càng khó khăn hơn với việc thông tin hướng dẫn tấn công server được cung cấp vô số trên mạng. Những lỗ hổng hàng loạt, lỗ hổng riêng biệt, lỗ hổng từ phần mềm, phần cứng, vô số những tác nhân khiến cho server thành miếng bánh ngon. Tuy nhiên đây cũng là điều không thể tránh khỏi khi server được đưa lên mạng Internet. Khi server sẽ bị tấn công có thể dẫn đến nhiều hậu quả như ngừng hoạt động, tài nguyên bị lạm dụng,… gây ảnh hưởng đến việc duy trì dịch vụ và hệ thống.
Do vậy mà việc có những thông báo sớm đến quản trị viên khi hành động tấn công vừa mới chớm nở để có những phương án phòng thủ thích hợp là lựa chọn tối ưu nhất cho doanh nghiệp. Tuy nhiên câu hỏi đặt ra là làm thế nào để có thể phát hiện sớm được những tác động xấu gây ảnh hưởng đến server? Câu trả lời là thông qua việc phân tích file log.2 Bài toán ứng dụng phân tích log server vào bảo mật Bản thân file log server không có khả năng ngăn chặn tấn công hoặc bảo mật server nhưng những thông tin từ các log file là rất đa dạng và phong phú, khi xem xét file log server quản trị viên sẽ có một cái nhìn toàn cảnh về những thay đổi trên hệ thống. Xem xét log server thường xuyên có thể giúp quản trị viên xác định được các cuộc tấn công độc hại trên hệ thống. Do vậy bài toán đặt ra là làm sao có thể dựa vào việc phân tích log server để có thể phát hiện sớm những cuộc tấn công nhằm vào hệ thống giúp việc bảo mật server trở nên chủ động hơn.
Việc xây dựng một hệ thống có thể hỗ trợ người quản trị trong việc quản lý log lẫn thông báo khi có một sự cố gì phát sinh cũng sẽ là một mục tiêu cần hướng đến trong luận văn nhằm tối ưu thời gian hơn thay vì phân tích thủ công. Những yếu tố cần thiết trong hệ thống phản tích log bao gồm: Xây dựng một hệ thống phục vụ việc phân tích dữ liệu log server trực quan, theo thời gian thực. Tự động thông báo cho quản trị viên khi có các sự cố xảy ra với server nhằm có những cách xử lý kịp thời và nhanh chóng hạn chế rủi ro về bảo mật. Ý nghĩa bài toán Bài toán ứng dụng phân tích log server vào bảo mật server đều mang tính ứng dụng rất cao trong thời đại công nghệ số hiện nay.
Bài toán có ý nghĩa trong nghiên cứu bảo mật hệ thống server giúp cho việc vận hành hệ thống trở nên được thông suốt nhất, giúp cho các doanh nghiệp có thể giảm thiểu được những chi phí không đáng có khi khắc phục các vấn đề do bị tấn công. Không chỉ vậy, nó còn giúp cho quản trị viên có thể nắm rõ hơn được về hệ thống thay vì phân tích thủ công thì có thể dựa vào các số liệu phân tích sẵn để có những thay đổi kịp thời cho server.2 Giới thiệu về file log server 1.1 File log server Log server là một tài liệu văn bản đơn giản chứa tất cả các hoạt động của một máy chủ cụ thể trong một khoảng thời gian nhất định (ví dụ: một ngày). Log server được máy chủ tự động tạo, duy trì và có thể cung cấp cho người quản trị cái nhìn chi tiết về cách thức, thời gian trang web hoặc ứng dụng được cài đặt trên server đó hoạt động như thế nào. Tuy nhiên không phải file log nào cũng có cấu trúc giống nhau, với mỗi hệ điều hành và ứng dụng khác nhau lại có những định dạng log riêng.
Sau đây là một số định dạng file log server phổ biến hiện nay: - Common Log Format Common Log Format (CLF) hay còn gọi là NCSA Common Log Format là là một định dạng tập tin văn bản tiêu chuẩn được sử dụng bởi các máy chủ web khi tạo file log server. Định dạng log CLF được đặt tên theo NCSA_HTTPd, một phần mềm web server đã ngừng hoạt động. Common Log Format được viết ở định dạng ASCII cố định (không thể tùy chỉnh) và ghi lại thông tin cơ bản về các gói http request có cấu trúc như: Host Ident Authuser Date Request Status Bytes Trong đó: Host: cung cấp địa chỉ IP address đang gửi request lên server Ident: danh tính của client Authuser: user id của client đang gửi request Date: Ngày và giờ gửi yêu cầu Request: Dòng yêu cầu từ client, được đặt trong dấu ngoặc kép (“”) Status: Mã trạng thái HTTP được trả về client(gồm ba chữ số) Bytes: kích thước của dữ liệu được trả về client được đo bằng bytes. Trong định dạng này nếu bất kỳ trường dữ liệu nào thiếu sẽ biểu thị bằng một dấu gạch ngang (-).
Luan van 8 Ví dụ một request được ghi lại ở định dạng CLF: 110.1)" - Common Event Format Common Event Format (CEF) là định dạng log có thể mở rộng được HP Arcsight giới thiệu và đề xuất giúp đơn giản hóa việc quản lý event log. CEF đã được tạo ra với mục đích xây dựng một tiêu chuẩn event log chung cho các thông tin bảo mật của các thiết bị mạng, ứng dụng và công cụ từ các nhà cung cấp khác nhau. Cấu trúc của CEF cho các event log bao gồm một tiêu đề tiêu chuẩn và một biến văn bản. Tiêu đề tiêu chuẩn của CEF thường có dạng ngày và tên máy chủ : Feb 23 12:54:06 host message Biến văn bản sẽ được định dạng như bên dưới bao gồm các tham số được phân tách nhau bằng dấu |.
CEF:Version|Device Vendor|Device Product|Device Version|Signature ID|Name |Severity|Extension Version: một số nguyên xác định phiên bản của định dạng CEF Device Vendor, Device Product and Device Version : trường xác định loại thiết bị. Loại thiết bị phải đáp ứng được yêu cầu không tồn tại hai sản phẩm có thể sử dụng cùng một cặp device-vendor lẫn device-product. Signature ID là Mã định danh duy nhất cho mỗi loại sự kiện có thể là một chuỗi hoặc một số nguyên. Name là một trường đại diện giúp quản trị viên có thể đọc và hiễu rõ hơn về sự kiện.
Tên sự kiện không được chứa thông tin được đề cập cụ thể trong các lĩnh vực khác. Severity là một số nguyên và phản ánh mức độ nghiêm trọng của sự kiện. Mức độ nghiêm trọng nằm trong khoảng từ 0 đến 10, trong đó số 10 phản ánh mức độ nghiêm trọng cao nhất. Luan van 9 Extension là tập hợp các cặp khóa-giá trị được mô tả trong trường mở rộng CEF.
Ví dụ : Sep 19 08:26:10 host CEF:0|security|threatmanager|1.0|100|worm successfully stopped|10|src=10.2 spt=1232 - JSON Log Format JSON Log Format là định dạng log được viết theo dạng chuỗi JSON. JSON Log Format giúp quản trị viên có thể phân tích nhật ký theo dạng big data. Định dạng này không chỉ giúp nội dung có thể dễ dàng đọc được mà còn hỗ trợ việc tạo một cơ sở dữ liệu có thể dễ dàng truy vấn, điều này phép tóm tắt và phân tích diễn ra nhanh hơn giúp quản trị viên giám sát ứng dụng của mình và khắc phục sự cố nhanh hơn. Ví dụ: { "timestamp": "2018-05-24 23:15:07", "id": 0, "class": "connection", "event": "connect", "connection_id": 12, "account": { "user": "user", "host": "localhost" }, "login": { "user": "user", "os": "", "ip": "::1", "proxy": "" }, "connection_data": { "connection_type": "tcp/ip", "status": 0, "db": "bank_db" } } Luan van 10 Ý nghĩa của các trường được định nghĩa như sau: Timestamp - Giá trị ngày và thời gian.
Id - Bộ đếm sự kiện nhận dạng liệt kê các sự kiện có cùng giá trị dấu thời gian. Class - Tên lớp của sự kiện. Event - Tên sự kiện của lớp được chỉ định. Connection_id - Mã định danh của kết nối (phiên) đã kích hoạt sự kiện.
Account - Tài khoản phiên hiện tại đang sử dụng. Điều này tương ứng với người dùng và máy chủ lưu trữ trong mysql. Login - Chi tiết đăng nhập được sử dụng để kết nối máy khách. Các trường còn lại của sự kiện phụ thuộc vào loại lớp sự kiện nằm trong file log để có thêm vào.
- W3C Extended Log Format W3C Extended Log Format là định dạng có thể tùy chỉnh được sử dụng bởi Microsoft Internet Information Server (IIS) phiên bản 4. Với tính năng tùy chỉnh, người dùng có thể thêm hoặc bỏ qua các trường khác nhau theo tùy theo nhu cầu công việc và phân tích. Việc tùy chỉnh cũng giúp người quản trị có thể tăng hoặc giảm kích thước của tệp để phù hợp hơn với hệ thống. Ví dụ: #Software: Microsoft Internet Information Server 6.0 #Date: 1998-11-19 22:48:39 #Fields: date time c-ip cs-username s-ip cs-method cs-uri-stem cs-uri-query sc-status sc-bytes cs-bytes time-taken cs-version cs(User-Agent) cs(Cookie) cs(Referrer) 1998-11-19 22:48:39 206.173 GET /global/images/navlineboards.01;+Windows+95) USERID=CustomerA;+IMPID=01234 http://www.com Luan van 11 Các dòng bắt đầu bằng ký tự # chứa các chỉ thị.
Các chỉ thị được định nghĩa như sau: Version: <integer>.<integer> Phiên bản của định dạng tệp log mở rộng được sử dụng.] Chỉ định các trường được ghi trong nhật ký. Software: string Xác định phần mềm tạo nhật ký Start-Date: <date> <time> Ngày và thời gian mà log được bắt đầu. End-Date:<date> <time> Ngày và thời gian mà log kết thúc. Date:<date> <time> Ngày và thời gian mà mục nhập được thêm vào.
Định nghĩa trường mở rộng W3C cho file log s- Hành động của server c- Hành động của client cs- Hành động của client tới server sc- Hành động của server tới client Bảng 1.1 Định nghĩa các tiền tố mở rộng trong W3C Date Date Ngày hoạt động xảy ra. Time Time Giờ hoạt động xảy ra. Địa chỉ IP của client truy cập máy Client IP Address c-ip chủ Tên của người dùng được xác thực User Name cs-username đã truy cập máy chủ. Nếu không tìm thấy sẽ thay thế bằng dấu (-) Luan van 12 Dịch vụ Internet và số hiệu được Service Name s-sitename khách hàng truy cập.