何关闭 windows 系统中不安全的端
"Windows系统被安装的远程控制软件或其它各种木马通常是由于您没有正确的设置您的管理员密码造成的, 比如administrator的口令为空。所以请先检查系统中所有帐号的口令是否设置的足够安全。
1. Windows2000口令设置方法:
当前用户口令:
在桌面环境下按 crtl+alt+del 键后弹出选项单,选择其中的更改密码项后按要求输入你的密码(注意:如果以前 administrator 没有设置密码的话,旧密码那项就不用输入,只需直接输入新的密码)。
其他用户口令:
在开始 -> 控制面板 -> 用户和密码 -> 选定一个用户名 -> 点击设置密码
2. 如何关闭 Windows 2000下的445端口?
关闭 445 端口的方法有很多,通常用修改注册表的方法:
1) 在命令行窗口运行修改注册表命令 RegEdit 。
2) 在弹出的注册表编辑窗口的左边找到下面目录
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters
你可以一级一级目录往下点击,也可用“查找”命令找到 NetBT 项,然后点击 Parameters 项。
3) 在编辑窗口的右边空白处点击鼠标右键,出现的“新建”菜单中选择“ DWORD 值”,如下图所示:
 
4) 将新建的 DWORD 参数命名为“ SMBDeviceEnabled ”,数值为缺省的“ 0 ”。
5) 修改完后退出 RegEdit ,重启机器。
6) 运行“ netstat –an ”,你将会发现你的 445 端口已经不再 Listening 了。
7) 如何关闭 Windows 2000下的5800,5900端口?
1) 首先使用 fport 命令确定出监听在 5800 和 5900 端口的程序所在位置(通常会是 c:\winnt\fonts\explorer.exe)
2) 在任务管理器中杀掉相关的进程(注意有一个是系统本身正常的,请注意!如果错杀可以重新运行 c:\winnt\explorer.exe)
3) 删除 C:\winnt\fonts\ 中的 explorer.exe 程序。
4) 删除注册表 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 中的 Explorer 项。
5) 重新启动机器。
4. 如何获得fport工具?
Fport 工具可以把本机开放的 TCP/UDP 端口同应用程序关联起来,这和使用 'netstat -an' 命令产生的效果类似,但是该软件还可以把端口和运行着的进程关联起来,并可以显示进程 PID ,名称和路径。该软件可以用于将未知的端口同应用程序关联起来。
CERNET 应急响应组的网站上可以获得 fport 工具,下载路径为:
下载的文件为 fport.zip, 用 winzip 或 winrar 解开后存放到一个目录下就可以。比如我们把 fport 放在 D:\fport-2.0 下。那么,我们运行 fport: :
D:\fport-2.0> fport
输出结果如下:
FPort v2.0 - TCP/IP Process to Port Mapper
Copyright 2000 by Foundstone, Inc.
[url]http://www.foundstone.com[/url]
Pid Process Port Proto Path
744 svchost -> 135 TCP C:\WINDOWS\system32\svchost.exe
4 System -> 139 TCP
4 System -> 445 TCP
792 svchost -> 1025 TCP C:\WINDOWS\System32\svchost.exe
1652 navapw32 -> 1027 TCP C:\PROGRA~1\NORTON~1\navapw32.exe
1860 inetinfo -> 1031 TCP C:\WINDOWS\System32\inetsrv\inetinfo.exe
1880 msmsgs -> 1226 TCP C:\Program Files\Messenger\msmsgs.exe
2736 iexplore -> 2162 TCP C:\Program Files\Internet Explorer\iexplore.exe
956 -> 5000 TCP
1880 msmsgs -> 13863 TCP C:\Program Files\Messenger\msmsgs.exe
2736 iexplore -> 123 UDP C:\Program Files\Internet Explorer\iexplore.exe
744 svchost -> 135 UDP C:\WINDOWS\system32\svchost.exe
1332 SecureCRT -> 137 UDP C:\Program Files\SecureCRT\SecureCRT.exe
2664 SecureCRT -> 138 UDP C:\Program Files\SecureCRT\SecureCRT.exe
4 System -> 445 UDP
792 svchost -> 500 UDP C:\WINDOWS\System32\svchost.exe
2524 SecureCRT -> 1028 UDP C:\Program Files\SecureCRT\SecureCRT.EXE
1860 inetinfo -> 1032 UDP C:\WINDOWS\System32\inetsrv\inetinfo.exe
1880 msmsgs -> 1033 UDP C:\Program Files\Messenger\msmsgs.exe
2812 wsftppro -> 1035 UDP D:\tools\wsftppro.exe
956 -> 1543 UDP
1652 navapw32 -> 1561 UDP C:\PROGRA~1\NORTON~1\navapw32.exe
4 System -> 1610 UDP
1880 msmsgs -> 1900 UDP C:\Program Files\Messenger\msmsgs.exe
2736 iexplore -> 3336 UDP C:\Program Files\Internet Explorer\iexplore.exe
2812 wsftppro -> 3456 UDP D:\tools\wsftppro.exe
1880 msmsgs -> 9356 UDP C:\Program Files\Messenger\msmsgs.exe
从 fport的输出结果中我们可以发现有没有不安全的tcp/udp端口开着,如果有就用前面介绍的方法把该端口关闭,或将相关程序删除。
 
