网络管理员最常遇到的问题就是网络连接问题,也许公司员工的计算机无法上网那么我们可以通过简单的几步就检测到问题所在,但有一种网络连接问题却让我们无所适从,那就是员工反映网络速度缓慢。因为决定网络速度的因素很多,不可能通过简单的操作检测出速度的 大小。作为一名合格的网络管理员,我们需要专业的工具来测量网络带宽以及数据的吞吐量,今天就为大家介绍专业评测工具CHARIOT的简单使用方法。

    网络速度慢最直接的原因就是带宽不足或者线路有问题,我们可以通过CHARIOT测量网络中任意两台计算机之间的连通带宽,并且该软件还可以将测量结果以图形的形式表现出来,更方便我们比较和浏览。当然要想成功测量带宽吞吐量的前提是需要这两台计算机之间 有路由指引数据包的传送方向。

    一,CHARIOT简介:

    CHARIOT是目前世界上唯一认可的应用层IP网络及网络设备的测试软件,可提供端到端,多操作系统,多协议测试,多应用模拟测试,其应用范围包括有线,无线,局域,广域网络及网络设备;可以进行网络故障定位,用户投诉分析,系统评估,网络优化等。从用 户角度测试网络或网络参数(吞吐量,反应时间,延时,抖动,丢包等)。

    二,CHARIOT工作原理:

    CHARIOT和一般的网管系统及一些在线监测系统有本质上的不同。网管系统及一些在线监测系统采取被动式监视,而CHARIOT采用主动式监视及测量;网管系统及一些在线监测系统提供定性的测量,而CHARIOT采取定量的测量。

    CHARIOT测试原理是通过产生模拟真实的流量,采用End to End的方法测试网络设备或网络系统在真实环境中的性能。能够广泛应用在SWITCH,ROUTER,WIRELESS,QoS,MULTICASTING及网络等方面的功能和性能测试。

    CHARIOT的基本组成包括CHARIOT控制台和Endpoint.其中CHARIOT控制台可以运行于Microsoft的各种Windows平台。在CHARIOT控制台上可以定义各种可能的测试拓扑结构和测试业务类型。Endpoint可以运行 在几乎目前流行的所有操作系统上。CHARIOT Endpoint能够充分利用运行主机的资源,执行CHARIOT控制台发布的Script命令,从而完成需要的测试。具体的工作流程图见图1.

    三,CHARIOT的功能:

    CHARIOT能提供多达10000个并发连接,能更好的模拟真实环境对设备及网络进行全面的测量。CHARIOT能够评估网络应用的性能和容量,对网络和设备进行压力测试。CHARIOT作为压力、故障定位、评估设备及网络应用层性能的测试软件,是维护 健康、快速、可靠网络和研发生产高性能网络设备所需的可靠工具。CHARIOT同时也可以作为网络设备和网络本身的一个在线测试工具,提供主动式网络在线性能分析及监视。

    另外CHARIOT内置了超过120个业务脚本,如FTP,HTTP,IPTV,Netmeeting,RealAudio等,可以方便我们应用于不同的环境。他还支持IP TOS,GQoS,DiffServ,组播及VOIP等业务。在测试时CHARIOT可以将单个主机模拟成超过2000个主机,这样测量结果更具权威性。

    小提示:

    CHARIOT可提供定量在线网络性能分析,一些评测机构采用该软件对客户的网络系统提供网络性能评估服务。他的兼容性很好支持多种操作系统。并且CHARIOT的评测是根据一个个的脚本来实现的,因此用户可以编写自己的脚本满足实际要求,编写起来难度也 不是很大。

    四,实际应用:

    我们将通过几个实例为大家介绍CHARIOT 5.0的使用。通过CHARIOT我们可以测量出网络中任意两个节点之间的真实的最大带宽,这样就不会被ISP欺骗花高价钱享受低带宽了。

    实例1:测量网络中任意两个节点的带宽:

    任务描述:

    经常有人反映网络速度缓慢,那么怎样确定网络间带宽是多少呢?SNIFFER只能抓包不能给出实际带宽,这时候就需要CHARIOT来帮忙了。我们假定要测量网络中A计算机10.91.30.45与B计算机10.91.30.42之间的实际带宽。

    实现方法:

    第一步:首先在AB计算机上运行CHARIOT的客户端软件ENDPOINT.双击endpoint.exe出现图2所示,确定后你会发现任务管理器中多了一个名为endpoint的进程。

    第二步:被测量的机器已经就绪了,这时候就需要运行控制端CHARIOT了,我们可以选择网络中的其他计算机也可以在A或B计算机上直接运行CHARIOT.(如图3)

    第三步:主界面中点NEW按钮,弹出的界面中点上方一排按钮的ADD PAIR.(如图4)

单击看大图

    第四步:在ADD AN ENDPOINT PAIR窗口中输入PAIR名称,然后在ENDPOINT1处输入A计算机的IP地址10.91.30.45,在ENDPOINT2处输入B计算机的IP地址10.91.30.42.按select script按钮并选择一个脚本,由于我们是测量带宽所以选择软件内置的Throughput.scr脚本。(如图5)

单击看大图

    小提示:

    CHARIOT可以测量包括TCP,UDP,SPX在内的多种网络传输层协议,我们在测量带宽时选择默认的TCP即可。

    第五步:确定后我们点主菜单的RUN启动测量工作,当然直接点上面一排里的RUN按钮也是可以的。

    第六步:之后软件会测试100个数据包从A计算机发送到B计算机。由于软件默认的传输数据包很小所以很快测量工作就结束了。在结果中我们点THROUGHPUT标签可以查看具体测量的带宽大小。如图6显示了A与B计算机之间的实际最大带宽为83.6Mbp s.

    小提示:

    由于交换机和网线的损耗,往往真实带宽达不到100Mbps,所以本例得到的83.6Mbps基本可以说明AB计算机之间的最大带宽为100Mbps,去除损耗可以达到80多Mbps的传输速度。

    总结:

    本文介绍了CHARIOT的基本功能和工作原理并带着大家完成了一个最简单的带宽吞吐量测量例子,当然CHARIOT功能是强大的,很多技巧可以帮助我们测量得更加准确更加具有权威性。我们将在宽窄我心知(下)中为大家介绍这些高级应用与使用技巧。

你可以转载本文,但请务必保留本文的完整性Author:
赵彦,中联绿盟信息技术(北京)有限公司
Homepage:

