分享
 
 
 

安全的log纪录服务器

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

环境 RedHat 7.3

在网上越来越多的 hacker 的出现, 越来越多的高手出现的情况下.如何才能确保自己可以保存一份完整的 log 呢?稍微有点概念的 hacker 都知道,进入系统后的第一见事情就是去清理 log, 而发现入侵的最简单最直接的方法就是去看系统纪录文件.现在我们来说说如何设定一个安全的 log 服务器.

想想看,如果入侵者无法连结您的 log 服务器,又如何能改您的 log 呢?现在我们来学习如何设定一个无 ip 的 log 服务器.

现在,来介绍一下如何用 Snort 来做三件事情∶

Stealth sniffer

stealth NIDS porbe

stealth logger

这一切都是用在一台没有 ip 的服务器上面的. NIDS 是 Network Intrusion Dectection Server 的简称,也就是说入侵检测服务器.

为什么要 stealth 呢?

在 internet 中运行任何一种服务,都是有一定的危险的.不管是 http 也好, ftp 也好, telnet 也好,总之都会有机会被 hack 入侵. stealth logger 的独特性可以让我们在接收资料的同时,不发送任何的资料.这样外界的电脑(被 hack 入侵的电脑)就根本无法去更改 loger server 所收到的信息.也就是说保证了我们信息的完整性,以及原始性. 为了确保 log 服务器的安全,最好不要将 log 服务器连接在网路中.也就是说,当您需要检查 logger 服务器上得东西的时侯,您需要到电脑前,打开屏幕.而不是远端 login 进来.但是,如果说您一定要连接网路的话的话,那么请用两个的介面来做.也就是说两片网卡.并且注意,第一, IP forwarding 一定要关闭.第二就是,用来做 stealth logger 的介面是没有 ip 的一张网卡,这张网卡必须不能跟另外一个有 ip 的网卡在同一网路下面.

设定

首先当然是确定您的网卡安装无误,并且可以被 kernel 抓到.然后把网卡所需要的 module 写到 /etc/modules.conf 文件中.

现在我们来设定一个没有 ip 的网卡介面.

编辑文件 /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 这个程式.如果您的电脑中没有这个程式,可以到 www.snort.org 下载.

现在我们运行

snort -dvi eth0

这里 -d 的选项告诉 snort 对资料进行 decode (解码)

-v 告诉 snort 将结果显示在屏幕上面

-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(入侵侦测) 入侵检测本身是一件很复杂的事情. snort 本身也提供了强大的入侵检测的功能. 这里我只做一个简单的介绍,好让大家有一个概念.如果真正实体去做一个 NIDS 的话.需要些更复杂的动作.例如设定更完善的 rules, 定时更新 snort.conf 中所定义的 rules (当新的攻击方式出现以后,要及时更新)

首先,我们需要更改一下 /etc/snort/snort.conf 具体需要参照您自己的机器来设定.

#设定 log 存放的地方

config logdir: /var/log/snort

#设定网路

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 ./

#设定 preprocessors

preprocessor frag2

preprocessor stream4: detect_scans

preprocessor stream4_reassemblt

preprocessor portscan:  $HOME_NET 4 3 portscan.log

#设定 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;)

#设定 patch , 这些都是些附加的 rules 的文件

include  $RULE_PATH/bad-traffic.rules

include  $RULE_PATH/exploit.rules

include  $RULE_PATH/scan.rules

include  $RULE_PATH/ftp.rules

#这些 rule 其实还有很多.您可以自己去写,也可以找人家写好的下载拿来用.

现在让我们把 snort 跑起来∶

snort -c /etc/snort/snort.conf -D -i eth0

现在 snort NIDS 的模式跑起来了. 在 default 的情况下∶

alerts 会放在 /var/log/snort/alert 中

port-scanning 会放在 /var/log/snort/portscan.log

当您真正跑 NIDS 的时侯,需要把 snort 以 daemon 的模式来跑. 如果您安装的是 rpm 的东西,那么 rpm 文件中已经包含了一个 snortd 的文件,并且会帮您安装在 /etc/rc.d/init.d/ 下面. 当您设定好 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 上面.

设定服务器 我们需要对服务器做一些设定,让服务器把 log 送到我们的 logger 服务器去. 首先,我们需要设定 /etc/syslog.conf 把 log 送到一个有效的,但是不存在的 ip 下面.例如我们的网路是 192.168.1.0/24 其中并没有 192.168.1.123 这台机器,也就是说这个 ip 实际上是空的.我们就把 log 指向这里.您可以指向任意一个空的有效 ip.

vim /etc/syslog.conf

加入

*.info @192.168.1.123

如果您的系统是用 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 才可以. 如果您的网路只是接了记个 Hub 而已, 那么 ARP 地址一样可以好象 ip 一样,设定成虚构的. 如果您有连结 switch, 您需要加入 log 服务器的真实 MAC 地址.

我们这里加入我们 logger 服务器的真实 MAC 地址就可以了.

arp -s 192.168.1.123 00:D0:B7:DB:BF:95

在 Logger 服务器设定 snort

/etc/snort/snort.conf

var EXTERNAL_NET any

#等于 snort -d

config dump_payload

#等于 snort -C

config dump_chars_only

#设定 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: 就是只我们的服务器啦,也就是送 log 的机器. 如果您是从整个一个网路段中收 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 就可以更安全的保护服务器. snort 的功能实际上非常的强大, 这里只是一个简单的介绍而已.如果您对这些东西有兴趣.可以去 www.snort.org/docs/ 下面看到非常多的有用的文件.

来源:http://www.jimmy-lam.com/studyarea/

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有