設(shè)定安全log服務(wù)器呢(RedHat)的方法
發(fā)布時間:2012-07-07 18:04:55 作者:佚名
我要評論

在網(wǎng)上越來越多的hacker 的出現(xiàn), 越來越多的高手出現(xiàn)的情況下.如何才能確保自己可以保存一份完整的log 呢?稍微有點概念的hacker 都知道,進(jìn)入系統(tǒng)后的第一見事情就是去清理log, 而發(fā)現(xiàn)入侵的最簡單最直接的方法就是去看系統(tǒng)紀(jì)錄文件.現(xiàn)在我們來說說如何設(shè)定一個安全的lo
*環(huán)境RedHat 7.3
在網(wǎng)上越來越多的hacker 的出現(xiàn), 越來越多的高手出現(xiàn)的情況下.如何才能確保自己可以保存一份完整的log 呢?稍微有點概念的hacker 都知道,進(jìn)入系統(tǒng)后的第一見事情就是去清理log, 而發(fā)現(xiàn)入侵的最簡單最直接的方法就是去看系統(tǒng)紀(jì)錄文件.現(xiàn)在我們來說說如何設(shè)定一個安全的log服務(wù)器.
想想看,如果入侵者無法連接服務(wù)器,又如何能改您的log 呢?現(xiàn)在我們來學(xué)習(xí)如何設(shè)定一個無ip 的log 服務(wù)器.
現(xiàn)在,來介紹一下如何用Snort 來做三件事情∶
Stealth sniffer
stealth NIDS porbe
stealth logger
這一切都是用在一臺沒有ip 的服務(wù)器上面的. NIDS 是Network Intrusion Dectection Server 的簡稱,也就是說入侵檢測服務(wù)器.
為什么要stealth 呢?
在internet 中運行任何一種服務(wù),都是有一定的危險的.不管是http 也好, ftp 也好, telnet 也好,總之都會有機會被hack 入侵. stealth logger 的獨特性可以讓我們在接收資料的同時,不發(fā)送任何的資料.這樣外界的電腦(被hack 入侵的電腦)就根本無法去更改loger server 所收到的信息.也就是說保證了我們信息的完整性,以及原始性. 為了確保log 服務(wù)器的安全,最好不要將log 服務(wù)器連接在網(wǎng)路中.也就是說,當(dāng)您需要檢查logger 服務(wù)器上得東西的時侯,您需要到電腦前,打開屏幕.而不是遠(yuǎn)端login 進(jìn)來.但是,如果說您一定要連接網(wǎng)路的話的話,那么請用兩個的介面來做.也就是說兩片網(wǎng)卡.并且注意,第一, IP forwarding 一定要關(guān)閉.第二就是,用來做stealth logger 的介面是沒有ip 的一張網(wǎng)卡,這張網(wǎng)卡必須不能跟另外一個有ip 的網(wǎng)卡在同一網(wǎng)路下面.
設(shè)定
首先當(dāng)然是確定您的網(wǎng)卡安裝無誤,并且可以被kernel 抓到.然后把網(wǎng)卡所需要的module 寫到/etc/modules.conf 文件中.
現(xiàn)在我們來設(shè)定一個沒有ip 的網(wǎng)卡介面.
編輯文件/etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=
BROADCAST=
NETWORK=
NETMASK=
IPADDR=
存檔后,用ifconfig 來active 我們的eth0 介面.
初試stealth
這里我們用到了snort 這個程式..
現(xiàn)在我們運行
snort -dvi eth0
這里-d 的選項告訴snort 對資料進(jìn)行decode (解碼)
-v 告訴snort 將結(jié)果顯示在屏幕上面
-i 則是指定所需要的interface
可以用-C 選項告訴snort 只顯示ASCII 部份. 忽略hexadecimal 資料.
$snort -dviC eth0
Log directory= /var/log/snort
Initializing Network Interface eth0
kernel filter, protocol ALL, TURBO mode
(63 frames), raw packet socket
--== Initializing Snort ==--
Decoding Ethernet on interface eth0
--== Initialization Complate ==--
-*> Snort! <*-
Version 1.8.4 (Build 99)
By Martin Roesch (roesch@sourcefire.com,
www.snort.org)
......
......
NIDS(入侵偵測) 入侵檢測本身是一件很復(fù)雜的事情. snort 本身也提供了強大的入侵檢測的功能. 這里我只做一個簡單的介紹,好讓大家有一個概念.如果真正實體去做一個NIDS 的話.需要些更復(fù)雜的動作.例如設(shè)定更完善的rules, 定時更新snort.conf 中所定義的rules (當(dāng)新的攻擊方式出現(xiàn)以后,要及時更新)
首先,我們需要更改一下/etc/snort/snort.conf 具體需要參照您自己的機器來設(shè)定.
#設(shè)定log 存放的地方
config logdir: /var/log/snort
#設(shè)定網(wǎng)路
var HOME_NET 192.168.1.0/24
var EXTERNAL_NET any
var SMTP $HOME_NET
var HTTP_SERVERS $HOME_NET
var SQL_SERVERS $HOME_NET
var DNS_SERVERS 192.168.1.250/32
var RULE_PATH ./
#設(shè)定preprocessors
preprocessor frag2
preprocessor stream4: detect_scans
preprocessor stream4_reassemblt
preprocessor portscan: $HOME_NET 4 3 portscan.log
#設(shè)定output
output database: log, mysql, user=root
dbname-snort host=localhost
#rules
alert tcp $HOME_NET 7161 -> $EXTERNAL_NET any
(msg: "MISC Cisco Catalyst Remote Access";
flags: SA; reference:arachnids, 129;
reference:cve, CVE-1999-0430;
classtype:bad-unknow; sid:513; rev:1;)
#設(shè)定patch , 這些都是些附加的rules 的文件
include $RULE_PATH/bad-traffic.rules
include $RULE_PATH/exploit.rules
include $RULE_PATH/scan.rules
include $RULE_PATH/ftp.rules
#這些rule 其實還有很多.您可以自己去寫,也可以找人家寫好的下載拿來用.
現(xiàn)在讓我們把snort 跑起來∶
snort -c /etc/snort/snort.conf -D -i eth0
現(xiàn)在snort NIDS 的模式跑起來了. 在default 的情況下∶
alerts 會放在/var/log/snort/alert 中
port-scanning 會放在/var/log/snort/portscan.log
當(dāng)您真正跑NIDS 的時侯,需要把snort 以daemon 的模式來跑. 如果您安裝的是rpm 的東西,那么rpm 文件中已經(jīng)包含了一個snortd 的文件,并且會幫您安裝在/etc/rc.d/init.d/ 下面. 當(dāng)您設(shè)定好snort 的configure 文件以后,只要用chkconfig 把snortd 打開就可以了:
加入snortd
chkconfig --add snortd
打開snortd
chkconfig snortd on
或者
chkconfig --level 3 snortd on
這里的level 請自行更改到您所跑的runlevel
您可以用cat /etc/inittab | grep id 來看自己在哪個
runlevel 上面.
cat /etc/inittab | grep id
id:5:initdefault:
這里就是說跑在run level 5 上面.
設(shè)定服務(wù)器 我們需要對服務(wù)器做一些設(shè)定,讓服務(wù)器把log 送到我們的logger 服務(wù)器去. 首先,我們需要設(shè)定/etc/syslog.conf 把log 送到一個有效的,但是不存在的ip 下面.例如我們的網(wǎng)路是192.168.1.0/24 其中并沒有192.168.1.123 這臺機器,也就是說這個ip 實際上是空的.我們就把log 指向這里.您可以指向任意一個空的有效ip.
vim /etc/syslog.conf
加入
*.info @192.168.1.123
如果您的系統(tǒng)是用syslog-ng 的話
vim /etc/syslog-ng/syslog-ng.conf
destination d_loghost { udp(ip(192.168.123)
port (514)); };
filter f_info { level(info); };
log {filter(f_info); destination(d_loghost);};
我們還需要加入static ARP entry 才可以. 如果您的網(wǎng)路只是接了記個Hub 而已, 那么ARP 地址一樣可以好象ip 一樣,設(shè)定成虛構(gòu)的. 如果您有連結(jié)switch, 您需要加入log 服務(wù)器的真實MAC 地址.
我們這里加入我們logger 服務(wù)器的真實MAC 地址就可以了.
arp -s 192.168.1.123 000:B7B:BF:95
在Logger 服務(wù)器設(shè)定snort
/etc/snort/snort.conf
var EXTERNAL_NET any
#等于snort -d
config dump_payload
#等于snort -C
config dump_chars_only
#設(shè)定log 存放的path
config logdir: /var/log/snort
# frag2 所做的動作就是把fragmented 給我們re-assembly
preprocessor frag2
log udp 192.168.1.1/32 any -> 192.168.1.123/32 514
(logto: "logged-packets";)
最后一行需要稍微解釋一下∶
我們這里把snort 來做packet logger. 也就是說,并不是把所有的東西都寫入到/var/log/snort/alert 中.而是log any packets with match the rule without writing an alert.
udp: 是說,我們這里用udp 的protocol. system log 通常都是使用udp 的.
192.168.1.1/32: 就是只我們的服務(wù)器啦,也就是送log 的機器. 如果您是從整個一個網(wǎng)路段中收log 也可以用192.168.1.0/24.
any: any source port 任何port
->: 這個是direction operator 大家都知道的
192.168.1.123/35 514 就是我們給出的那個空ip 啦, port 514
如果沒有指定logto: 的話, log 會分別保存在不同的文件中. 而指定logto 的話,就會把log 全部存放到我們指定的文件中,看起來方便多了.
更安全的保存log 就可以更安全的保護(hù)服務(wù)器。snort 的功能實際上非常的強大, 這里只是一個簡單的介紹而已。
在網(wǎng)上越來越多的hacker 的出現(xiàn), 越來越多的高手出現(xiàn)的情況下.如何才能確保自己可以保存一份完整的log 呢?稍微有點概念的hacker 都知道,進(jìn)入系統(tǒng)后的第一見事情就是去清理log, 而發(fā)現(xiàn)入侵的最簡單最直接的方法就是去看系統(tǒng)紀(jì)錄文件.現(xiàn)在我們來說說如何設(shè)定一個安全的log服務(wù)器.
想想看,如果入侵者無法連接服務(wù)器,又如何能改您的log 呢?現(xiàn)在我們來學(xué)習(xí)如何設(shè)定一個無ip 的log 服務(wù)器.
現(xiàn)在,來介紹一下如何用Snort 來做三件事情∶
Stealth sniffer
stealth NIDS porbe
stealth logger
這一切都是用在一臺沒有ip 的服務(wù)器上面的. NIDS 是Network Intrusion Dectection Server 的簡稱,也就是說入侵檢測服務(wù)器.
為什么要stealth 呢?
在internet 中運行任何一種服務(wù),都是有一定的危險的.不管是http 也好, ftp 也好, telnet 也好,總之都會有機會被hack 入侵. stealth logger 的獨特性可以讓我們在接收資料的同時,不發(fā)送任何的資料.這樣外界的電腦(被hack 入侵的電腦)就根本無法去更改loger server 所收到的信息.也就是說保證了我們信息的完整性,以及原始性. 為了確保log 服務(wù)器的安全,最好不要將log 服務(wù)器連接在網(wǎng)路中.也就是說,當(dāng)您需要檢查logger 服務(wù)器上得東西的時侯,您需要到電腦前,打開屏幕.而不是遠(yuǎn)端login 進(jìn)來.但是,如果說您一定要連接網(wǎng)路的話的話,那么請用兩個的介面來做.也就是說兩片網(wǎng)卡.并且注意,第一, IP forwarding 一定要關(guān)閉.第二就是,用來做stealth logger 的介面是沒有ip 的一張網(wǎng)卡,這張網(wǎng)卡必須不能跟另外一個有ip 的網(wǎng)卡在同一網(wǎng)路下面.
設(shè)定
首先當(dāng)然是確定您的網(wǎng)卡安裝無誤,并且可以被kernel 抓到.然后把網(wǎng)卡所需要的module 寫到/etc/modules.conf 文件中.
現(xiàn)在我們來設(shè)定一個沒有ip 的網(wǎng)卡介面.
編輯文件/etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=
BROADCAST=
NETWORK=
NETMASK=
IPADDR=
存檔后,用ifconfig 來active 我們的eth0 介面.
初試stealth
這里我們用到了snort 這個程式..
現(xiàn)在我們運行
snort -dvi eth0
這里-d 的選項告訴snort 對資料進(jìn)行decode (解碼)
-v 告訴snort 將結(jié)果顯示在屏幕上面
-i 則是指定所需要的interface
可以用-C 選項告訴snort 只顯示ASCII 部份. 忽略hexadecimal 資料.
$snort -dviC eth0
Log directory= /var/log/snort
Initializing Network Interface eth0
kernel filter, protocol ALL, TURBO mode
(63 frames), raw packet socket
--== Initializing Snort ==--
Decoding Ethernet on interface eth0
--== Initialization Complate ==--
-*> Snort! <*-
Version 1.8.4 (Build 99)
By Martin Roesch (roesch@sourcefire.com,
www.snort.org)
......
......
NIDS(入侵偵測) 入侵檢測本身是一件很復(fù)雜的事情. snort 本身也提供了強大的入侵檢測的功能. 這里我只做一個簡單的介紹,好讓大家有一個概念.如果真正實體去做一個NIDS 的話.需要些更復(fù)雜的動作.例如設(shè)定更完善的rules, 定時更新snort.conf 中所定義的rules (當(dāng)新的攻擊方式出現(xiàn)以后,要及時更新)
首先,我們需要更改一下/etc/snort/snort.conf 具體需要參照您自己的機器來設(shè)定.
#設(shè)定log 存放的地方
config logdir: /var/log/snort
#設(shè)定網(wǎng)路
var HOME_NET 192.168.1.0/24
var EXTERNAL_NET any
var SMTP $HOME_NET
var HTTP_SERVERS $HOME_NET
var SQL_SERVERS $HOME_NET
var DNS_SERVERS 192.168.1.250/32
var RULE_PATH ./
#設(shè)定preprocessors
preprocessor frag2
preprocessor stream4: detect_scans
preprocessor stream4_reassemblt
preprocessor portscan: $HOME_NET 4 3 portscan.log
#設(shè)定output
output database: log, mysql, user=root
dbname-snort host=localhost
#rules
alert tcp $HOME_NET 7161 -> $EXTERNAL_NET any
(msg: "MISC Cisco Catalyst Remote Access";
flags: SA; reference:arachnids, 129;
reference:cve, CVE-1999-0430;
classtype:bad-unknow; sid:513; rev:1;)
#設(shè)定patch , 這些都是些附加的rules 的文件
include $RULE_PATH/bad-traffic.rules
include $RULE_PATH/exploit.rules
include $RULE_PATH/scan.rules
include $RULE_PATH/ftp.rules
#這些rule 其實還有很多.您可以自己去寫,也可以找人家寫好的下載拿來用.
現(xiàn)在讓我們把snort 跑起來∶
snort -c /etc/snort/snort.conf -D -i eth0
現(xiàn)在snort NIDS 的模式跑起來了. 在default 的情況下∶
alerts 會放在/var/log/snort/alert 中
port-scanning 會放在/var/log/snort/portscan.log
當(dāng)您真正跑NIDS 的時侯,需要把snort 以daemon 的模式來跑. 如果您安裝的是rpm 的東西,那么rpm 文件中已經(jīng)包含了一個snortd 的文件,并且會幫您安裝在/etc/rc.d/init.d/ 下面. 當(dāng)您設(shè)定好snort 的configure 文件以后,只要用chkconfig 把snortd 打開就可以了:
加入snortd
chkconfig --add snortd
打開snortd
chkconfig snortd on
或者
chkconfig --level 3 snortd on
這里的level 請自行更改到您所跑的runlevel
您可以用cat /etc/inittab | grep id 來看自己在哪個
runlevel 上面.
cat /etc/inittab | grep id
id:5:initdefault:
這里就是說跑在run level 5 上面.
設(shè)定服務(wù)器 我們需要對服務(wù)器做一些設(shè)定,讓服務(wù)器把log 送到我們的logger 服務(wù)器去. 首先,我們需要設(shè)定/etc/syslog.conf 把log 送到一個有效的,但是不存在的ip 下面.例如我們的網(wǎng)路是192.168.1.0/24 其中并沒有192.168.1.123 這臺機器,也就是說這個ip 實際上是空的.我們就把log 指向這里.您可以指向任意一個空的有效ip.
vim /etc/syslog.conf
加入
*.info @192.168.1.123
如果您的系統(tǒng)是用syslog-ng 的話
vim /etc/syslog-ng/syslog-ng.conf
destination d_loghost { udp(ip(192.168.123)
port (514)); };
filter f_info { level(info); };
log {filter(f_info); destination(d_loghost);};
我們還需要加入static ARP entry 才可以. 如果您的網(wǎng)路只是接了記個Hub 而已, 那么ARP 地址一樣可以好象ip 一樣,設(shè)定成虛構(gòu)的. 如果您有連結(jié)switch, 您需要加入log 服務(wù)器的真實MAC 地址.
我們這里加入我們logger 服務(wù)器的真實MAC 地址就可以了.
arp -s 192.168.1.123 000:B7B:BF:95
在Logger 服務(wù)器設(shè)定snort
/etc/snort/snort.conf
var EXTERNAL_NET any
#等于snort -d
config dump_payload
#等于snort -C
config dump_chars_only
#設(shè)定log 存放的path
config logdir: /var/log/snort
# frag2 所做的動作就是把fragmented 給我們re-assembly
preprocessor frag2
log udp 192.168.1.1/32 any -> 192.168.1.123/32 514
(logto: "logged-packets";)
最后一行需要稍微解釋一下∶
我們這里把snort 來做packet logger. 也就是說,并不是把所有的東西都寫入到/var/log/snort/alert 中.而是log any packets with match the rule without writing an alert.
udp: 是說,我們這里用udp 的protocol. system log 通常都是使用udp 的.
192.168.1.1/32: 就是只我們的服務(wù)器啦,也就是送log 的機器. 如果您是從整個一個網(wǎng)路段中收log 也可以用192.168.1.0/24.
any: any source port 任何port
->: 這個是direction operator 大家都知道的
192.168.1.123/35 514 就是我們給出的那個空ip 啦, port 514
如果沒有指定logto: 的話, log 會分別保存在不同的文件中. 而指定logto 的話,就會把log 全部存放到我們指定的文件中,看起來方便多了.
更安全的保存log 就可以更安全的保護(hù)服務(wù)器。snort 的功能實際上非常的強大, 這里只是一個簡單的介紹而已。
相關(guān)文章
局域網(wǎng)共享安全方式之用局域網(wǎng)文件共享系統(tǒng)實現(xiàn)共享文件夾安全設(shè)置
現(xiàn)在很多單位都有文件服務(wù)器,經(jīng)常會共享文件讓局域網(wǎng)用戶訪問。那么,如何才能保護(hù)局域網(wǎng)內(nèi)共享文件夾的安全性呢?下面通過本文給大家分享局域網(wǎng)共享安全方式之用局域網(wǎng)文2017-05-11- 這篇文章主要介紹了IIS的FastCGI漏洞處理方法,需要的朋友可以參考下2017-04-30
IIS PHP fastcgi模式 pathinfo取值錯誤任意代碼執(zhí)行漏洞修復(fù)方法
這篇文章主要介紹了PHP fastcgi模式 pathinfo取值錯誤任意代碼執(zhí)行漏洞,需要的朋友可以參考下2017-04-30- IIS短文件名泄露漏洞,IIS上實現(xiàn)上存在文件枚舉漏洞,攻擊者可利用此漏洞枚舉獲取服務(wù)器根目錄中的文件,這里為大家分享一下安裝方法,需要的朋友可以參考下2017-04-23
用mcafee麥咖啡設(shè)置服務(wù)器基本用戶安全(防止新建用戶與修改密碼)
這篇文章主要介紹了用麥咖啡設(shè)置服務(wù)器基本用戶安全(防止新建用戶與修改密碼),需要的朋友可以參考下2017-02-26- 這篇文章主要介紹了防范黑客入侵,關(guān)閉端口封鎖大門 黑客無法入侵的相關(guān)資料,需要的朋友可以參考下2016-10-31
現(xiàn)代網(wǎng)絡(luò)性能監(jiān)控工具應(yīng)具備何種技能?網(wǎng)絡(luò)與應(yīng)用程序監(jiān)控
大家都知道現(xiàn)在市場上的網(wǎng)絡(luò)性能監(jiān)控工具大有所在,這為現(xiàn)在的IT行業(yè)的人員提供了很多便利,幫助IT管理團隊監(jiān)控網(wǎng)絡(luò)性能,并且?guī)椭鶬T管理人員確定系統(tǒng)性能的瓶頸所在,進(jìn)而2016-10-19- 雖然現(xiàn)在網(wǎng)絡(luò)很發(fā)達(dá),但對我們普通人而言,也就是10多年的上網(wǎng)歷史,好多人還沒意識到信息安全的重要性。那么如何保證自己的上網(wǎng)安全?下面小編為大家分享10條防范自救,一2016-10-12
- 這篇文章主要介紹了遠(yuǎn)離病毒 八項基本原則的相關(guān)資料,需要的朋友可以參考下2016-10-08
- 這篇文章主要介紹了Linux 防范病毒的方法的相關(guān)資料,需要的朋友可以參考下2016-10-08