Tải bản đầy đủ (.docx) (51 trang)

Đồ án tìm hiểu về RSYSLOG SERVER

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.85 MB, 51 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN TỐT NGHIỆP
HỆ CỬ NHÂN CNTT

TÌM HIỂU VỀ
RSYSLOG SERVER
Cán bộ hướng dẫn: ThS Mai Vân Phương Vũ
Sinh viên thực hiện: Phạm Thanh Sơn
MSSV: K39.104.186
TP.HCM, Tháng 5 – 2019


Lời Cảm Ơn
Trước tiên em xin gửi lời cảm ơn chân thành, sâu sắc đến các thầy cô trong khoa
Công Nghệ Thông Tin trường Đại Học Sư Phạm Thành Phố Hồ Chí Minh đã tận tình
giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong thời gian
vừa qua.
Đặc biệt em xin gửi lời cảm ơn đến thầy Mai Vân Phương Vũ đã tận tình giúp
đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm tiểu luận tốt nghiệp. Trong
thời gian làm việc với thầy em đã học được rất nhiều điều bổ ích, những kiến thức cần
thiết trong quá trình làm việc sau này.
Vì kiến thức bản thân còn hạn chế, trong quá trình thực hiện bài tiểu luận em
không thể tránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từ
thầy cô.
Thành phố Hồ Chí Minh, ngày 4 tháng 5 năm 2019
Sinh viên

Mục lụ


2


CHƯƠNG 1: TÌM HIỂU VỀ RSYSLOG SERVER.................................................................4
1.

Khái niệm về Log................................................................................................................4

2.

Tác dụng của Log...............................................................................................................4

3.

Giới thiệu về Syslog............................................................................................................4

4.

Các khái niệm cơ bản của syslog......................................................................................5
4.1 Facility...............................................................................................................................5
4.2 Priority..............................................................................................................................7
4.3 Selector và Action............................................................................................................7
4.4 Các câu lệnh hỗ trợ xem file log....................................................................................8
4.5 Chi tiết file cấu hình của Rsyslog..................................................................................8

CHƯƠNG 2: XÂY DỰNG MÔ HÌNH VÀ...............................................................................11
CÁC CÔNG CỤ DÙNG ĐỂ XÂY DỰNG MÔ HÌNH............................................................11
1.

Xây dựng mô hình...............................................................................................................11


2.

Các bước cài đặt...................................................................................................................11
2.1 Cài đặt Server – Hệ điều hành Centos.......................................................................11
2.3

Cài đặt Rsyslog trên 2 máy Client và Server........................................................36

2.4

Xuất log đến máy chủ...............................................................................................36

2.5

Cài đặt MariaDB.......................................................................................................37

2.6

Cấu hinh để lưu log vào cơ sở dữ liệu....................................................................37

2.7

Cài đặt và cấu hình Httpd.......................................................................................38

2.8

Cài đặt và sử dụng LogAnalyzer............................................................................39

CHƯƠNG 3: NGHIỆM THU ĐỀ TÀI.................................................................................44

1.

Những kiến thức được củng cố.......................................................................................44

2.

Kỹ năng được học hỏi......................................................................................................44

Tài liệu tham khảo.......................................................................................................................45

3


CHƯƠNG 1: TÌM HIỂU VỀ RSYSLOG SERVER
1. Khái niệm về Log
Log là một danh sách chi tiết ghi lại toàn bộ thông tin ứng dụng, hiệu suất của hệ
thống, các hoạt động của user. Log có thể được dùng để theo dõi việc sử dụng máy
tính, phục hồi khẩn cấp, cải thiện ứng dụng. Mỗi phần mềm có khả năng tạo log sẽ có
những phương thức khác nhau để bắt đầu hoặc dừng việc tạo log.

2. 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 cả hệ thống hoặc của các dịch
vụ được triển khai trên hệ thống và file tương ứng. Log file thường là các file văn bản
thông thường dưới dạng “clear text” tức là bạn có thể dễ dàng đọc được nó, vì thế có
thể sử dụng các trình soạn thảo văn bản (vi, vim, nano...) hoặc các trình xem văn bản
thông thường (cat, tailf, head...) là có thể xem được file log.
Các file log có thể nói cho bạn bất cứ thứ gì bạn cần biết, để giải quyết các rắc rối
mà bạn gặp phải miễn là bạn biết ứng dụng nào, tiến trình nào được ghi vào log nào cụ
thể.Trong hầu hết hệ thống Linux thì /var/log là nơi lưu lại tất cả các log.
Tác dụng của log là vô cùng to lớn, nó có thể giúp quản trị viên theo dõi hệ thống

của mình tôt hơn, hoặc giải quyết các vấn đề gặp phải với hệ thống hoặc service. Điều
này đặc biệt quan trọng với các hệ thống cần phải online 24/24 để phục vụ nhu cầu của
mọi người dùng.