--------------------------------------------------------------------------------
 
网络安全讲座

校园网络的发展到今天,大多都已成为了 Internet 的一部分。 Internet 的不再免费使用,使校园网的安全性显得尤其重要。这里我主要就下面几个问题进行讨论 :
¨ Internet 为什么不安全
¨ 网络系统安全管理措施
¨ 网络安全工具
¨ 其他安全信息

一、 Internet 为什么不安全
Internet 本来就不安全 , 因为最初的 Internet 建设者们不认为安全是问题。 Internet 在其早期是一个开放的为研究人员服务的网际网,是完全非赢利性的信息共享载体,所以,几乎所有的 Internet 协议都没有考虑安全机制。这点从 Internet 上最通用的应用 FTP, Telnet 和电子邮件中的用户口令的明文传输以及 IP 报文在子网段上的广播传递就充分地体现出来。只是近些年来 , Internet 的性质和使用人员的情况发生了很大的变化,使得 Internet 的安全问题显得越来越突出。随着 Internet 的全球普及和商业化,用户很多非常私人化,如信用卡号等和其自身利益相关的信息也通过 Internet 传输,而且越来越多的信息放在网上是为了赢利,而不是完全免费的信息共享,所以其安全性也成为人们日趋关注的问题。
Internet 不安全的另一个因素是因为人们很容易从 Internet 上获得相关的核心技术资料,特别是有关 Internet 自身的技术资料,比如 RFC, FAQ 文档,各类应用程序原代码,如 TCP/IP, Sendmail, FTP 等, 还有各类安全工具的原代码也是公开免费的, 象颇有争议的 SATAN,Crack 等。这些资料拿出来共享其愿望是好的, 但也难免产生事与愿违的效果。
Internet 不安全的另一个致命因素是使用者普遍缺乏安全意识,特别是那些对计算机和 Internet 技术不了解的用户。很少用户会去读 RFC1244 安全手册,或关注 CERT 安全组织提出的忠告。对大多数用户来说, 能管好自己的密码就万事大吉了,但又有多少用户愿意取一个不好记的密码呢? 方便性和安全性总是相互冲突,很难兼得的。
说来说去, Internet 不安全归根到底还是因为人自己,我们只要看一看那越来越厚的防盗门就明白了。如今, Internet 上也出现了比防盗门更复杂的防火墙( firewall )来防范那些不怀好意或那些只是为了逞能和好奇的的黑客们,还出现了各种各样的密钥( private key )或公钥 (public key) 来保护在网上传送的信息。
Internet 不安全是一个不可回避的现实。下面让我们正视这个现实, 谈谈我们可以采取的安全措施。
二、 网络系统安全管理措施
网上大部分的攻击是针对网络上的服务器系统 , 其中包括电子邮件 , 匿名 FTP, WWW, DNS, News 等服务系统。 这些系统大都是运行在 UNIX 系统上的,其中有 SUN 的 Solaris, SCO UNIX, HPUX, SGI 的 IRIX, IBM 的 AIX, 和 Linux 等。系统之所以易受攻击,有各方面的因素。首先是这些系统知名度高,容易引起注意,其次,系统本身存在漏洞。我们一方面可采用一些防卫性措施; 另一方面, 网络系统管理员可以应用一些工具,来查找系统安全漏洞,或从网上截获报文进行分析。下面我们以 Sun 的 Solaris 为例 , 来具体介绍可采用哪些安全防卫措施。
(一)安装系统补丁程序 (Patch)
任何操作系统都有漏洞,作为网络系统管理员就有责任及时的将补丁( Patch )打上。 SUN 公司为了弥补他们的操作系统的安全漏洞 , 在他们的网站上及时的提供了大量的 Patch, 这些 Patch 程序可以从各地的 SUNSITE 站点获取。这些 Patches 在北大 FTP 上的地址是 :

