Posts for: #Security

Chrooting 后台服务和系统程序指导

文章提交:inburst (inburst_at_263.net)

Chrooting 后台服务和系统程序指导

作者:Jonathan A. Zdziarski  [email protected]

翻译和修改:张务鸣 (wuming) [email protected]

目录

第一部分:Chrooting 简介

  • 1.1 什么是 chrooting?

  • 1.2 什么时候应该使用 chroot?

  • 1.3 所有后台程序都能使用 chroot 吗?

  • 1.4 chrooting 会给用户带来什么后果?

  • 1.5 chrooting 需要些什么?

第二部分:系统资料收集

  • 2.1 我们是否能 chroot 这个进程?

  • 2.2 trss, lsof 和 ldd 简介

  • 2.3 查找所依赖的数据文件

  • 2.4 策略性的建立数据文件

  • 2.5 查找所使用的Library(库)文件

  • 2.6 寻找一个好的监狱地方(jail home)

第三部分:建立chrooted 环境

  • 3.1 建立新的监狱

  • 3.2 拷贝程序文件,数据文件和设置cron

  • 3.3 拷贝库数据文件

  • 3.4 建立 devices (安装设备驱动程序)

  • 3.5 交替启动脚本

  • 3.6 成品

第四部分:词汇解释

第一部分

1.1什么是 chrooting?

指令chroot 是 ”change root” 的缩写,为了是交换本身根(root)系统环境所设计。就是相对来说 / (根目录)由此改变。比如:一个文件的路径实际上是 /home/wuming/hello.txt 在现有的系统中。我现在chroot /home/wuming目录后,那么这个文件在我chrooted 过的环境下的路径是 /hello.txt

[阅读全文]

了解你的敌人:统计

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

在过去的几年里,Honeynet Project已经收集和归档了backhat的活动信息,我们尽我们最大的能力来记录和捕获对Honeynet每一个探测,攻击,和使用。这些原始的数据有很高价值。我们重点会放在两个部分,第一,我们打算演示Blackhat团体是怎样活动的。不管你是谁,你是不安全的,我们的目标是让你认识到这些威胁的存在。其二,为了对一些早期警告和预报内容的进行测试,通过鉴别方法和倾向,可能预测在攻击发生之前的攻击和进行一定程度的对抗。我们使用Honeynet Project采集到的数据测试这种理论。

The Collected Data Honeynet Project维护着8个高度控制和完全监视的网络,我们收集和归档了2000年4月到2001年2月这段时期中网络的每一个攻击,Honeynet有8个IP地址组成,使用本地ISP提供的单一ISDN连接,这种连接类型类似与大多数家庭用户或者小型商业用户。实际上,Honeynet位于其中一Project成员空余的卧室中。在那段时期,Honeynet中存在3个系统,其中包括如下:Solaris Sparc, WinNT, Win98, 和 Linux Red Hat操作系统。

Honeynet网络是用来捕获数据的网络,是一些使用普通的网络操作系统,如:Red Hat Linux 或者 Windows NT并在默认下配置的情况下实现的。Honeynet既没有对企图来标榜Honeynet也没有企图来"引诱"攻击者。理论上来说这个站点只会有很少的活动迹象,就想我们没有广告任何服务和系统。

Honeynet数据有价值的地方是Honeynet减少了主动错误信息(false positives)和被动错误信息(false negatives)所产生的问题。主动错误信息(false positives)指的是当组织由于恶意活动而被通知警报时候,经检查其实没有任何事情发生,而当这个组织持续的被主动错误信息(false positives)所触发警报,他们开始忽略他们的警报系统和数据采集,导致警告系统人为的无效。举个例子,MAIL入侵探测系统警告管理员系统被攻击,可能是一般已知的攻击被探测到,但是,这个警告可能是由一封包含对这个已知漏洞的警告并包含了攻击者所需的源代码来通知管理员的邮件错误触发的,或者可能是网络监视通信程序SNMP或者ICMP错误触发的。主动错误信息(false positives)对于大多数组织机构来说是是一项持续的挑战。Honeynet通过不包含任何实际的产品通信所触发的信息来减少这个问题,即不安装任何相关应用产品。因为Honeynet网络没有实际用途,它只是为了捕获未授权的活动,这表示任何信息包的进入和离开Honeynet都很本能的认为是有嫌疑的(因为没有任何应用平台),就简化了数据捕获和进程分析,减少主动错误信息(false positives)的产生.

