1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

51 36 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 3,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. Cấu hình trong mộtkiến trúc client

Trang 1

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

Trang 2

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 khoaCông Nghệ Thông Tin trường Đại Học Sư Phạm Thành Phố Hồ Chí Minh đã tận tìnhgiảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong thời gianvừ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 Trongthờ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ầnthiế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 emkhô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ụ

Trang 3

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

Trang 4

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áytí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ảnthô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ảnthô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ốngcủ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ềunà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ủamọ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ặcsyslog server Syslog có thể gửi qua UDP hoặc TCP Các dữ liệu được gửi dạngcleartext 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ự ánSendmail, 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ó

Trang 5

Syslog hiện nay trở thành giải pháp khai thác log tiêu chuẩn trên Unix-Linux cũngnhư 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 rachuẩ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 Tuynhiên sau đó IETF đã ban hành RFC 3195 Reliable Delivery for syslog - đảm bảo tincậy cho syslog và RFC 6587 Transmission of Syslog Messages over TCP - Truyền tảithô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êmtrọ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ảnghi 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ácbả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ộtkiến trúc client / server , rsyslog có thể đóng cả hai vai trò ; như một máy chủ syslogrsyslog 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ếntrình nào Syslog sử dụng facility để quy hoạch lại log, như vậy có thể coi facility là đạidiện cho đối tượng nào tạo ra thông báo (kernel, process, apps, )

5

Trang 6

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

auth Sử dụng cho những sự kiện bảo mật, liên quan đến xác thực

authpriv Các thông báo liên quan đến kiểm soát truy cập và bảo mật

console Được sử dụng để nắm bắt thông điệp mà thông thường sẽ đượ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ụ một cách tự động theo định kỳ, ở chế

độ nền của hệ thống

daemon 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 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áckern Các thông báo từ kernel

ftp Log liên quan đến dịch vụ ftp

mail Log liên quan đến hệ thống mail

lpr Hệ thống in ấn

mark Những thông báo được generated bởi bản thân syslog

news Hệ thống tin tức, liên quan đến giao thức Network News Protocol (NTP)

syslog Những thông báo được generated bởi bản thân syslog

user Thông báo về tiến trình người dùng thông thường

uucp 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

phép kết nối các máy Unix với nhau

local0 to

local7

Dự trữ cho sử dụng nội bộ

4.2 Priority

Mức độ quan trọng của log message được chỉ định

debug Các messages ở chế độ debug

info Các messages mang thông tin

notice Các messages mang tính chất thông báo

Trang 7

warning Các messages mang tính cảnh báo

err Các messges lỗi

crit Các messages nguy hiểm

alert Các messages về các hành động phải được thực hiện ngay

emerg 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 ứngnhư 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 dungngă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

more More [file] Dùng xem toàn bộ nội dung của

thư mục

Đối với câu lệnh này, nội dungđược xem theo từng trang, dung dấu

“cách” để chuyển trangtail tail [file] In ra 10 dòng cuối cùng của nội

Trang 8

dung filetail -f 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ùngtrong 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

Trang 9

Trong UBUNTU, file cấu hình là /etc/rsyslog.conf nhưng các rule được địnhnghĩ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 đốivớ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

Trang 10

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

Trang 11

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

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

Trang 12

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

Trang 13

Bước 4: Chọn mốc thời gian trên bản đồ và nhấn “Done”

Bước5: Quay lại màn hình mặc định và chọn icon “Keyboard”

13

Trang 14

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

Trang 15

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

Trang 16

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

Bước10:Chọnđĩa càiđặt.Nhấpvàobiểutượngđĩa bạnmuốncài đặt

và nhấpvào nút

"Done"

Trang 17

ở 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 đánhdấ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

Trang 18

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

Trang 19

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

19

Trang 20

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

Trang 21

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

Trang 23

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ườidù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

Trang 25

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

Trang 26

2.2 Cài đặt máy Client - Ubuntu

Trang 27

Bước 3: Chọn ngôn ngữ cho tiến trình cài đặt

27

Trang 28

Bước 4: Chọn vị trí địa lý

Bước 5: Chọn cấu hình bàn phím mặc định

Trang 29

Bước 6: Chọn ngôn ngữ mặc định nguồn gốc quốc gia

Bước 7: Chọn ngôn ngữ mặc định cho bàn phím

29

Trang 30

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

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

Trang 31

Bước 11: Chọn tên máy chủ như bạn muốn:

Bước 12: Chọn tên user

31

Trang 32

Bước 13:Chọn password

Bước 14:Chọn không chọn mã hóa thư mục chính

Trang 33

Bước 15: Điều chỉnh thời gian

và múi giờ

33

Trang 34

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

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

Trang 35

Bước 18:Chọn phân vùng

Bước 19:Chọn

“Yes” để bắt đầu ghi đè thay đổi

cấu hình LVM

35

Trang 36

Bước 20: Chọn “Yes” để thực sự thay đổi ổ đĩa

Trang 37

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

37

Trang 38

Bước 23: Chọn “Tiếp tục”

Bước 24: Chọn những phần mềm để cài đặt

Trang 39

Bước 25: Chọn “I choose the automatic method”

Bước 26: Chọn “Continue”

39

Trang 40

Bước 27: Hoàn tất Cleaning up

Bước 28: Cài đặt Grub

Trang 41

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

41

Trang 42

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ủ

Cấu hình ở máy server:

- Dùng câu lệnh vi /etc/rsyslog.conf để mở file config

- 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

Trang 43

- 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

# line 73: uncomment all

$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

$ActionQueueType LinkedList # run asynchronously

$ActionResumeRetryCount -1 # infinite retries if host is down

- Dùng câu lệnh restart rsyslog để khởi động lại dịch vụ

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

# add: define logfiles

- 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

43

Trang 44

o Remove test database ? [Y/n] y

o Reload privilege tables ? [Y/n] y

- Kết nối đến cơ sở dữ liệu bằng user root

o Dùng câu lệnh mysql –u root –p để truy cập

o Để show user list dùng lệnh select user,host,password from mysql.user;

o Để show danh sách cơ sở dữ liệu dùng lệnh 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

- 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

Bước 1:

- Dùng lệnh yum –y install httpd để cài đặt

- Dùng lệnh rm –f /etc/httpd/conf.d/welcome.conf để xóa trang welcome

Bước 2: Dùng lệnh vi /etc/httpd/conf/httpd.conf để mở file cấu hình và thay đổi các câulệnh sau đây

- ServerAdmin root@localhost

- ServerName 192.168.217.138:80

Ngày đăng: 27/08/2020, 14:32

TỪ KHÓA LIÊN QUAN

w