发布新日志

  • Linux操作系统下查找漏洞的几种必备兵器

    2007-08-07 09:55:14

     

    Linux下查找漏洞的N种兵器

            Linux操作系统是一个开放源代码的免费操作系统,它不仅安全、稳定、成本低,而且很少发现有病毒传播,因此,Linux操作系统一直被认为是微软Windows系统的劲敌。近年来,随着Linux操作系统在我国的不断普及,随着越来越多的服务器、工作站和个人电脑开始使用Linux软件,当然,越来越多的安全发烧友也开始对这个操作系统发生了浓厚的兴趣。本文的目的是希望用户以最快的速度对Linux下的精品Hack软件功能及使用方法有一个比较细致全面的了解。今天我们先了解寻找肉鸡的N种兵器。

            漏洞扫描器是一种自动检测远程或本地主机安全性弱点的程序。和Windows系统一样,当黑客得到目标主机的清单后,他就可以用一些Linux 扫描器程序寻找这些主机的漏洞。这样,攻击者可以发现服务器的各种TCP端口的分配、提供的服务、Web服务软件版本和这些服务及安全漏洞。而对系统管理员来说,如果能够及时发现并阻止这些行为,也可以大大减少入侵事件的发生率。按常规标准,可以将漏洞扫描器分为两种类型:主机漏洞扫描器(Host Scanner)和网络漏洞扫描器(Network Scanner)。主机漏洞扫描器是指在系统本地运行检测系统漏洞的程序;网络漏洞扫描器则是指基于Internet远程检测目标网络和主机系统漏洞的程序,下面,我们选取一些典型的软件及实例进行介绍。

    1、基于主机的实用扫描软件

    (1) sXid

            sXid是一个系统监控程序,软件下载后,使用“make install”命令即可安装。它可以扫描系统中suid和sgid文件和目录,因为这些目录很可能是后门程序,并可以设置通过电子邮件来报告结果。缺省安装的配置文件为/etc/sxid.conf,这个文件的注释很容易看懂,它定义了sxid 的工作方式、日志文件的循环次数等;日志文件缺省为/var/log/sxid.log。出于安全方面的考虑,我们可以在配置参数后把sxid.conf 设置为不可改变,使用 chattr 命令把sxid.log文件设置为只可添加。此外,我们还可以随时用sxid -k加上 -k 选项来进行检查,这种检查方式很灵活,既不记入日志,也不发出 email。

    (2)LSAT

            Linux Security Auditing Tool (LSAT) 是一款本地安全扫描程序,发现默认配置不安全时,它可以生成报告。LSAT由Triode开发,主要针对基于RPM的Linux发布设计的。软件下载后,进行如下编译:

    cndes$ tar xzvf last-VERSION.tgz

    cndes$ cd lsat-VERSION

    cndes$ ./configure

    cndes$ make


            然后以root身份运行:root# ./lsat。默认情况下,它会生成一份名字叫lsat.out的报告。也可以指定一些选项:


    -o filename 指定生成报告的文件名

    -v 详细输出模式

    -s 不在屏幕上打印任何信息,只生成报告。

    -r 执行RPM校验和检查,找出默认内容和权限被改动的文件


            LSAT可以检查的内容很多,主要有:检查无用的RPM安装;检查inetd和Xinetd和一些系统配置文件;检查SUID和SGID文件;检查777的文件;检查进程和服务;开放端口等。LSAT的常用方法是用cron定期调用,然后用diff比较当前报告和以前报告的区别,就可以发现系统配置发生的变化。下面是一个测试中的报告片断:


    ****************************************

    This is a list of SUID files on the system:

    /bin/ping

    /bin/mount

    /bin/umount

    /bin/su

    /sbin/pam_timestamp_check

    /sbin/pwdb_chkpwd

    /sbin/unix_chkpwd

    ****************************************

    This is a list of SGID files/directories on the system:

    /root/sendmail.bak

    /root/mta.bak

    /sbin/netreport

    ****************************************

    List of normal files in /dev. MAKEDEV is ok, but there

    should be no other files:

    /dev/MAKEDEV

    /dev/MAKEDEV.afa

    ****************************************

    This is a list of world writable files

    /etc/cron.daily/backup.sh

    /etc/cron.daily/update_CDV.sh

    /etc/megamonitor/monitor

    /root/e

    /root/pl/outfile



    TAG: Linux 操作系统
  • 测试计划应该如何书写

    2007-07-25 18:35:19

        系统阶段测试计划的起止时间:需求规格说明书评审完开始书写,大概在2-7天之内完成。(发言人个人认为起始时间为概要设计完成后)
     
    测试计划内容:
    一、 目的:测试计划目的 
            背景:项目名称、用户等信息。 
            术语或定义、参考文档
    二、 
            2.1资源要求:测试环境的软硬件(包括服务器和客户端,软件的版本也要写清楚)。 
            2.2人员及安排:包括任务、时间、人员及此任务输出的产品。任务包括了解软件、书写测试文档,执行测试等。 
            2.3测试风险估算:在执行上述任务过程中,有异常情况发生如何处理。例如:开发人员不能及时提交新版本、人员离开等等。 
            2.4系统测试启动标志。
    三、 
            3.1测试内容:包括几个模块等等。 
            3.2测试方法、策略:包括采用何种方法测试,采用手工或自动化测试工具测试。 
            3.3测试类型:包括功能测试、安全测试、压力测试等等。 
            3.4约束条件(或测试边界):例如测试的软件需要有一定的网络环境,但是本次测试只测试软件,默认网络环境为正常。
  • BUG管理流程

    2007-07-19 18:45:27

    bug管理流程

    软件测试的主要目的在于发现软件存在的错误(Bug),对于如何处理测试中发现的错误,将直接影响到测试的效果。只有正确、迅速、准确地处理这些错误,才能消除软件错误,保证要发布的软件符合需求设计的目标。在实际软件测试过程中,对于每个Bug都要经过测试、确认、修复、验证等的管理过程,这是软件测试的重要环节。

    作为一个缺陷跟踪管理系统,需要正确设计每个错误的包含信息的字段内容和记录错误的处理信息的全部内容。字段内容可能包括测试软件名称,测试版本号,测试人名称,测试事件,测试软件和硬件配置环境,发现软件错误的类型,错误的严重等级,详细步骤,必要的附图,测试注释。处理信息包括处理者姓名,处理时间,处理步骤,错误记录的当前状态 正确的数据库权限管理是错误跟踪管理系统的重要考虑要素,一般要保证对于添加的错误不能从数据库中删除
      
     
    软件错误的状态
    新信息(New):测试中新报告的软件缺陷;
    打开 (Open):被确认并分配给相关开发人员处理;
    修正(Fixed):开发人员已完成修正,等待测试人员验证;
    拒绝(Declined):拒绝修改缺陷;
    延期(Deferred): 不在当前版本修复的错误,下一版修复
    关闭(Closed):错误已被修复;

    Bug管理的一般流程
     
    测试人员提交新的Bug入库,错误状态为New
    高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为Open。如果不是错误,则拒绝,设置为Declined状态。
    开发人员查询状态为OpenBug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持BugOpen状态。
    对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可。
    测试人员查询状态为FixedBug,然后验证Bug是否已解决,如解决置Bug的状态为Closed,如没有解决置状态为Reopen
       
    软件错误流程管理要点
    为了保证错误的正确性,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复。
    每次对错误的处理都要保留处理信息,包括处理姓名,时间,处理方法,处理意见,Bug状态。
    绝或延期错误不能由程序员单方面决定,应该由项目经理,测试经理和设计经理共同决定。
    错误修复后必须由报告错误的测试人员验证后,确认已经修复,才能关闭错误。

数据统计

  • 访问量: 3734
  • 日志数: 9
  • 图片数: 1
  • 建立时间: 2007-07-05
  • 更新时间: 2008-05-23

RSS订阅

Open Toolbar