被动错误信息(false negatives)是多数组织机构需要面对的另一项挑战,被动错误信息(false negatives)就是对于真实的恶意攻击者或者未授权活动检测失败。多数组织机构有适当的机制来检测攻击,如入侵检测系统,防火墙日志,系统日志和进程计帐。这些工具的目的是为了检测有可疑或者未授权活动,但是,其中有两个重要的问题会导致产生被动错误信息(false negatives)检测失败:数据负载过重和新的漏洞,数据负载过重是当组织机构捕获过多的数据,而没有全部被查看,因此攻击者被忽略过,如,多数组织机构记录G级别的防火墙或者系统活动信息,这样对与重新复查这些成吨的信息来鉴别可疑行为变的极其困难。第二个问题就是新型漏洞的攻击,而造成安全软件没有能力来检测这种个攻击。Honeynet通过绝对的捕获所有进出honeynet的信息来减少这种新型攻击产生的漏捕。记住:Honeynet里只有很少或者没有的相关应用平台和程序所产生的活动,这表示所有捕获的相关信息是有一定嫌疑的。即使我们漏捕最初始的攻击,我们仍然截获这个活动,如Honeynet中有2个系统在没有任何警告给Honeynet 管理员的情况下被入侵,我们没有探测到这次攻击知道被入侵的主机发起对外的连接,一旦这些尝试被我们探测到,我们就检查了所有捕获的活动信息来鉴定这个攻击:它是怎样成功的,为何我们漏捕了,通过这些研究,honeynet减少了被动错误信息(false negatives)所产生的问题.

对于有价值的数据的复查可以很明显的减少主动错误信息(false positives)和被动错误信息(false negatives)的产生。记住:下面我们所讨论的发现是特定我们的网络,这不意味着你的组织机构中会看到同样的模式或者行为,我们使用这个采集到的数据来演示部分blackhat的性质和早期警告和预测的可能性。

Analyzing the Past 当我们研究黑帽子团体的时候,Honeynet项目惊奇地看到黑帽子团体是如此的活跃。我们的发现是令人惊慌的。下面是我们对十一个月来所收集数据的一些统计。公布这些数据的目地是展示黑帽子团体的频繁活动。需要注意的是,这些统计信息只代表了一个没什么价值的小家庭网络,它没有对外广而告之并且没有试图引诱黑客。那些有很高名气和很大价值的大型组织机构极有可能被探测和攻击的次数多得多。

攻击后的分析:

  • 从2000年4月到11月,7台默认安装的Red Hat 6.2服务器在它们被放上Internet的三天之内被攻击。基于此,我们估计一个默认安装的Red Hat 6.2服务器的预期生命少于72小时。当我们最后一次试图证实这个估计的时候,系统在八小时内就被攻破。一个系统最快在15分钟内就被入侵。这意味着系统在连上Internet的15分钟内就被扫描,探测和入侵。碰巧的是,这是我们在1999年3月建立的第一个蜜罐系统。

  • 在2000年10月31日,我们放置了一个默认安装的Windows98系统,就象许多家庭和组织那样设置了共享。这个蜜罐系统在24小时之内就被入侵。在接下来的三天中又被入侵了四次。就是说在少于四天内它被成功地入侵了五次。在2000年5月,我们有了第一个全月的Snort入侵警告信息,Honeynet项目记录了157个Snort警告。在2001年2月,Honeynet项目记录了1398个Snort警告,表示了超过890%的增长。这些增长可能受到对Snort入侵检测系统配置文件修改的影响。然而,我们也从防火墙日志中看到了活动的增加。在2000年5月我们有了第一个全月的防火墙的警告信息,Honeynet项目防火墙记录了103个不同的扫描(不算上NetBios)。在2001年2月,Honeynet项目记录了206个不同的扫描(不算上NetBios)。这表示增加了100% 。这些数字表示了黑帽子活动的持续的增加,极有可能是因为更具攻击性的自动扫描工具的出现和它们能更容易地被得到。

  • 在三十天内(2000年的9月20日-10月20日),Honeynet收到524个不同的NetBios的扫描,平均每天17个不同的扫描。

  • 在2001年2月,一共对Honeynet有27次X86漏洞利用。X86意思是这些攻击被设计是对付Intel架构系统的。在这些攻击中,有8次是对Solaris Sparc系统的进行的。因为系统架构不兼容,这些漏洞利用对Sparc系统是无效的。这暗示了一些攻击者并不确认是什么操作系统或在其上运行了什么版本的服务。当他们发现了服务,他们甚至首先不确认系统是不是脆弱的,或者甚至是不是正确的系统类型。这种活动方式能使黑帽子在更短的时间内扫描和攻击更多的系统。

  • 从2000年4月至今,除了通常的扫描外,最流行的探测方法是DNS版本查询,接下来的就是RPC服务的查询。

  • 最流行的攻击是对Intel架构系统的rpc.statd溢出攻击。

  • 最流行的扫描方法是对整个IP段对特定端口的SYN-FIN扫描(通常按先后顺序)。这反映了聚焦于单个脆弱性的策略,针对这个脆弱性扫描到尽可能多的系统。许多黑帽子只使用单个的工具,或只利用他们知道如何利用或最有效的漏洞。

