TÌM HIỂU VỀ RSYSLOG SERVER
Khái niệm về Log
Log là danh sách chi tiết ghi lại thông tin ứng dụng, hiệu suất hệ thống và hoạt động của người dùng Nó được sử dụng để theo dõi việc sử dụng máy tính, phục hồi khẩn cấp và cải thiện ứng dụng Mỗi phần mềm có khả năng tạo log sẽ có các phương thức riêng để bắt đầu hoặc dừng quá trình này.
Tác dụng của Log
Log ghi lại liên tục các thông báo về hoạt động của hệ thống và dịch vụ triển khai Các file log thường là file văn bản dạng "clear text", dễ dàng đọc và kiểm tra bằng các trình soạn thảo văn bản như vi, vim, nano hoặc các lệnh xem văn bản như cat, tailf, head.
Các file log cung cấp thông tin cần thiết để giải quyết các vấn đề mà bạn gặp phải, miễn là bạn xác định đúng ứng dụng hoặc tiến trình liên quan Trên hầu hết các hệ thống Linux, tất cả các log được lưu trữ tại thư mục /var/log.
Log đóng vai trò quan trọng trong việc quản trị hệ thống, giúp các quản trị viên theo dõi hiệu quả và nhanh chóng giải quyết các vấn đề phát sinh Điều này càng trở nên cần thiết đối với những hệ thống yêu cầu hoạt động liên tục 24/7 để đáp ứng nhu cầu của người dùng.
Giới thiệu về Syslog
Syslog là giao thức client/server dùng để truyền tải log và thông điệp đến máy nhận log, thường được gọi là syslogd, syslog daemon hoặc syslog server Giao thức này có khả năng gửi dữ liệu qua UDP hoặc TCP, với thông tin được truyền dưới dạng cleartext và sử dụng cổng 514.
Syslog, được phát triển bởi Eric Allman vào năm 1980 trong khuôn khổ dự án Sendmail, ban đầu chỉ phục vụ cho Sendmail Tuy nhiên, với giá trị mà nó mang lại, Syslog đã nhanh chóng được các ứng dụng khác áp dụng rộng rãi.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Syslog đã trở thành giải pháp tiêu chuẩn để khai thác log trên các hệ điều hành Unix-Linux và nhiều hệ điều hành khác, thường được sử dụng trong các thiết bị mạng như router Năm 2009, Internet Engineering Task Force (IETF) đã công bố chuẩn syslog trong RFC 5424.
Syslog ban đầu sử dụng giao thức UDP, điều này gây ra rủi ro cho việc truyền tin không đáng tin cậy Tuy nhiên, IETF đã phát hành RFC 3195 về việc đảm bảo truyền tải tin cậy cho syslog và RFC 6587 quy định việc truyền tải thông báo syslog qua giao thức TCP Do đó, hiện nay syslog không chỉ sử dụng UDP mà còn áp dụng TCP để tăng cường độ an toàn trong quá trình truyền tin.
Trong chuẩn syslog, mỗi thông báo được gán nhãn và phân loại theo mức độ nghiêm trọng khác nhau, bao gồm các loại phần mềm như auth, authPriv, daemon, cron, ftp, dhcp, kern, mail, syslog và user Các mức độ nghiêm trọng được sắp xếp từ cao nhất đến thấp nhất là: Emergency, Alert, Critical, Error, Warning, Notice, Info và Debug.
Máy chủ syslog là một điểm giám sát log trên mạng, cho phép tất cả các thiết bị, bao gồm máy chủ Linux và Windows, gửi bản ghi log đến một vị trí trung tâm Việc thiết lập máy chủ syslog giúp bạn lọc và tập hợp các bản ghi từ nhiều nguồn khác nhau, giúp dễ dàng xem và lưu trữ thông tin quan trọng.
Rsyslog thường được cài đặt sẵn trên hầu hết các bản phân phối Linux Trong kiến trúc client/server, rsyslog có thể hoạt động như một máy chủ syslog để thu thập bản ghi từ các thiết bị khác, hoặc như một client syslog để gửi các bản ghi nội bộ đến một máy chủ syslog từ xa.
Các khái niệm cơ bản của syslog
Syslog cho phép kiểm soát log dựa trên nguồn gốc của chúng, như từ ứng dụng hoặc tiến trình nào Facility trong Syslog được sử dụng để phân loại và tổ chức log, do đó, facility có thể được xem như là đại diện cho đối tượng tạo ra thông báo, chẳng hạn như kernel, tiến trình hoặc ứng dụng.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Trong hệ thống Linux, các loại facility được sử dụng để quản lý và quy định các sự kiện bảo mật liên quan đến xác thực bao gồm authpriv, thông báo kiểm soát truy cập và bảo mật console Facility này giúp nắm bắt thông điệp thường được chuyển đến bảng điều khiển hệ thống Cron là một tiện ích cho phép thực hiện các tác vụ tự động theo định kỳ trong chế độ nền của hệ thống daemon, được sử dụng bởi các tiến trình hệ thống và các daemon khác Ngoài ra, kernel cũng phát sinh thông báo liên quan đến các dịch vụ như ftp, mail và lpr cho hệ thống in ấn Các thông báo khác bao gồm mark từ syslog, thông tin từ hệ thống tin tức liên quan đến giao thức Network News Protocol (NTP), và thông báo từ tiến trình người dùng thông thường Hệ thống con UUCP cho phép kết nối giữa các máy Unix, trong khi local0 đến local7 được sử dụng để phân loại các loại thông báo khác nhau trong syslog.
Dự trữ cho sử dụng nội bộ
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Mức độ quan trọng của các log message được phân loại như sau: Messages ở chế độ debug chứa thông tin chi tiết để phát hiện lỗi; messages ở chế độ info cung cấp thông tin hữu ích; messages notice mang tính chất thông báo; messages warning cảnh báo về các vấn đề có thể xảy ra; messages err chỉ ra các lỗi đã xảy ra; messages crit đề cập đến các tình huống nghiêm trọng; messages alert yêu cầu hành động ngay lập tức; và messages emerg thông báo khi hệ thống không còn khả năng hoạt động.
A selector is a combination of facilities and levels (facility.level), which means that when an event occurs, it checks for any matching selectors If a match is found, the corresponding actions configured will be executed.
Action represents the address of messages corresponding to facility.level It can be a filename, a hostname preceding the @ symbol, a list of users separated by commas, or an asterisk (*).
Bên cạnh đó, có 2 cách thức ghi log cơ bản:
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
4.4 Các câu lệnh hỗ trợ xem file log
Câu lệnh "more [file]" cho phép người dùng xem toàn bộ nội dung của một thư mục Khi sử dụng câu lệnh này, nội dung sẽ được hiển thị theo từng trang, giúp người dùng dễ dàng theo dõi và đọc thông tin.
“cách” để chuyển trang tail tail [file] In ra 10 dòng cuối cùng của nội dung file
Sử dụng tùy chọn –n [số dòng] để in ra số dòng theo yêu cầu Lệnh `head [file]` hiển thị 10 dòng đầu tiên của nội dung file, trong khi lệnh `tail -f [file]` cho phép theo dõi log theo thời gian thực Đây là lệnh phổ biến nhất, giúp người dùng xem ngay log mới và in ra 10 dòng cuối cùng trong file.
4.5 Chi tiết file cấu hình của Rsyslog
Trong CENTOS, file cấu hình là /etc/rsyslog.conf File này chứa cả các rule về log
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Rule trong file cấu hình ở máy server
Trong hệ điều hành UBUNTU, file cấu hình chính cho rsyslog là /etc/rsyslog.conf, trong khi các quy tắc cụ thể được định nghĩa trong file /etc/rsyslog.d/50-default.conf File quy tắc này được khai báo để bao gồm từ file cấu hình chính.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Trong file cấu hình của syslog, chúng ta có thể xác định vị trí lưu trữ cho các tiến trình của hệ thống, như minh họa trong hình dưới đây.
Trong syslog nhưng rule trên được chia làm 2 trường:
- Trường 1: Trường Selector (ô số 1) chỉ ra nguồn tạo ra log và mức cảnh báo của log đó, trong trường selector có 2 thành phần và được tách nhau bằng dấu “.”
- Trường 2: Trường action (ô số 2) chỉ ra nơi lưu log của tiến trình đó Có 2 loại là lưu tại file trong localhost hoặc gửi đến IP của máy chủ Log
Rule trong file config ở máy client
Một số lưu ý với các dòng lệnh sau: mail.info /var/log/mail
Để cấu hình bản tin log gửi email với mức cảnh báo từ info trở lên, bạn cần sử dụng lệnh mail.=info /var/log/mail Điều này sẽ đảm bảo rằng chỉ những thông báo có mức độ notice, warn và cao hơn mới được gửi qua email.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com mail.*
Kí tự * được sử dụng để đại diện cho các mức đăng ký, cho phép lưu trữ tất cả các mức của email vào thư mục Tương tự, khi sử dụng *, hệ thống sẽ ghi lại tất cả các tiến trình vào một file Để ghi lại tiến trình của email ngoại trừ mức thông tin, bạn có thể sử dụng kí tự !, ví dụ: mail.!info.
*.info;auth.none;mail.none /var/log/message
Tất cả các log từ tiến trình hệ thống sẽ được lưu trữ trong thư mục message, ngoại trừ các log liên quan đến mail và auth, không được ghi vào message Điều này được thể hiện qua dòng lệnh auth.none; mail.none.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
XÂY DỰNG MÔ HÌNH VÀ
Xây dựng mô hình
Máy Server Hệ điều hành: Centos IP: 192.168.217.139 Máy Client Hệ điều hành: Ubuntu IP: 192.168.217.140
Các bước cài đặt
2.1 Cài đặt Server – Hệ điều hành Centos
Bước 1: Sử dụng phần mềm VMWare để tạo máy Server
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 2: Chọn ngôn ngữ sử dụng trong quá trình cài đặt
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 4: Chọn mốc thời gian trên bản đồ và nhấn “Done”
Bước 5: Quay lại màn hình mặc định và chọn icon “Keyboard”
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 6: Nhấp vào dấu cộng để thêm keyboard theo ngôn ngữ muốn dùng
Bước 7: Chọn loại ngôn ngữ cần thêm và chọn “Add”
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 8: Sau khi thêm keyboard, tùy chọn ưu tiên keyboard đó và nhấn “Done”
Bước 9: Quay về màn hình chính, chọn “INSTALLATION DESTINATION” icon
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 10: Chọn đĩa cài đặt Nhấp vào biểu tượng đĩa bạn muốn cài đặt và nhấp vào nút
"Done" ở phía trên bên trái để tiếp tục Nếu bạn muốn tùy chỉnh bố cục phân vùng, hãy đánh dấu hộp "I will configure partitioning" và tiếp tục.
Bước 11: Quay về màn hình mặc định và chọn “NETWORK & HOSTNAME”
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 12: Nhập bất kỳ tên máy chủ bạn thích trong trường "Hostname" và nhấp vào nút
"On" ở phía trên bên phải để enable mạng.
Bước 13: Nhấp “Done” để hoàn thành
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 15: Tiến hành cài đặt ban đầu bằng cách thiết lập mật khẩu gốc và tạo một tài khoản người dùng thông thường Nhấn vào từng biểu tượng để thực hiện cấu hình.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 16: Trên cài đặt mật khẩu gốc, nhập mật khẩu bạn muốn và nhấp vào nút "Done" để kết thúc
Bước 17: Trên cài đặt người dùng phổ biến, nhập bất kỳ tên người dùng và mật khẩu mà bạn muốn và nhấp vào nút "Xong" để hoàn thành.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 18: Sau khi cài đặt xong chọn nút “Reboot”
Bước 19: Sau khi reboot, đăng nhập bằng user và password đã cài đặt Cài đặt hoàn tất
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
2.2 Cài đặt máy Client - Ubuntu
Bước 1: Chọn ngôn ngữ sử dụng
Bước 2: Chọn cài đặt Ubuntu Server
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 3: Chọn ngôn ngữ cho tiến trình cài đặt
Bước 4: Chọn vị trí địa lý
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 5: Chọn cấu hình bàn phím mặc định
Bước 6: Chọn ngôn ngữ mặc định nguồn gốc quốc gia
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 7: Chọn ngôn ngữ mặc định cho bàn phím
Bước 8: Tại thời điểm này hệ thống sẽ phát hiện phần cứng để tìm một ổ đĩa CD-ROM
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 9: Tại bước này, cài đặt sẽ phát hiện và tải bất kỳ thành phần bổ sung nào
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 10: Tại bước này, cài đặt sẽ phát hiện phần cứng mạng
Bước 11: Chọn tên máy chủ như bạn muốn:
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Chọn không chọn mã hóa thư mục chính
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 15: Điều chỉnh thời gian và múi giờ
Bước 16: Tại thời điểm này, cài đặt đang phát hiện đĩa và phần cứng khác
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 17: Ở giai đoạn này là bạn đã phân vùng đĩa của bạn, chọn mặc định
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 19: Chọn “Yes” để bắt đầu ghi đè thay đổi ổ đĩa và cấu hình LVM
Bước 20: Chọn “Yes” để thực sự thay đổi ổ đĩa
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 21: Tại thời điểm này, cài đặt đang sao chép dữ liệu
Bước 22: Tại thời điểm này, cài đặt cấu hình Apt Sources.List
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 24: Chọn những phần mềm để cài đặt
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 25: Chọn “I choose the automatic method”
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 27: Hoàn tất Cleaning up
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 29: Chọn “Yes” để cài đặt grub vào Master Boot Record
Bước 30: Cài đặt hoàn tất
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
2.3 Cài đặt Rsyslog trên 2 máy Client và Server Ở máy Server:
- Dùng câu lệnh yum –y install rsyslog để cài đặt Ở máy client:
- Dùng câu lệnh apt-get install rsyslog để cài đặt
2.4 Xuất log đến máy chủ
- Dùng câu lệnh vi /etc/rsyslog.conf để mở file config
# specify senders you permit to access
- Dùng câu lệnh systemctl restart rsyslog để khởi động lại dịch vụ
- Dùng câu lệnh tail -10 /var/log/secure để xem thông tin log Cấu hình ở máy client
- Dùng câu lệnh nano /etc/rsyslog.conf để mở file config
# for exmaple, output logs for "authpriv.*" to remote host authpriv.* @@dlp.srv.world:514
$ActionQueueFileName fwdRule1 # unique name prefix for spool files
$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
$ActionResumeRetryCount -1 # infinite retries if host is down
- Dùng câu lệnh restart rsyslog để khởi động lại dịch vụ
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Nếu muốn phân chia ra từng host, từng ngày thì ta cấu hình trong file config của server như sau
$template Secure_log,"/var/log/secure.d/%fromhost%_%$year%%$month%%$day
# add: specify logfiles defined above authpriv.* -?Secure_log
Sau đó khởi động lại dịch vụ
- Dùng câu lệnh yum –y install mariadb-server để cài đặt
- Dùng câu lệnh vi /etc/my.cnf để vào file cấu hình và thêm dòng lệnh [mysqld] character-set-server=utf8
- Khởi động lại dịch vụ và enable dịch vụ bằng 2 câu lệnh systemctl start mariadb - systemctl enable mariadb
- Cài đặt ban đầu cho MariaDB o Dùng câu lệnh mysql_secure_installation để bắt đầu cấu hình o Set root password ? [Y/n] y o Remove anonymous users ? [Y/n] y o Remove test database ? [Y/n] y o Reload privilege tables ? [Y/n] y
To connect to the database using the root user, utilize the command `mysql -u root -p` for access To display the list of users, execute the query `SELECT user, host, password FROM mysql.user;` Additionally, to view the available databases, run the command `SHOW DATABASES;`.
2.6 Cấu hinh để lưu log vào cơ sở dữ liệu
Bước 1: Cài đặt và cấu hình MariaDB Bước 2: Tạo user và database cho rsyslog
- Dùng câu lệnh yum –y install rsyslog-mysql
- Dùng câu lệnh cat /usr/share/doc/rsyslog-mysql-*/created.sql | mysql -u root -p
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
- Dùng lệnh mysql –u root –p để truy cập vào cơ sở dữ liệu
- Dùng lệnh grant all privileges on Syslog.* to root@;localhost’ identified by
‘1234567’; để tạo user dùng để truy cập vào cơ sở dữ liệu
- Dùng lệnh flush privileges Bước 3: Cấu hình trong file config ở server
- Dùng lệnh vi /etc/rsyslog.conf
- Thêm vào dòng lệnh $ModLoad ommysql
- Thêm vào dòng lệnh authpriv.* :ommysql:localhost,Syslog,root,1234567
- Khởi động lại dịch vụ Bước 4: Sau khi cấu hình xong,truy cập vào cơ sở dữ liệu
- Dùng lệnh mysql –u root –p Syslog để mở cơ sở dữ liệu
- Dùng lệnh show tables; để xem các bảng
- Dùng lệnh select ReceivedAt,Facility,Priority,FromHost,Message from
SystemEvents; để xem chi tiết log
2.7 Cài đặt và cấu hình Httpd
- Dùng lệnh yum –y install httpd để cài đặt
Để xóa trang chào mừng, sử dụng lệnh `rm –f /etc/httpd/conf.d/welcome.conf` Tiếp theo, mở file cấu hình bằng lệnh `vi /etc/httpd/conf/httpd.conf` và thực hiện các thay đổi cần thiết.
- DirectoryIndex index.html index.cgi index.php
- KeepAlive On Bước 3: Khởi động lại dịch vụ httpd
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
2.8 Cài đặt và sử dụng LogAnalyzer
Bước 1: Download và Giải nén LogAnalyzer
- Dùng lệnh wget http://download.adiscon.com/loganalyzer/loganalyzer- 3.6.5.tar.gz để download
- Dùng lệnh tar xvfz loganalyzer-3.6.5.tar.gz để giải nén file Bước 2: Tạo file config
Dùng các dòng lệnh sau cd /var/www/html/loganalyzer
# chown apache:apache config.php
Bước 3: Bắt đầu cài đặt web
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 3.2: Đảm bảo file config.php có thể ghi được và nhấn Next.
Bước 3.3: Điền đầy đủ thông tin về cơ sở dữ liệu của rsyslog và nhấn Next.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 3.4: Tạo bảng cho cơ sở dữ liệu Nhấn Next.
Bước 3.5: Kết quả của việc tạo bảng Just click Next
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 3.6: Tạo tài khoản Administrator và click Next.
Step 3.7: Điền đầy đủ thông tin về cơ sở dữ liệu của rsyslog và nhấn Next.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
Bước 3.8: Cài đặt hoàn tất và nhấn Finish.
Bước 3.9: Đăng nhập vào LogAnalyzer sử dụng tài khoản Administrator đã được tạo ở Bước 3.6.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com
NGHIỆM THU ĐỀ TÀI
Những kiến thức được củng cố
- Củng cố kiến thức về mạng, những kiến thức về mã nguồn mở.
- Cách thiết kế một mô hình nhỏ để thử nghiệm.
- Kiến thức mới về Rsyslog Server.
Kỹ năng được học hỏi
- Nhận biết được lỗi trong quá trình xây dựng mô hình.
- Những bước xử lý sự cố về mạng (2 máy không giao tiếp được, các máy không giao tiếp đươc với internet bên ngoài).
- Lên kế hoạch thực hiện để thiết kế một mô hình thu nhỏ thử nghiệm.
- Cách thức cấu hình các máy server và client.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com