网络安全 频道

为Solaris服务器配置开源安全工具(下)

    四、理解proc文件系统

  在Solaris的文件系统中,有一个/proc文件系统,一些巨大的文件放在那里,/proc文件系统不是普通意义上的文件系统,它是一个到运行中进程地址空间的访问接口。通过/proc,可以用标准Unix系统调用(比如open()、read()、write()、ioctl()等等)访问进程地址空间。事实上,Solaris ps(1)命令正是利用/proc获取进程状态。

    Solaris下使用/proc的工具相当完善,位于/usr/proc/bin目录中。这些工具提供了一种访问任意指定进程临界数据的简捷办法。/proc的魅力正是在于它包含了你可能想知道的关于一个进程的任何信息。/proc 是一个目录,其中包含了反映内核和进程树的各种文件。这些文件和目录并不存在于磁盘中,因此当您对这些文件进行读取和写入时,实际上是在从操作系统本身获取相关信息。比如:

pldd -列出进程连接的动态库
pstack -调用栈 
pfiles -打开的文件描述符列表
ptree -进程关系树
可以使用下面的命令查看端口列表
/usr/proc/bin/pfiles?*?>/tmp/pfiles.out
可以使用下面的命令查看进程列表

    五、配置ssh的服务器和客户端:gftp

    1 启动ssh服务器

    通常使用的网络传输程序FTP和Telnet等在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,黑客利用嗅探器非常容易截获这些口令和数据。SSH的英文全称是Secure SHell。通过使用SSH,用户可以把所有传输的数据进行加密,这样即使网络中的黑客能够劫持用户所传输的数据,如果不能解密的话,也不能对数据传输构成真正的威胁。另外,传输的数据是经过压缩的,所以可以加快传输的速度。

    SSH(Secure Shell)最初由芬兰的一家公司开发,但由于受版权和加密算法的限制,很多人转而使用免费的替代软件OpenSSH。SSH是由客户端和服务端的软件组成的,有两个不兼容的版本,分别是:1.x和2.x。用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x
solaris10使用的ssh服务器是opensshd,当然也有付费的商业版本的sshd出售。就目前的情况看来,openssh已经在你安装操作系统的时候默认安装在系统上了,而且这个服务会随系统自动运行。可以使用命令svcs查看ssh是否正常运行,如图1 如果已经正常运行可以关闭不安全的telnet服务。


图1 关闭不安全的telnet服务

    2 安装gftp

    # pkg_get –i gftp

    3 使用gftp

  在命令栏目输入:/opt/csw/bin/gftp-gtk即可。如图2 。

图2 JDS桌面环境下的gftp界面

    六 配置GUI网络数据包工具wireshark

    1 Wireshark简介

    Wireshark是一个有名的网络端口探测器,是可以在inux、Soaris、SGI等各种平台运行的网络监听软件,它主要是针对TCP/IP协议的不安全性对运行该协议的机器进行监听。其功能相当于Windows下的Sniffer,都是在一个共享的网络环境下对数据包进行捕捉和分析,而且还能够自由地为其增加某些插件以实现额外功能。Ethernet网络监测工具可在实时模式或离线模式中用来捕获和分析网络通信。 下面是使用Wireshark 可以完成的几个工作:

         网络管理员使用它去帮助解决网络问题
         网络安全工程师用它去测试安全问题
         开发人员用它是调试协议的实现过程
         用它还可以帮助人员深入的学习网络协议

  下面是Wireshark 提供的一些特性:
  
         支持UNIX 平台和Windows 平台。
         从网络接口上捕获实时数据包
         以非常详细的协议方式显示数据包
         可以打开或者存贮捕获的数据包
         导入/导出数据包,从/到其它的捕获程序
         按多种方式过滤数据包
         按多种方式查找数据包
         根据过滤条件,以不同的颜色显示数据包
         可以建立多种统计数据

    其最常用的功能是被攻击者用来检测被攻击电脑通过23(telnet)和110(pop3)端口进行的一些明文传输数据,以轻松得到用户的登录口令和邮件账号密码。对于网络管理员来说,也可以通过捕包分析,来确定一些异常的流量和局域网内部的非正常用户与外界的通信,比如说对于现在比较占用网络带宽的诸如Bit Torrent 等P2P应用软件流量,通过使用该软件确定这些流量,网络管理员就可以使用流量控制(TC)的方法来规范、合理的分配带宽资源,提高网络的利用率。该软件有极其方便和友好的图形用户界面,并且能够使得用户通过图形界面的配置和选择,针对多块网卡、多个协议进行显示,效果非常好。

    2 安装Wireshark步骤

