*環(huán)境RedHat 7.3 在網(wǎng)上越來(lái)越多的hacker 的出現(xiàn), 越來(lái)越多的高手出現(xiàn)的情況下.如何才能確保自己可以保存一份完整的log 呢?稍微有點(diǎn)概念的hacker 都知道,進(jìn)入系統(tǒng)后的第一見(jiàn)事情就是去清理log, 而發(fā)現(xiàn)入侵的最簡(jiǎn)單最直接的方法就是去看系統(tǒng)紀(jì)錄文件.現(xiàn)在我們來(lái)說(shuō)說(shuō)如何設(shè)定一個(gè)安全的log服務(wù)器. 想想看,如果入侵者無(wú)法連接服務(wù)器,又如何能改您的log 呢?現(xiàn)在我們來(lái)學(xué)習(xí)如何設(shè)定一個(gè)無(wú)ip 的log 服務(wù)器. 現(xiàn)在,來(lái)介紹一下如何用Snort 來(lái)做三件事情∶ Stealth sniffer stealth NIDS porbe stealth logger 這一切都是用在一臺(tái)沒(méi)有ip 的服務(wù)器上面的. NIDS 是Network Intrusion Dectection Server 的簡(jiǎn)稱(chēng),也就是說(shuō)入侵檢測(cè)服務(wù)器. 為什么要stealth 呢? 在internet 中運(yùn)行任何一種服務(wù),都是有一定的危險(xiǎn)的.不管是http 也好, ftp 也好, telnet 也好,總之都會(huì)有機(jī)會(huì)被hack 入侵. stealth logger 的獨(dú)特性可以讓我們?cè)诮邮召Y料的同時(shí),不發(fā)送任何的資料.這樣外界的電腦(被hack 入侵的電腦)就根本無(wú)法去更改loger server 所收到的信息.也就是說(shuō)保證了我們信息的完整性,以及原始性. 為了確保log 服務(wù)器的安全,最好不要將log 服務(wù)器連接在網(wǎng)路中.也就是說(shuō),當(dāng)您需要檢查logger 服務(wù)器上得東西的時(shí)侯,您需要到電腦前,打開(kāi)屏幕.而不是遠(yuǎn)端login 進(jìn)來(lái).但是,如果說(shuō)您一定要連接網(wǎng)路的話(huà)的話(huà),那么請(qǐng)用兩個(gè)的介面來(lái)做.也就是說(shuō)兩片網(wǎng)卡.并且注意,第一, IP forwarding 一定要關(guān)閉.第二就是,用來(lái)做stealth logger 的介面是沒(méi)有ip 的一張網(wǎng)卡,這張網(wǎng)卡必須不能跟另外一個(gè)有ip 的網(wǎng)卡在同一網(wǎng)路下面. 設(shè)定 首先當(dāng)然是確定您的網(wǎng)卡安裝無(wú)誤,并且可以被kernel 抓到.然后把網(wǎng)卡所需要的module 寫(xiě)到/etc/modules.conf 文件中. 現(xiàn)在我們來(lái)設(shè)定一個(gè)沒(méi)有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 來(lái)active 我們的eth0 介面. 初試stealth 這里我們用到了snort 這個(gè)程式.. 現(xiàn)在我們運(yùn)行 snort -dvi eth0 這里-d 的選項(xiàng)告訴snort 對(duì)資料進(jìn)行decode (解碼) -v 告訴snort 將結(jié)果顯示在屏幕上面 -i 則是指定所需要的interface 可以用-C 選項(xiàng)告訴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(入侵偵測(cè)) 入侵檢測(cè)本身是一件很復(fù)雜的事情. snort 本身也提供了強(qiáng)大的入侵檢測(cè)的功能. 這里我只做一個(gè)簡(jiǎn)單的介紹,好讓大家有一個(gè)概念.如果真正實(shí)體去做一個(gè)NIDS 的話(huà).需要些更復(fù)雜的動(dòng)作.例如設(shè)定更完善的rules, 定時(shí)更新snort.conf 中所定義的rules (當(dāng)新的攻擊方式出現(xiàn)以后,要及時(shí)更新) 首先,我們需要更改一下/etc/snort/snort.conf 具體需要參照您自己的機(jī)器來(lái)設(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 其實(shí)還有很多.您可以自己去寫(xiě),也可以找人家寫(xiě)好的下載拿來(lái)用. 現(xiàn)在讓我們把snort 跑起來(lái)∶ snort -c /etc/snort/snort.conf -D -i eth0 現(xiàn)在snort NIDS 的模式跑起來(lái)了. 在default 的情況下∶ alerts 會(huì)放在/var/log/snort/alert 中 port-scanning 會(huì)放在/var/log/snort/portscan.log 當(dāng)您真正跑NIDS 的時(shí)侯,需要把snort 以daemon 的模式來(lái)跑. 如果您安裝的是rpm 的東西,那么rpm 文件中已經(jīng)包含了一個(gè)snortd 的文件,并且會(huì)幫您安裝在/etc/rc.d/init.d/ 下面. 當(dāng)您設(shè)定好snort 的configure 文件以后,只要用chkconfig 把snortd 打開(kāi)就可以了: 加入snortd chkconfig --add snortd 打開(kāi)snortd chkconfig snortd on 或者 chkconfig --level 3 snortd on 這里的level 請(qǐng)自行更改到您所跑的runlevel 您可以用cat /etc/inittab | grep id 來(lái)看自己在哪個(gè) runlevel 上面. cat /etc/inittab | grep id id:5:initdefault: 這里就是說(shuō)跑在run level 5 上面. 設(shè)定服務(wù)器 我們需要對(duì)服務(wù)器做一些設(shè)定,讓服務(wù)器把log 送到我們的logger 服務(wù)器去. 首先,我們需要設(shè)定/etc/syslog.conf 把log 送到一個(gè)有效的,但是不存在的ip 下面.例如我們的網(wǎng)路是192.168.1.0/24 其中并沒(méi)有192.168.1.123 這臺(tái)機(jī)器,也就是說(shuō)這個(gè)ip 實(shí)際上是空的.我們就把log 指向這里.您可以指向任意一個(gè)空的有效ip. vim /etc/syslog.conf 加入 *.info @192.168.1.123 如果您的系統(tǒng)是用syslog-ng 的話(huà) 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)路只是接了記個(gè)Hub 而已, 那么ARP 地址一樣可以好象ip 一樣,設(shè)定成虛構(gòu)的. 如果您有連結(jié)switch, 您需要加入log 服務(wù)器的真實(shí)MAC 地址. 我們這里加入我們logger 服務(wù)器的真實(shí)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 所做的動(dòng)作就是把fragmented 給我們r(jià)e-assembly preprocessor frag2 log udp 192.168.1.1/32 any -> 192.168.1.123/32 514 (logto: "logged-packets";) 最后一行需要稍微解釋一下∶ 我們這里把snort 來(lái)做packet logger. 也就是說(shuō),并不是把所有的東西都寫(xiě)入到/var/log/snort/alert 中.而是log any packets with match the rule without writing an alert. udp: 是說(shuō),我們這里用udp 的protocol. system log 通常都是使用udp 的. 192.168.1.1/32: 就是只我們的服務(wù)器啦,也就是送log 的機(jī)器. 如果您是從整個(gè)一個(gè)網(wǎng)路段中收l(shuí)og 也可以用192.168.1.0/24. any: any source port 任何port ->: 這個(gè)是direction operator 大家都知道的 192.168.1.123/35 514 就是我們給出的那個(gè)空ip 啦, port 514 如果沒(méi)有指定logto: 的話(huà), log 會(huì)分別保存在不同的文件中. 而指定logto 的話(huà),就會(huì)把log 全部存放到我們指定的文件中,看起來(lái)方便多了. 更安全的保存log 就可以更安全的保護(hù)服務(wù)器。snort 的功能實(shí)際上非常的強(qiáng)大, 這里只是一個(gè)簡(jiǎn)單的介紹而已。 |
免責(zé)聲明:本站部分文章和圖片均來(lái)自用戶(hù)投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷(xiāo)服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信