www.ph4nt0m.org
Mailto: ay4z3ro@hotmail.com
本版初稿只代表个人观点,仅供参考,对于迷信产生的后果,本人不承担任何责任
本文实际上并不能算是Career Planning,只是一些分类描述,唯一好处仅在于帮助你理解不同职位的技能要求,因为最近很忙,本文也远远达不到Body of  Knowledge的详细程度,计划在空闲时再补一篇真正的Career Roadmap[漏洞挖掘/安全技术研究员]
研究对象:OS,网络,应用,通讯媒介及协议的安全漏洞和防御方法,偏重于底层技术,对技术要求最高,但不要求很全面,只需精通一两种流行的平台即可。其研究成果经常为IDS/IPS/Vulnerability Scanner插件作分析等,最新的技术可能被转化到产品中实现商业价值,或可能承担技术最高的一部分专业安全服务。

主要技能:C\C++,ASM,OS kernel,调试器,反汇编、缓冲区溢出类,逻辑编程错误等

[安全产品开发]
和其他程序员一样,只不过是面向安全产品,有核心引擎也有界面开发,如何成为一个优秀的程序员就不用我废话了吧,网上的Proposal多的是

[产品工程师]
作为厂商的技术人员,一般是对自有产品做售后技术支持,如FW,VPN,IDS/IPS,Scanner,AV,AAAA,CF,UTM,SOC,Terminal Management,Vulnerability/Patch Management,Anti-DOS,Anti-Spam……该职位对技术要求一般,有一定的系统、网络基础,可以熟练部署产品即可,另外还有Testing和Troubleshooting的能力也是比较重要的

[技术顾问/售前工程师]
作为厂商的售前,须对自有的产品和解决方案非常熟悉,售前偏重于架构/方案设计,Presentation,Documentation以及其他Presale Engineering的能力(如投标、销售推介技能),一般需要多年工作经验,有售后或者研发背景,对特定行业的理解-如曾在电信、金融或者SI的工作经验能增强竞争力,如能对专业安全技术服务及咨询服务有所掌握,会使你的知识背景更强势,项目管理技能也是必要的。

[安全服务工程师]
个人觉得在安全工程领域,产品选型和部署相对简单,门槛较高的是专业安全服务,先不论当前行业内的安全服务技术人员实际水平如何,我只是就我的理解谈一下以下职位的技能需求。如渗透测试、安全加固、安全外包/安全监控,应急响应,高级安全技术培训,风险评估等要求技术人员对主流的操作系统平台,网络设备,数据库,企业应用有一定程度的掌握,并且需要融入对安全和攻防技术的理解,另外安全服务人员最好需要有信息安全管理和项目管理的知识。沟通表达以及文档撰写能力都是必须的。

[安全架构师]
之前的售前工程师和安全服务工程师也要写整体解决方案,但从专业程度来说,他们还达不到安全架构师的技术高度,安全架构师须熟悉IT基础设施、容灾备份,大型企业级应用,安全集成,网络设计规划,网络安全产品典型部署,熟悉各种通信标准及协议,需要了解安全趋势和客户的整体安全需求,既有深度又有广度,需要较多的经验和技术。

[信息安全咨询顾问]
信息安全既有技术也有管理的问题,如传统的Strategy、HR、IT consulting一样,Information Security Consulting也是专业服务中的主要业务,如:Risk Assessment、ISMS building、SOX Compliance……
信息安全不可能脱离企业自身的业务和实际需求,否则便成了空中楼阁,信息安全管理应该是以企业管理为上层引导,信息安全管理为中间支柱,下层以计算机及通信技术为基础依托的三层结构,当然出售的最终产物是三层融合的整体解决方案,咨询顾问一般需要以下技能:
熟悉各类安全标准–BS7799,ISO13335,CC,SSE-CMM,IATF,SP800……
相关的知识领域—IT Governance,ITIL/ITSM,MOF,COBIT,SOA,COSO……
咨询体系–企业经营管理,流程管理,人力资源管理,信息战略,法律法规
基本技能–沟通表达、文档、项目管理
技术体系–All above(不要因为我说了这句话趋之若鹜哦)

[CHO]
这里并不是指人力资源总监,而是传说中的Chief Hacker Officer–首席黑客官,在国外某些公司设有此类职位,是更加纯技术的职位,从名字就可以看出他的技术偏向哪里,实际上应该是安全教科书中的Whitehat,从Know your enemy的角度讲,反黑的的能力也确实强

[CSO/CISO]
一般只有较大的组织机构才单独设有首席安全官或首席信息安全官,在没有独立设置CSO职位的情况下,信息安全通常属于CIO/CTO/COO考虑的范畴,实际上也由他们扮演CSO的角色,因此换个角度—信息安全管理咨询应该是in CXO’s perspective,实际上高级咨询顾问到甲方即可成为CSO

通用且有一定竞争力的认证:
CISSP,CISM,CISA,BS7799LA

可供职的厂商:
国内专业安全公司:绿盟科技、启明星辰、天融信、联想网御、安氏
国外安全公司:ISS、Mcafee、Symantec、Checkpoint、TrendMirco
各大IT公司:Microsoft、HP、IBM、Cisco、Juniper、F5、Various vendors
会计事务所:PWC、E&Y、KPMG、DTT……
咨询公司:Accenture
甲方:如电信移动、金融、各大门户、电子商务以及IT系统对内部运营起到关键作用的企业

薪酬:
职位当然是影响Salary的重要因素,除此之外,审计师/咨询顾问、安全架构师和研究员的工资较高,外企的工资一般比国内企业高,在甲方的工资不一定有乙方高,主要看所在行业、企业盈利程度和对信息安全的重视程度,但乙方高薪职位通常来说比甲方更忙碌,其实质也是用时间换工资,从行为经济学看未必很实惠。

职业发展路线
研究员-高级安全研究员
开发程序员-项目经理
产品工程师-安全服务工程师-售前技术顾问
产品工程师-安全服务工程师-安全服务项目经理
产品工程师、安全服务工程师、技术顾问有两个发展方向:
1.        偏技术方向—安全架构师
2.        偏管理方向—咨询顾问
甲方和乙方的角色切换,如果对当前的视角失去了兴趣,不妨换个角度,如果结婚了寻求安定不想出差可以去甲方
当然以上只是理论公式,现实生活中的“天花板”在哪里有机会可以自己去体验一下

知识体系结构
大体分为技术体系和管理体系吧
技术体系:
对攻防技术的理解
OS、Network、Application、Data protection and related
TCP/IP protocol suits
研究偏重底层技术,架构偏重网络

安全管理体系:
各种信息安全技术/管理标准,审计及内部控制标准
传统管理学大集合
咨询及审计

其他:
对客户业务的理解
表达沟通,文档,演讲,项目管理和销售技能

 

