中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS7系統怎么配置rsyslog服務發送和接收日志

發布時間:2021-08-23 11:13:55 來源:億速云 閱讀:2600 作者:chen 欄目:網絡安全

這篇文章主要介紹“CentOS7系統怎么配置rsyslog服務發送和接收日志”,在日常操作中,相信很多人在CentOS7系統怎么配置rsyslog服務發送和接收日志問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”CentOS7系統怎么配置rsyslog服務發送和接收日志”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、操作目的和應用場景

為了方便日志監控并防止日志被篡改,通常工作環境中會使用rsyslog架設日志服務器用于存放其它服務器的日志。rsyslog支持日志的遠程發送和接收。

rsyslog客戶端:負責發送日志到遠程日志服務器,支持udp,tcp,relp協議。

rsyslog服務器:負責接收客戶端發來的日志并存儲在本地,支持文件存儲和數據庫存儲方式。

對于入侵排查工作來說,操作系統的認證日志、計劃任務日志和歷史命令是非常重要的。為加強日志管理,要求將各系統的相應日志信息保存到專用的rsyslog日志服務器,保存日志的路徑格式為:源IP地址/設施名(日志類別)/年月.log。

二、平臺及工具版本

軟件:rsyslog

日志客戶端(發送端):CentOS 7

日志服務器(接收端):CentOS 7

三、操作步驟

(一)日志客戶端配置

1、 發送認證和計劃任務日志(auth、authpriv、cron)

vi /etc/rsyslog.conf  //編輯rsyslog服務配置文件,文件末尾加入一行

auth.*;authpriv.*;cron.*  @@192.168.43.234:514

一個@代表通過UDP協議發送日志,這里是兩個@,代表以tcp方式傳送日志。與UDP相比,TCP傳輸的方式更加穩定一些。

保存退出。這樣,認證和計劃任務日志在本地保存的同時,還會保存到遠程日志服務器。

2、 發送歷史命令

(1)配置發送root賬戶的歷史命令

vi /root/.bashrc  //編輯root的配置文件,在文件末尾加入下面的內容

function log2syslog
{
   declare command
   command=$(fc -ln -0)
   logger -p local1.notice -t bash -i — $USER : "$command"

}
trap log2syslog DEBUG

保存退出

fc是shell的內置命令,作用是獲取命令歷史,$(fc -ln -0)返回最近執行的一條命令。

logger命令將消息發送到系統日志,-p設置消息的設施名為local1,優先級為notice。

注意在$command兩端需要有雙引號。

(2)配置發送普通用戶的歷史命令

vi /home/sec/.bashrc  //編輯sec用戶的配置文件,在文件末尾加入下面的內容

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文件,加入下面的內容

function log2syslog

{

   declare command

   command=$(fc -ln -0)

   logger -p local1.notice -t bash -i — $USER : "$command"

}

trap log2syslog DEBUG

保存退出。該文件修改后,系統所創建的新用戶,其.bashrc文件中都會含有上述發送歷史命令的的指令。

3、 配置rsyslog服務

vi /etc/rsyslog.conf  //編輯配置文件

//將local1.none加入下面的行

*.info;mail.none;authpriv.none;cron.none;local1.none  /var/log/messages

//local1.none的意思是,設施名為local1的消息不寫入本行指定的文件。這樣,messages文件中就不會保存本地用戶的歷史命令了。(命令歷史默認已經保存到用戶的.bash_history文件中了)

//文檔末尾加入一行,將歷史命令發往日志服務器

local1.notice @@192.168.43.234:514

保存退出。

systemctl restart rsyslog  //重啟服務,使配置更改生效

(二)日志服務器配置

1、 rsyslog服務配置

vi /etc/rsyslog.conf  //取消下面兩行的注釋

$ModLoad imtcp

$InputTCPServerRun 514

//注釋掉原有的ActionFileDefaultTemplate指令(使用傳統的格式)

#$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對應的文件。

& ~的含義是讓滿足上面過濾器條件的消息不再匹配后續的規則。默認情況下,日志消息會按順序匹配rsyslog.conf中的每條規則。& ~在這里會讓消息跳過后面的規則,這樣這條消息就不會再被寫入其他的日志文件了。

第二條if開頭的指令將來自于本機之外的所有日志消息(由于前面的& ~,滿足這個條件的只有auth、authpriv和cron消息)寫入remote_path所對應的文件。

systemctl restart rsyslog  //重啟服務

2、 防火墻配置

firewall-cmd --zone=public --add-port=514/tcp

四、總結

通過以上的配置,不同日志客戶端發來的日志可以分開保存,在出現安全事件時可以快速找到相應日志。另外,rsyslog服務器也可以配置為中繼轉發,方法也很簡單,就是將日志服務器作為rsyslog的客戶端進行配置。這樣,rsyslog服務器接收日志后在本地保留一份,同時還將日志發送出去,例如發給審計設備或日志顯示平臺如graylog、ELK等。

到此,關于“CentOS7系統怎么配置rsyslog服務發送和接收日志”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安义县| 四平市| 芜湖县| 广德县| 浮梁县| 松潘县| 环江| 新平| 双流县| 余姚市| 穆棱市| 嘉荫县| 清水县| 舒城县| 岚皋县| 慈溪市| 永登县| 黄大仙区| 博白县| 林西县| 特克斯县| 武安市| 屏山县| 巴林左旗| 甘洛县| 绥化市| 泸定县| 若羌县| 岢岚县| 漳浦县| 濮阳市| 个旧市| 天峻县| 屏东市| 陇南市| 保山市| 永川市| 临沂市| 和龙市| 论坛| 信宜市|