#wget http://mirrors.easynews.com/sunfreeware/i386/10/libpcap-0.8.3-sol10-intel-local.gz
#pkgadd -d libpcap-0.8.3-sol10-intel-local.pkg
#wget http://mirrors.easynews.com/sunfreeware/i386/10/gtk+-1.2.10-sol10-intel-local.gz
#pkgadd -d gtk+-1.2.10-sol10-intel-local.pkg
#wget http://mirrors.easynews.com/sunfreeware/i386/10/netsnmp-5.1.4-sol10-x86-local.gz
#pkgadd -d netsnmp-5.1.4-sol10-x86-local.pkg
#wget http://mirrors.easynews.com/sunfreeware/i386/10/openssl-0.9.7g-sol10-intel-local.gz
#pkgadd -d openssl-0.9.7g-sol10-intel-local.pkg

    如果以上的库已经安装,就可以执行下面的命令来编译并安装Wireshark:

#wegt ftp://ftp.sunfreeware.com/pub/freeware/intel/10/wireshark-0.99.7-sol10-x86-local.gz
#pkgadd -d wireshark-0.99.7-sol10-x86-local


图3 wireshark工作界面

    七 系统管理工具——sudo

    1 sudo简介

    sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt、reboot、su 等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。如果用户在系统中需要每天以root身份做一些日常工作,经常执行一些固定的几个只有root身份才能执行的命令,那么用sudo是非常适合的。
sudo不是对shell的一个代替,它是面向每个命令的。它的特性主要有这样几点:

● sudo能够限制用户只在某台主机上运行某些命令。
● sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。
● sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变),过了这个时间,用户所获得的权限将失效。
● sudo的配置文件是sudoers文件,它允许系统管理员集中管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0411。

    sudo的主页为:http://www.sudo.ws/sudo/,可以从该网站下载文件sudo-1.6.8p9.tar.gz后进行解压安装,如下步骤所示:
#wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/sudo-1.6.9p8-sol10-x86-local.gz
#gunzip sudo-1.6.9p8-sol10-x86-local.gz

    使用方法如下所示:
# su cjh
$ sudo reboot
Password:******

    上述例子中,用户cjh使用sudo命令来行使root的权限,重新启动系统。因为通常情况下,一般用户并没有这个权限。系统提示输入该用户的密码加以确认。另外,为了达到该目的,还需要root用户修改一下上述的sudo的配置文件sudoers,将其中的相关选项改为如下内容:

# User privilege specification
root ALL=(ALL) ALL
liyang ALL=(ALL) ALL

    这里,cjh用户具有和root同样的权限,当然在实际应用中不能这么做,而只能将部分权限赋给用户。

    八 使用防火墙工具
 
    1 IPFilter简介

    IPFilter是目前比较流行的包过滤防火墙软件,它目前拥有多种平台的版本,安装配置相对比较简单。可以用它来构建功能强大的软件防火墙,下面就其的安装以及一些典型的配置作一下说明。IPFfilter 的作者是 Darren Reed 先生,他是一位致力于开源软件开发的高级程序员,目前工作于 SUN 公司。IP Filter 软件可以提供网络地址转换(NAT)或者防火墙服务。简单的说就是一个软件的防火墙,并且这个软件是开源免费的。当前的版本是4.1.15,目前支持 FreeBSD、NetBSD、Solaris、AIX 等操作系统平台。IPFilter是它是一个在引导时配置的可加载到内核的模块。这使得它十分安全,因为已不能由用户应用程序篡改。

    2 查看IPFilter包过滤防火墙运行情况

    Solaris 10 上IPFilter 的启动和关闭是由 SMF 管理的,在Solaris 10 上工作的进程大多都交由SMF 管理,这和先前版本的Solaris 操作系统有很大的区别。Solaris IP 过滤防火墙随 Solaris 操作系统一起安装。但是,缺省情况下不启用包过滤。使用以下过程可以激活 Solaris IP 过滤器。使用命令“svcs -a |grep network |egrep "pfil|ipf"”查看。IP Filter 有两个服务ipfilter 和pfil,默认情况下ipfilter 是关闭的,而pfil 是打开的。