微软成立于1975年,当时比尔盖茨还在哈佛学法律,保罗艾伦已经在一家公司工作了。他们以为罗伯茨先生发明的Altair计算机设计的Basic软件起家,当时的这种电脑还没有显示器,但大受欢迎。微软当时拥护的理念确实比较受大众欢迎:让妈妈也可以使用计算机。此前,包括Steve Jobs,保罗艾伦在内的众多黑客早已掀起“把计算机还给大众”的运动,因为70年代初的美国,计算机被IBM等大公司垄断,普通人要使用计算机需花费巨额资金。那时候的计算机高手陶醉于技术,不管大众使用是否方便。所以易用的软件容易普及,并非因其功能强大或先进。Apple的个人计算机70年代已大获成功,但后因为软、硬件都坚决不授权而被IBM PC超越:历史屡次告诉我们,开放往往胜过封闭。
  微软后来购买了脱胎自CP/M的QDOS(Quick and Dirty System,快速而肮脏的系统),做了很少的改动就贴上了MS-DOS的标签,搭上了IBM研发出的PC(Personal Computer)这艘豪华油轮,当时的创立不久的Intel也一样。签合约时,保罗艾伦和比尔盖茨坚持自己可以对外授权,并给了IBM几乎免费的授权价格——每年约20万美元就可以任意复制。后来,IBM PC国际巨星般的成功,引来Compaq、Dell等公司的追随,他们推出了兼容机(可能利用逆向工程分析了该产品),并借IBM的傲慢和在CPU升级换代上的优柔寡断一举成名。此后,IBM也像当时的很多软件公司一样被微软的挑衅搞昏了头脑,开始对付微软(而不是专心考虑如何更好的服务客户),结果导致后来的灾难,差点破产。微软这时的竞争手段已经越来越卑鄙了,可当时这方面的立法和执行非常迟钝。
  Windows3.0和Windows 95先后为微软带来了巨大的成功和金钱(后来用这些钱和很多手段挖对手墙角,当时的所作所为令人不齿)。进入九十年代,硅谷的很多软件公司在微软的强力垄断和律师团面前愁眉不展,产业的创新逐渐被扼杀,天空昏沉沉的,令人窒息。很多操作系统在其阴谋手段中先后失败,真是一个玩阴谋的高手。不信请看《对抗比尔盖茨的阴谋》和《比尔盖茨和他领导的野蛮人》等不怎么拍微软马屁的书吧。
                                                   
                        
  直到Linus做出了Linux0.01,并历史性的(通过Internet)与世界各地的编程高手一起塑造出了这个伟大的操作系统。其优势在于其强大的性能和网络功能,向大众开放源代码——使我们可以基于Linux研究、开发更好的解决方案和软件,而不是被挡在抽象层外或面对多得惊人的垃圾代码,精巧可爱、不臃肿,软件任我们自己选择,架构清晰地展现在我们面前……(多的很啊!);缺点就是用户使用习惯和易用性方面了,但从Suse Linux 10开始将改变这一点。选择Linux,选择自由与幸福;选择微软,选择与魔鬼共舞。

在家用电子领域中,对于画质的水准要求越来越高。比如等离子电视液晶电视。如果使用新一代的数字接口将会对画质有显著的提高。对于现在使用还比较多的模拟信号接口来说,已经逐渐被DVI接口的数字电视所慢慢取代。从潮流来看,DVI数字接口将会成为家用电视的主流。而HDMI接口将是未来的高清标准。

值得关注

    据市场调研公司In-Stat称,到2008年,数字电视的DVI接口将在市场中消失。也就是说取而代之的将是更先进的HDMI接口。不过目前还只是针对家用数字高清产品而言。

值得关注   值得关注

 左图为HDMI接口、右图为传统DVI接口

    从In-Stat分析师Brian O’Rourke的口中得知,“DVI即将迅速消退的原因有两个,第一是最近颁布的HDMI 1.2标准使之具备了与PC更好的兼容性,第二是在2005年基于HDMI推出的两个新标准DisplayPort和UDI都可以比DVI提供更高的带宽和更简单的设计。按照上面分析师Brian O’Rourke所说的两点DVI消退的原因中看出,这两点将是HDMI接口取代DVI接口的主要原因。更好的兼容性也就是说我们用电视连接起计算机将更加的方便以及实用。HDMI接口的新指标DisplayPort和UDI也将是完全替代老式DVI的重要特性!应用方面在高清电视的领域中显得更为重要。

值得关注   值得关注
 左图为HDMI连接线、右图为DVI连接线

    另外根据In-Stat的数据中得知,在CE领域内HDMI接口的市场越来越大,正在逐渐将DVI的市场所取代。HDMI接口来连接计算机将获得更好的画质享受。数据表明HDMI接口的设备出货量已经从2004年的500万上升到了2005年的1740万!可见需求量不可小视!而DVI接口设备在HDMI的强压下2006年达到了最高峰6600万之后将呈下滑趋势。

值得关注

 电视机后方的HDMI接口

    ◎ 观点

    从发展和技术的角度上来看,我们没有任何理由来拒绝新一代的HDMI接口。从数据方面来看,更是看到HDMI接口的需求量在日益剧增。相反来看DVI接口的设备已经慢慢开始呈下滑趋势,所以按照现在发展方向来看,选购电视的话小编建议选择拥有HDMI接口的高清设备。

韩流袭来,一部大长今让中国人终于看到了韩国电视剧的罗里八嗦,但是主题歌却是一首反映中国一段野史的颂歌,歌曲表达了对山东大汉武松为兄报仇的英雄事迹,几经反复,地狱耶稣终于破解了歌曲密码……
http://blog.cnwing.net/uploadfile/20059515724638.wma
以下为歌词:

武大郎武大郎~~~~挨猪打(武大郎挨打了,还挨猪打,反映了韩国人民对西门庆的强烈鄙视和仇恨,称其为:猪。)

挨打了挨打了挨猪打了…(一唱三叹,更加强烈的表达感情)

打了你打了猪,葫芦打地!(借景抒情,反映了武大郎挨打时候鸡飞狗跳的场面)

啊弟弟!啊弟弟!阿弟怒咧!(武二郎怒从胆边生,武大的弟弟武松上火了,怒吼了,集气了)

踹呀~~踢啊,挨打的那头猪,哭去喽,哭他妈,他就完啦(在武松的连续技强攻之下,西门庆一败涂地,哀号至死)

武大郎武大郎~~~~挨猪打…..(武松在大哥坟前哭诉)

他打啦他打啦挨猪打了(怒斥西门庆的恶行)

他打你他也痛混蛋打你(他把你的女人带走,他也不会快乐很久…..)

啊你弟啊你弟啊弟哭咧…..(你弟弟武二郎在此用他人头祭奠你了….)

这首歌用简单明了的语言反映了当时武松为大哥报仇的一段场面历史,简洁有力,一唱三叹,有情有景,感人至深,不愧是近年来韩国历史题材影视剧的青春励志佳片。

