设定安全log服务器呢(RedHat)的方法

所属分类: 网络安全 / 安全设置 阅读数: 245
收藏 0 赞 0 分享
*环境RedHat 7.3
 在网上越来越多的hacker 的出现, 越来越多的高手出现的情况下.如何才能确保自己可以保存一份完整的log 呢?稍微有点概念的hacker 都知道,进入系统后的第一见事情就是去清理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 这个程式..
 现在我们运行
 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 000:B7B: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 的功能实际上非常的强大, 这里只是一个简单的介绍而已。
更多精彩内容其他人还在看

用IP安全策略自动设置工具的遇到故障与解决方法

我最新在服务器上使用了IP安全策略自动设置工具,服务器是web站点,开80,20,21,3389等。
收藏 0 赞 0 分享

分享几个WebSite网站防黑经验

分享几个WebSite网站防黑经验,站长朋友可以参考下。
收藏 0 赞 0 分享

在Windows 下关闭21\23\25端口的方法

在Windows 下关闭21\23\25端口的方法,有时候为了安全我们需要禁止一些端口
收藏 0 赞 0 分享

招你几教 让你防止电脑辐射

对于生活紧张而忙碌的人群来说,抵御电脑辐射最简单的办法就是在每天上午喝2至3杯的绿茶,吃一个橘子
收藏 0 赞 0 分享

教你把电脑屏幕设置成可以保护眼睛的颜色

我们知道,长期使用电脑,眼睛盯着屏幕会使眼睛非常干涩、疲劳,所以现在流行将电脑设置成可以保护眼睛的颜色。
收藏 0 赞 0 分享

家庭用路由器功能的详细介绍

现在的宽带路由器不少功能对于一般家庭用户来说确实非常实用,可以提高很多网络应用程序的执行效果。下面谈谈家用路由器所具备的功能,顺便告诉大家哪些功能比较实用、哪些功能意义不大。
收藏 0 赞 0 分享

你的路由要hold住 带宽提速时代

近日,工业和信息化部召开宽带普及提速工程动员部署大会,在会上宣布正式启动实施“宽带普及提速工程”,至此,我国备受关注和带宽提速开始了。
收藏 0 赞 0 分享

用路由器限制别人的网速的技巧

在学校里面每个寝室使用一根线在上网,如果有人在下载的话,导致网速变得很慢,有没有什么办法可以限制别人的网速,来限制下载速度呢。当然是可以的,下面笔者来教我们怎么去限制别人的网速来限制别人下载的速度。
收藏 0 赞 0 分享

路由器与路由器互相连接详细设置图文教程

本文将为大家详细讲述路由接路由的设置方法,下面以图示先标明局域网各路由间的接法:
收藏 0 赞 0 分享

家用无线路由器安全设置必读

伴随着各运营商的宽带大提速,无线已经成为家庭组网的首选。老百姓真真切切地感觉到:无线真好!而且各厂商的在无线路由器的设置上也尽力做到人性化,以帮助大叔大妈们也能轻松的设置家庭无线网络,但一提到如何让家里的无线网络更加安全?很多大妈又犯了难,认为安全防护
收藏 0 赞 0 分享
查看更多