3. Giới thiệu về Syslog
Syslog là một giao thức client/server là giao thức dùng để chuyển log và thông điệp
đến máy nhận log. Máy nhận log thường được gọi là syslogd, syslog daemon hoặc
syslog server. Syslog có thể gửi qua UDP hoặc TCP. Các dữ liệu được gửi dạng
cleartext. Syslog dùng cổng 514.
Syslog được phát triển năm 1980 bởi Eric Allman, nó là một phần của dự án
Sendmail, và ban đầu chỉ được sử dụng duy nhất cho Sendmail. Nó đã thể hiện giá trị
của mình và các ứng dụng khác cũng bắt đầu sử dụng nó.

4


Syslog hiện nay trở thành giải pháp khai thác log tiêu chuẩn trên Unix-Linux cũng
như trên hàng loạt các hệ điều hành khác và thường được tìm thấy trong các thiết bị
mạng như router Trong năm 2009, Internet Engineering Task Forec (IETF) đưa ra
chuẩn syslog trong RFC 5424
Syslog ban đầu sử dụng UDP, điều này là không đảm bảo cho việc truyền tin. Tuy
nhiên sau đó IETF đã ban hành RFC 3195 Reliable Delivery for syslog - đảm bảo tin
cậy cho syslog và RFC 6587 Transmission of Syslog Messages over TCP - Truyền tải
thông báo syslog qua TCP. Điều này có nghĩa là ngoài UDP thì giờ đây syslog cũng đã
sử dụng TCP để đảm bảo an toàn cho quá trình truyền tin.
Trong chuẩn syslog, mỗi thông báo đều được dán nhãn và được gán các mức độ
nghiêm trọng khác nhau. Các loại phần mềm sau có thể sinh ra thông báo: auth,
authPriv, daemon, cron, ftp, dhcp, kern, mail, syslog, user, ... Với các mức độ nghiêm
trọng từ cao nhất trở xuống Emergency, Alert, Critical, Error, Warning, Notice, Info,
and Debug.

Một máy chủ syslog đại diện cho một điểm giám sát log trên một mạng , mà tất cả
các loại thiết bị bao gồm cả máy chủ Linux hoặc Windows ... đều có thể gửi các bản
ghi log đến đó. Bằng cách thiết lập một máy chủ syslog , bạn có thể lọc và củng cố các
bản ghi từ máy chủ và các thiết bị khác nhau vào một vị trí duy nhất, do đó bạn có thể
xem và lưu trữ thông tin quan trọng dễ dàng hơn
Trên hầu hết các bản phân phối Linux , rsyslog đã cài đặt sẵn. Cấu hình trong một
kiến trúc client / server , rsyslog có thể đóng cả hai vai trò ; như một máy chủ syslog
rsyslog có thể thu thập các bản ghi từ các thiết bị khác , và như là một client syslog ,
rsyslog có thể truyền tải các bản ghi nội bộ của nó đến một máy chủ syslog từ xa

4. Các khái niệm cơ bản của syslog.
4.1 Facility
Giúp kiểm soát log đến dựa vào nguồn gốc được quy định như từ ứng dụng hay tiến
trình nào. Syslog sử dụng facility để quy hoạch lại log, như vậy có thể coi facility là đại
diện cho đối tượng nào tạo ra thông báo (kernel, process, apps,..)

5


Các loại facility được sử dụng và quy định trong hệ thống Linux
auth
authpriv
console

Sử dụng cho những sự kiện bảo mật, liên quan đến xác thực
Các thông báo liên quan đến kiểm soát truy cập và bảo mật
Được sử dụng để nắm bắt thông điệp mà thông thường sẽ được chuyển đến bảng

cron


điều khiển hệ thống
Là một tiện ích cho phép thực hiện các tác vụ một cách tự động theo định kỳ, ở chế

daemon

