当前位置:文档之家› Nessus linux下安全漏洞扫描工具详解

Nessus linux下安全漏洞扫描工具详解

Nessus linux下安全漏洞扫描工具详解Nessus:1、Nessus的概述2、Nessus软件使用演示3、Nessus的部署AIDE:1、aide的概述2、aide部署3、aide的初级使用4、使用aide监控系统中的文件5、使用aide检测rootkit1、Nessus的概述Nessus 被认为是目前全世界最多人使用的系统漏洞扫描与分析软件。

总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件。

* 提供完整的电脑漏洞扫描服务, 并随时更新其漏洞数据库。

* 不同于传统的漏洞扫描软件, Nessus 可同时在本机或远端上摇控, 进行系统的漏洞分析扫描。

* 其运作效能能随着系统的资源而自行调整。

如果将主机加入更多的资源(例如加快CPU 速度或增加内存大小),其效率表现可因为丰富资源而提高。

* 可自行定义插件(Plug-in)* NASL(Nessus Attack Scripting Language) 是由Tenable 所开发出的语言,用来写入Nessus的安全测试选项.* 完整支持SSL (Secure Socket Layer)。

* 自从1998年开发至今已谕十年, 故为一架构成熟的软件。

采用客户/服务器体系结构,客户端提供了运行在X window 下的图形界面,接受用户的命令与服务器通信,传送用户的扫描请求给服务器端,由服务器启动扫描并将扫描结果呈现给用户;扫描代码与漏洞数据相互独立,Nessus 针对每一个漏洞有一个对应的插件,漏洞插件是用NASL(NESSUS Attack Scripting Language)编写的一小段模拟攻击漏洞的代码,这种利用漏洞插件的扫描技术极大的方便了漏洞数据的维护、更新;Nessus 具有扫描任意端口任意服务的能力;以用户指定的格式(ASCII 文本、html 等)产生详细的输出报告,包括目标的脆弱点、怎样修补漏洞以防止黑客入侵及危险级别。

2、Nessus软件使用演示--观看老师演示3、Nessus的部署1)、安装软件# rpm -ivh Nessus-4.4.1-es5.i386.rpm# vim ~/.bash_profileexport PA TH=/opt/nessus/sbin:/opt/nessus/bin:$PATHexport MANPATH=/opt/nessus/man:`manpath`# source ~/.bash_profile软件的卸载:rpm -e NessusNessus软件的组成:# ll /opt/nessus/drwxr-xr-x 2 root root 4096 Jan 8 00:47 bin --普通用户使用的命令drwxr-xr-x 3 root root 4096 Jan 8 00:47 com --根证书drwxr-xr-x 3 root root 4096 Jan 8 00:47 etc --配置文件drwxr-xr-x 3 root root 4096 Jan 11 14:11 lib --扫描时使用的插件drwxr-xr-x 4 root root 4096 Jan 8 00:47 mandrwxr-xr-x 2 root root 4096 Jan 8 00:47 sbindrwxr-xr-x 3 root root 4096 Jan 8 00:47 var --账号/日志/报告/web页面2)启动nessus,并使用WEB客户端访问# service nessusd start# chkconfig nessusd on# netstat -tnlp|grep nessustcp 0 0 0.0.0.0:8834 0.0.0.0:* LISTEN 13908/nessusd --web访问端口tcp 0 0 0.0.0.0:1241 0.0.0.0:* LISTEN 13908/nessusd --nessus客户端访问的端口tcp 0 0 :::1241 :::*LISTEN 13908/nessusd首先要求可以上网。

配置网络3)打开浏览器访问https://192.168.1.10:8384,进行初始化配置申请序列号/products/nessus/nessus-plugins/obtain-an-activation-code 注册Nessus等待插件的更新访问之前需要在客户端上给浏览器安装flash插件:# rpm -ivh flash-plugin-10.3.183.11-release.i386.rpm --装完后需要重启浏览器# rpm -ivh flash-plugin-11.2.202.285-release.x86_64.rpmhttps://192.168.0.182:8834/flash.html4)在Nessus WEB界面上的操作(先扫自己,再扫别的主机):1)新建扫描策略(定义扫描策略/扫描目标主机使用账号密码等等)2)扫描指定的主机(192.168.0.1 192.168.0.0/24)3)查看报告,导出报告。

