目錄
一. 準備工作
二. 系統安裝
三. 系統配置
四. 測試
五. 結論
為什麼要建立專用linux日誌伺服器? 首先, 我們簡單分析一下入侵的過程.
黑客通過探測和利用漏洞非法進入到一台計算機系統中, 首要的事情就是
隱藏自己的痕跡, 而不會去告訴他人系統已被攻擊. 為了完成隱藏任務,
大多數黑客會刪除日誌檔案中所有可疑條目. 因為一旦黑客**, 日誌檔案
將成為最重要的證據. 如果你發現系統被入侵, 你看到的日誌檔案可能已被
篡改, 那麼我們如何才能夠保證日誌檔案是100%完整的呢? 接下來我將向
大家介紹如何在你的網路裡建立一台用於收集其它計算機系統日誌的專用機器.
這樣一來就算黑客入侵了你的系統, 修改了日誌, 但你仍有乙個完整的日誌
備份在專用的linux日誌伺服器上.
一. 準備工作
wwwserver: web伺服器.
logserver: log伺服器, 專門的日誌伺服器, 用於保護wwwserver的日誌.
wwwserver的ip: 210.77.144.2
logserver的ip: 210.77.144.1
本文使用redhat 9.0來做linux日誌伺服器. 請確認web伺服器中的
/etc/hosts檔案已經建立了logserver條目. 簡單操作:
logserver的ip位址為210.77.144.1
[root@wwwserver /]# echo "210.77.144.1 logserver">>/etc/hosts
執行系統: red hat 9
wwwserver系統和網路環境:
[zhaoke@wwwserver /]# uname -r
2.4.20-8smp
[zhaoke@wwwserver /]# cat /etc/redhat-release
red hat linux release 9 (shrike)
[zhaoke@wwwserver /]# /sbin/ifconfig eth0|grep inet
inet addr:210.77.144.2 bcast:210.77.144.255 mask:255.255.248.0
logserver系統和網路環境:
[zhaoke@logserver /]# uname -r
2.4.20-8smp
[zhaoke@logserver /]# cat /etc/redhat-release
red hat linux release 9 (shrike)
[zhaoke@logserver /]# /sbin/ifconfig eth0|grep inet
inet addr:210.77.144.1 bcast:210.77.144.255 mask:255.255.248.0
二. 系統安裝
1). 在redhat linux 9上通過dso方式搭建apache http伺服器.
2). 在redhat linux 9上通過dso方式搭建apache ssl http伺服器.
3). 為apache http 1.3.3 server設定乙個簡單防火牆策略.
三. 系統配置
1. 配置wwwserver的syslog.conf
修改web伺服器syslog的配置檔案/etc/syslog.conf, 告訴syslogd程序
傳輸本系統的日誌資訊到logserver上.
[root@wwwserver /]# vi /etc/syslog.conf
新增下面的**到syslog.conf中:
*.* @logserver
2. 在wwwserver機器上重啟syslogd
完成步驟一後, 重啟syslogd以使用新的配置:
[root@wwwserver /]# killall -hup syslogd
或者[root@wwwserver /]# /etc/rc.d/init.d/syslog restart
3. 配置wwwserver機器的防火牆
新增允許從wwwserver的514埠傳輸udp封包到logserver的防火牆策略.
[ root@wwwserver /] /sbin/iptables -a output -p udp -i eth0 -s
210.77.144.2 -d 210.77.144.1 --destination-ports:514 -j accept
[ root@wwwserver /] /sbin/iptables -l
chain input (policy accept)
target prot opt source destination
accept udp -- 210.77.144.2 210.77.144.1
接上行udp dpt:syslog
注: 埠514用於syslog程式.
[root@wwwserver /]# cat /etc/services|grep 514/udp
syslog 514/udp
[root@wwwserver /]# /usr/sbin/lsof -i:514
command pid user fd type device size node name
syslogd 18014 root 10u ipv4 131882 udp *:syslog
4. 配置logserver機器
到現在為止, 我們已經設定了允許web伺服器傳送日誌資訊到專用
日誌伺服器logserver. 接下來設定日誌伺服器能從web伺服器接受
日誌檔案資訊.
[root@www /]# ps -aux|grep syslogd
root 2612 0.0 0.0 1440 340 ? s feb03 0:01 syslogd -m 0
從上面可以看到syslogd程序號為1292, 我們需要停止syslogd
程序, 然後配置syslogd和重新啟動.
[root@log /]# kill 1292
現在syslog程序已經終止, 我們需要重新啟動syslog並啟動
syslog的"遠端接受(remote reception)"功能.
[root@log /]# /sbin/syslogd -rm 0
5. 確認日誌伺服器的syslog程序正確配置
檢查/var/log/messages日誌檔案確認syslogd已重啟
[root@log /]# tail -f /var/log/messages
在檔案的底層你能看見:
feb 11 14:52:42 log syslogd 1.4.1: restart (remote reception).
這樣syslogd已經工作了.
6. 防火牆配置
在你的日誌伺服器上新增下面防火牆策略, 允許來自web伺服器512埠的
udp資料傳輸到logserver上.
[root@log]# /sbin/iptables -a input -p udp -i eth0 -s
210.77.144.2 -d 210.77.144.1 --sport 514 -j accept
[root@log root]# /sbin/iptables -l
chain input (policy accept)
target prot opt source destination
accept udp -- 210.77.144.2 210.77.144.1 udp spt:syslog
.....
四. 測試
最後一步我們需要做的是驗證所有的配置是否正常工作. 我們可以這樣來
做, 首先從wwwserver登出和登陸:
[root@wwwserver /]# logout
login: root
password: *********x
然後檢查logserver上的日誌檔案/var/log/messages或者/var/log/secure)
, 可以看到下面的記錄:
feb 26 20:29:02 wwwserver login[1623]: root login on `tty2
從上面可以看出webserver上的root登陸記錄到了logserver的日誌檔案中.
測試完畢.
五. 結論
在我們要建立一台專用的日誌伺服器時, 請確認日誌伺服器是足夠安全的,
它僅接受來自於信任網路的日誌資訊. 日誌伺服器上最好不要執行其它的
應用程式, 如xwindows, web伺服器, 資料庫mysql或oralce, ftp伺服器,
郵件伺服器等.
用指令碼管理伺服器日誌
您是否經常碰到在登入系統時 系統日誌已滿,請清空日誌 的警告訊息呢?如果您的是終端伺服器還可能造成終端使用者無法登入等問題,即使將日誌儲存空間加大也會有滿的一天,但是作為一名專業的管理員,伺服器的日誌又是那麼的重要,就算你沒時間全部閱讀一遍,最起碼也要保留乙份作為日後排錯用。那麼以下的小指令碼就可以...
linux伺服器日誌切割
現在網上比較成熟的有logrotate和cronolog兩種工具,也有很多實現,我們這裡不使用這兩種,所以不多贅述,只講講使用最基本的linux切割日誌的方法。因為每天產生的日誌都會輸出到catalina.out這個檔案中,我們可以在每天晚上凌晨的時候把catalina.out這個檔案複製乙份,檔名...
Oracle 共享伺服器與專用伺服器
專用伺服器連線 dedicated server 採用專用伺服器連線時,會在伺服器上得到針對這個連線的乙個專用程序。客戶連線與伺服器程序 執行緒之間存在一對一的對映。這是應用連線 oracle 資料庫的最常用的方法,採用這個方式不用什麼配置。共享伺服器 shared server 採用共享伺服器連線...