độ nền của hệ thống
Sử dụng bởi các tiến trình hệ thống và các deamons khác (daemon là một chương
trình hoạt động liên tục, khác với các ứng trình bình thường ở chỗ, các ứng trình

kern
ftp
mail
lpr
mark
news
syslog
user
uucp

bình thường thường dừng lại sau khi hoàn tất một hoặc một chuỗi các thao tác
Các thông báo từ kernel
Log liên quan đến dịch vụ ftp
Log liên quan đến hệ thống mail
Hệ thống in ấn
Những thông báo được generated bởi bản thân syslog
Hệ thống tin tức, liên quan đến giao thức Network News Protocol (NTP)
Những thông báo được generated bởi bản thân syslog
Thông báo về tiến trình người dùng thông thường
Hệ thống con UUCP. Unix-to-unix là một tập hợp các chương trình mức thấp cho


local0 to

phép kết nối các máy Unix với nhau
Dự trữ cho sử dụng nội bộ

local7

4.2 Priority
Mức độ quan trọng của log message được chỉ định
debug
info
notice

Các messages ở chế độ debug
Các messages mang thông tin
Các messages mang tính chất thông báo
6


warning
err
crit
alert
emerg

Các messages mang tính cảnh báo
Các messges lỗi
Các messages nguy hiểm
Các messages về các hành động phải được thực hiện ngay
Các messages khi hệ thống không thể dung được nữa


4.3 Selector và Action
Selector là sự kết hợp giữa facilities và level (facility.level), tức khi một event xảy
ra nó sẽ xem có match bất kì selector nào hay không, nếu có thì hành động tương ứng
như khi cấu hình sẽ được thực thi.
Action đại diện cho địa chỉ của messages tương ứng với facility.level. Action có thể
là một tên file, một host name đứng trước kí tự @, hoặc một danh sách người dung
ngăn cách bằng dấu phẩy, hoặc một dấu *.
Bên cạnh đó, có 2 cách thức ghi log cơ bản:
-

[Program] -> [log_file]

-

[Program] -> syslog -> [log_file]

4.4 Các câu lệnh hỗ trợ xem file log
Câu lệnh Cú pháp
more
More [file]

Ý nghĩa
Ghi chú thêm
Dùng xem toàn bộ nội dung của Đối với câu lệnh này, nội dung
thư mục

tail
head


được xem theo từng trang, dung dấu

tail [file]

“cách” để chuyển trang
In ra 10 dòng cuối cùng của nội Thêm tùy chọn –n [số dòng] sẽ in ra

head [file]

dung file
số dòng theo yêu cầu
In ra 10 dòng đầu tiên của nội
7


tail -f

dung file
tail –f [file] Dung để xem ngay khi có log đến Đây là câu lệnh dùng phổ biến nhất,
giúp ta có thể xem ngay log mới
đến và in ra 10 dòng cuố icùng
trong nội dung 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

Rule trong file cấu hình ở máy server

8



Trong UBUNTU, file cấu hình là /etc/rsyslog.conf nhưng các rule được định
nghĩa riêng trong /etc/rsyslog.d/50-default.conf . File rule này được khai báo include từ
file cấu hình

Cơ bản trong file cấu hình của syslog cho chúng ta thấy được nơi lưu trữ của đối
với các tiến trình của hệ thống, lấy ví dụ như hình sau:

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

9


Một số lưu ý với các dòng lệnh sau:
mail.info

/var/log/mail

Khi đó bản tin log sẽ mail lại với mức cảnh báo từ info trở lên. Cụ thể là mức
notice, warn,… nếu chỉ muốn nó log lại mail với mức info thì phải sử dụng như sau

mail.=info

/var/log/mail

mail.*
Lúc này kí tự * đại diện cho các mức đăng ý. Lúc này nó sẽ lưu hết các mức của
mail vào trong thư mục. Tương tự khi đặt *. Thì lúc này nó sẽ log lại tất cả các tiến
trình của hệ thống vào một file. Nếu bạn muốn log lại tiến trình của mail ngoại trừ mức
info bạn có thể dùng kí tự !, ví dụ: mail.!info
*.info;auth.none;mail.none

/var/log/message

Lúc này tất cả các log từ info của tiến trình hệ thống sẽ được lưu vào trong thư
mục message nhưng đối với các log của mail và auth sẽ không lưu vào message. Đó là
ý nghĩa của dòng auth.none;mail.none

10


CHƯƠNG 2: XÂY DỰNG MÔ HÌNH VÀ
CÁC CÔNG CỤ DÙNG ĐỂ XÂY DỰNG MÔ HÌNH
1. Xây dựng mô hình

Máy Server
Máy Client
Web Tool

Hệ điều hành: Centos
Hệ điều hành: Ubuntu

LogAnalyzer

IP: 192.168.217.139
IP: 192.168.217.140

2. 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

11


Bước 2: Chọn ngôn ngữ sử dụng trong quá trình cài đặt

Bước 3: Cài đặt TimeZone

12


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”

13


Bước 6: Nhấp vào dấu cộng để thêm keyboard theo ngôn ngữ muốn dùng

14



Bước 7: Chọn loại ngôn ngữ cần thêm và chọn “Add”

Bước 8: Sau khi thêm keyboard, tùy chọn ưu tiên keyboard đó và nhấn “Done”

15


Bước 9: Quay về màn hình chính, chọn “INSTALLATION DESTINATION” icon

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"
16


ở 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”

17


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.

18


Bước 13: Nhấp “Done” để hoàn thành

19


Bước 14: Chọn “Begin Installation”

20


Bước 15: Cài đặt bắt đầu và yêu cầu thiết lập mật khẩu gốc và tạo ra một người dùng
thông thường. Nhấp vào mỗi biểu tượng và di chuyển đến cấu hình

21


22



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.

23


24


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

25


×