(二)采用最新版本的服务方软件
和操作系统一样,在服务器上运行的服务方软件也需要不断的更新,而且新版本的软件往往提供了更多更好的功能来保证服务器更有效更安全的运行。为了将安全漏洞降低到最小 , 系统管理员必须及时更新服务方软件。下面给出几个目前最新版本的服务方软件:
* 域名服务 DNS 软件 : Bind-8.x
* 匿名 FTP 软件 : Wu-ftpd2.4.2-academ[BETA-18] 版
* 镜像软件 : Mirror-2.9 版
* Sendmail : Sendmail8.9.x 版
* News : INN2.1 版
* HTTPD : Apache_1.3. x 版
这些版本更新得非常快,大家可以跟踪他们的正式家目录来获得最新软件。

( 三 ) 口令安全
口令可以说是系统的第一道防线,目前网上的大部分对系统的攻击都是从截获或猜测口令开始的,一旦黑客进入了系统,那么前面的防卫措施几乎就没有作用。所以对口令进行安全地管理可以说是系统管理员的重要职责。
目前大多数的 Unix 系统都将用户账号信息和加密口令分开存放,在 /etc/passwd 文件中不在包含加密口令,而加密口令是存放在 /etc/shadow 文件中,该文件只有超级用户 (root) 可读。在这里特别须注意的是一些系统帐号,如 uucp, ftp,news 等,一定不要给它们设置 /bin/sh,/bin/csh 等 Shell 变量,可以在 /etc/passwd 中将它们的 Shell 变量置空,或设为 /bin/ftponly 等。 /bin/ftponly 可以是一个简单的 Shell 程序,如下:
# ! /bin/sh
echo “ Sorry, ftp only allowed.”
exit 0
不要忘记在 /etc/shells 中加入 /bin/ftponly 。

(四)文件目录权限
特别要注意系统中那些所有这为 root 的 SUID, SGID 的文件,因为一旦有黑客进入你的系统,他可通过这些程序获得超级用户权限。目前 Interenet 上有不少工具软件可帮助你来检查权限,在下面我们会介绍。

(五) 限制网络用户对系统的访问
这种限制分两步 :
1) 通过 IP 地址来限制 , 这是通过安装 TCP_Wrappers 软件来实现的。
该软件可对系统进行 telnet, ftp, rlogin, rsh, finger, talk 等访问的 IP 进行了控制 , 比如你可以只允许网控中心内部的一些机器对服务器进行这些操作。
2) 超级用户口令 , 只允许系统管理员知道 , 并要求定期修改。另外,不允许用户远程登陆来访问 root, 这是在系统文件 /etc/default/login 中缺省设置好的。

(六)关闭不必要的服务端口
通过修改 /etc/services 和 /etc/inetd.conf 文件 , 将不需要的服务和服务端口关闭。