4)修复漏洞AIDE --(文件系统)高级入侵检测关注的三洋东西:二进制主配置文件基准数据库1、aide的概述AIDE(Adevanced Intrusion Detection Environment,高级入侵检测环境)是个入侵检测工具,主要用途是检查文本的完整性。

AIDE能够构造一个指定文档的数据库,他使用aide.conf作为其配置文档。

AIDE数据库能够保存文档的各种属性,包括:权限(permission)、索引节点序号(inode number)、所属用户(user)、所属用户组(group)、文档大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小连同连接数。

AIDE还能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每个文档的校验码或散列号。

常见的入侵检测软件:1、tripwire --操作比较复杂2、aide --用以代替tripwire的一款新产品文件系统入侵检测的原理:1、当系统处于健康状态时,把系统所有的文件做各种指纹的检验,得出一个检验基准数据库。

2、不是所有的文件都需要保存指纹,临时文件(/var/log | /tmp | /var/tmp | /proc | /sys | /dev/shm...)3、需要检验文件是否被更改,只需要把基准数据对应指纹值做对比,就可以得知哪些文件被更改过。

4、每天把检验的结果以邮件或者其它方式发送管理员。

2、aide部署1.从结帽官方获取最新的src rpm包# wget ftp:///redhat/linux/enterprise/5Server/en/os/SRPMS/aide-0.13.1-6.el5.src.rpm# rpm -ivh aide-0.13.1-6.el5.src.rpm# rpmbuild -bb /usr/src/redhat/SPEC/aide.spec# rpm -ivh /usr/src/redhat/RPMS/i386/aide-0.13.1-6.el5.src.rpm# yum -y install aideInstalled:aide.x86_64 0:0.14-3.el6_2.2Complete!3、aide的初级使用1)新建一个目录,里边放一些测试文件# mkdir /aide_check_test# cp /etc/hosts* /aide_test_check# grep -v ^# /etc/aide.conf |grep -v ^$ > /etc/aide2.conf# mv /etc/aide2.conf /etc/aide.confmv: overwrite `/etc/aide.conf'? y2)定义配置文件,及被临控的目录# cp /etc/aide.conf /etc/aide.conf.bak# vim /etc/aide.conf@@define DBDIR /var/lib/aide --基准数据库目录@@define LOGDIR /var/log/aidedatabase=file:@@{DBDIR}/aide.db.gz --基准数据库文件database_out=file:@@{DBDIR}/aide.db.new.gz --更新数据库文件gzip_dbout=yesverbose=5report_url=file:@@{LOGDIR}/aide.logreport_url=stdoutR = p+i+n+u+g+s+m+c+acl+xattrs+md5L = p+i+n+u+g+acl+xattrs> = p+u+g+i+n+S+acl+xattrsALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger EVERYTHING = R+ALLXTRAHASHESNORMAL = R+rmd160+sha256DIR = p+i+n+u+g+acl+xattrsPERMS = p+i+u+g+aclLOG = >LSPP = R+sha256DA TAONL Y = p+n+u+g+s+acl+xattrs+md5+sha256+rmd160+tiger /aide_check_test EVERYTHING3)初始化数据库:rpm -ql aide 可查# rpm -ql aide/etc/aide.conf/etc/logrotate.d/aide/usr/sbin/aide# /usr/sbin/aide --help# /usr/sbin/aide --config=/etc/aide.conf --initAIDE, version 0.13.1### AIDE database at /var/lib/aide/aide.db.new.gz initialized.4)把初始化的数据库当做基准数据库# cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz5)测试AIDE能否发现文件更改什么都没有改动之前,先check一次:# /usr/sbin/aide --config=/etc/aide.conf --checkAIDE, version 0.14### All files match AIDE database. Looks okay!# cp /etc/passwd /aide_test_check/# rm -rf /aide_test_check/hosts# echo hello > /aide_test_check/hosts.allow# /usr/sbin/aide -c /etc/aide.conf --checkAIDE found differences between database and filesystem!!Start timestamp: 2012-07-10 15:03:17Summary:Total number of files: 6Added files: 1Removed files: 1Changed files: 2---------------------------------------------------Added files:---------------------------------------------------added: /aide_test_check/passwd---------------------------------------------------Removed files:---------------------------------------------------removed: /aide_test_check/hosts---------------------------------------------------Changed files:---------------------------------------------------changed: /aide_test_checkchanged: /aide_test_check/hosts.allow--------------------------------------------------Detailed information about changes:---------------------------------------------------Directory: /aide_test_checkMtime : 2012-07-10 14:43:18 , 2012-07-10 14:54:40 Ctime : 2012-07-10 14:43:18 , 2012-07-10 14:54:40File: /aide_test_check/hosts.allowSize : 161 , 166Mtime : 2012-07-10 14:43:18 , 2012-07-10 14:54:40Ctime : 2012-07-10 14:43:18 , 2012-07-10 14:54:40Inode : 1678982 , 1678985MD5 : Jf16ip7EeUlg7xmKYPZtIg== , fbZt8P2s5dOjQHh3Wer2UQ==RMD160 : sZxwc595gS7oA92r3vt/0bf6IvE= , XIEY/gh5Xl+ucwrwLkbk8DFr0Mo= SHA256 : 2xfzPtX0u7LS231etvkgOCGqrDK0ViKj , M5Gh2f/I2GwR4fF6eNhF+5LM3gob226S6)如果上面的更改合法的操作,需要更新基准数据库:# /usr/sbin/aide -c /etc/aide.conf --update# cd /var/lib/aide# cp aide.db.new.gz aide.db.gzcp: overwrite `aide.db.gz'? y7)把报告发往邮箱:# /usr/sbin/aide -c /etc/aide.conf --check |mail -s "test aide" root@localhost4、使用aide监控系统中的文件1)修改配置文件,让aide监控系统中的所有文件# mv /etc/aide.conf.bak /etc/aide.conf --清空前面操作# rm -rf /var/lib/aide/aide.db.*# vim /etc/aide.conf@@define DBDIR /var/lib/aide@@define LOGDIR /var/log/aidedatabase=file:@@{DBDIR}/aide.db.gz --基准数据库database_out=file:@@{DBDIR}/aide.db.new.gz --每次update时会产生更新gzip_dbout=yesverbose=20report_url=file:@@{LOGDIR}/aide.logreport_url=stdoutR = p+i+n+u+g+s+m+c+acl+xattrs+md5L = p+i+n+u+g+acl+xattrs> = p+u+g+i+n+S+acl+xattrsALLXTRAHASHES = sha1+rmd160+sha256+sha512+tigerEVERYTHING = R+ALLXTRAHASHESNORMAL = R+rmd160+sha256DIR = p+i+n+u+g+acl+xattrsPERMS = p+i+u+g+aclLOG = >LSPP = R+sha256DA TAONL Y = p+n+u+g+s+acl+xattrs+md5+sha256+rmd160+tiger /boot NORMAL/bin NORMAL/sbin NORMAL/lib NORMAL/opt NORMAL/usr NORMAL/root NORMAL!/usr/src!/usr/tmp/etc PERMS!/etc/mtab!/etc/.*~/etc/exports NORMAL/etc/fstab NORMAL/etc/passwd NORMAL/etc/group NORMAL/etc/gshadow NORMAL/etc/shadow NORMAL/etc/security/opasswd NORMAL/etc/hosts.allow NORMAL/etc/hosts.deny NORMAL/etc/sudoers NORMAL/etc/skel NORMAL/etc/logrotate.d NORMAL/etc/resolv.conf DA TAONL Y/etc/nscd.conf NORMAL/etc/securetty NORMAL/etc/profile NORMAL/etc/bashrc NORMAL/etc/bash_completion.d/ NORMAL/etc/login.defs NORMAL/etc/zprofile NORMAL/etc/zshrc NORMAL/etc/zlogin NORMAL/etc/zlogout NORMAL/etc/profile.d/ NORMAL/etc/X11/ NORMAL/etc/yum.conf NORMAL/etc/yumex.conf NORMAL/etc/yumex.profiles.conf NORMAL/etc/yum/ NORMAL/etc/yum.repos.d/ NORMAL /var/log LOG/var/run/utmp LOG!/var/log/sa!/var/log/aide.log/etc/audit/ LSPP/etc/libaudit.conf LSPP/usr/sbin/stunnel LSPP/var/spool/at LSPP/etc/at.allow LSPP/etc/at.deny LSPP/etc/cron.allow LSPP/etc/cron.deny LSPP/etc/cron.d/ LSPP/etc/cron.daily/ LSPP/etc/cron.hourly/ LSPP/etc/cron.monthly/ LSPP/etc/cron.weekly/ LSPP/etc/crontab LSPP/var/spool/cron/root LSPP /etc/login.defs LSPP/etc/securetty LSPP/var/log/faillog LSPP/var/log/lastlog LSPP/etc/hosts LSPP/etc/sysconfig LSPP/etc/inittab LSPP/etc/grub/ LSPP/etc/rc.d LSPP/etc/ld.so.conf LSPP/etc/localtime LSPP/etc/sysctl.conf LSPP/etc/modprobe.conf LSPP /etc/pam.d LSPP/etc/security LSPP/etc/aliases LSPP/etc/postfix LSPP/etc/ssh/sshd_config LSPP /etc/ssh/ssh_config LSPP/etc/stunnel LSPP/etc/vsftpd.ftpusers LSPP/etc/vsftpd LSPP/etc/issue LSPP/etc/ LSPP/etc/cups LSPP!/var/log/and-httpd/root/.* PERMS2)初始化aide,并生成基准数据库文件# aide -c /etc/aide.conf --init --根据当前系统中文件数据的多少,所需要的时间不等,当前我这个系统花了20分钟左右# ls /var/lib/aide/ --基准数据库的存放位置,在上面的配置文件中也有定义aide.db.new.gz 这是一个很重要的文件,一般可以把它放在光盘或者加密分区中保存# cd /var/lib/aide --把基准数据库拷贝一份给当前系统的AIDE使用# cp aide.db.new.gz aide.db.gz3)使用AIDE检测系统中的文件是否被修改:aide --check --检测被监控的文件是否发生变化,结果在屏幕输出aide --check| mail -s "aide check about `hostname`,data:`date`" root@localhost--检测被监控的文件是否发生变化,把结果发给管理员,可以结合crontab完成4)更基准数据库:注意:1)更新的前提的系统中文件的改变是合法合理,不是非法篡改的则要更新基准数据库2)更新完后要备份新的基准数据库到安全的存储介质中# /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.new.gz`date +%F` --备份旧的基准数据库# aide --update --又需要20分钟的文件扫描,真是悲具,所以在生产环境需要选择系统不繁忙的时段进行# cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz --把旧的基准数据库替换成最新的5)把aide程序、配置文件和基准数据库写入只读设备中,防止被恶意操作:# mkdir /tmp/aide# cp /etc/aide.conf /var/lib/aide/aide* /usr/sbin/aide /tmp/aide# yum -y install genisoimage -----打包成iso的工具# cd /tmp/ && mkisofs -V aide_DBS -J -R -o aide.iso aide/ --把所有的文件制作成光盘# rpm -e aide# rm -rf /etc/aide.conf /var/lib/aide/aide* /usr/sbin/aide --把系统中原来的文件删除把aide.iso 放到其他安全的机子中保存。

相关主题