为Solaris服务器配置开源安全工具.docx
- 文档编号:30556004
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:19
- 大小:346.05KB
为Solaris服务器配置开源安全工具.docx
《为Solaris服务器配置开源安全工具.docx》由会员分享,可在线阅读,更多相关《为Solaris服务器配置开源安全工具.docx(19页珍藏版)》请在冰豆网上搜索。
为Solaris服务器配置开源安全工具
为Solaris服务器配置开源安全工具
随着Internet的迅猛发展,网络已无处不在,但是,它可能随时受到来自各方的攻击。
了解哪些人正在访问资源、哪些人正在享受服务、哪些人正在发送大量垃圾等,对网络管理员来说是非常必要的。
利用Solaris中较常见的网络安全分析工具Tcpdump、Nmap和IPFilter、ethereal、gftp,可以使网络管理工作更加轻松。
Etherea和Tcpdump主要是截获通过本机网络接口的数据,用以分析。
Nmap是强大的端口扫描工具,可扫描任何主机或网络。
lsof可用来检查本机当前提供的服务及状态。
IPFilter是开源的防火墙工具。
这几个者各有所长,结合起来,就可以比较透彻地了解网络状况。
一、使用Tcpdump
Tcpdump能够截获当前所有通过本机网卡的数据包。
它拥有灵活的过滤机制,可以确保得到想要的数据。
由于Tcpdump只能收集通过本机的数据,因此它的应用受到了一些限制,大多应用在网关或服务器自我检测上。
1. 软件下载和安装:
Libpcap能独立地通过主机协议发送和接受数据,如同TCP-IP。
这就意味着Libpcap不能阻止、过滤或操纵同一机器上的其他应用程序的通讯:
它仅仅能简单地"监视"在网络上传输的数据包。
所以,它不能提供类似网络流量控制、服务质量调度和个人防火墙之类的支持。
#wget
#pkgadd-dlibpcap-0.8.3-sol10-intel-local.pkg
使用Solarispkg-get工具安装gftp
pkg_get,由blastwave.org推出的,是一个用来自动获得网站上的软件包工具.模拟了Debianlinux上的"apt-get工具”。
安装CSW(CommunitySoftWare)软件包非常方便。
#wgethttp:
//www.blastwave.org/pkg_get.pkg
#pkgadd-dpkg_get.pkgall
#pkg_get–itcpdump
2软件使用
例如,在作为网关的主机上,想知道本地网络中IP地址为192.168.0.2的主机现在与外界通信的情况,就可以使用如下命令:
tcpdump-ipcn0srchost192.168.0.2>115.txt
如图1。
图1把tcpdump重定向到文件再进行分析
在默认情况下,Tcpdump会将数据输出到屏幕。
如果数据量太大,可能根本看不清具体的内容,这时我们可以把它重定向到文件再进行分析。
把115.txt文件打开可以就可以清楚地了解刚才用户的一举一动:
首先到2911.Net的SMTP服务器发送邮件:
06:
08:
03.434544IPcjh.32899>mail.2911.Net.smtp:
S800489075:
800489075(0)win49640
06:
08:
03.454318IPcjh.32899>mail.2911.Net.smtp:
.ack3379070854win50400
06:
08:
03.475770IPcjh.32899>mail.2911.Net.smtp:
.ack31win50400
06:
08:
03.477207IPcjh.32899>mail.2911.Net.smtp:
P0:
18(18)ack31win50400
06:
08:
03.497277IPcjh.32899>mail.2911.Net.smtp:
.ack163win50400
然后访问了IT168的主页:
06:
08:
39.594065IPcjh.32950>gjjdial.bta.N.domain:
20696+AAAA?
.(35)
06:
08:
39.635189IPcjh.32901>202.99.120.124.80:
P439:
941(502)ack621win50400
06:
08:
39.635867IPcjh.32900>202.99.120.122.80:
.ack66554win50400
对于普通的网络分析,这些信息已经足够了。
这就是Tcpdump的基本功能,其它高级功能都是在这一基础上的细化和增强。
例如,我只想知道192.168.0.2当前正在访问哪些Web站点,可以用下面这条命令:
./tcpdump-ipcn0srchost192.168.0.5anddstport80
该命令的目的是截获所有由eth0进入、源地址(src)为192.168.0.2的主机(host),并且(and)目标(dst)端口(port)为80的数据包。
显然,通过and或者not这些逻辑组合,就可以得到特定的数据。
Tcpdump还可以监听不同的数据类型(如TCP、UDP),以用不同的网络范围(如Host主机、Net网络),甚至用Ether直接指定物理地址。
表1Tcpdump常用命令行选项
用Tcpdump在网络中获取信息如此清晰,是不是有一种一览无余的感觉。
正是因为Tcpdump功能过于强大,连个人隐私和敏感数据的保护都成了问题,所以通常只有root用户能够使用这一工具。
二、使用Nmap
1nmap简介
Nmap设计的初衷是系统管理员可以方便地了解自己的网络运行情况,例如有多少台主机在运行、分别提供什么样的服务。
因此,它扫描的速度非常快,尤其适合大型网络。
在对网络进行扫描时,Nmap主要利用ICMPecho探测主机是否开启。
凡是了解TCP/IP协议的都知道,对于一个TCP端口,无论是否使用防火墙进行过滤,该主机都会对该端口发出的请求做出一定响应。
所以即使配置了严格的防火墙规则,nmap照样可以找到这些主机。
2软件下载安装
#pkgadd-dpkg_get.pkgall
#pkg_get–inmap
3软件使用
探测一台主机是否在线用Nmap探测试试看,如图2。
图2nmap-sP192.168.0.1
探测结果好像该主机还开着呢!
这里,-sP指定使用Pingecho进行扫描(Scan)。
利用这一特点,可以很快知道目的网络究竟有多少主机处于运行状态:
nmap-sP192.168.0.1/24//24表明目标是一个网络而非单个主机
既然已经知道了哪些主机还开着,就可以进一步探测这些主机的信息,如开启的端口、提供的服务及操作系统类型等。
从上面扫描的结果可以知道,192.168.0.5这台机器正在运行。
想要了解该主机的详细信息,可以执行:
nmap192.168.0.5
稍后会显示如图3的内容:
图3了解该主机的详细信息
由上可以断定,这是一台运行Windows操作系统的主机,因为它开启了80端口还提供了IIS网络服务等。
这些信息如果被不怀好意的人得到,就可以采用对应的攻击办法。
其实,强大的Nmap本身就可以依据TCP/IP的指纹特征猜测对方使用的操作系统。
我们可以用-O来开启这一选项:
nmap-O192.168.0.5
得到的结果是:
StartingnmapV.2.54BETA22(www.insecure.org/nmap/)
Interestingportson(192.168.0.5):
(The1536portsscannedbutnotshownbelowareinstate:
closed)
Port State Service
80/tcp open http
135/tcp open loc-srv
139/tcp open netbios-ssn
443/tcp open https
1032/tcp open iad3
1433/tcp open ms-sql-s
Remoteoperatingsystemguess:
MicrosoftNT4.0ServerSP5+2047Hotfixes
Nmapruncompleted--1IPaddress(1hostup)scannedin2seconds
它猜测的远程主机类型是MicrosoftNT4.0ServerSP5+2047Hotfixes,并且相当准确和详尽。
另外nmap既可在Shell下运行,也可以通过一个叫nmapfe的图形界面来运行,这个图形界面是基于Gtk库的。
运行nmapfe(要运行所有功能需要超级用户权限):
#nmapfe,如图4。
图4nmapfe扫描程序
nmapfe支持种类繁多的扫描技术,例如,TCPconnect()扫描是最基本的TCP扫描方式;TCPSYN扫描通常称为半开扫描;UDP扫描目标系统,提供UDP服务的端口;系统识别扫描需要超级用户权限;ping扫描是隐蔽扫描;还有Ident扫描(IdentScanning)等。
从扫描技术看,nmap是众多端口扫描器中的极品。
此外,它还提供了一些高级的特征,例如,高速、秘密、系统指纹特征识别、诱饵扫描、碎片扫描等。
QQRead:
三、使用lsof
1lsof简介
使用lsof,您可以检查打开的文件,并根据需要在卸载之前中止相应的进程。
同样地,如果您发现了一个未知的文件,那么可以找出到底是哪个应用程序打开了这个文件。
在UNIX环境中,文件无处不在,这便产生了一句格言:
“任何事物都是文件”。
通过文件不仅仅可以访问常规数据,通常还可以访问网络连接和硬件。
在有些情况下,当您使用ls请求目录清单时,将出现相应的条目。
在其他情况下,如传输控制协议(TCP)和用户数据报协议(UDP)套接字,不存在相应的目录清单。
但是在后台为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。
因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,所以能够查看这个列表将是很有帮助的。
完成这项任务的实用程序称为lsof,它对应于“listopenfiles”(列出打开的文件)。
几乎在每个UNIX版本中都有这个实用程序。
2lsof下载安装
#wgetftp:
//
#gunziplsof-4.77-sol10-x86-local.gz
#pkgadd-dlsof-4.77-sol10-x86-local
图5是安装成功界面
3lsof的使用
只需输入lsof就可以生成大量的信息,如图6所示。
因为lsof需要访问核心内存和各种文件,所以必须以root用户的身份运行它才能够充分地发挥其功能。
每行显示一个打开的文件,除非另外指定,否则将显示所有进程打开的所有文件。
Command、PID和User列分别表示进程的名称、进程标识符(PID)和所有者名称。
Device、SIZE/OFF、Node和Name列涉及到文件本身的信息,分别表示指定磁盘的名称、文件的大小、索引节点(文件在磁盘上的标识)和该文件的确切名称。
根据UNIX版本的不同,可能将文件的大小报告为应用程序在文件中进行读取的当前位置(偏移量)。
图6来自一台可以报告该信息的SunSolaris10计算机,而linux没有这个功能。
查找网络连接
网络连接也是文件,这意味着可以使用lsof获得关于它们的信息。
假设您已经知道PID,但是有时候并非如此。
如果您只知道相应的端口,那么可以使用-i参数利用套接字信息进行搜索。
#lsof-i:
22
COMMAND PIDUSER FD TYPE DEVICESIZE/OFFNODENAME
ssh605root 5u IPv40x300010ea640 0t0 TCP*:
ssh(LISTEN)
搜索活动的连接
#lsof-i@192.168.1.10
COMMAND PIDUSER FD TYPE DEVICE SIZE/OFFNODENAME
sshd 1934root 6u IPv60x300046d21c00t1303608 TCPsun:
ssh->linux:
40379
(ESTABLISHED)
sshd 1937root 4u IPv60x300046d21c00t1303608 TCPsun:
ssh->linux:
40379
(ESTABLISHED)
在这个示例中,sun和linux之间有两个IPv6连接。
对其进行更仔细的研究可以看出,这些连接来自于两个不同的进程,但它们却是相同的,这是因为两台主机是相同的,并且端口也是相同的(ssh和40379)。
这是由于进入主进程的连接分叉出一个处理程序,并将该套接字传递给它。
您还可以看到,名为sun的计算机正在使用端口22(ssh),而linux具有端口40379。
这表示,sun是该连接的接收者,因为它关联于该服务的已知端口。
40379是源或临时端口,并且仅对这个连接有意义。
以上这些表明,利用网络分析工具了解网络的状况非常简单,几乎不费什么力气就可以获取很多有用的数据。
四、理解proc文件系统
在Solaris的文件系统中,有一个/proc文件系统,一些巨大的文件放在那里,/proc文件系统不是普通意义上的文件系统,它是一个到运行中进程地址空间的访问接口。
通过/proc,可以用标准Unix系统调用(比如open()、read()、write()、ioctl()等等)访问进程地址空间。
事实上,Solarisps
(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的英文全称是SecureSHell。
通过使用SSH,用户可以把所有传输的数据进行加密,这样即使网络中的黑客能够劫持用户所传输的数据,如果不能解密的话,也不能对数据传输构成真正的威胁。
另外,传输的数据是经过压缩的,所以可以加快传输的速度。
SSH(SecureShell)最初由芬兰的一家公司开发,但由于受版权和加密算法的限制,很多人转而使用免费的替代软件OpenSSH。
SSH是由客户端和服务端的软件组成的,有两个不兼容的版本,分别是:
1.x和2.x。
用SSH2.x的客户程序是不能连接到SSH1.x的服务程序上去的。
OpenSSH2.x同时支持SSH1.x和2.x
solaris10使用的ssh服务器是opensshd,当然也有付费的商业版本的sshd出售。
就目前的情况看来,openssh已经在你安装操作系统的时候默认安装在系统上了,而且这个服务会随系统自动运行。
可以使用命令svcs查看ssh是否正常运行,如图1如果已经正常运行可以关闭不安全的telnet服务。
图1关闭不安全的telnet服务
2安装gftp
#pkg_get–igftp
3使用gftp
在命令栏目输入:
/opt/csw/bin/gftp-gtk即可。
如图2。
图2JDS桌面环境下的gftp界面
六、配置GUI网络数据包工具wireshark
1Wireshark简介
Wireshark是一个有名的网络端口探测器,是可以在inux、Soaris、SGI等各种平台运行的网络监听软件,它主要是针对TCP/IP协议的不安全性对运行该协议的机器进行监听。
其功能相当于Windows下的Sniffer,都是在一个共享的网络环境下对数据包进行捕捉和分析,而且还能够自由地为其增加某些插件以实现额外功能。
Ethernet网络监测工具可在实时模式或离线模式中用来捕获和分析网络通信。
下面是使用Wireshark可以完成的几个工作:
网络管理员使用它去帮助解决网络问题
网络安全工程师用它去测试安全问题
开发人员用它是调试协议的实现过程
用它还可以帮助人员深入的学习网络协议
下面是Wireshark提供的一些特性:
支持UNIX平台和Windows平台。
从网络接口上捕获实时数据包
以非常详细的协议方式显示数据包
可以打开或者存贮捕获的数据包
导入/导出数据包,从/到其它的捕获程序
按多种方式过滤数据包
按多种方式查找数据包
根据过滤条件,以不同的颜色显示数据包
可以建立多种统计数据
其最常用的功能是被攻击者用来检测被攻击电脑通过23(telnet)和110(pop3)端口进行的一些明文传输数据,以轻松得到用户的登录口令和邮件账号密码。
对于网络管理员来说,也可以通过捕包分析,来确定一些异常的流量和局域网内部的非正常用户与外界的通信,比如说对于现在比较占用网络带宽的诸如BitTorrent等P2P应用软件流量,通过使用该软件确定这些流量,网络管理员就可以使用流量控制(TC)的方法来规范、合理的分配带宽资源,提高网络的利用率。
该软件有极其方便和友好的图形用户界面,并且能够使得用户通过图形界面的配置和选择,针对多块网卡、多个协议进行显示,效果非常好。
2安装Wireshark步骤
#wget
#pkgadd-dlibpcap-0.8.3-sol10-intel-local.pkg
#wget
#pkgadd-dgtk+-1.2.10-sol10-intel-local.pkg
#wget
#pkgadd-dnetsnmp-5.1.4-sol10-x86-local.pkg
#wget
#pkgadd-dopenssl-0.9.7g-sol10-intel-local.pkg
如果以上的库已经安装,就可以执行下面的命令来编译并安装Wireshark:
#wegtftp:
//
#pkgadd-dwireshark-0.99.7-sol10-x86-local
图3wireshark工作界面
七、系统管理工具——sudo
1sudo简介
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后进行解压安装,如下步骤所示:
#wgetftp:
//ftp.s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Solaris 服务器 配置 安全 工具
![提示](https://static.bdocx.com/images/bang_tan.gif)