(七)定期对服务器进行备份
为了防止不能预料的系统故障 , 或用户不小心的非法操作 , 必须对系统进行了安全备份。除了对全系统进行每月一次的备份外 , 还应对修改过的数据进行每周一次的备份。同时应该将修改过的重要的系统文件存放在不同的服务器上 , 以便在系统万一崩溃时 ( 通常是硬盘出错 ), 可以及时地将系统恢复到最佳状态。
目前各类 Unix 系统都有功能很强的备份工具,如 Solaris 中的 ufsdump 和 ufsrestore 。
(八)设置系统日志
通过运行系统日志程序, 系统会记录下所有用户使用系统的情形,包括最近登陆时间,输入过的每一条命令,磁盘空间和 CPU 占用情况。日志程序会定期生成报表,通过对报表进行分析,你可以知道是否有异常现象。 比如,如果你发现有某一帐号总是在半夜登陆,就要警惕了,也许该帐号已被盗用;如果某一系统帐号象 uucp 有人登陆或占用大量的 CPU 或磁盘,也要引起注意。
Solaris2.x 中,通过运行 /etc/init.d/acct start|stop 来启动或停止系统日志的运行,所有的日志信息是放在 /var/adm/acct 目录下。
运行系统日志的主要缺点是要占用大量的磁盘空间。
(九)定期检查系统安全性 .
这种检查是通过定期运行系统安全检测工具来实现的。通过这些工具 , 可以检查 :
¨ 用户口令的安全性 , 包括口令的内容 , 格式 , 存活期等。
¨ 文件被访问权限的合法性 , 包括 SUID 文件存在与否 , 权限为 777 或 666 的文件或目录 , 系统文件一致性检查 , 用户家目录和启动文件的合法性检查等。
¨ 匿名 FTP 设置安全性检查。
¨ 对 tftp, sendmail 中的 decode alias, inetd.conf 中的隐含 shells 等的检查。
¨ 对 NFS 文件系统共享安全检查 , 包括 $HOME/.rhosts, /etc/hosts.equiv 等的检查 .
¨ 对 CERT 公布的安全漏洞的检查。
目前在 Internet 较流行的检测工具有 :
¨ COPS(Computer Oracle and Password System): 是一个工具组 , 运行完后会产生一个结果报告。系统管理员需要对该报告进行分析 , 对发现的漏洞进行弥补。
¨ SATAN( Security Administrator Tool for Analyzing Networks) : 是最通用的网络安全分析工具 , 具有良好的用户界面。它具有 HTML 接口 , 能以各种形式选择目标 , 可生成结果表格。发现漏洞时 , 会立刻出现提示。 SATAN 可以扫描的漏洞主要包括以下几种 : 匿名 ftpd 的脆弱性和可写的目录 ; NFS, NIS, RSH, Sendmail, X 服务器的脆弱性等。
¨ Crack: 口令检查器。通过标准推测技术 , 发现标准的 UNIX 8 字符 DES 加密口令。
¨ Shadow: 提供口令隐藏 , 支持 16 位密码 , 检查用户口令并提供相对强度 , 还可以记录失败登录企图。
¨ passwd+: 另一个口令检查命令 . 它主要是在用户选择口令时对口令进行一系列的规则检查 , 对不符合要求的口令强迫用户作出其他选择。
¨ Snoop 和 Tcp-dump: 可以对在网络上传输的包进行实时监控 , 在网络运行异常时很有用。 Snoop 是 Solaris2.x 的系统命令。
¨ Tripware: 文件系统检查程序 , 主要检查文件系统的使用和修改情况。
这些工具基本上都是 Internet 的免费软件,可以从相应的主页或匿名 FTP 站点上获取。也可以在北大 FTP 上获取 , 具体目录是 /pub/cert/tools 。 下面我们介绍其中主要的几个工具。

