3.删除默认的那些不必要用到的虚拟目录,比如mstdc,scripts等
4.到C:Winntsystem32下,把 FTP , CMD, TFTP 这样重要的EXE程序进行一次全新的设置,把系统的“IUSR_计算机名”,这个用户拒绝访问。
其他
1.关掉Guest帐号:把这个账号停用,任何时候都不允许使用他登陆。最好是给他设置一个超复杂密码,用记事本乱打他什么数字,大小写字母,特殊符号,弄他二十几位出来,然后从记事本上复制进去;
2.删除掉没有用处的用户;
3.把Administrator帐号改名,随便改成一个什么。这个帐号好象可以使人用穷举法一次一次的尝试破解的。或者使用超长密码;
4.共享文件的权限改成“授权用户”;
5.打开审核策略记录下比如尝试用户密码,改变帐户策略,未经许可的文件访问等;
6.密码策略得开启;
7.不让系统显示上次登陆的用户名:修改HKLM Software Microsoft Windows NT CurrentVersion Winlogon DontDisplay LastUserName 把 REG_SZ 的键值 改为 1;
8.禁止建立空连接:默认情况下,任何人都可以通过空连接连上服务器,猜密码。修改Local_Machine System CurrentControlSet Control LSA-RestrictAnonymous 的值改成1;
9.如果服务器不玩游戏的话,把DirectDraw关掉: HKLM SYSTEM CurrentControlSet Control GraphicsDrivers DGI的Timeout(TEG_DWORD)为 0;
10.禁止Dump File 的产生:这个东西能提供给别人一些敏感信息,如应用程序的密码等,记录的是在死机,蓝屏时的信息,关掉。控制面板—系统属性—高级—启动和故障恢复,把“写入调试信息”改为 无。
终端服务的设置
1、第一步,更改终端服务的服务器端设置。
打开注册表,找到类似这样的键值HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWdsRepwdTdsTcp, 找到PortNumber。0xd3d,这个是16进制,就是3389,这个值是RDP(远程桌面协议)的默认值,也就是说用来配置以后新建的RDP服务的,要改已经建立的RDP服务,我们去下一个键值:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminalServerWinStations这里应该有一个或多个类似RDP-TCP的子健(取决于你建立了多少个RDP服务),一样改掉PortNumber。
2、第二步,改客户端。
再来改客户端:打开客户端连接管理器,按照正常的步骤建立一个客户 端连接的快捷方式,选中这个连接,然后在“文件”菜单里选择“导出”(Menu->File->Export),这个操作会生成一个cns文件,就是终端服务客户端的配置文件,你可以用文本编辑器(比如记事本)编辑这个文件,找到“Server Port=3389”,改成你要的端口,然后再选导入(Menu->File->Import),这是的客户端快捷方式已经变成你需要的端口了。
需要注意的是,从微软主页上下载的终端服务客户端Terminal Service Client(MSI版)以及ActiveX版都不能更改端口,只有使用Win2000服务器版终端服务自带的“制作安装盘”功能制作版本可以改端口,这个功能在管理工具的“终端服务客户端生成器”(Terminal Service Client Creator)中。
对于日志的问题,其实Terminal Service自己是有日志功能的,在管理工具中打开远程控制服务配置(Terminal Service Configration),点击“连接”,右击你想配置的RDP服务(比如RDP-TCP(Microsoft RDP5.0)),选中书签“权限”,点击左下角的“高级”,看见上面那个“审核”了吗?我们来加入一个Everyone组,这代表所有的用户,然后审核他的“连接”、“断开”、“注销”的成功和“登陆”的功能和失败就足够了,审核太多了反而不好,这个审核试记录在安全日志中的,可以从“管理工具”->“日志查看器”中查看。现在什么人什么时候登陆都一清二楚了,可是它却不记录客户端的IP(只能查看在线用户的ip)而是记录计算机名。我们建立一个.bat文件,叫做TSLog.bat,这个文件用来记录登录者的ip,内容如下:
time /t>>TSLog.log
netstat -n -p tcp|find ":3389">>TSLog.log
start Explorer
来解释一下这个文件的含义:
第一行是记录用户登陆的时间,Time/t的意思是直接返回系统时间(如果不加/t,系统会等待你输入新的时间),然后我们用追加符号>>把这个时间记入TSLog.log第二行是记录用户的ip地址,Netstat是用来显示当前网络连接状况的命令,-n表示显示ip和端口而不是域名、协议,-p tcp是只显示tcp协议,然后我们用管道符号“|”把这个命令的结果输出给Find命令,从输出结果中查找包含“:3389”的行(这就是我们要得客户的ip所在行,如果你改了终端服务的端口,这个数值也要作相应的改变),最后我们同样把这个结果重定向到日志文件TSLog.log中去,于是在TSLog.log文件中,记录格式如下:
22:40
TCP 192.168.12.28:3389 192.168.10.123:4903ESTABLISHED
22:54
TCP 192.168.12.28:3389 192.168.12.29:1039ESTABLISHED
也就是说只要TSLog.bat文件一运行,所有连在3389端口的ip都会被记录,那么如何让这个批处理文件运行呢?终端服务允许我们为用户自定义起始的程序,在终端服务配置中,我们覆盖用户的登陆脚本设置并指定TSLog.bat为用户登录时需要打开的脚本,这样每个用户登录后都必须执行这个脚本,因为默认得脚本(相当于SHELL环境)是Explorer(资源管理器),所以我在TSLog.bat的最后一行加上了启动Explorer的命令start Explorer,如果不加这一行命令,用户是没有办法进入桌面的。当然,如果你只需要给用户特定的SHELL:例如cmd.exe或者word.exe你也可以把start explorer替换成任意的SHELL。这个脚本也可以有其他的写法,例如写一个脚本把每个登陆用户的ip发送到自己的信箱对于很重要的服务器也是一个很好的方法。正常情况下,一般的用户没有查看终端服务设置的权限,所以他不会知道你对登陆进行了ip审核,只要把TSLog.bat文件和TSLog.log文件放在比较隐蔽的目录里就足够了,不过需要注意的是这只是一个简单的终端服务日志攻略,并没有太多的安全保障措施和权限机制
(责任编辑:admin) |