# svcs -a |grep network |egrep "pfil|ipf"

disabled        7:17:43 svc:/network/ipfilter:default
online          7:17:46 svc:/network/pfil:default
 
    3 查看网卡接口

lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000

pcn0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.1.1.8 netmask ff000000 broadcast 10.255.255.255

    可以看到网卡接口是pcn0。

    4 修改/etc/ipf/pfil.ap文件

    此文件包含主机上网络接口卡 (network interface card, NIC) 的名称。缺省情况下,这些名称已被注释掉。对传输要过滤的网络通信流量的设备名称取消注释。编辑配置文件修改为如下内容:

修改/etc/ipf/pfil.ap 文件,取消pcn0的#注释符,使之生效。

使pfil 设置生效
配置策略后,我们启动IP Filter
#autopush f
/etc/ipf/pfil.ap
#svcsadm enable /network/ipfilter:default

    5 编辑防火墙规则:使服务器对ping没有反应

    防止你的服务器对ping请求做出反应,对于网络安全很有好处,因为没人能够ping你的服务器并得到任何反应。TCP/IP协议本身有很多的弱点,黑客可以利用一些技术,把传输正常数据包的通道用来偷偷地传送数据。使你的系统对ping请求没有反应可以把这个危险减到最小。修改配置文件/etc/ipf/ipf.conf添加一行:
    block out quick proto icmp from any to 192.168.0.2/24 icmp-type 0  

    6 使用fwbuilder管理防火墙

    a) fwbuilder简介

    事实上,如果读者们不是很熟悉Solaris中IPFilter命令的使用方式,在这里介绍一个不错的图形管理程序,就是fwbuilder (http://www.fwbuilder.org/),可以从http://www.fwbuilder.org/nightly_builds/取得读者们所需要的版本或是原始码。Fwbuilder 是一个相当有弹性的防火墙图形接口,它不仅可以产生IPFilter 的规则,也可以产生 Cisco 的 FWSM (FireWall Service Module ,用于 Cisco 高阶第三层交换机 6500 及 7600 系列 ) 及 PIX 的规则,更有趣的是,每次我们改变某台机器的设定后,它会使用 RCS 来做版本控管,相当实用。fwbuilder所支援的防火墙有:FWSM、ipfilter、ipfw、iptables、PF、PIX。对于互联网上的系统,不管是什么情况,首先我们要明确一点:网络是不安全的。因此,虽然创建一个防火墙并不能保证系统100%安全,但却是绝对必要的。

    b) 安装fwbuilder

    # pkg_get –i fwbuilder


图4 fwbuilder配置界面

    Firewall Builer防火墙适用于PC桌面用户、中小型服务器和工作站系统平台的安全防护,它能胜任solaris下一般的系统安全任务。

    总之,本文上面介绍的几款安全工具是在实际应用中经常使用的,他们的功能非常强大。在当前环境下,这些工具以及工具的变种层出不穷。这些工具可以用来对系统某方面的漏洞进行测试攻击,从而采取打补丁、升级系统、加固系统的方法来保障系统安全。系统管理员要有一种超前的意识,应该多采用和有针对性地选用一些黑客攻击工具,对系统的安全进行分析、评价和保护,这是一项长期的、艰巨的任务。

0
相关文章