美的自控  广嵌教育  广嵌教仪  
 
首页 > 操作系统 > Linux > Linux系统安全如何设定log日志记录服务器
Linux系统安全如何设定log日志记录服务器
来源:赛迪网  作者:kaduo 时间:2008-08-29 发布人:华女

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

  环境 RedHat 7.3

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

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

Stealth sniffer
            stealth NIDS porbe
            stealth logger


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

  为什么要 stealth 呢?

  在internet中运行任何一种服务,都是有一定的危险的。不管是http也好,ftp也好,telnet也好,总之都会有机会被黑客入侵。stealth logger的独特性可以让我们在接收资料的同时,不发送任何的资料。这样外界的电脑(被黑客入侵的电脑)就根本无法去更改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/ 下面看到非常多的有用的文件。










·上一条:离子迁移谱仪嵌入式系统的设计
·下一条:嵌入式系统及如何开发自己的嵌入式系统

评论
发布者 标题 发布日期
游客 Fake Cheap Gucci Handbags Cheap Gucci Abbey D Fake Chanel Bowler Handbags Cheap Chanel Coco Cheap Chanel Flap Cheap Chanel Hobo Handbag Fake UGG Classic Tall stamp Cheap UGG Coquette Slipper Fake UGG Kid's Classic UGG Fake Baby Cheap UGG Classic Dakota Cheap UGG Classic Metallic 5812 Cheap UGG Women's Metallic Classic Cheap Fendi Handbags Fake Ugg Boots For Men 2009-12-02
游客 北京巩义明建科技有限公司,主要销售:聚合氯化铝,聚丙烯酰胺,活性炭,石英砂,活性氧化铝,补偿器,伸缩器,波纹补偿器,管道伸缩器,橡胶接头,阀门,硫酸亚铁,水合肼,水合联氨,分子筛,曝气软管,石英砂滤料,金刚砂,滤料,沸石,火山岩,海绵铁,海绵铁滤料,火山岩滤料,沸石滤料,填料,干燥剂,悬浮球形填料,组合填料,生物滤料,生物陶粒,陶粒滤料,陶粒,接头,伸缩接头,无烟煤,无烟煤滤料,锰砂,防水套管,柔性防水套管,锰砂滤料,果壳滤料,果壳活性炭,空气净化炭,椰壳活性炭,粉状活性炭,聚合氯化铝铁,聚合硫酸铝,碱式氯化铝,计量泵,加药泵,二氧化氯发生器,软性填料,半软性填料,曝气器,北京曝气器,鲍尔环,鲍尔环填料,蜂窝斜管填料,斜管填料,滤帽,滤水帽,排水帽,弹性填料等产品;网址: www.bjmj888.com . 网站建设,北京网站建设,北京翻译公司,seo,网站优化,网站建设 2009-08-20
游客 美国月子中心到美国生孩子出国生孩子美国大学排名雅思考试澳洲留学中介北京留学中介法国留学中介韩国留学韩国留学中介合法留学中介荷兰留学中介荷兰预科留学服务留学公司留学咨询公司美国留学中介欧洲留学中介英国留学中介加拿大留学中介留学申请高中生留学澳大利亚留学澳洲留学出国出国留学法国留学荷兰留学加拿大留学加拿大签证留学留学澳大利亚留学澳洲留学法国留学荷兰留学加拿大留学美国留学新加坡留学英国留学中介美国留学新加坡留学英国留学英国签证瑞典留学窃听器手机窃听器监听器手机监听器窃听器手机窃听器监听器手机监听器窃听器手机窃听器监听器手机监听器 2009-08-05
以下发言只是广嵌网会员个人意见,非本网立场 查看更多评论

发表评论
·尊重网上道德,遵守中华人民共和国的各项有关法律法规。
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任。
·本站管理人员有权保留或删除其管辖留言中的任意内容,本站有权在网站内转载或引用您的评论。
·参与本评论即表明您已经阅读并接受上述条款。
标题:
发布者:
内容:
验证码:

广嵌教育培训联系
我要报名 我要咨询
24小时咨询热线:13928830618
报名热线:020 32068395-809
E-mail:gec-train@midea.com.cn
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

相关信息
·嵌入式系统及如何开发自己..
·Linux发展面临新机遇..
·基于ARM9的32位高端..
·基于Linux/Qtop..
·基于μClinux的触摸..
·Linux系统安全如何设..
·Linux环境下基于I2..
·Linux系统下Shel..
·LSI Tarari 内..
·基于嵌入式Linux的网..

Copyright ©2005-2007 广东省嵌入式软件公共技术中心.All Rights Reserved.版权所有 复制必究
开发板实验箱服务支持:020-32068395-704 24小时服务热线:13695205507
技术支持与报障:gdesc@midea.com.cn 020-32068395-880
粤ICP备05104135号