OpenLDAP 2.1 管理员指南,写的非常详细,原来是E文的,而这是经过汉化后的。LDAP代表轻型目录访问协议。正如名字中表示的,它是一个用来访问目录服务,尤其是基于X.500的目录服务的轻型协议。LDAP运行在TCP/IP协议或者其他的面向连接的传输服务之上。LDAP的详细本质在RFC2251“轻型目录访问协议(V3)”中定义。本部分从用户的角度给出了LDAP的概述。

查看详细:http://i18n.linux.net.cn/others/OpenLDAP2.htm

一、 AWStats简介 

AWStats是在Sourceforge上发展很快的一个基于Perl的WEB日志分析工具。现今它也可以用来分析多种日志包括:Apache 1.3.x and 2.x, IIS 5.0 and 6.0, WebStar, WebLogic, WebSite, Windows Media Server, Tomcat, Squid, Sambar, Roxen, Resin, RealMedia server, Oracle9iAS, Lotus Notes/Domino, Darwin, IPlanet, IceCast, ZeroBrand, Zeus, Zope, Abyss、proftp、wuftp、vsftp、Postfix, Sendmail, QMail, Mdaemon, www4mail…… HOHO~~够多的了吧。现在就让我来介绍一下,用它来分析vsftp日志的安装配置方法吧。 

二、 安装简介 

1、Awstats的安装CU上有,很详细,下面是两个相关的链接: 
RPM包安装: http://bbs.chinaunix.net/forum/viewtopic.php?t=362206&highlight=awstat 
Tar包安装:http://bbs.chinaunix.net/forum/viewtopic.php?t=120108&highlight=awstat 

2、下面是我的安装过程简介: 
1)AWStats从6.2 版(beta)开始支持wuftp 格式的vsftp日志文件,所以你想要对你的vsftpd日志进行分析,你就只得到http://awstats.sourceforge.net/#DOWNLOAD 下最新的AWStats-6.2的tgz包了,其它的都不支持喔,呵呵。 
2)安装: 
tar –zxvf awstats-6.2.tgz 
cp –r awstats-6.2 /usr/local/awstats 
vi /etc/httpd/conf/httpd.conf #在最后加上下面的几行: 

# Directives to allow use of AWStats as a CGI 

Alias /awstatsclasses “/usr/local/awstats/wwwroot/classes/” 
Alias /awstatscss “/usr/local/awstats/wwwroot/css/” 
Alias /awstatsicons “/usr/local/awstats/wwwroot/icon/” 
ScriptAlias /awstats/ “/usr/local/awstats/wwwroot/cgi-bin/” 


# This is to permit URL access to scripts/files in AWStats directory. 

<Directory “/usr/local/awstats/wwwroot”>; 
Options None 
AllowOverride None 
Order allow,deny 
Allow from all 
</Directory>; 
service httpd restart #重启apache服务 
cp /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf /etc/awstats/awstats.bjftp.conf #考贝配置文件 

OK,AWStats的安装已经基本完成了。说明一下上面的安装过程:AWStats是一个用perl写的CGI脚本,它需要Apache或IIS的支持,才能把相应的统计结果用网页的行式显示出来。所以在把awstats-6.2考贝到/usr/local下后,就需要更改apache的配置文件,定义classes、css 、icon、cgi-bin目录的真实路径和/usr/local/awstats/wwwroot目录的属性,然后重启apache服务。如果是新手,也可以执行/usr/local/awstats/tools/ awstats_configure.pl,通过回答几个问题,去自动做这些工作。 

三、设置awstats的配置文件 

这是我主要要向大家介绍的内容。要实现对vsftp的日志的统计,你必须把vsftpd的日志格式改成wuftp格式的,我个人认为vsftpd日志格式十分不适合作日志统计,因为它的每行的列数不都是相同的,这相当不利于日志统计。 
1)要生成wuftp格式的日志,你首先得更改/etc/vsftpd.conf文件,在文件最后回上这么几条: 
xferlog_enable=YES 
xferlog_std_format=YES 
xferlog_file=/var/log/vsftpd.log 
(注:如果有vsftpd_log_file=/XXX/XXX请把它注释掉) 
上面的设置会使生成的wuftp格式的日志存到/var/log/vsftpd.log文件中。当然,你也可以更改xferlog_file=/xxx/xxx来选择其它的目录文件。这样你生成的vsftpd.log日志格式将是下面的样子: 
Sun May 23 08:34:27 2004 67 192.168.13.102 975291 /lastlog a _ o a -anonymous@ ftp 0 * c 
Sun May 23 08:34:28 2004 68 192.168.13.106 975291 /lastlog a _ o a -anonymous@ ftp 0 * c 
Sun May 23 08:34:28 2004 68 192.168.13.102 975291 /lastlog a _ o a -anonymous@ ftp 0 * c 
2)现在我们来配置一个生成vsftpd日志统计的awstats配置文件。 
vi /etc/awstats/awstats.bjftp.conf #把文件中相应的配置设成与下面相同LogFile=”/var/log/vsftplog” #日志文件的路径、名字 
LogType=F #日志文件的类型FTP 
LogFormat=”%time3 %other %host %bytesd %url %other %other %method %other %logname %other %code %other %other” 
#日志文件的格式定义,这点很重要,一定要和你的日志格式一样,在awstats.bjftp.conf文件中有详细的格式定义解释,大家可以看一下。(awstats-6.2以下版本之所以不支持vsftpd日志统计,就是因为它的%time3格式定义与日志的不符) 
LogSeparator=”\s” #日志各列之间用的分隔符 
SiteDomain=”bjftp.xxx.com” #域名、服务器名(一定要定义,在生成awstats数据库时要用到) 
HostAliases=”bjftp.xxx.com bjftp 127.0.0.1 localhost” 
DNSLookup=0 #不逆向解析域名 
DirData=”/home/awstats” #生成的统计数据库的位置(注意,生成的文件可是rw-rw-rw-权限的喔,最好把他改一下。) 
DirCgi=”/awstats” #CGI统计脚本的执行目录,这个和你在apache中的ScriptAlias定义相对应。 
DirIcons=”/awstatsicons” #icons在apache对应目录的定义 
AllowToUpdateStatsFromBrowser=0 #是否可以用浏览器来执行更新,默认是不可以。如果设成1,你就可以在IE中更新统计了。 
NotPageList=”” 
LevelForBrowsersDetection=0 
LevelForOSDetection=0 
LevelForRefererAnalyze=0 
LevelForRobotsDetection=0 
LevelForWormsDetection=0 
LevelForSearchEnginesDetection=0 
ShowLinksOnUrl=0 
ShowMenu=1 
ShowMonthStats=UVHB 
ShowDaysOfMonthStats=HB 
ShowDaysOfWeekStats=HB 
ShowHoursStats=HB 
ShowDomainsStats=HB 
ShowHostsStats=HBL 
ShowAuthenticatedUsers=HBL 
ShowRobotsStats=0 
ShowEMailSenders=0 
ShowEMailReceivers=0 
ShowSessionsStats=1 
ShowPagesStats=PBEX 
ShowFileTypesStats=HB 
ShowFileSizesStats=0 
ShowBrowsersStats=0 
ShowOSStats=0 
ShowOriginStats=0 
ShowKeyphrasesStats=0 
ShowKeywordsStats=0 
ShowMiscStats=0 
ShowHTTPErrorsStats=0 
ShowSMTPErrorsStats=0 

