一般狀況 apache 會利用 customlog 及 errorlog 指令將紀錄寫到指定的文件裡,但想利用 syslog 的遠端紀錄將 apache log 送到其他主機上要如何處理? 作法如下:
第一種方式(但不適用於CustomLog指令)
# 利用 ErrorLog 指令將紀錄檔送給 syslog
shell># vim /etc/httpd/conf/httpd.conf
ErrorLog syslog:local1
# 設定 syslog 接收 apache 丟過來的紀錄
shell># vim /etc/syslog.conf
local1.* /var/log/httpd_error_log
# 重新啟動服務並設定權限
shell># service httpd restart
shell># service syslog restart
shell># chown apache.apache /var/log/httpd_error_log
第二種方式
#利用 logger 指令
shell># vim /etc/httpd/httpd.conf
CustomLog "| /usr/bin/logger -p local1.info" combined
ErrorLog "|/usr/bin/logger -p local2.info"
shell># vim /etc/syslog.conf
local1.* /var/log/httpd_access_log
local2.* /var/log/httpd_error_log
shell># service httpd restart
shell># service syslog restart
新個資法即將要上路,企業有責任要保存系統紀錄,為確保紀錄檔不被攻擊者清除,將apache的log送到遠端的主機是有必要的,另外也可以將紀錄檔送到遠端的主機進行分析,以減少分析時對伺服器產生的衝擊
沒有留言:
張貼留言