**Predicting the Future

**Honeynet项目想要研究的一个方向是对系统攻击的前期预警,这样也可以给Honeynet搜集更多有价值的数据带来理论上的帮助。这些理论并不是非常新的,而且也有有些大公司在使用着,我们也希望我们的研究对这些公司及其它组织有所帮助。在详细地解释我们的方法之前,我想先声明:我们的研究还处于初始阶段,还有大量的数据分析工作需要进行。

OK,让我们开始吧……

  • 我现在讨论的仅仅是一个独立的Honeynet,仅是提供单节点的、数据量不大的观察结果。下面所要提及的方法将会在世界各国更广阔的环境、有众多Honeynet的环境中测试。

  • 我们并没有试图对由同一个攻击者发起的攻击作出识别,原因很简单,因为现在欺骗技术使用太广泛了。

  • 我们的许多推测建立在一个攻击者总是首先扫描然后攻击服务器这个流程上。当然,有些情况下或许扫描与攻击这两个事件根本是偶然。但我们仍坚持上述的观点。

我们努力对攻击情况做出合理的预测,期间Honeynet的两位成员提出了两个不同的方法,但是最终发现他们的结果是大同小异的,几乎所有的入侵者都在他们实施真正攻击前的两到三天被发现。

**使用统计学原理对事件做预警[Statistical Process Controls(SPC)]: **

[阅读全文]

如何成为Sporum论坛的管理员

(inburst_at_263.net)

如何成为Sporum论坛的管理员

      by stardust [email protected]

      前几天在网上瞎逛,撞进了一个介绍Linux的站点,站点本身制作平平,但它有一个看起来还不错的论坛.页面的底部提供了一个叫"Powered by Sporum1.5.2"的链接,指向论坛程序的官方主页.从那里我知道了Sporum是用Perl写的,以MySQL为后台数据库,注册用户可以在论坛发贴子,允许用户订制自己的偏好,并以cookies进行身份验证.这个使我不由得想到了wwwthreads这个著名的论坛程序,从架构和功能上Sporum都和它很相似.而在此不久之前,wwwthreads已被发现有安全漏洞,可以使任何普通用户成为论坛的管理员.这使著名的安全资源站点packetstorm遭了殃,导致它使用了wwwthreads的论坛被人劫持.想了解更多的细节,你可以读一下:

      http://packetstorm.securify.com/0002-exploits/rfp2k01.txt

      在这里rfp描述了他如何hack了论坛以及对基于WEB的数据库系统的分析,很有启发性,值得一读.rfp在他的文章里指出wwwthreads的安全漏洞在于没有对从表单来的用户输入进行全面的检查.既然Sporum那么象wwwthreads,会不会也存在相似的问题呢?

      好,那么让我们来看看吧,从linuxberg很容易地可以得到Sporum的1.5.2版.和wwwthreads一样,Sporum允许用户订制自己的偏好你可以订制贴子如何显示,如何排列.wwwthreads正是死在这,那么Sporum呢?在User.pm的可以找到相关的程序片断:

      sub save_preferences1{

      my ($self, $STATE) = @_;

      my ($STATE, $spdb) = map{ $self->{$_} } qw(STATE spdb);

      my $DBH = $spdb->{‘dbh’};

      my ($postsper, $myuid, $uid, $prev_op) =

      map{ $STATE->{$_} } qw(mypostsper myuid uid prev_op);

      # — check the uid — thanks Tim W from solutionscripts.com

      # — if uid ne myuid

      if($uid != $myuid){

      # — need admin right to change the profile

[阅读全文]

用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    # 日志记录文件

[阅读全文]