這篇文章主要介紹“CentOS7系統(tǒng)怎么配置rsyslog服務發(fā)送和接收日志”,在日常操作中,相信很多人在CentOS7系統(tǒng)怎么配置rsyslog服務發(fā)送和接收日志問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”CentOS7系統(tǒng)怎么配置rsyslog服務發(fā)送和接收日志”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!一、
操作目的和應用場景
創(chuàng)新互聯(lián)是一家專注于做網(wǎng)站、成都網(wǎng)站制作與策劃設計,汕頭網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設10多年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:汕頭等地區(qū)。汕頭做網(wǎng)站價格咨詢:13518219792
為了方便日志監(jiān)控并防止日志被篡改,通常工作環(huán)境中會使用rsyslog架設日志用于存放其它服務器的日志。rsyslog支持日志的遠程發(fā)送和接收。
rsyslog客戶端:負責發(fā)送日志到遠程日志服務器,支持udp,tcp,relp協(xié)議。
rsyslog服務器:負責接收客戶端發(fā)來的日志并存儲在本地,支持文件存儲和數(shù)據(jù)庫存儲方式。
對于入侵排查工作來說,操作系統(tǒng)的認證日志、計劃任務日志和歷史命令是非常重要的。為加強日志管理,要求將各系統(tǒng)的相應日志信息保存到專用的rsyslog日志服務器,保存日志的路徑格式為:源IP地址/設施名(日志類別)/年月.log。二、平臺及工具版本
軟件:rsyslog
日志客戶端(發(fā)送端):CentOS 7
日志服務器(接收端):CentOS 7三、操作步驟(一)日志客戶端配置1、發(fā)送認證和計劃任務日志(auth、authpriv、cron)
vi /etc/rsyslog.conf //編輯rsyslog服務配置文件,文件末尾加入一行
auth.*;authpriv.*;cron.* @@192.168.43.234:514
一個@代表通過UDP協(xié)議發(fā)送日志,這里是兩個@,代表以tcp方式傳送日志。與UDP相比,TCP傳輸?shù)姆绞礁臃€(wěn)定一些。
保存退出。這樣,認證和計劃任務日志在本地保存的同時,還會保存到遠程日志服務器。2、發(fā)送歷史命令
(1)配置發(fā)送root賬戶的歷史命令
vi /root/.bashrc //編輯root的配置文件,在文件末尾加入下面的內(nèi)容
function log2syslog
{
declare command
command=$(fc -ln -0)
logger -p local1.notice -t bash -i — $USER : "$command"
}
trap log2syslog DEBUG
保存退出
fc是shell的內(nèi)置命令,作用是獲取命令歷史,$(fc -ln -0)返回最近執(zhí)行的一條命令。
logger命令將消息發(fā)送到系統(tǒng)日志,-p設置消息的設施名為local1,優(yōu)先級為notice。
注意在$command兩端需要有雙引號。
(2)配置發(fā)送普通用戶的歷史命令
vi /home/sec/.bashrc //編輯sec用戶的配置文件,在文件末尾加入下面的內(nèi)容
function log2syslog
{
declare command
command=$(fc -ln -0)
logger -p local1.notice -t bash -i — $USER : "$command"
}
trap log2syslog DEBUG
保存退出
(3)修改用戶配置模板
vi /etc/skel/.bashrc //編輯用戶配置模板目錄中的.bashrc文件,加入下面的內(nèi)容
function log2syslog
{
declare command
command=$(fc -ln -0)
logger -p local1.notice -t bash -i — $USER : "$command"
}
trap log2syslog DEBUG
保存退出。該文件修改后,系統(tǒng)所創(chuàng)建的新用戶,其.bashrc文件中都會含有上述發(fā)送歷史命令的的指令。3、 配置rsyslog服務
vi /etc/rsyslog.conf //編輯配置文件
//將local1.none加入下面的行
*.info;mail.none;authpriv.none;cron.none;local1.none /var/log/messages
//local1.none的意思是,設施名為local1的消息不寫入本行指定的文件。這樣,messages文件中就不會保存本地用戶的歷史命令了。(命令歷史默認已經(jīng)保存到用戶的.bash_history文件中了)
//文檔末尾加入一行,將歷史命令發(fā)往日志服務器
local1.notice @@192.168.43.234:514
保存退出。
systemctl restart rsyslog //重啟服務,使配置更改生效(二)日志服務器配置1、 rsyslog服務配置
vi /etc/rsyslog.conf //取消下面兩行的注釋
$ModLoad imtcp
$InputTCPServerRun 514
//注釋掉原有的ActionFileDefaultTemplate指令(使用傳統(tǒng)的格式)
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
//使用自定義的時間格式
$template myformat,"%$NOW% %TIMESTAMP:8:15% %hostname% %syslogtag% %msg%\n"
$ActionFileDefaultTemplate myformat
//在RULES段的前面寫入下面的行
$template local1_path, "/var/log/%FROMHOST-IP%/bash_history/%$YEAR%%$MONTH%.log"
$template remote_path, "/var/log/%FROMHOST-IP%/%syslogfacility-text%/%$YEAR%%$MONTH%.log"
if $fromhost-ip != '127.0.0.1' and $syslogfacility-text == 'local1' then ?local1_path
& ~
if $fromhost-ip != '127.0.0.1' then ?remote_path
& ~
保存退出。
$template定義了兩個模板,名稱分別為local1_path和remote_path,模板名稱后面指定了將消息保存到的日志文件的路徑。
if開頭的指令是基于表達式的過濾器。第一條if指令的意思是,如果日志消息的來源IP地址不是本機,且消息的syslogfacility-text為local1,那么將這條消息寫入由模板local1_path對應的文件。
& ~的含義是讓滿足上面過濾器條件的消息不再匹配后續(xù)的規(guī)則。默認情況下,日志消息會按順序匹配rsyslog.conf中的每條規(guī)則。& ~在這里會讓消息跳過后面的規(guī)則,這樣這條消息就不會再被寫入其他的日志文件了。
第二條if開頭的指令將來自于本機之外的所有日志消息(由于前面的& ~,滿足這個條件的只有auth、authpriv和cron消息)寫入remote_path所對應的文件。
systemctl restart rsyslog //重啟服務2、防火墻配置
firewall-cmd --zone=public --add-port=514/tcp四、總結
通過以上的配置,不同日志客戶端發(fā)來的日志可以分開保存,在出現(xiàn)安全事件時可以快速找到相應日志。另外,rsyslog服務器也可以配置為中繼轉發(fā),方法也很簡單,就是將日志服務器作為rsyslog的客戶端進行配置。這樣,rsyslog服務器接收日志后在本地保留一份,同時還將日志發(fā)送出去,例如發(fā)給審計設備或日志顯示平臺如graylog、ELK等。
分享文章:CentOS7系統(tǒng)怎么配置rsyslog服務發(fā)送和接收日志
URL標題:http://www.rwnh.cn/article10/sedo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、響應式網(wǎng)站、App開發(fā)、網(wǎng)頁設計公司、網(wǎng)站設計、服務器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)