Linux网络安全之“七种武器”
Linux一直以其开放性的平台,吸引
着无数优秀的程序开发人员,为其不断开发出大量的有用工具,特别是有一些可以增强Linux网络安全的工具包,它们大多也是开放源码的自由软件。 下面把介绍几个增强Linux网络安全的工具,希望对大家有一定的帮助。 1. Tripwire Tripwire 是一个用来检验文件完整性的非常有用的工具,你能定义哪些文件/目录需要被检验,不过默认设置能满足大多数的要求,它运行在四种模式下:数据库生成模式、数据库更新模式、文件完整性检查、互动式数据库更新。当初始化数据库生成的时候,它生成对现有文件的各种信息的数据库文件,万一以后你的系统文件或者各种配置文件被意外地改变、替换、删除,它把每天基于原始的数据库对现有文件进行比较发现哪些文件被更改,你能根据Email的结果判断是否有系统入侵等意外事件。 Tripwire的主页在 http://www.tripwiresecurity.com , tripwire-1.2.3的版本你能免费使用. 如果你使用Redhat Linux 6.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目录中覆盖旧的。 2. Ttysnoop(s) Ttysnoop是一个重定向对一个终端号的所有输入/输出到另一个终端的程序。Ttysnoop的下载地址是:http://rpmfind.net/linux/RPM/contrib/libc6/i386/ttysnoop-0.12c-5.i386.html这个版本好像还不能支持shadow password,安装后你需要手动创建目录/var/spool/ttysnoop测试这个程序是有趣的,下面是相关指令:首先改/etc/inetd.conf中的in.telnetd默认调用login登录程序为/sbin/ttysnoops,像下面这样: [root@jephe /etc]# more inetd.conf | grep in.telnetd telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -L /sbin/ttysnoops 更改后一定要运行killall -HUP inetd使之生效,确保不要使用阴影口令,用#pwunconv禁止阴影口令。 再编辑文件/etc/snooptab 默认配置就可以了。 [root@jephe /etc]# more snooptab ttyS1 /dev/tty7 login /bin/login ttyS2 /dev/tty8 login /bin/login * socket login /bin/login 最后,如果在某个终端上有人登录进来(你可以用w命令查看它在哪个终端),如登录终端设备为ttyp0,则你可以登录进服务器打入#/bin/ttysnoop ttyp0(提示输入root口令,再次,上面提到的这个版本不支持阴影口令)以监视用户的登录窗口。 3. Sniffit Sniffit 是一个有名的网络端口探测器,你可以配置它在后台运行以检测那些TCP/IP端口上用户的输入/输出信息。 最常用的功能是攻击者可以用它来检测你的23(telnet)和110(pop3)端口上的数据传送以轻松得到你的登录口令和mail账号密码,sniffit基本上是被破坏者所利用的工具,但是既然想知道怎么样增强你的站点的安全性,首先你应该知晓闯入者们所使用的各种工具。 Sniffit 的主页在 http://reptile.rug.ac.be/~coder/sniffit/sniffit.html你能从那里下载最新的版本,或从下面地址下载:http://www.patching.net/software/200107/CheckSniffer.exe 安装是非常容易的,就在根目录运行#tar xvfz sniff* 解开所有文件到对应目录。你能运行Sniffit -i以交互式图形界面查看所有在指定网络接口上的输入/输出信息。如:为了得到所有用户通过某接口a.b.c.d接收邮件时所输入的pop3账号和密码。 运行: #sniffit -p 110 -t a.b.c.d & #sniffit -p 110 -s a.b.c.d & 记录文件放在目录/usr/doc/sniffit*下面:log file根据访问者的IP地址,随机高端端口号和用来检测的网络接口IP地址和检测端口来命名。它利用了TCP/IP协议天生的虚弱性,因为普通的telnet和pop3所传的用户名和密码信息都是明文,不带任何方式的加密。 因此对telnet/ftp.你可以用ssh/scp来替代. sniffit检测到的ssh/scp信息基本上是一堆乱码,因此你不需要担心ssh所传送的用户名和口令信息会被第三方窃取。 4.John the ripper 在Linux中,密码以hash格式存储,你不能反向从该hash数据表中分析出密码,但可以以一组单词hash后和它进行比较,如相同则就猜测出密码。故起一个很难被猜测的密码是非常关键的。一般地你决不能用字典存在的某个单词作为密码,那是相当容易被猜测出来的。另外也不能用一些常见的有规则性的字母数字排列来作为密码,如123abc等。 John the ripper是一个高效的易于使用的密码猜测程序,其主页在http://www.openwall.com/john/ 下载tar.gz格式的for Unix的程序,然后用tar xvfz john*.tar.gz解开到任一目录下。进入src目录,打入make linux-x86-any-elf (我用redhat 6.1)后会在run目录下生成几个执行文件,包括主程序john。现在要Crack密码就运行./john /etc/passwd即可。 John也可以Crack由htpasswd 生成的用于验证apache用户的密码,如果你用htpasswd -c apachepasswd user 创建了一个用户user,并生成了密码,你也可以用john apachepasswd来进行猜测。 John在猜测密码时输出在终端上,并把猜测出的密码存于john.pot文件中。 另一个password Cracker是大家知道的经典的Cracker. 主页在http://www.users.dircon.co.uk/~crypto/ 5. sudo sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统命令的程序。一个明显的用途是增强了站点的安全性,如果你需要每天以root身份做一些日常工作,经常执行一些固定的几个只有root身份才能执行的命令,那么用sudo对你是非常适合的。 使用权限:在 /etc/sudoers 中有出现的使用者。 使用方式:sudo -V sudo -h sudo -l sudo -v sudo -k sudo -s sudo -H sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s sudo command 说明:以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行 sudo的主页在:http://www.courtesan.com/courtesan/products/sudo/ 下面以Redhat 为例介绍一下安装及设置过程: 首先从sudo主页(ftp://ftp.freshmeat.net/pub/rpms/sudo/)上下载for Redhat Linux的rpm package. 上一篇: 保护Linux下的Apache网站 下一篇: 网络安全方面的专业词汇 更多相关文章
|
推荐文章
精彩文章
|