1 、 网络安全工具
(一) COPS — 系统安全检测
COPS 对 Unix 系统进行安全检查。它的主要检测目标有以下几点:
1. 文件 , 目录和设备文件的权限检查。 2. 重要系统文件的内容,格式,和权限检查。 3. 检查是否存在所有者为 root 的 SUID 文件。 4. 对重要系统二进制文件进行 CRC 校验和检查,看其是否被修改过。 5. 对匿名 FTP, Sendmail, tftp 等网络应用进行检查。
值得一提的是, COPS 只是监测工具,并不做实际的修复。
(二) Crack — 口令密码解破 Crack 是最著名的 Unix 系统上破解 UNIX 口令的工具。 Crack 的工作原理很简单。我们知道加密口令是不会被解开的,这是因为加密算法是不可逆的。所以,一般的口令入侵是通过生成口令进行加密去匹配原口令密码,或直接从网上截获明文口令。 Crack 程序中包含了几个很大的字典库,进行解破时它会按照一定的规则将字词进行组合,然后对之进行加密,再与要解破的加密口令匹配。所以 运行 Crack 通常要占用大量的 CPU, 并要运行相当长的时间才结束。 目前最新的版本是 Crack5.0 。
Crack5.0 的安装和使用比较简单,可执行下列几步:
1. 修改 Crack, 修改 CC 之类的参数。
2. 执行 Crack –makeonly 生成可执行代码。
3.执行 Crack –makedict 生成字典。
4.执行 scripts/shadmrg.sv > passwd 将 /etc/passwd 和 /etc/shadow 文件合并。
5.执行 Crack passwd 解破 passwd 中的口令。 6.执行 ./Reporter 查看解破结果。

( 三 ) Sniffer— 网路监听
Sniffer 这个词是指黑客或其他人通过一些软件来截获在网络上传送的包。常用的工具有 traceroute,snoop,Gobbler, tcp-dump, ethload, Netman, Sunsniff 等。
防止 sniffer 有两种办法,加密和分段。比如设置 SSH(Secure Shell) 替换 rlogin 和 telnet 等 , 这样可解决用户名和口令在网络上明文传输的问题。
所谓分段,是根据分段越多,网络信息可靠性越高的原则。因为 IP 报文只能在本子网段上广播。有些单位甚至直接将服务器和交换机联接来保证服务器的安全运行,但这样的做法开销太大,对较小的单位是不可行的。

(四)防火墙 — 对付远程攻击
防火墙的共性是它们都有基于源地址基础上的区分或拒绝某些访问的能力。这里我们介绍几种其实只是具有防火墙功能的软件。目前使用较多的软件有下面两类:

¨ 数据包过滤工具: TCP_Wrappers, NetGate
¨ 应用代理和应用网关: Netscape Proxy , Socks, TIS-FWTK
前面我们已提到, TCP_Wrappers 是通过 IP 地址来控制对服务器的访问,它的主要配置文件有两个: /etc/hosts.allow, /etc/hosts.deny 。而 Netscape Proxy 则可以根据用户帐号来进行访问控制和记帐。

(五)扫描器 Scanner
定义:自动检测远地或本地主机安全性的程序。
原理:扫描 TCP 端口,并记录反馈信息。
意义:发现网络的弱点,促使系统安全。
常见的工具有 : host, traceroute, rusers, finger, showmount , NSS( 网络安全扫描器), Strobe (超级优化 TCP 端口检测程序)及 SATAN 等。

四、 其他安全信息
WWW 站点:
Newsgroups :
alt.hackers ,alt.security ,alt.security.alarms
comp.os.ms-windows.nt.admin.security
comp.protocols.kerberos
comp.risks ,comp.security.announce
comp.security.firewalls ,comp.security.misc
comp.security.pgp
comp.security.unix ,comp.virus

