由于现在家用电脑所使用的操作系统多数为WinXP和Win2000 主要讲一下基于这两个操作系统的安全防范。 个人电脑常见的被入侵方式 谈到个人上网时的安全,还是先把大家可能会遇到的问题归个类吧。我们遇到的入侵方式大概包括了以下几种: (1)被他人xx密码; (2)系统被木马攻击; (3)浏览网页时被恶意的javascrpit程序攻击; (4)QQ被攻击或泄漏信息; (5)病毒感染; (6)系统存在漏洞使他人攻击自己。 (7)黑客的恶意攻击。 下面我们就来看看通过什么样的手段来更有效的防范攻击。 本文主要防范方法察看本地共享资源 删除共享 删除ipc$空连接 账号密码的安全原则 关闭自己的139端口 445端口的关闭 3389的关闭 4899的防范 常见端口的介绍 如何查看本机打开的端口和过滤 禁用服务 本地策略 本地安全策略 用户权限分配策略 终端服务配置 用户和组策略 防止rpc漏洞 自己动手DIY在本地策略的安全选项 工具介绍 避免被恶意代码木马等病毒攻击 1.察看本地共享资源 运行CMD输入net share,如果看到有异常的共享,那么应该关闭。但是有时你关闭共享下次开机的时候又出现了,那么你应该考虑一下,你的机器是否已经被黑客所控制了,或者中了病毒。 2.删除共享(每次输入一个) netshareadmin$/delete netsharec$/delete netshared$/delete(如果有e,f,……可以继续删除) 3.删除ipc$空连接 在运行内输入regedit,在注册表中找到 HKEY-LOCAL_MACHINESYSTEMCurrentControSetControlLSA 项里数值名称RestrictAnonymous的数值数据由0改为1。 4.关闭自己的139端口,ipc和RPC漏洞存在于此。 关闭139端口的方法是在“网络和拨号连接”中“本地连接”中选取“Internet协议(TCP/IP)”属性,进入“高级TCP/IP设置”“WinS设置”里面有一项“禁用TCP/IP的NETBIOS”,打勾就关闭了139端口。 5.防止rpc漏洞 打开管理工具——服务——找到RPC(RemoteProcedureCall(RPC) Locator)服务——将故障恢复中的{dy}次失败,第二次失败,后续失败,都设置为不操作。 XPSP2和2000prosp4,均不存在该漏洞。 6.445端口的关闭 修改注册表,添加一个键值 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters在右面的窗口建立一个SMBDeviceEnabled 为REG_DWORD类型键值为0这样就ok了 7.3389的关闭 XP:我的电脑上点右键选属性-->远程,将里面的远程协助和远程桌面两个选项框里的勾去掉。 Win2000server开始-->程序-->管理工具-->服务里找到Terminal Services服务项,选中属性选项将启动类型改成手动,并停止该服务。(该方法在XP同样适用) 使用2000pro的朋友注意,网络上有很多文章说在Win2000pro 开始-->设置-->控制面板-->管理工具-->服务里找到Terminal Services服务项,选中属性选项将启动类型改成手动,并停止该服务,可以关闭3389,其实在2000pro 中根本不存在TerminalServices。 8.4899的防范 网络上有许多关于3389和4899的入侵方法。4899其实是一个远程控制软件所开启的服务端端口,由于这些控制软件功能强大,所以经常被黑客用来控制自己的肉鸡,而且这类软件一般不会被杀毒软件查杀,比后门还要安全。 4899不象3389那样,是系统自带的服务。需要自己安装,而且需要将服务端上传到入侵的电脑并运行服务,才能达到控制的目的。 所以只要你的电脑做了基本的安全配置,黑客是很难通过4899来控制你的。 9、禁用服务 打开控制面板,进入管理工具——服务,关闭以下服务 1.Alerter[通知选定的用户和计算机管理警报] 2.ClipBook[启用“剪贴簿查看器”储存信息并与远程计算机共享] 3.DistributedFileSystem[将分散的文件共享合并成一个逻辑名称,共享出去,关闭后远程计算机无法访问共享 4.DistributedLinkTrackingServer[适用局域网分布式链接? 倏突Ф朔 馷 5.HumanInterfaceDeviceAccess[启用对人体学接口设备(HID)的通用输入访问] 6.IMAPICD-BurningCOMService[管理CD录制] 7.IndexingService[提供本地或远程计算机上文件的索引内容和属性,泄露信息] 8.KerberosKeyDistributionCenter[授权协议登录网络] 9.LicenseLogging[监视IIS和SQL如果你没安装IIS和SQL的话就停止] 10.Messenger[警报] 11.NetMeetingRemoteDesktopSharing[netmeeting公司留下的客户信息收集] 12.NetworkDDE[为在同一台计算机或不同计算机上运行的程序提供动态数据交换] 13.NetworkDDEDSDM[管理动态数据交换(DDE)网络共享] 14.PrintSpooler[打印机服务,没有打印机就禁止吧] 15.RemoteDesktopHelp SessionManager[管理并控制远程协助] 16.RemoteRegistry[使远程计算机用户修改本地注册表] 17.RoutingandRemoteAccess[在局域网和广域往提供路由服务.黑客理由路由服务刺探注册信息] 18.Server[支持此计算机通过网络的文件、打印、和命名管道共享] 19.SpecialAdministrationConsoleHelper[允许管理员使用紧急管理服务远程访问命令行提示符] 20.TCP/IPNetBIOSHelper[提供TCP/IP服务上的NetBIOS和网络上客户端的NetBIOS 名称解析的支持而使用户能够共享文件、打印和登录到网络] 21.Telnet[允许远程用户登录到此计算机并运行程序] 22.TerminalServices[允许用户以交互方式连接到远程计算机] 23.WindowsImageAcquisition(WIA)[照相服务,应用与数码摄象机] 如果发现机器开启了一些很奇怪的服务,如r_server这样的服务,必须马上停止该服务,因为这xx有可能是黑客使用控制程序的服务端 10、账号密码的安全原则 首先禁用guest帐号,将系统内建的administrator帐号改名~~(改的越复杂越好,{zh0}改成中文的),而且要设置一个密码,{zh0}是8位以上字母数字符号组合。 (让那些该死的黑客慢慢猜去吧~) 如果你使用的是其他帐号,{zh0}不要将其加进administrators,如果加入administrators组,一定也要设置一个足够安全的密码,同上如果你设置adminstrator的密码时,{zh0}在安全模式下设置,因为经我研究发现,在系统中拥有{zg}权限的帐号,不是正常登陆下的adminitrator帐号,因为即使有了这个帐号,同样可以登陆安全模式,将sam文件删除,从而更改系统的administrator的密码!而在安全模式下设置的administrator则不会出现这种情况,因为不知道这个administrator密码是无法进入安全模式。权限达到{zd0}这个是密码策略:用户可以根据自己的习惯设置密码,下面是我建议的设置(关于密码安全设置,我上面已经讲了,这里不再罗嗦了。 打开管理工具.本地安全设置.密码策略 1.密码必须符合复杂要求性.启用 2.密码最小值.我设置的是8 3.密码最长使用期限.我是默认设置42天 4.密码最短使用期限0天 5.强制密码历史记住0个密码 6.用可还原的加密来存储密码禁用 11、本地策略: 这个很重要,可以帮助我们发现那些心存叵测的人的一举一动,还可以帮助我们将来追查黑客。 (虽然一般黑客都会在走时会xx他在你电脑中留下的痕迹,不过也有一些不小心的) 打开管理工具 找到本地安全设置.本地策略.审核策略 1.审核策略更改成功失败 2.审核登陆事件成功失败 3.审核对象访问失败 4.审核跟踪过程无审核 5.审核目录服务访问失败 6.审核特权使用失败 7.审核系统事件成功失败 8.审核帐户登陆时间成功失败 9.审核帐户管理成功失败 然后再到管理工具找到 事件查看器 应用程序:右键>属性>设置日志大小上限,我设置了50mb,选择不覆盖事件 安全性:右键>属性>设置日志大小上限,我也是设置了50mb,选择不覆盖事件 系统:右键>属性>设置日志大小上限,我都是设置了50mb,选择不覆盖事件 12、本地安全策略: 打开管理工具 找到本地安全设置.本地策略.安全选项 1.交互式登陆.不需要按Ctrl+Alt+Del启用[根据个人需要,?但是我个人是不需要直接输入密码登陆的] 2.网络访问.不允许SAM帐户的匿名枚举启用 3.网络访问.可匿名的共享将后面的值删除 4.网络访问.可匿名的命名管道将后面的值删除 5.网络访问.可远程访问的注册表路径将后面的值删除 6.网络访问.可远程访问的注册表的子路径将后面的值删除 7.网络访问.限制匿名访问命名管道和共享 8.帐户.(前面已经详细讲过拉) 13、用户权限分配策略: 打开管理工具 找到本地安全设置.本地策略.用户权限分配 1.从网络访问计算机里面一般默认有5个用户,除Admin外我们删除4个,当然,等下我们还得建一个属于自己的ID 2.从远程系统强制关机,Admin帐户也删除,一个都不留 3.拒绝从网络访问这台计算机将ID删除 4.从网络访问此计算机,Admin也可删除,如果你不使用类似3389服务 5.通过远端强制关机。删掉 附:那我们现在就来看看Windows 2000的默认权限设置到底是怎样的。对于各个卷的根目录,默认给了Everyone组xx控制权。这意味着任何进入电脑的用户将不受限制的在这些根目录中为所欲为。系统卷下有三个目录比较特殊,系统默认给了他们有限制的权限,这三个目录是Documents andsettings、Programfiles和Winnt。对于Documentsand settings,默认的权限是这样分配的:Administrators拥有xx控制权;Everyone拥有读&运,列和读权限;Power users拥有读&运,列和读权限;SYSTEM同Administrators;Users拥有读&运,列和读权限。对于Program files,Administrators拥有xx控制权;Creatorowner拥有特殊权限ower users有xx控制权;SYSTEM同Administrators;Terminalserver users拥有xx控制权,Users有读&运,列和读权限。对于Winnt,Administrators拥有xx控制权;Creator owner拥有特殊权限ower users有xx控制权;SYSTEM同Administrators;Users有读&运,列和读权限。而非系统卷下的所有目录都将继承其父目录的权限,也就是Everyone组xx控制权! 14、终端服务配置 打开管理工具 终端服务配置 1.打开后,点连接,右键,属性,远程控制,点不允许远程控制 2.常规,加密级别,高,在使用标准Windows验证上点√! 3.网卡,将最多连接数上设置为0 4.高级,将里面的权限也删除.[我没设置] 再点服务器设置,在ActiveDesktop上,设置禁用,且限制每个使用一个会话 15、用户和组策略 打开管理工具 计算机管理.本地用户和组.用户; 删除Support_388945a0用户等等 只留下你更改好名字的adminisrator权限 计算机管理.本地用户和组.组 组.我们就不分组了,每必要把 16、自己动手DIY在本地策略的安全选项 1)当登陆时间用完时自动注销用户(本地)防止黑客密码渗透. 2)登陆屏幕上不显示上次登陆名(远程)如果开放3389服务,别人登陆时,就不会残留有你登陆的用户名.让他去猜你的用户名去吧. 3)对匿名连接的额外限制 4)禁止按alt+crtl+del(没必要) 5)允许在未登陆前关机[防止远程关机/启动、强制关机/启动] 6)只有本地登陆用户才能访问cd-rom 7)只有本地登陆用户才能访问软驱 8)取消关机原因的提示 A、打开控制面板窗口,双击“电源选项”图标,在随后出现的电源属性窗口中,进入到“高级”标签页面; B、在该页面的“电源按钮”设置项处,将“在按下计算机电源按钮时”设置为“关机”,单击“确定”按钮,来退出设置框; C、以后需要关机时,可以直接按下电源按键,就能直接关闭计算机了。当然,我们也能启用休眠功能键,来实现快速关机和开机; D4、要是系统中没有启用休眠模式的话,可以在控制面板窗口中,打开电源选项,进入到休眠标签页面,并在其中将“启用休眠”选项选中就可以了。 9)禁止关机事件跟踪 开始“Start->”运行“Run->输入”gpedit.msc“,在出现的窗口的左边部分,选择 ”计算机配置“(ComputerConfiguration)->”管理模板“(Administrative Templates)->”系统“(System),在右边窗口双击“ShutdownEventTracker” 在出现的对话框中选择“禁止”(Disabled),点击然后“确定”(OK)保存后退出这样,你将看到类似于Windows 2000的关机窗口 17、常见端口的介绍 TCP 21FTP 22SSH 23TELNET 25TCPSMTP 53TCPDNS 80HTTP 135epmap 138[冲击波] 139smb 445 1025DCE/1ff70682-0a51-30e8-076d-740be8cee98b 1026DCE/12345778-1234-abcd-ef00-0123456789ac 1433TCPSQLSERVER 5631TCPPCANYWHERE 5632UDPPCANYWHERE 3389TerminalServices 4444[冲击波] UDP 67[冲击波] 137netbios-ns 161AnSNMPAgentisrunning/DefaultcommunitynamesoftheSNMP Agent 关于UDP一般只有腾讯QQ会打开4000或者是8000端口或者8080,那么,我们只运行本机使用4000这几个端口就行了 附:1端口基础知识大全({jd1}好帖,加精吧!) 端口分为3大类 1)公认端口(WellKnownPorts):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服 务的协议。例如:80端口实际上总是h++p通讯。 2)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服 务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。 3)动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。 理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。 本节讲述通常TCP/UDP端口扫描在防火墙记录中的信息。 记住:并不存在所谓ICMP端口。如果你对解读ICMP数据感兴趣,请参看本文的其它部分。 0通常用于分析*作系统。这一方*能够工作是因为在一些系统中“0”是无效端口,当你试图使用一 种通常的闭合端口连接它时将产生不同的结果。一种典型的扫描:使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。 1tcpmux这显示有人在寻找SGIIrix机 器。Irix是实现tcpmux的主要提供者,缺省情况下tcpmux在这种系统中被打开。Iris 机器在发布时含有几个缺省的无密码的帐户,如lp,guest,uucp,nuucp,demos,tutor,diag, EZsetup,OutOfBox, 和4Dgifts。许多管理员安装后忘记删除这些帐户。因此Hacker们在Internet上搜索tcpmux并利用这些帐户。 7Echo你能看到许多人们搜索Fraggle放大器时,发送到x.x.x.0和x.x.x.255的信 息。常见的一种DoS攻击是echo循环(echo-loop),攻击者伪造从一个机器发送到另 一个UDP数据包,而两个机器分别以它们最快的方式回应这些数据包。(参见Chargen) 另一种东西是由DoubleClick在词端口建立的TCP连接。有一种产品叫做ResonateGlobal Dispatch”,它与DNS的这一端口连接以确定最近的路由。Harvest/squid cache将从3130端口发送UDPecho:“如果将cache的source_pingon选项打开,它将对原始主机的UDP echo端口回应一个HITreply。”这将会产生许多这类数据包。 11sysstat这是一种UNIX服务,它会列出机器上所有正在运行的进程以及是什么启动 了这些进程。这为入侵者提供了许多信息而威胁机器的安全,如暴露已知某些弱点或 帐户的程序。这与UNIX系统中“ps”命令的结果相似再说一遍:ICMP没有端口,ICMPport11通常是ICMPtype=1119 chargen这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有LJ字符的包。TCP连 接时,会发送含有LJ字符的数据流知道连接关闭。Hacker利用IP欺骗可以发动DoS攻击伪造两 个chargen服务器之间的UDP由于服务器企图回应两个服务器之间的无限 的往返数据通讯一个chargen和echo将导致服务器过载。同样fraggleDoS攻击向目标 地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。 21ftp最常见的攻击者用于寻找打开“anonymous”的ftp服务器的方*。这些服务器 带有可读写的目录。Hackers或tackers利用这些服务器作为传送warez(私有程序) 和pr0n(故意拼错词而避免被搜索引擎分类)的节点。 22sshPcAnywhere建立TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱 点。如果配置成特定的模式,许多使用RSAREF库的版本有不少漏洞。(建议在其它端 口运行ssh)还应该注意的是ssh工具包带有一个称为ake-ssh-known-hosts的程序。 它会扫描整个域的ssh主机。你有时会被使用这一程序的人无意中扫描到。UDP(而不 是TCP)与另一端的5632端口相连意味着存在搜索pcAnywhere的扫描。5632(十六进 制的0x1600)位交换后是0x0016(使进制的22)。 23Telnet入侵者在搜索远程登陆UNIX的服务。大多数情况下入侵者扫描这一端口是 为了找到机器运行的*作系统。此外使用其它技术,入侵者会找到密码。 #2 25smtp攻击者(spammer)寻找SMTP服务器是为了传递他们的spam。入侵者的帐户总 被关闭,他们需要拨号连接到高带宽的e-mail服务器上,将简单的信息传递到不同的 地址。SMTP服务器(尤其是sendmail)是进入系统的最常用方*之一,因为它们必须 完整的暴露于Internet且邮件的路由是复杂的(暴露+复杂=弱点)。 53DNSHacker或crackers可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏 其它通讯。因此防火墙常常过滤或记录53端口。需要注意的是你常会看到53端口做为 UDP源端口。不稳定的防火墙通常允许这种通讯并假设这是对DNS查询的回复。Hacker常使用这种方*穿透防火墙。 67和68Bootp和DHCPUDP上的Bootp/DHCP:通过DSL和cable-modem的防火墙常会看 见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个 地址分配。Hacker常进入它们分配一个地址把自己作为局部路由器而发起大量的“中 间人”(man-in-middle)攻击。客户端向68端口(bootps)广播请求配置,服务器 向67端口(bootpc)广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。69TFTP(UDP) 许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常错误配置而从系统提供任何文件,如密码文件。它们也可用 于向系统写入文件 79fingerHacker用于获得用户信息,查询*作系统,探测已知的缓冲区溢出错误,回应从自己机器到其它机器finger扫描。 98linuxconf这个程序提供linuxboxen的简单管理。通过整合的h++p服务器在98端 口提供基于Web界面的服务。它已发现有许多安全问题。一些版本setuidroot,信任 局域网,在/tmp下建立Internet可访问的文件,LANG环境变量有缓冲区溢出。此外 因为它包含整合的服务器,许多典型的h++p漏洞可 能存在(缓冲区溢出,历遍目录等)109POP2并不象POP3那样有名,但许多服务器同 时提供两种服务(向后兼容)。在同一个服务器上POP3的漏洞在POP2中同样存在。 110POP3用于客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用 户名和密码交换缓冲区溢出的弱点至少有20个(这意味着Hacker可以在真正登陆前进入系统)。成功登陆后还有其它缓冲区溢出错误。 111sunrpcportmaprpcbindSunRPCPortMapper/RPCBIND。访问portmapper是 扫描系统查看允许哪些RPC服务的最早的一步。常见RPC服务有:pc.mountd,NFS,rpc.statd,rpc.csmd, rpc.ttybd,amd等。入侵者发现了允许的RPC服务将转向提供服务的特定端口测试漏洞。记住一定要记录线路中的 daemon,IDS,或sniffer,你可以发现入侵者正使用什么程序访问以便发现到底发生了什么。 113Identauth.这是一个许多机器上运行的协议,用于鉴别TCP连接的用户。使用 标准的这种服务可以获得许多机器的信息(会被Hacker利用)。但是它可作为许多服务的记录器,尤其是FTP,POP,IMAP, SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,你将会看到许多这个端口的连接请求。记住,如果你阻断这个 端口客户端会感觉到在防火墙另一边与e-mail服务器的缓慢连接。许多防火墙支持在 TCP连接的阻断过程中发回T,着将回停止这一缓慢的连接。 119NNTPnews新闻组传输协议,承载USENET通讯。当你链接到诸如:[url=news:p.security.firewalls/]news:p.security.firewalls/[/url]. 的地址时通常使用这个端口。这个端口的连接企图通常是人们在寻找USENET服务器。多数ISP限制只有他们的客户才能访问他们的新 闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送spam。 135oc-servMSRPCend-pointmapperMicrosoft在这个端口运行DCERPCend- pointmapper为它的DCOM服务。这与UNIX111端口的功能很相似。使用DCOM和/或RPC的服务利用 机器上的end-pointmapper注册它们的位置。远 端客户连接到机器时,它们查询end-pointmapper找到服务的位置。同样Hacker扫描 机器的这个端口是为了找到诸如:这个机器上运行ExchangeServer吗?是什么版本? 这个端口除了被用来查询服务(如使用epdump)还可以被用于直接攻击。有一些DoS攻击直接针对这个端口。 137NetBIOSnameservicenbtstat(UDP)这是防火墙管理员最常见的信息,请仔 细阅读文章后面的NetBIOS一节139NetBIOSFileandPrintSharing 通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于Windows“文件 和打印机共享”和SAMBA。在Internet上共享自己的硬盘是可能是最常见的问题。大 量针对这一端口始于1999,后来逐渐变少。2000年又有回升。一些VBS(IE5 VisualBasicScripting)开始将它们自己拷贝到这个端口,试图在这个端口繁殖。 143IMAP和上面POP3的安全问题一样,许多IMAP服务器有缓冲区溢出漏洞运行登陆过 程中进入。记住:一种Linux蠕虫(admw0rm)会通过这个端口繁殖,因此许多这个端 口的扫描来自不知情的已被感染的用户。当RadHat在他们的Linux发布版本中默认允 许IMAP后,这些漏洞变得流行起来。Morris蠕虫以后这还是{dy}次广泛传播的蠕虫。这一端口还被用于IMAP2,但并不流行。 已有一些报道发现有些0到143端口的攻击源于脚本。 161SNMP(UDP)入侵者常探测的端口。SNMP允许远程管理设备。所有配置和运行信息 都储存在数据库中,通过SNMP客获得这些信息。许多管理员错误配置将它们暴露于 Internet。Crackers将试图使用缺省的密码“public”“private”访问系统。他们可能会试验所有可能的组合。 SNMP包可能会被错误的指向你的网络。Windows机器常会因为错误配置将HPJetDirectrmote management软件使用SNMP。HPOBJECT IDENTIFIER将收到SNMP包。新版的Win98使用SNMP解析域名,你会看见这种包在子网内广播(cablemodem, DSL)查询sysName和其它信 息。 162SNMPtrap可能是由于错误配置 177xdmcp许多Hacker通过它访问X-Windows控制台,它同时需要打开6000端口。 513rwho可能是从使用cablemodem或DSL登陆到的子网中的UNIX机器发出的广播。 这些人为Hacker进入他们的系统提供了很有趣的信息 553CORBAIIOP(UDP)如果你使用cablemodem或DSLVLAN,你将会看到这个端口 的广播。CORBA是一种面向对象的RPC(remoteprocedurecall)系统。Hacker会利用这些信息进入系统。 600Pcserverbackdoor请查看1524端口一些玩script的孩 子认为他们通过修改ingreslock和pcserver文件已经xx攻破了系统--AlanJ.Rosenthal. 635mountdLinux的mountdBug。这是人们扫描的一个流行的Bug。大多数对这个端 口的扫描是基于UDP的,但基于TCP的mountd有所增加(mountd同时运行于两个端 口)。记住,mountd可运行于任何端口(到底在哪个端口,需要在端口111做portmap 查询),只是Linux默认为635端口,就象NFS通常运行于2049 |