摘要:尽管各种版本的linuxdistribution附带了非常多开放原始码的免费软件,不过仍然有大量的有用的工具没有被默认包括在他们的安装光盘内,特别是有一些能增强linux网络安全的工具包,他们大多也是开放源的免费软件。 |
3.ttysnoop(s)
ttysnoop是个重定向对一个终端号的所有输入/输出到另一个终端的程式。目前我所知道的他的所在网站为http://uscan.cjb.net,不过始终连不上去,从其他途径我得到了ttysnoop-0.12c-5,地址是http://rpmfind.net/linux/rpm/contrib/libc6/i386/ttysnoop-0.12c-5.i386.html这个版本好象还不能支持shadowpassword,安装后你需要手动创建目录/var/spool/ttysnoop测试这个程式是有趣的,下面是相关指令:首先改/etc/inetd.conf中的in.telnetd默认调用login登录程式为/sbin/ttysnoops,象下面这样:
[root@jephe/etc]#moreinetd.conf|grepin.telnetd
telnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd-l/sbin/ttysnoops
更改后一定要运行killall-hupinetd使之生效
确保不要使用阴影口令,用#pwunconv禁止阴影口令。
再编辑文件/etc/snooptab
默认设置就能了。
[root@jephe/etc]#moresnooptab
ttys1/dev/tty7login/bin/login
ttys2/dev/tty8login/bin/login
*socketlogin/bin/login
------
最后,如果在某个终端上有人登录进来(你能用w命令查看他在哪个终端),如登录终端设备为ttyp0,则你能登录进服务器打入#/bin/ttysnoopttyp0(提示输入root口令,再次,上面提到的这个版本不支持阴影口令)以监视用户的登录窗口。
4.nmap
nmap是用来对一个比较大的网络进行端口扫描的工具,他能检测该服务器有哪些tcp/ip端口目前正处于打开状态。你能运行他来确保已禁止掉不该打开的不安全的端口号。nmap的主页在http://www.insecure.org/nmap/index.html
下面给出一个简单的例子:
[root@sh-proxy/etc]#/usr/local/bin/nmappublic.sta.net.cn
startingnmapv.2.12byfyodor(fyodor@dhp.com,www.insecure.org/nmap/)
interestingportsonpublic.sta.net.cn(202.96.199.97):
portstateprotocolservice
21opentcpftp
23opentcptelnet
25opentcpsmtp
109opentcppop-2
110opentcppop-3
143opentcpimap2
513opentcplogin
514opentcpshell
7000opentcpafs3-fileserver
nmapruncompleted--1ipaddress(1hostup)scannedin15seconds
==========
在linux中,密码以hash格式被存储,你不能反向从该hash数据表中分析出密码,但能以一组单词hash后和他进行比较,如相同则就猜测出密码。故起一个非常难被猜测的密码是非常关键的。一般地你决不能用字典存在的某个单词作为密码,那是相当容易被猜测出来的。另外也不能用一些常见的有规则性的字母数字排列来作为密码,以123abc等。
johntheripper是个高效的易于使用的密码猜测程式,其主页在http://www.openwall.com/john/
下载tar.gz格式的forunix的程式,然后用tarxvfzjohn*.tar.gz解开到任一目录下。进入src目录,打入makelinux-x86-any-elf(我用redhat6.1)后会在run目录下生成几个执行文件,包括主程式john。目前要crack密码就运行./john/etc/passwd即可。
john也能crack由htpasswd生成的用于验证apache用户的密码,如果你用htpasswd-capachepasswduser创建了一个用户user,并生成了密码,你也能用johnapachepasswd来进行猜测。
john在猜测密码时输出在终端上,并把猜测出的密码存于john.pot文件中。
另一个passwordcracker是大家知道的经典的cracker.主页在
http://www.users.dircon.co.uk/~crypto/
二.logcheck
logcheck是用来自动检查系统安全入侵事件和非正常活动记录的工具,他分析各种linuxlog文件,象/var/log/messages,/var/log/secure,/var/log/maillog等等,然后生成一个可能有安全问题的问题报告自动发送email给管理员。你能设置他基于每小时,或每天用crond来自动运行。
logcheck工具的主页在http://www.psionic.com/abacus/logcheck/
下载后用tarxvfzlogcheck*解开到一临时目录如/tmp下,然后用./makelinux自动生成相应的文件到/usr/local/etc,/usr/local/bin/等目录下,你可能更改设置如发送通知能谁的邮件帐号,默认发送到root,你能设置root的邮件别名帐号到一批人,更改设置让其忽略某些类型的消息如你的邮件记录文件中的plug-gw,因为plug-gw做反向ip查找,若未找到则记录一个警告消息到/var/log/maillog,logcheck默认记录下所有这些警告发送给你,你能通过设置忽略掉他们。
利用logcheck工具分析你的所有logfile,避免了你每天经常手动地检查他们,节省了时间,提高了效率。
三.tripwire
tripwire是个用来检验文件完整性的非常有用的工具,你能定义哪些文件/目录需要被检验,不过默认设置能满足大多数的需求,他运行在四种模下:数据库生成模式,数据库更新模式,文件完整性检查,互动式数据库更新。当初始化数据库生成的时候,他生成对现有文件的各种信息的数据库文件,万一以后你的系统文件或各种设置文件被意外地改动,替换,删除,他将每天基于原始的数据库对现有文件进行比较发现哪些文件被更改,你能根据email的结果判断是否有系统入侵等意外事件。
tripwire的主页在http://www.tripwiresecurity.com,tripwire-1.2.3的版本你能免费使用.如果你使用redhatlinux6.1,你也能得到最新的为6.1重建的tripwire-1.2.3
(http://rufus.w3.org/linux/rpm/powertools/6.1/i386/tripwire-1.2-3.i386.html)
当你手动更改了系统中的设置文件或程式时,你能手动再次生成一次数据库文件,运行tripwire-initialize在当前目录下创建databases目录并在该目录下生成新的系统数据库文件,然后cp到/var/spool/tripwire目录中覆盖旧的。
责任编辑:handsome