参考书:
TCP/IP Network Administration
Practical UNIX Security
Essential System Administration
Building Internet Firewall(O'Reilly)
<< 网络最高安全技术指南 >> 等
 
 
--------------------------------------------------------------------------------
如何防止邮件攻击

1. 有哪些邮件攻击
校园网上大多数邮件服务器都是UNIX系统,包括Solaris, HPUX, AIX, IRIX,Linux等等,其中最通用的配置是运行sendmail和popper服务软件。Sendmail是SMTP服务器,专门负责接收和发送邮件;而popper是通过POP3协议来专门负责用户读取和处理邮件的请求。目前邮件服务器所受的攻击主要有下面两类:
1. 中继利用(Relaying)。比如国外的用户通过你的邮件服务器给不属于你本地的用户发邮件,这样, 他的国际流量都记载在你的邮件服务器上。在SendmailV8.8之前的版本都不能防止这一类攻击。
垃圾邮件(Spamming),也叫邮件×××。这种情形是指邮件服务器或某个用户在很短的时间内收到大量无用的邮件,而且通常是从某一虚设的地址发来的。
这两类的攻击都是通过sendmail进行的。那么, 如何来防卫这两类的攻击呢? 最直接的方法就是安装 SendmailV8.8以上版本,因为在V8.8以上版本的Sendmail中已经提供了很好的功能来对付这些邮件攻击,Sendmail V8.8.x之前的版本都没有提供一定的机制来对付这种攻击。。下面我们就说明SendmailV8.9.3中是如何实现这些机制的。
Sendmail如何防止邮件攻击
我们知道, sendmail8.9.x 的缺省配置是不允许邮件中继的。但通常我们不应屏蔽所有的邮件中继,至少本地子网中的IP地址是许可中继的。Sendmail提供了一些配置文件是我们可以根据自己的需要灵活配置,这些文件主要有:
1./etc/mail/relay-domains
在该文件中你可以设定那些你许可中继的域,比如 cs.pku.edu.cn来允许所有计算机系有域名的机器可以通过你的服务器发邮件。注意每次修改该文件后必须重新启动sendmail后,新的配置才起作用。
2./etc/mail/access
在该文件中,你可以根据域名、IP或 发送方的邮件地址(From 域)来允许或屏蔽中继或邮件轰炸。Access是一个正文文件,其中每项由一个地址做关键字,而一个动作做值。地址可以是域名如 host.subdomain.domain.com,subdomain.domain.com 或 domain.com,也可以是网络地址,子网地址,或单个IP地址,如205.199,205.199.2,或205.199.2.200;还可以是邮件地址,如 [email]sam@netscape.com[/email] 。下面我们看一个Access文件实例:
cyberpromo.com REJECT
cs.pku.edu.cn RELAY
[email]spam@buyme.com[/email] 550 Spammers shan't see sunlight here
在该配置文件中,拒绝所有从 cyberpromo.com 来的邮件,许可从 cs.pku.edu.cn 来的邮件中继,拒绝从发送方地址为 [email]spam@buyme.com[/email] 来的邮件,并返回给他一个确定信息。 Access 文件中的动作值有下面几类 OK  接收邮件,即使和其他规则不符,如不可查询的域名。 
RELAY  允许通过你的 SMTP 服务器中转邮件。 
REJECT  拒绝从指定地址来的邮件。 
DISCARD  将收到的指定地址的邮件交给 #discard mailer 处理,该功能只作用于发送方地址。 
### any text  其中 ### 是 RFC821 出错码,“ any text” 是返回该命令的信息。 
由上可知,通过 access 文件,可以对邮件中继和邮件轰炸进行有效的防卫。一旦你发现某个地址在进行攻击,就可将其加入到 access 文件中。要使每一次的修改有效,你都要重新生成 access 的数据库文件,通过下面的命令:
makemap hash access.db < access
但每次的修改不需要重新启动 sendmail 进程。
另外, 我们能对邮件的大小进行限制,在 sendmail 的配置文件 sendmail.cf 中有一项可用来设置邮件大小:
#maximum message size
O MaxMessageSize = 1000000
这样, sendmail 只处理大小为 1 兆之内的邮件 , 大于 1 兆的邮件都拒收。
还存在的问题
通过上面的配置文件基本上可以对邮件攻击进行有效的抵制。唯一存在的问题是我们不能事先知道所有的邮件×××从哪儿来,只能等出现后才能禁止。而且目前大多数邮件客户软件都许可用户随便设置发送方地址,这也使得防范邮件攻击更复杂。通常我们设立一个专门用来就接收用户举报的邮件地址 , 如 [email]abuse@pku.edu.cn[/email], 这样系统管理员可及时得到 YO 邮件攻击消息,并采取相应的措施。
另外,目前我们还不能根据邮件内容进行过滤,现在很多邮件都是 MIME 格式的,可能是二进制文件、图形、声音 , 各种语言的文字或加密文件,所以,对邮件内容进行过滤不是一件简单的关键词匹配的问题。如何解决该问题还有待探讨