其它的一些我就不一一解释了,可以看一下/etc/awstats/awstats.bjftp.conf文件,里面写得很清楚的。只要把/etc/awstats/awstats.bjftp.conf中的相关先项设成这样,一个vsftp的awstats配置文件已经设定好了。下面要做的就是统计日志了。 

四、生成统计网页 

cd /usr/local/awstats/ wwwroot/cgi-bin 
./awstats.pl -update -config=
bjftp.xxx.com 
(注意:-config=后的参数要和SiteDomain=中定义的相同。最好不要用root去执行这个命令,因为生成的文件是 all can wirte!!!的) 。这样就会在” DirData”定义的目录—/home/awstats下生成一个或多个awstats072004.bjftp.xxx.com.txt、awstats062004.bjftp.xxx.com.txt它们是以日志有月分来分开的,有几个月的日志就会有几个文件。你可以把上面命令加到crontab中,让它定时更新。 
在IE中打入 http:///awstats/awstats.pl?-config=bjftp.xxx.com 就可以看到一张漂亮的日志统计表了。大家可以去http://awstats.sourceforge.net/awstats.ftp.html 看一下一个awstats的FTP日志统计分析结果网页,很不错的。 

五、其它类型日志文件awstats配置方法 

最后,要说的是awstats支持的日志种类很多,从WEB到FTP到MAIL到Media,各种日志都有自己的awstats.xxx.conf的定义,所以大家可以去 http://awstats.sourceforge.net/docs/awstats_faq.html#LOGFORMAT 看一下各种日志的awstats配置文件的定义,还是比较全的,不过E文要过关,呵呵。本人对IIS5、apache1.3*、apache2.*、vsftp日志作了测试统计,都能成功。特别是对apache日志的分析、统计,做得真的是很完美。 

对了还有个问题问大家,有人知道用GeoIP或GeoIPfree的perl模块自定义地区和IP的方法吗?用默认的只能把访问IP的各个国家分出来,不能把国内访问IP的省及市分出来。我已经有IP和省分的对应数据库了,少的就是把它加入perl模块的方法。我想这对日志分析还是很有用的,希望大家帮忙。

FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操 作系统下使用FTP,都会遇到大量的FTP内部命令。 熟悉并灵活应用FTP的内部 命令,可以大大方便使用者,并收到事半功倍之效。 
FTP的命令行格式为: ftp -v -d -i -n -g [主机名] ,其中 -v 显示远程服务器的所有响应信息; -n 限制ftp的自动登录,即不使用; .n etrc文件; -d 使用调试方式; -g 取消全局文件名。

ftp使用的内部命令如下(中括号表示可选项):

1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如: !ls*.zip.

2.$ macro-ame[args]:执行宏定义macro-name.

3.account[password]:提供登录远程系统成功后访问系统资源所需的补 充口令。

4.append local-file[remote-file]:将本地文件追加到远程系统主机, 若未指定远程系统文件名,则使用本地文件名。

5.ascii:使用ascii类型传输方式。

6.bell:每个命令执行完毕后计算机响铃一次。

7.bin:使用二进制文件传输方式。

8.bye:退出ftp会话过程。

9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。

10.cd remote-dir:进入远程主机目录。

11.cdup:进入远程主机目录的父目录。

12.chmod mode file-name:将远程主机文件file-name的存取方式设置为 mode,如: chmod 777 a.out 。

13.close:中断与远程服务器的ftp会话(与open对应)。

14.cr:使用asscii方式传输文件时,将回车换行转换为回行。

15.delete remote-file:删除远程主机文件。

16.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命 令,如: deb up 3,若设为0,表示取消debug。

17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本 地文件local-file。

18.disconnection:同close。

19.form format:将文件传输方式设置为format,缺省为file方式。

20.get remote-file[local-file]: 将远程主机的文件remote-file传至 本地硬盘的local-file。

21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名, 同命令行的-g参数。

