Posts for: #Security

用rsync对网站进行镜像备份

文章提交:inburst (inburst_at_263.net)

用rsync对网站进行镜像备份

by inburst[email protected]

http://xfocus.org

对系统管理员来说,平时的工作重心应该集中在维护系统正常运转,能够正常提供服务上,这里往往牵涉到一个数据备份的问题,在我所了解

的情况中,有80%的系统管理员不是太关心自己服务器的安全性,但往往对备分镜像的技术相当感兴趣,但由于商业产品的软硬件价格都相当高

昂,因此往往会选择自由软件。这里准备介绍的rsync就是这样的软件,它可以满足绝大多数要求不是特别高的备份需求。

一、特性简介

rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了――remote sync。它的特性如下:

1、可以镜像保存整个目录树和文件系统。

2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。

3、无须特殊权限即可安装。

4、优化的流程,文件传输效率高。

5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。

6、支持匿名传输。

二、使用方法

rsync的使用方法很简单,我就举自己使用的例子来说明吧。

1、系统环境

rsync支持大多数的类unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。我的系统环境为:

server: FreeBSD 4.3  ip: 192.168.168.52

client: Solaris 8    ip: 192.168.168.137

rsync 版本 2.4.6(可以从http://rsync.samba.org/rsync/获得最新版本)

2、配置server端的/etc/rsyncd.conf文件

bash-2.03# cat /etc/rsyncd.conf

uid = nobody

gid = nobody

use chroot = no         # 不使用chroot

max connections = 4         # 最大连接数为4

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log    # 日志记录文件

[阅读全文]

分布式入侵监测系统设计与实现

(inburst_at_263.net)

随着黑客入侵事件的日益猖獗,人们发现只从防御的角度构造安全系统是不够的。入侵检测技术是继“防火墙”、“数据加密”等传统安全保护措施后新一代的安全保障技术。他对计算机和网络资源上的恶意使用行为进行识别和响应,它不仅检测来自外部的入侵行为,同时也监督内部用户的未授权活动。

本文提出一种基于部件的入侵检测系统,具有良好的分布性能和可扩展性。他将基于网络和基于主机的入侵检测系统有机地结合在一起,提供集成化的检测、报告和响应功能。

在网络引擎的实现上,使用了协议分析和模式匹配相结合的方法,有效减小目标的匹配范围,提高了检测速度。同时改进了匹配算法,使得网络引擎具有更好的实时性能。在主机代理中的网络接口检测功能,有效地解决了未来交换式网络中入侵检测系统无法检测的致命弱点。

分布式入侵监测系统设计与实现

系统遭受入侵后使用TCT进行紧急恢复并分析

(inburst_at_263.net)

系统遭受入侵后使用TCT进行紧急恢复并分析

by inburst[email protected]

http://xfocus.org;http://inburst.org

2001-6-10

    从事系统管理工作,就算你非常小心翼翼地做好了一切防护,还是可能有入侵者能够突破你

的防护进入系统,并且更改或者删除一些文件。这里,我们借用honeynet project里面的一些实

例,来对一个unix下的实用工具软件tct及其相关辅助软件做简要说明。并且在最后再介绍另外

一个比较不错的能恢复ext2文件系统的软件recover。

    首先说一下相关的软件:

    1、The Coroners Toolkit:也就是我们所说的TCT,想要在国内下载的话,您可以到安全焦

点(http://xfocus.org/tool/other/tct-1.07.tar.gz)下载。这是一个unix下的命令行文件系统

工具集,支持FFS及ext2fs,从块及结点处来对数据进行恢复。它能够针对文件的最后修改、访

问或者改变(MAC)的时间来进行分析,并且根据数据节点的值提取出文件列表以进行恢复。

    2、TCTUTILs:在http://xfocus.org/tool/other/tctutils-1.01.tar.gz可以下载当前最新

版本。它是对TCT的补充,提供了根据文件名对数据进行恢复的命令行工具。这两个工具都需要

使用者对一些底层基本知识比较了解。

    3、Autopsy Forensic Browser:可以从http://xfocus.org/tool/other/autopsy-1.01.tar.gz

下载。它提供了一个友好的html界面给tct及tctutils。它能使枯燥的分析工作相对轻松些:)

    一、安装:TCT在各种unix平台下都经过了比较好的测试。现在能够支持FreeBSD、OpenBSD、

SunOS、Linux等平台。TCTUTILs和Autopsy则不一定能跑得起来,我测试的平台是一台默认安装

的Red Hat 6.2系统。

    1、tct

    # tar zvfx tct-1.07.tar.gz -C /usr/local/tct/; cd /usr/local/tct/tct*; make

    这样把tct展开到/usr/local/tct/tct-1.07/的目录下,并且进入,make。这里,如果是make

过之后,需要重新在编译的话,需要运行perl reconfig命令重新配置。

    2、tctutils:

    # tar zvfx tctutils-1.01.tar.gz -C /usr/local/tct;cd /usr/local/tct/tctu*;make

    现在tctutils似乎只在OpenBSD 2.8、Debian Linux 2.2、Solaris 2.7下经过详尽测试,而

对FreeBSD还支持不好。通常make不会出现什么问题,如果有,自己改下代码或者Makefile即可。

    3、Autopsy:

    解包后运行./configure后,它会自己寻找一些实用工具如grep、strings、md5sum的路径,

并要求确认tct以及tctutils的路径(如果没找到会要求你输入正确路径)。最后要求输入需要检

查的文件系统所在,才生成程序autopsy。

    二、honeynet scan15简介:

    关于honeynet project的详情,可以参见安全焦点(http://xfocus.org/honeynet/),他们

现在维护着国外honeynet项目的中文镜像。

    scan15是honeynet在2001年3月15日于一台受入侵的Linux机器上搜集到的数据而面临的问题。

入侵者下载了一些rootkit放在根目录下,成功安装后删除了。而honeynet project将当时的原始

数据镜像下来,作为题目出给网络安全爱好者,要求对这一被删除的rootkit进行恢复。

[阅读全文]

了解你的敌人:Honeynets

本文是 Honeynet Project 的"了解你的敌人:Honeynets"系列文章的中文翻译,原文发布于 project.honeynet.org,中文翻译来自 xfocus.net。

http://www.xfocus.net

在过去的几年中 Honeynet Project专注于对网络入侵者这一群体使用的各种工具、攻击策略及目的进行研究,并且分享我们的经验,这里我们使用的主要工具就是Honeynet。本文阐述了Honeynet究竟是什么、它对安全组织的价值、它的工作方式、会带来的风险、技术难题等等。我们将使用技术手段尝试自己去了解入侵者群体。同时我们希望这里讨论的这些技术可以帮助大家更好地构建Honeynet,更好了了解我们的敌人,我们也希望各种组织能够了解Honeynet的基本状况。

什么是Honeynet

Honeynet可以说是一个学习工具!它是一个专门设计来让人“攻陷”的网络,一旦被入侵者所攻破,入侵者的一切信息、工具等都将被用来分析学习。其想法与honeypot相似,但两者之间还是有些不同点的:honeypot也是一个用来让人攻击的网络,通常是用来诱骗入侵者的,通常情况下,honeypot会模拟某些常见的漏洞、摸拟其它操作系统或者是在某个系统上做了设置使其成为一台“牢笼”主机。比如The Deception Toolkit(下载), CyberCop Sting, 以及 Mantrap. 是一些脚本的集合,它模拟出了一些常的系统漏洞;CyberCop Sting运行于NT平台,它模拟出多个不同系统的IP堆栈及inetd服务。Mantrap则是将Solaris系统进行了一些设置,建立起了一些“牢笼主机”。毫无疑义,这些都是相当不错的想法,但在现在的环境下,它们有些不适合了,需要更多的改进。

Honeynet与传统意义上的honeypot有两个最大的不同点在于:

  • 一个Honeynet是一个网络系统,而并非某台单一主机,这一网络系统是隐藏在防火墙后面的,所有进出的数据都受到关注、捕获及控制。这些被捕获的数据可以对我们研究分析入侵者们使用的工具、方法及动机。在这个Honeynet中,我们可以使用各种不同的操作系统及设备,如Solaris, Linux, Windows NT, Cisco Switch, 等等。这样建立的网络环境看上去会更加真实可信,同时我们还有不同的系统平台上面运行着不同的服务,比如Linux的DNS server,Windows NT的webserver或者一个Solaris的FTP server,我们可以学习不同的工具以及不同的策略――或许某些入侵者仅仅把目标定于几个特定的系统漏洞上,而我们这种多样化的系统,就可能更多了揭示出他们的一些特性。

  • 在Honeynet中的所有系统都是标准的机器,上面运行的都是真实完整的操作系统及应用程序――就象你在互联网上找到的系统一样。我们没有刻意地模拟某种环境或者故意地使系统不安全。在Honeynet里面找到的存在风险的系统,与在互联网上一些公司组织的毫无二致。你可以简单地把你的操作系统放到Honeynet中,并不会对整个网络造成影响。

我们的Honeynet ProjectIt使用的是在互联网上最常见到的操作系统,比如默认安装的Linux, Solaris, Windows98以及Windows NT,正因为我们使用的是最常见、普通的系统,我们的研究成果才会对大多数的互联网组织有实用意义。

Honeynet 的价值、法律相关事务

传统意义上的信息安全,一般都是防御性质的,比如防火墙、入侵检测系统、加密等等,它们都是用来保护我们的信息资产的,他们的策略是,先考虑系统可能出现哪些问题,然后对问题一一进行分析解决。而Honeynet希望做到的是改变这一思路,使其更具交互性――它的主要功能是用来学习了解敌人(入侵者)的思路、工具、目的。通过获取这些技能,互联网上的组织将会更好地理解他们所遇到的威胁,并且理解如何防止这些威胁。通过honeynet,组织可以在与入侵者的“游击战争”中获得最大的主动权。

例如,Honeynet能够收集的信息的主要来源之一是入侵者团体之间的通信,诸如IRC(Internet在线聊天系统)。入侵者经常在彼此之间自由交谈,揭示了他们的动机,目的,和行动。我们通过使用Honeynets,已经捕获了这些谈话内容,监控了他们之间说过的每一句话,我们甚至已经捕获了与攻击我们的系统有牵连的入侵者的实时录像。这使我们能够清楚地洞察入侵者们是如何针对特定系统以及他们攻击系统的能力。你可以参见Know Your Enemy: Motives中的例子。在这份文件中,我们追踪了把一个特殊的国家作为攻击目标的一组入侵者。经过三个周的时间,我们不仅了解了他们是如何把系统作为目标和如何攻击系统的,而且更重要的是,了解了他们这样做的原因。根据这种详细的信息,我们现在能够更好的理解和防护这种常见的威胁。

Honeynets也为组织提供了关于他们自己的安全风险和脆弱性的一些经验。Honeynets的内容涵盖了组织在其特定环境下系统和应用软件。公司或者组织可以通过对Honeynet的学习及使用,提高增强自己的能力。例如,某家公司可能想提供一个新的网络服务器,以便其网上支付系统。其操作系统和应用程序如果能够先在一Honeynet的中得到检验以识别任何未知的风险和脆弱性,将会在很大程度上提高其可靠程度。我们自己在Honeynet的工作平台上检验IDS、防火墙等过程中就得到了相当多的经验。

最后,一个Honeynet能够帮助一个组织发展它的事件响应能力。在过去的两年中,我们已经极大地提高了我们检测、响应、恢复、和分析受侵害系统的能力。根据这些经验,我们已经发表了两篇文章,就是 Know Your Enemy: Forensic Analysis 和 The Forensic Challenge 其中提到的一些技巧是:如果你发现了一个受到入侵的系统,你或许可以把它当成一个挑战,使用各种技术来捕获或者分析入侵者的行为并且不被他察觉。同时,你捕获的数据也可以存储在一个攻击特征库中,今后你如果在其它事件中发现类似的特征代码,你就可以轻易地判断出其攻击方式了。

但是这些方法在法律上遇上了一些麻烦

诱捕的问题:

诱捕是一个法律术语,用于执法人员诱使一个罪犯从事一项非法行为,否则他们可能不会从事该非法行为。我们不是执法部门,我们不是在执法部门的控制下行动,而且我们甚至没有起诉的意图,所以,我们不认为安装一个Honeynet是诱捕行为。其他人将争论说我们正在提供一个“吸引人的目标”,意味着我们把不可靠的系统置于网上,以诱使人们攻击他们,从而把他们作为攻击别人的手段来使用。这也是错误的,因为我们并没有通过任何方式来宣传这些系统。如果有人发现了我们的一个系统,损害了它,并且使用它作他们不应当做的事情,那是因为他们在主动地和有意地从事这种非授权的行为。

保密的问题:

而关于这些活动有一些道德上的和伦理上的问题(我们在内部一直在努力解决这些问题),最近由美国司法局,刑事庭,计算机犯罪和知识产权部门出版的Searching and Seizing Computers and Obtaining Electronic Evidence in Criminal Investigations这本书中,提供了几个案例参考,受理上诉的法官裁定,反对对于在计算机入侵和欺骗的犯罪案件中,对侵犯隐私权进行辩护。包括下面一些问题:

  • 入侵这些系统的人是未经授权的,如果他们把任何文件置于系统上(当他们没有合法的帐号或使用特权时),我们认为他们已经不能保有在我们系统上的隐私权。

  • 通过使用我们的系统进行通信,他们就已经在通信中放弃了他们的隐私权。

  • 我们不提供公用的帐号,所以我们不是一个服务供应商,不受为服务供应商所设计的保密要求的限制。

  • 不管怎样,我们不是执法部门,我们也不是在执法部门的控制下行动,或甚至起诉入侵我们系统的入侵者,所以,我们不受证据收集规定的限制,而执法部门和他们的执法人员却要受到其限制。

  • 即使我们真的目击了一起严重的计算机犯罪,并且决定告发它,我们收集日志和记录网络流量,将其作为一个“商业运营”的常规过程,如果我们决定告发的时候,我们可以自由地将其交给执法部门。

[阅读全文]

我是如何黑掉PacketStorm论坛的

(quack_at_xfocus.org)

我是如何黑掉PacketStorm论坛的

                      —-通过SQL黑wwwthreads论坛

——————————- rain forest puppy / [email protected] —

翻译:isno

内容目录:

-1.问题的范围

-2.SQL攻击的详细解释

-3.解决办法

-4.结论

-5.本文涉及的perl程序


—-[ 1. 问题的范围

    许多应用程序都可以通过SQL来进行攻击。现在许多程序知道了避免使用strcpy(),

并且不把用户数据传递给system()调用,但是很多程序还不知道SQL查询可以被黑客

篡改来达到攻击的目的。

    写一篇技术文章要比写个安全建议麻烦得多,但是技术文章能够全面地解释我是

如何利用wwwthreads程序的漏洞得到PacketStorm论坛管理员权限和将近800个用户密

码的。

—-[ 2. SQL攻击的详细解释

    某日,我正在PacketStorm的论坛上浏览,发现这个论坛使用的是wwwthreads。

我突然注意到了URL的参数(URL中’?‘后面的部分)。作为一个web安全爱好者,我

对它感到极为好奇。使用试验的攻击方法,我把showpost.pl程序中的’Board=general’

参数改为了’Board=rfp’。提交并发现传回来以下错误信息:

We cannot complete your request. The reason reported was:

Can’t execute query:

SELECT B_Main,B_Last_Post

FROM rfp

WHERE B_Number=1

. Reason: Table ‘WWWThreads.rfp’ doesn’t exist

    可以发现这儿还有一个参数’Number=1’,我们可以推断出查询请求是这样构造的:

SELECT B_Main,B_Last_Post FROM $Board WHERE B_Number=$Number

    如果你读过我在phrack 54上发表过的文章的话(可以到

http://www.wiretrip.net/rfp/p/doc.asp?id=7&iface;=2阅读),你就应该明白我要

做什么了。我们不仅可以修改$Board和$Number参数,而且还可以提交额外的SQL命令。

试想一下,如果我们提交的$Board参数是下面的样子:

‘general; DROP TABLE general; SELECT * FROM general '

[阅读全文]

入侵分析

(quack_at_xfocus.org)

by quack[email protected]

http://xfocus.org

一、意外

时间:2001-3-11下午

地点:某台RedHat Linux机器:

#uname -a

Linux ..cn.net 2.2.5-15 #1 Mon Apr 19 23:00:46 EDT 1999 i686 unknown

俺习惯性地先进到/etc/rc.d/init.d,看了一下,马上发现异状:

#ls -la

……

-rwxr-xr-x   1 root     root         2775 Mar 26  1999 netfs

-rwxr-xr-x   1 root     root         5537 Mar  3 21:23 network

-rwxr-xr-x   1 root     root         2408 Apr 16  1999 nfs

……      

二、初步检查

明显是个新手干的嘛,network文件被人动过了,咱们用stat命令看看先:

#stat network

  File: “network”

  Size: 5537         Filetype: Regular File

  Mode: (0755/-rwxr-xr-x)         Uid: (    0/    root)  Gid: (    0/    root)

[阅读全文]

DNS(BIND)的安全性之一

quack (quack_at_xfocus.org)

DNS(BIND)的安全性之一

                            —–如何部署DNS服务器

    外面老吵吵嚷嚷说狼来了,但是狼究竟是怎么来的,也许很多人都不清楚,

以前的讨论里面都局限于针对各种漏洞的分析,但是少有系统的全面的对某个

问题的讨论,这段时间心情不错,决定专门整理出一个专题来,就是专门讨论

DNS的安全性。

    也许有的人会觉得奇怪,DNS的安全性好像很少听人提到,其实,DNS的安全

尤胜过其它的网络安全。我先随便说说DNS的安全隐患:

1.防火墙不会限制对DNS的访问

2.DNS可以泄漏内部的网络拓朴结构

3.DNS存在许多简单有效的远程缓冲溢出攻击

4.几乎所有的网站都需要DNS

5.DNS的本身性能问题可是关系到整个应用的关键

6.国内关于DNS安全的资料太少,只怕狼真的来了的时候,大家来不及操家伙

…

    哎呀,一下子扯开了,大家就当看评书把,;)

    安全的一个重要标志是可用性。对于DNS服务器而言这点尤其重要,在现实

生活中经常定义攻击者入侵系统获取数据为一个安全问题,但是对于DNS服务器

来说,遭到了拒绝服务攻击则是一件更严重的问题。

失去了DNS服务器的话,任何在internet网络上的人将不能够再使用域名找到你

的服务器,不可想像让普通的网民们使用202.106.184.200来代替www.sina.com.cn

使用。更严重的是,没有了DNS的服务,所有的邮件发送都将失败,而你的内部

网络将由于解析域名的失败而失去和外部网络的联系。

DNS的一些注意事项

    注册了一个域名以后,可以最大为你的域名设置6个DNS服务器名。

例如,microsoft.com公司的就为自己设置了五个DNS服务器来解析自己的域名:

Name Servers:

DNS4.CP.MSFT.NET   207.46.138.11

DNS5.CP.MSFT.NET   207.46.138.12

Z1.MSFT.AKADNS.COM   216.32.118.104

Z7.MSFT.AKADNS.COM   213.161.66.158

DNS1.TK.MSFT.NET   207.46.232.37

    这样,即使这三个中的两个停止了工作,但是了,仍然可以有一个会对外提供服务,

而对于广大的用户而言,当出现这种多个DNS服务器停止服务带来的唯一的影响

就是查询域名的时候会延迟,因为它需要一个一个的去查询,直到找到最后的一个为止。

而上面这一个步骤也是你应付恶意攻击者对DNS服务器进行拒绝服务攻击的一个

保护手段。

    一个能够放到电信局使用的DNS服务器,一般的基本配置是一个U,

它应该有足够的RAM来将数据库放入内存中。一般来说,512M是足够用了,

而且值得考虑的是,在你的DNS服务器前面加道防火墙,让防火墙把那些

成天只知道攻击的人阻挡在外面。

    如果你有多个DNS服务器来进行解析域名的工作的话,一个值得考虑的

问题是,如果这些服务器都是处于接近100%的处理量,每个都接近饱和的时候,

那么你应该考虑多再给你的dns服务器减压的问题:一是为了应用上考虑,

其次从安全上来说,如果这样的系统,只要攻击者让一台DNS服务器瘫痪了,

那么繁重的处理工作自然会压垮其它的DNS服务器的。

    如果纯粹从理论上出发,那么一台DNS服务器是完全可以完成所有任务的,

但是对于实际应用而言,应该是在考虑到在失去了一台服务器的情况下,剩下的

应该还能够正常的工作(这就是在做大项目的时候经常说的冗余性和高可用性)。

    前段日子,微软就遭受了沉重的专门针对DNS服务器的攻击,这次是

放在4台DNS服务器前的防火墙成了攻击目标,大量的数据包涌向这个路有器,

从而干扰了正常的DNS通信。导致微软的好几个主要站点都无法给外界提供服务。

    上面是关于DNS设计时的一个基本原则,下面我们来分析一下这则新闻。

    

                    微软求助Akamai帮忙加固其网络


http://www.sina.com.cn 2001/01/30 17:15 ChinaByte

  【ChinaByte综合消息】日前,微软的附属网站多次发生瘫痪,一度无法登录。

微软发言人称这是其DNS服务器所引起的故障。该公司承认,它配置基础设施的方式

,给了黑客可乘之机。该公司在某单一网络上运行着所有4台重要的DNS服务器。

攻击微软网站的黑客,显然将矛头对准了该网络中用来指引数据流量的路由器,

[阅读全文]

nc使用技巧

文章提交:quack (quack_at_xfocus.org)

nc使用技巧

by quack[email protected]

http://www.xfocus.org  安全焦点

nc这个小玩意儿应该大家耳熟能详,也用了N年了吧……这里不多讲废话,结合一些script说说它的使用技巧。

(文中所举的script都来自于nc110.tgz的文件包)

一、基本使用

Quack# nc -h

[v1.10]

想要连接到某处:   nc [-options] hostname port[s] [ports] …

绑定端口等待连接:     nc -l -p port [-options] [hostname] [port]

参数:

        -e prog                 程序重定向,一旦连接,就执行 [危险!!]

        -g gateway              source-routing hop point[s], up to 8

        -G num                  source-routing pointer: 4, 8, 12, …

        -h                      帮助信息

        -i secs                 延时的间隔

        -l                      监听模式,用于入站连接

        -n                      指定数字的IP地址,不能用hostname

        -o file                 记录16进制的传输

        -p port                 本地端口号

        -r                      任意指定本地及远程端口

        -s addr                 本地源地址

        -u                      UDP模式

[阅读全文]

TIS防火墙详述

文章提交:quack (quack_at_xfocus.org)

TIS防火墙详述

by quack([email protected])

什么是防火墙――不知道;)

什么是TIS?――这是一组由(Trusted Information Systems)写的一组构造防火墙的工具

包,又叫firewall toolkit,这个工具箱里的软件适当的安装并配置以一定的安全策略

就可以构成基本的防火墙了,而且它是免费的;)花点心思看一看,说不定可以省下一笔不

菲的防火墙购置资金哦……

一、编译运行

1、下载

可以到TIS的web站点下载http://www.tis.com,但它有一些很麻烦的认证过程,建议

直接到国内的安全站点转转,或者到http://packetstorm.securify.com/去下载,我

得到的版本是fwtk2.1.tar.Z的版本,此后的说明均以此版本为例,且在solaris7 x86

上通过,gcc版本为2.95.2。

2、编译

gunzip fwtk2.1.tar.Z

tar vfx fwtk2.1.tar

cd fwtk

将fwtk2.1.tar.Z解压后,可以在./fwtk目录下发现有很多Makefile.config.*文件,

比如你使用的操作系统是solaris2.7,那么就直接将Makefile.config更名后,把

Makefile.config.solaris更名为Makefile.config就行了。

mv Makefile.config Makefile.config.old

mv Makefile.config.solaris Makefile.config

在solaris下的编译相当容易――至少solaris7与solaris8下面不用修改任何东西就

可以编译通过了。

make && make install

如果你使用的是linux,仅仅把Makefile.config.linux当成当前Makefile.config还

不够,因为如果你要使用X的gw.那么你必须有 Athena Widget的设置。否则编译会

出问题。因此,可以修改Makefile让系统不编译x-gw。

所以可以

vi Makefile

查找下面这行:

directories to build executables in

DIRS=   smap smapd netacl plug-gw ftp-gw tn-gw rlogin-gw http-gw x-gw

把后面的x-gw去掉就可以了。

如果是在bsd下,特别要注意,bsd的make 不认识象:.include “Makefile.config”

[阅读全文]