2011年11月26日

將 apache log 紀錄到遠端主機

一般狀況 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送到遠端的主機是有必要的,另外也可以將紀錄檔送到遠端的主機進行分析,以減少分析時對伺服器產生的衝擊

沒有留言:

張貼留言