22.hash:每传输1024字节,显示一个hash符号(#)。

23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。

24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。

25.image:设置二进制传输方式(同binary)。

26.lcd[dir]:将本地工作目录切换至dir。

27.ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本 地文件local-file。

28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结 束。

29.mdelete[remote-file]:删除远程主机文件。

30.mdir remote-files local-file:与dir类似,但可指定多个远程文件, 如: mdir *.o.*.zipoutfile 。

31.mget remote-files:传输多个远程文件。

32.mkdir dir-name:在远程主机中建一目录。

33.mls remote-file local-file:同nlist,但可指定多个文件名。

34.mode[modename]:将文件传输方式设置为modename, 缺省为stream方 式。

35.modtime file-name:显示远程主机文件的最后修改时间。

36.mput local-file:将多个文件传输至远程主机。

37.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同 名文件的时间更近,则重传该文件。

38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并 存入本地硬盘的local-file。

39.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输 时,文件中的某些字符相互转换,如:nmap $1.$2.$3[$1,$2].[$2,$3],则 传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX 机的情况。

40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans 1R,则文件名LLL将变为RRR。

41.open host[port]:建立指定ftp服务器连接,可指定连接端口。

42.passive:进入被动传输方式。

43.prompt:设置多个文件传输时的交互提示。

44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令, 该命令允许 连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open, 以首先建立两个服务器间的连接。

45.put local-file[remote-file]:将本地文件local-file传送至远程主 机。

46.pwd:显示远程主机的当前工作目录。

47.quit:同bye,退出ftp会话。

48.quote arg1,arg2…:将参数逐字发至远程ftp服务器,如: quote syst.

49.recv remote-file[local-file]:同get。

50.reget remote-file[local-file]:类似于get,但若local-file存在, 则从上次传输中断处续传。

51.rhelp[cmd-name]:请求获得远程主机的帮助。

52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态,否 则显示文件状态。

53.rename[from][to]:更改远程主机文件名。

54.reset:清除回答队列。

55.restart marker:从指定的标志marker处,重新开始get或put,如: restart 130。

56.rmdir dir-name:删除远程主机目录。

57.runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀 ..1,.2等。

58.send local-file[remote-file]:同put。

59.sendport:设置PORT命令的使用。

60.site arg1,arg2…:将参数作为SITE命令逐字发送至远程ftp主机。

61.size file-name:显示远程主机文件大小,如:site idle 7200。

62.status:显示当前ftp状态。

63.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时 使用stream结构。

64.sunique:将远程主机文件名存储设置为唯一(与runique对应)。

65.system:显示远程主机的操作系统类型。

66.tenex:将文件传输类型设置为TENEX机的所需的类型。

67.tick:设置传输时的字节计数器。

68.trace:设置包跟踪。

69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如: type binary,设置二进制传输方式。

70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如: umask 3。

71.user user-name[password][account]:向远程主机表明自己的身份, 需要口令时,必须输入口令,如:user anonymous my@email。

72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有 响应都将显示给用户,缺省为on.

73.?[cmd]:同help.

 ttii写著 ‘用了linux也有些时候了,终于决定写一点东西,给大家共勉,起到互相交流之目的。
写这篇文章是针对使用linux的管理员,爱好者,对linux安全性很关心的同僚们,希望对大家有所帮助。

用了linux也有些时候了,终于决定写一点东西,给大家共勉,起到互相交流之目的。
写这篇文章是针对使用linux的管理员,爱好者,对linux安全性很关心的同僚们,希望对大家有所帮助,
废话就不多说了,进入正题吧 ..
再说安全设置之前,我想先说说关于发行版和安装的问题,对于发行版,我相信大都知道,linux发行版实在是太多了我也不止一次在很多网站的文章,很多书籍上看到过议论那种发行版是最好的,其实我个人认为,在linux世界中,没有最好的这种说法,只要自己习惯,熟悉的一种版本,那么我就可以说他是最好的,写这篇文章,我也试着找了很多资料,试图找到一个大家都觉得常用的,熟悉的,最后,我觉得redhat linux真的很不错,虽然它的内核比较庞大,而且效率不使所有发行版中最高的,但是它的普遍性,易用性和软件升级支持,应用软件支持方面是值得提出的,这些发面也正是一个好的linux发行版需要具有的 这篇文章建立在redhat linux 7.3版之上,所有的软件设置均在这个版本上测试通过。
说到这里,可能大家要问,为什么我要用redhat 7.3现在不是有很多吗,就redhat来说就有redhat 8.0, redhat 9.0还有什么redhat 高级企业版,等等。这么多新的东西为什么不用呢?这个问题问得很好,这正是我要说的安装和选择发行版是要注意的一点。

1、版本的选择

我使用redhat也有很长时间了,个人认为,redhat的.0版本都属于大版本升级的第一个版本,这个版本往往很多软件包不是很稳定,而且容易出现故障,对于管理员来说linux绝大部分是用来作为服务器使用的,那么要最为服务器,最最大的首要问题就是稳定,其次最重要的也是安全,所以如果你是管理员,而非狂热的爱好者,发烧友,我建议你选择redhat 7.3,redhat 的版本号,后面跟了小版本号的就是软件包有很多更新和修改的,虽然这个更新可能不是最新,但是至少它是这个稳定版本中最新最稳定的,不知大家理解这个问题没有,后面我将详细介绍一下版本的升级问题,那里我将会说明这个理论。

2、安装方式

选择好了安装发行版,那么我们就开始安装了,其实安装的时候只有几个需要注意的地方,其一就是分区,其二就是安装的软件包
分区的讲究就是你需要针对你的应用来规划分区,过去看过很多论述linux是否有一个最佳的分区方案,虽然很多人也提出了很多优秀的分区方案,但是我觉得还是需要更具自己的应用作的分区才是最佳的分区,下面各个分区方案,但是纯属建议,还是要更具自己的需要来作。
个人认为,标准的服务器,至少扩常用的分区,因此建议将硬盘划分为以下的样子,/boot swap / /var /usr /home /tmp
大小更具自己的应用来,/不能小于1G,/usr 和 /var都要大一点,因为大部分软件在里面,其他几个更具需要来,说到swap我想关于这个区的大小争议也比较大,我在综合了很多朋友的意见后,总结出一条规则,如果你的内存小于1G那么分为内存的2倍,如果大于1G那么就分最大2G的swap,这样做是为什么呢?因为swap大家都知道,是虚拟内存的空间,小了又不能发挥最好的作用,大了又浪费空间,这个大小是具体的理由就是,内存大的话,那么应用程序占用的虚拟空间就小,但是为了完全满足服务器的内存需要,据很多朋友的经验,还有我切身的体验,这种分法可以说是一个最佳的方案了,特别对于数据库等大型应用程序的内存需要来讲,而且很多服务器的内存都是1G-2G左右。
安装软件包,讲究的是安装得越少越精越好,但是redhat开始安装的时候,作为一个服务器,下面的几个软件包组需要选择
Networ support(网络支持)
Messaging and web tools(可选择安装,一些联网的工具如ncftp等)
Router/Firewall(防火墙软件,需要安装,但是他有一点不好把ipchian,iptables,ipwf等都安装了,后面将解释如何删除)
Network managed workstation(管理用工具)
Utilities(常用工具,备份工具等)
虽然我们现在安装是简单的选择了这几个软件包组,我们在后面的安全设置时将会删除一些不用的包,这将在后面说。

3、更新软件

虽然redhat 7.3是更新过的版本,但是其中还有很多软件包有漏洞,其中最大的漏洞就是2.4.18的一个漏洞,它会导致ext3文件系统崩溃,我就遇到过很几次(据ext3开发小组称,这种现象是在特定的操作和条件下才会产生的,一般用户很少出现这种现象),虽然很多现在已近解决这个问题,但是7.3没有更新内核的话还是不稳定的,更新有两种方式,一种时下在更新的软件包手动的用rpm –Uvh 来更新,另外一种也是我推荐的方式,使用up2date来更新,这可是一个好东西,它能很方便的更新你的系统,而且是更具你安装的软件包来更新的,他不会把bind8更新为bind9,不会把redhat 7.3更新到redhat 9.0,这样就确保了你目前使用的版本的稳定性和完整性,它只是针对这个版本的软件包进行了修正,版本号一般就是这样变得,比如iptables ,7.3的rpm 版本是1.2.5那么更新后就是1.2.8修正了很多漏洞错误,但是并没有作大的调整,确保了你的使用和与应用程序的兼容性。
Up2date的使用,在自动升级之前,建议几个操作,
第一个,由于redhat 7.3版自带的up2date有SSL的bug,因此,需要取下在一个最新的up2date来更新,下载地址
https://rhn.redhat.com/errata/RHSA-2003-267.html
第二个,一般来说,我们都不希望up2date自动更新内核,然后内核的更新直接解决很多重大漏洞,特别是新安装的redhat 7.3就有ext3崩溃的漏洞因此,我建议大家自己先手工升级内核,当然使用rpm 包来升级,这样节约很多时间,开始我就说过,虽然redhat不是效率最高的,但是确实做得最普遍的一个系统,rpm的方便就完全体现了这点优势,redhat 7.3内核的下载地址
http://updates.redhat.com/7.3/en/os/i386/kernel-2.4.20-20.7.i386.rpm
http://updates.redhat.com/7.3/en/os/i386/kernel-2.4.20-20.7.i586.rpm
http://updates.redhat.com/7.3/en/os/i386/kernel-2.4.20-20.7.i686.rpm
对于你自己的系统,你可以用uname –a看看目前的是i386还是i686然后根据这个来选择下载的内核升级包
建议最好使用rpm –ivh 来升级,这样可以保留原来的内核,确保没有问题再将原来内核rpm –e掉,这个rpm包非常简单甚至你不用修改你的lilo.conf或者grub.conf的配置文件,它自动给你加入了,你需要做的就是重起然后选择新的
内核启动就行了
做完了内核的升级,用新内核重起后就是up2date的时候了
运行rhn_register随便注册一个号码(这个要保密哦,我自己研究的,rhn网络的升级实际上是收费的服务,但是一个邮箱一个账号是免费的,但是一个账号只有一个升级系统的权限,你可以通过rhn的网络来登录修改这个权限给其他的机器,不过这样太麻烦了,而且redhat7.3的升级基本上稳定了,只需要在安装第一次升级一下就行了,所以我们就随便注册帐号来升级下:P)根据提示,它默认选择了你机器上所有的包,为你升级,没关系,一路next最后finish然后回到控制台,接下来就是激动人心的升级了,运行命令
up2date –u
就开始升级了,这个过程看你的网络了,大约有1小时左右
它会自动为你下载安装,虽然不用重起,但是建议你还是重起一下,确保新内核和新的软件包能够正确使用
到此为止,系统更新就做完了,下面就是比较重要的安全设置了

4、安全设置

其实linux的安全已经比较好了,我们做得初浅的安全讨论,无非就是关闭服务,设置一定的防火墙,如果大家对防黑客和高级的安全设置感兴趣的话,那么请关注我下几篇文章,我将向大家介绍有关简单的IDS等等防黑技术,谢谢
关闭不用的服务,这个问题,很多文章都提出过,我个人认为最有效的关闭方法如下,大家都知道,linux中控制服务的有chkconfig ,ntsysv等等,其实这些工具控制的服务都是linux已sysV的风格保存的服务启动项目,其实都是/etc/rc.d/下面的东西,已rc3.d为例,3表示init3时要做的项目,里面的文件都是一些连接,S开头表示启动,K开头表示终止,所以rc0.d里面基本都是K开头的,所以大家不用害怕觉得linux的服务多么神秘,这里介绍两个简单可行的控制服务的办法
运行ntsysv控制服务
使用ntsysv关闭服务只开
crond 可定义计划任务
network 网络
random 生成随机数,用于ssh的会话对称密钥的生成
sshd ssh服务器端
syslog 系统日志服务
xinetd 超级进程(下面没有服务要用的话,可以关闭)
其实xinetd是类似于init这个超级进程的一个进程,不过可以完全关闭它,因为下面都是些没有用服务监听程序,对于一般的服务器,基本上只需要上面ntsysv所列的服务就行了,其他的都关闭,当然如果你要web当然要开httpd了J
服务关闭完了以后,就是去掉一些不用的用户,用vipw
#adm:x:3:4:adm:/var/adm:/sbin/nologin
#lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#sync:x:5:0:sync:/sbin:/bin/sync
#news:x:9:13:news:/var/spool/news:
#uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
#operator:x:11:0:operator:/root:/sbin/nologin
#games:x:12:100:games:/usr/games:/sbin/nologin
#gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
#vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
#rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
#rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
#nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
#nscd:x:28:28:NSCD Daemon:/:/bin/false
#radvd:x:75:75:radvd user:/:/bin/false
去掉这些用户
上出多余的rpm包
rpm -e softname
rpm -e autofs-3.1.7-28
rpm -e gd-devel-1.8.4-4
rpm -e up2date-2.7.86-7.x.3
rpm -e pump
rpm -e apmd
rpm -e lsapnptools
rpm -e redhat-logos
rpm -e mt-st
rpm -e kernel-pcmcia-cs
rpm -e setserial
rpm -e redhat-release
rpm -e eject
rpm -e kudzu
rpm -e gd
rpm -e raidtools
rpm -e mailcap
rpm -e setconsols
rpm -e gnupg

修改/etc/fstab
只给分区必须的权限
像这样LABEL=/bakups /bakups ext3 nosuid,noexec 1 2

noexec表示不能在这个分区运行程序,nosuid不能使用nosuid的程序,根据情况自行设置其他分区,一般来说/tmp,/usr都要nosuid

到此我们做了一些基本的安全设置,当然你也可以考虑,比如启用wheel组,只能让wheel组的用户能够变为su但是一般来说管理员都不用考虑这些,因为只有你一人能够登录这台机器,:),这些细节的设置我也会在下篇文章详细说明,应为毕竟这不是我这篇文章主要的东西。他们会同IDS等内容在下一篇文章详细呈现给大家。

5、防火墙设置

上面的基本安全设置做完了,那么接下来一个比较主要的安全就是防火墙,这是很重要的,如果你的设置没有作得很好,也许软件还有一些漏洞,但是防火墙设置得好的话,基本上可以帮你弥补这些问题,给大家一个基本的单个服务器的防火墙脚本,里面不包括端口转发,伪装等网关功能的内容,如果大家对这方面有兴趣,欢迎给我来信探讨
#!/bin/bash

#启用转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward

#显示开始信息
echo “Start FireWall for this server…”

#清空目前的规则
iptables -F

#编辑默认策略为不能通过,数据接入链
iptables -P INPUT Drop

#转发链默认drop
iptables -P FORWARD Drop

#数据输出链默认drop
iptables -P OUTPUT Drop

#输出链允许源地址是xxx.xxx.xxx.xxx的数据输出,也可以指定网卡例: –i eth0
iptables -A OUTPUT -s xxx.xxx.xxx.xxx -j ACCEPT

#接入链允许端口为15818的源地址为xxx.xxx.xxx.xxx的数据通过
iptables -A INPUT -p tcp -d xxx.xxx.xxx.xxx –dport 15818 -j ACCEPT

#如果需要添加端口就在下面修改,xxx处添加端口号
#iptables -A INPUT -p tcp -d xxx.xxx.xxx.xxx –dport xxx -j ACCEPT

#允许所有udp包通过
iptables -A INPUT -d xxx.xxx.xxx.xxx -p udp -j ACCEPT

#限制ping包每一秒钟一个,10个后开始
iptables -A INPUT -p icmp -d xxx.xxx.xxx.xxx -m limit –limit 1/s –limit-burst 10 -j ACCEPT

#限制IP碎片,每秒钟只允许100个碎片,防止DoS攻击
iptables -A INPUT -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT

恭喜你,到目前为止,你有一个相对安全的系统了,但是记住,最重要还是你要把root的密码记住哦,呵呵,希望写了这么多,对大家有所帮助,这是我最大的愿望,希望大家觉得我写得还行的话任意拷贝,广泛传播,但是不要修改哦,如果觉得有什么问题希望和我探讨的话,我也虚心接受大家的意见和建议,请给我email:ttii@linuxaid.com.cn,希望和大家成为朋友,共同学习linux探讨问题,为中国的软件事业贡献我的微薄之力,谢谢

 ttii写著 ‘其实说起IDS我想管理员朋友们一定不陌生,不过我还是想简单的说一下IDS的定义,这样更有利于大家理解后面的应用,这篇文章还是基于redhat7.3的,为什么呢?希望大家看过我的第一篇文章《浅谈linux安全》,在建立了那种系统的基础上,我们来实现IDS吧。

其实说起IDS我想管理员朋友们一定不陌生,不过我还是想简单的说一下IDS的定义,这样更有利于大家理解后面的应用,这篇文章还是基于redhat7.3的,为什么呢?希望大家看过我的第一篇文章《浅谈linux安全》,在建立了那种系统的基础上,我们来实现IDS吧。
IDS就是入侵监测系统的简称,其主要的作用,我个人理解就是能够收集入侵的蛛丝马迹,然后报告你,当然也不确保它的准确性,这要看软件的分析能力了,现在有很多收费和免费的IDS应用程序,其中比较强的是snort,可能大家都知道的(是地球人都知道:))就是Tripwire,它也是一种入侵监测系统,不过它是监视你的文件是否被修改
今天我给大家介绍一种,没有太繁华的功能,简单实用,能够有效地阻止很多攻击,能够对非法的端口扫描做出反应,经过配置,极端一点的作法甚至能够将扫描你的人的端口反扫描回来,而且阻断它对你主机的所有连接(服务器可不能这么做哦,要不一天阻断几百人,过短时间老板就来说了:最近业绩不好呢?呵呵,服务器真是可怜)

1、理论介绍篇

言归正传,这个软件就是portsentry感知攻击的IDS应用
下载地址
ftp://194.199.20.114/linux/redhat/6.2/en/powertools/i386/i386/portsentry-0.99.1-1.i386.rpm
下载后就是安装了不用我多说
rpm –ivh portsentry-0.99.1-1.i386.rpm

先说说portsentry有什么厉害的功夫吧,他能做下面的事情
1、 丢弃所有使用route命令返回到主机的数据包
2、 自动更新/etc/hosts.deny来阻断基于xinetd的连接,简单的阻断一台主机
3、 自动使用防火墙ipchian,ipfwadm等来阻断连接,相当于添加一条厉害的规则,这个比较实用而且安全的
4、 日志的额外连接,他能将观察到的扫描记录到日志,这个功能很有用,你可以什么都不做,但是不能不没有日志的生成,这样让你有空就看看谁再搞你的宝贝服务器吧
5、 自定义的操作,可能对扫描你主机的机器做一些操作,比如反扫描,呵呵然后记录信息,比较酷吧
说了这么多好处,下面我们来在机器上实现一下吧,安装完毕后,你能够在
/usr/psionic/portsentry
下看到一些文件
ignore.csh 用于忽略的主机脚本
portsentry 执行程序
portsentry.conf 主要配置文件
portsentry.ignore 忽略的主机
portsentry.history 运行和阻断主机才会产生,记录详细的阻断信息
现在开始配置,实现我们的功能吧
vi portsentry.conf
这个文件看上去有几个章节,现在我分别介绍一下它们的配置
其实大家一看他的配置文件基本上都有个数了,配置文件写得很好,我在这里就不一一翻译了,呵呵比我E文好得多了,说几个重要配置吧
Port Configurations
定制那些端口希望被监控,如果你有特殊的端口,加入,就能被监控,注意用逗号分割。

Advanced Stealth Scan Detection Options
监控的范围,
ADVANCED_PORTS_TCP=”1024″
ADVANCED_PORTS_UDP=”1024″
表示监控的范围在1024之下的端口,如果你希望监控如65423这样的端口,那么将这是数字设置大些

Configuration Files
就是配置文件位置,一般不用修改

Ignore Options
忽略的端口设置

Dropping Routes
丢弃路由方案
一般用这个可以
KILL_ROUTE=”/sbin/route add -host $TARGET$ reject”
其他的可以根据操作系统来定,或者根据实际来定
也可以写入一段iptalbes 的代码,后面有

TCP Wrappers
这就是我说得简单的加入hosts.deny来阻断发起扫描的主机
KILL_HOSTS_DENY=”ALL: $TARGET$ : DENY”
把原来那句关闭,上面这句打开,我们用的都是redhat哦

External Command
扩展命令,可以执行很多自定义操作,比如nmap扫描你的主机,反扫描他,后面事例中给他家说说

Port Banner Section
理论上是可以给监听你服务的人一个警告,修改PORT_BANNER=这行,写点吓人的话,不过我也不知道其作用不,呵呵

设置完毕后,用portsentry –stcp来启动,这样能够防止SYN等隐蔽的扫描,你可以找个机器用nmap等扫描器扫描一下,看看日志是不是记录了?你的主机是不是被添加到/etc/hosts.deny了。

有几点需要注意的,据说实施了portsentry后一些扫描软件可能会挂起,汗~~~不过我觉得不像,但是确实能防止一点点,
第二,据说portsentry把你的网卡开为混杂模式,但是据我观察网卡并没有变为混杂模式,不过还是提醒大家,因为混杂模式可能会降低系统的反应,就要看你自己权衡了。
个人认为,服务器上实施portsentry软件,不用作出什么反应,只需要记录就行了,定期的查看一下,我觉得能做的就是去掉路由啊,或者nmap扫描入侵的主机,可以这样做,让他自动反扫描扫描你的主机

External command部分
加入
KILL_RUN_CMD=”/usr/bin/nmap –O $TARGET$”>> /var/log/scanIP.log
然后可以在/var/log/scanIP.log中查看这些主机的信息。你扫描他哦,呵呵
最后记得运行哦,忘记给大家说几种运行参数了
-tcp 基本简单的监听tcp
-udp 基本简单监听udp
-stcp 建议使用这个参数,可以监听带欺骗的tcp扫描,比如SYN,FIN等扫描,很强
-atcp 禁止所有portsentry.conf中指定的连接,必须手工配置合法的主机,不建议使用
-sudp 同stcp差不多,不过是udp
-adup 和atcp差不多,不过是udp

注意,如果你需要转贴到你的网站或者论坛,可以随意转贴,也请你发邮件告诉我一声转到什么地方了,谢谢,我的联系方式qq:8537798,email:ttii@sohu.com’