All posts by 龙生
加强终端服务的安全性
Windows 2000 的终端服务由于使用简单、方便等特点,备受众多管理员喜爱,很多管理员都利用它进行远程管理服务器的一个重要工。然后就是因为它的简单、方便,不与当前用户产生一个交互式登陆,可以在后台登陆操作,它也受到了黑客关注。现在我们来通过认真的配置来加强它的安全性。 1。修改终端服务的端口 修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp 和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp 将这两个分支下的portnumber键值改为你想要的端口。 在客户端这样连接就可以了. 2。隐藏登陆的用户名 隐藏上次登陆的用户名,这样可防止恶意攻击者获得系统的管理用户名后进行穷举破解。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonDontDisplayLastUserName 的值改为1就可以了。 3。指定用户登陆。为了安全,我们没必要让服务器上所有用户都登陆,譬如以下,我们只允许315safe这个用户登陆到终端服务器,按照如下方法做限制: 在“管理工具”—“终端服务配置”—“连接”,再选择右边的“RDP-TCP”的属性,找到“权限”选项,删除administrators组,然后再添加我们允许的315safe这个用户,其他一律不允许登陆。 4、启动审核 “终端服务”默认没有日志记录,需要手动开启,在RDP-TCP”的属性,找到“权限”选项下“高级”里有个“审核”添加everyone,然后选择需要记录的的事件。 “事件查看器”里终端服务日志很不完善。下面我们就来完善一下终端服务器日志。 在D盘目录下,创建2个文件“ts2000.BAT”(用户登录时运行的脚本文件)和“ts2000.LOG”(日志文件)。 编写“ts2000.BAT”脚本文件: time /t >>ts2000.log netstat -n -p tcp | find ″:3389″>>ts2000.log start Explorer 第一行代码用于记录用户登录的时间,“time /t”的意思是返回系统时间,使用追加符号“>>”把这个时间记入“ts2000.LOG”作为日志的时间字段;第二行代码记录终端用户的IP地址,“netstat”是用来显示当前网络连接状况的命令,“-n”用于显示IP和端口,“-p tcp”显示TCP协议,管道符号“|”会将“netstat”命令的结果输出给“find”命令,再从输出结果中查找包含“3389”的行,最后把这个结果重定向到日志文件“ts2000.LOG”;最后一行为启动Explorer的命令。 把“ts2000.BAT”设置成用户的登录脚本。在终端服务器上,进入“RDP-Tcp属性”窗口,并切换到“环境”框,勾选“替代用户配置文件和远程桌面连接或终端服务客户端的设置”,在“程序路径和文件名”栏中输入“D:\ts2000.bat”,在“开始位置”栏中输入“D:\”,点击“确定”即可完成设置。此时,我们就可通过终端服务日志了解到每个用户的行踪了。 5。限制、指定连接终端的地址 启用服务器自带的IPSEC来指定特定的IP地址连接服务器。首先禁止所有3389的连接。 1。在“本地安全策略”选择“IP安全策略,在本地机器”,在右边的空白处按右键,“创建IP安全策略”,下一步,给策略取名(如3389),不选“激活默认响应规则”,完成,这是会打开一个对话框,是新建立策略(3389)的属性。2。添加新建规则,出现“IP筛选器列表”,起名叫all_3389,不选“使用添加向导”再按“添加”。按“确定”、“关闭”回到“新规则”属性窗口,选中刚设置的规则“all_3389”,再按“筛选器操作”选项,“筛选器操作”里没有我们的“阻止”我们新建立一项阻止。还是不选“使用添加向导”,按“添加”,在弹出的对话框中,在“安全措施”处选“阻止”项。 再按“常规”,在“名称”处给他起个名字,如”阻止3389“,然后确定回到”新规则“属性的”筛选器操作”处,选中刚才建立的“阻止3389”,再按“关闭”,回到开始时的“本地安全设置”对话框,选中“3389”后指派。这样所有的机器都无法连接到我们终端服务器了。 3。同样服务器也被栏在外面了,下面我们建立一条规则,只允许服务器信任的机器进行连接,譬如219.139.240.90 .我们打开“3389”的属性,不选“使用添加向导”,按“添加”,打开“新规则”属性,再按“添加”,出现“IP筛选器列表”,给它起个名字"OK_3389",不选使用添加向导,再按”添加“,出现”筛选器“属性,”寻址“选项设置成如图。 协议处设置TCP,3389,在”筛选器操作“里选择”允许“。这样就OK了,这样除了我们自己信任的机器,其他任何机器都无法登陆到终端服务器了。也可以设置为一个网关的信任机器。这样终端服务器就安全多了。
View DetailsWindows Server 2003网络服务器安全攻略
Win2003 Server的安全性较之Win2K确实有了很大的提高,但是用Win2003 Server作为服务器是否就真的安全了?如何才能打造一个安全的个人Web服务器?下面我们简单介绍一下…… 一、Windows Server2003的安装 1、安装系统最少两需要个分区,分区格式都采用NTFS格式 2、在断开网络的情况安装好2003系统 3、安装IIS,仅安装必要的 IIS 组件(禁用不需要的如FTP 和 SMTP 服务)。默认情况下,IIS服务没有安装,在添加/删除Win组件中选择“应用程序服务器”,然后点击“详细信息”,双击Internet信息服务(iis),勾选以下选项: Internet 信息服务管理器; 公用文件; 后台智能传输服务 (BITS) 服务器扩展; 万维网服务。 如果你使用 FrontPage 扩展的 Web 站点再勾选:FrontPage 2002 Server Extensions 4、安装MSSQL及其它所需要的软件然后进行Update。 5、使用Microsoft 提供的 MBSA(Microsoft Baseline Security Analyzer) 工具分析计算机的安全配置,并标识缺少的修补程序和更新。下载地址:见页末的链接 二、设置和管理账户 1、系统管理员账户最好少建,更改默认的管理员帐户名(Administrator)和描述,密码最好采用数字加大小写字母加数字的上档键组合,长度最好不少于14位。 2、新建一个名为Administrator的陷阱帐号,为其设置最小的权限,然后随便输入组合的最好不低于20位的密码 3、将Guest账户禁用并更改名称和描述,然后输入一个复杂的密码,当然现在也有一个DelGuest的工具,也许你也可以利用它来删除Guest账户,但我没有试过。 4、在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效”,“锁定时间为30分钟”,“复位锁定计数设为30分钟”。 5、在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用 6、在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。如果你使用了Asp.net还要保留Aspnet账户。 7、创建一个User账户,运行系统,如果要运行特权命令使用Runas命令。 三、网络服务安全管理 1、禁止C$、D$、ADMIN$一类的缺省共享 打开注册表,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters,在右边的窗口中新建Dword值,名称设为AutoShareServer值设为0 2、 解除NetBios与TCP/IP协议的绑定 右击网上邻居-属性-右击本地连接-属性-双击Internet协议-高级-Wins-禁用TCP/IP上的NETBIOS 3、关闭不需要的服务,以下为建议选项 Computer Browser:维护网络计算机更新,禁用 Distributed File System: 局域网管理共享文件,不需要禁用 Distributed linktracking client:用于局域网更新连接信息,不需要禁用 Error reporting service:禁止发送错误报告 Microsoft Serch:提供快速的单词搜索,不需要可禁用 NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用 PrintSpooler:如果没有打印机可禁用 Remote Registry:禁止远程修改注册表 Remote Desktop Help Session Manager:禁止远程协助 四、打开相应的审核策略 在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多,生成的事件也就越多,那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件,你需要根据情况在这二者之间做出选择。 推荐的要审核的项目是: 登录事件 成功 失败 账户登录事件 成功 失败 系统事件 成功 失败 […]
View Details出现在 sys.servers 中找不到服务器 '***\SQLEXPRESS’。请验证指定的服务器名称是否正确的解决方法
错误:Microsoft OLE DB Provider for SQL Server 错误 '80004005' 在 sys.servers 中找不到服务器 'SUNMAY2008\SQLEXPRESS’。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。 /Admin/Admin_TemplateProject.asp,行 1003 解决方法:出现这个错误一般是因为改动了服务器的计算机名.所以出现找不到服务器名的错误.出现这个错误可以通过重新添加服务器名来解决. 在查询分析器中分别执行下列语句 select * from sys.servers (查看系统表,看原来的服务器名) sp_dropserver '原来的服务器名' (删除原来的服务器名) sp_addserver '现在的服务器名' (添加现在的服务器名) sp_serveroption '现在的服务器名',’data access', 'true' (设定 SQL Server 选项,使其允许加入linked server)
View DetailsPHP+Access乱码问题解决办法
由于最近在改版一个PHP的网站程序,但原网站使用的是ASP+Access,所以要把Access数据库中的记录全部转换到Mysql中,并且新的网站所有页面使用的都是UTF-8的编码格式,于是就有了现在的问题。 不过问题终于还是在10分钟内得到解决了。先上代码: <?php$connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("wenxue.mdb"); $connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC); $query=odbc_do($connid,"select top 1 * from articles"); while(odbc_fetch_row($query)){ for($i=0;$i<4;$i++){ $record1[$i] = odbc_result($query,$i+1); echo iconv('gb2312′,’utf-8',$record1[$i]); echo " "; } echo "<br>"; } ?> 其实,PHP连接Access数据库的方法有很多,这里只是其中的一种。重要的是解决乱码问题,也就是iconv方法的使用(文中的粗体)。 转自:http://neville.liu.blog.163.com/blog/static/4993878120096279929917/
View Detailsecshop二次开发集锦
1:如何修改网站"欢迎光临本店" 回答:languages\zh_cn\common.php文件中, $_LANG['welcome'] = '欢迎光临本店';将他修改成你需要的字样。 2:如何修改首页"热门搜索关键字" 回答:后台->系统设置->网店设置->显示设置->首页搜索关键字,修改他的内容,然后保存 3:如何修改首页标题 "Powered by ECShop" 回答:includes/lib_main.php,找到$page_title = $GLOBALS['_CFG']['shop_title'] . ' – ' . 'Powered by ECShop';修改成$page_title = $GLOBALS['_CFG']['shop_title']就可以了。 4:如何去除cshop底部查询信息的显示 回答:library/page_footer.lbi中,删除 {insert name=’query_info'} 5:如何发布首页公告 回答:后台->系统设置->商店设置->网店信息->商店公告.填写你需要的公告就可以了. 6:如何发布站内新闻 ecshop管理文章十分灵活,既可以管理帮助信息,也可以管理站内文章.站内新闻. 1:增加文章帮助信息 后台->文章分类->增加文章分类->(选择)网店帮助分类-> 填写分类的名称xxx 后台->文章列表->增加文章->选择网店帮助分类(xxx)->发布文章 2:增加站内信息,站内新闻 后台->文章分类->增加文章分类->增加一个文章顶级分类news 后台->文章类表->增加文章->选择分类news->发布文章 7:如何修改网站logo 回答:用你的logo图片替换/themes/default/images/logo.gif中图片就可以了 8:如何修改产品图片的大小 回答:在ecshop/themes/default/style.css中,找到.goodsItem .goodsimg{width:100px; height:100px; border:4px solid #eef8ff; margin-bottom:4px;}就可以控制产品图片的大小. 9:如何管理首页flash播放器 回答:后台 -> flash播放器管理 -> 增加自定义,你就可以上传和控制图片的位置 10:如何修改首页"精品推荐"栏目的more小图片 回答:模板文件中library/recommend_best.lbi中,<div class="more"><a href="../search.php?intro=best"><img src="images/more.gif" /></a></div> 中more.gif图片换成你要的图片,或者将图片换成你需要的文字. 11:如何修改首页"新品上市"栏目的more小图片 回答:模板文件library/recommend_new.lbi中,<div class="more"><a href="../search.php?intro=new"><img src="images/more.gif" /></a></div> more.gif修改成你需要的图片或者是换成你需要的文字. 12:如何手动修改支付方式排列顺序 回答:数据库表中,找到payment表,pay_order字段就是用来控制顺序的,你如果想让A支付方式排在第一,那么你需要修改该字段的值稍微大一些。 13:如何去除ecshop产品详细页产品电击率 回答:模板文件中,打开goods.dwt,删除<strong>{$lang.goods_click_count}:</strong>{$goods.click_count} 14:首页模板在哪个文件,头部模板,底部模板个什么文件名称 回答:首页模板在为index.dwt, 头部模板在library/page_header.lbi,底部文件在library/page_footer.lbi 15:网站关闭了注册,如何修改“该网店暂停注册”字样 回答:languages\zh_cn\common.php 中$_LANG['shop_register_closed'] = '该网店暂停注册';修改该文字就可以了 16:收货人详细信息js弹出框的提示脚本在哪个文件 回答:languages\zh_cn\shopping_flow.php [比如 $_LANG['flow_js']['country_not_null'] = '请您选择收货人所在国家!';] 17:网站公告代码段在那里 回答: index.php文件中, $smarty->assign('shop_notice', $_CFG['shop_notice']); // 商店公告代码段控制公告 18:网站首页"精品推荐"显示数量在那里设置 ecshop中,为了让更多更丰富的购买信息显示在首页,可以根据自己所在行业特点,根据自己所在行业购买行为的分析,在ecshop首页设置热买促销新品的数量,让版面更加合理,让用户体验. 设置ecshop首页热买商品的数量. 模板管理 -> 设置模板 -> 热买商品 (修改其显示数量)修改下面的10为你需要的数量,这就是热买商品 设置ecshop首页新品的数量. 模板管理 -> 设置模板 -> 新品上架 (修改其显示数量)修改下面的10为你需要的数量,这就是新品上架 设置ecshop首页精品的数量. 模板管理 -> 设置模板 -> 精品推荐 (修改其显示数量)修改下面的10为你需要的数量,这就是精品推荐 19:网站首页"新品上市"显示数量在那里设置 20:如何修改产品的库存 回答:商品管理 -> 商品列表 -> 选中(库存),编辑就可以了. 21:如何修改ecshop表的前缀 回答:修改data/config.php下的$prefix = "ecs_";将ecs_修改成你需要的前缀.其次,在数据库中,修改表名比如ecs_goods修改为"xxx_goods"; 22:如何去除首页flash下面的空白区域 首先.ecshop首页flash下面有两个空白的地方,第一个是用来显示促销产品的,右边是用来显示品牌的。 1:显示促销产品 后台 -> 商品管理 -> 商品列表 -> 编辑产品 -> 通用信息 -> 勾上促销价 -> 填写促销期限 -> 保存-> 更新缓存 前台flash下空白处就被填充了. 2:如何显示商品品牌列表 商品管理 -> 商品品牌 -> 增加品牌X -> 保存 增加该品牌X下的产品 商品管理 -> 增加新产品 -> 选择商品品牌 -> 保存 -> 更新缓存 23:如何修改ecshop导航栏目名称 回答:后台 -> 系统设置 -> 自定义导航栏 -> 编辑 -> 修改导航栏名称 24:如何将最新产品栏目显示在导航栏里面? 回答:后台 -> 系统设置 -> 自定义导航栏 -> 增加自定义导航,在链接的栏目中输入"search.php?intro=new" 25:如何更换ecshop模板 回答:比如新模板“test”,你将放在themes目录下,形成的路径为themes/test,然后在后台 -> 模板管理 -> 模板选择 ,起用你新加的模板就OK了。 26:ecshop产品相关的图片有那几种 回答:$goods_img = "; // 初始化商品图片 $goods_thumb = "; // 初始化商品缩略图 $original_img = "; // 初始化原始图片 $old_original_img = "; // 初始化原始图片旧图 27:ecshop首页如何设置“新品”,“精品”,“热卖”商品 回答:参照http://www.chinab4c.com/html/shangchengchengxu/ecshopchangjianwenti/2009/0706/82.html 28:如何修改“支付方式”显示顺序 回答:打开ecs_payment表,如果你想让他显示在前面,你将设置pay_order值小一些,比如想让“支付宝”排第一,“快钱”排第二,你就可以设置支付宝pay_order=1,快钱pay_order=2 29:详细页面的积分 回答:详细页面的积分在模板<strong>{$lang.goods_give_integral}</strong><font class="f4">{$goods.give_integral} {$points_name}</font>中来控制的 30:如何修改产品缩略图大小 回答:后台 -> 系统设置 -> 网店设置 -> 显示设置 -> 缩略图宽度.,当然你也可以设置缩略图高度 31:如何设置ecshop货币格式和日期格式。 回答:后台 -> 系统设置 -> 网店设置 -> 显示设置 -> 货币格式(¥%s元)或者时间格式(Y-m-d H:i:s) 32:如何开取和关闭ecshop登陆验证码 回答:后台 -> 系统设置 -> 验证码管理 ,在这里你可以操作各种验证码,开启和关闭 33:如何修改个人帐户信息里面,出生年月的范围 […]
View DetailsECSHOP数据库结构详细说明
— 表的结构 ecs_account_log CREATE TABLE IF NOT EXISTS ecs_account_log ( log_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号', user_id mediumint(8) unsigned NOT NULL COMMENT '用户登录后保存在session中的id号,跟users表中的user_id对应', user_money decimal(10,2) NOT NULL COMMENT '用户该笔记录的余额', frozen_money decimal(10,2) NOT NULL COMMENT '被冻结的资金', rank_points mediumint(9) NOT NULL COMMENT '等级积分,跟消费积分是分开的', pay_points mediumint(9) NOT NULL COMMENT '消费积分,跟等级积分是分开的', change_time int(10) unsigned NOT NULL COMMENT '该笔操作发生的时间', change_desc varchar(255) NOT NULL COMMENT '该笔操作的备注,一般是,充值或者提现。也可是是管理员后台写的任何在备注', change_type tinyint(3) unsigned NOT NULL COMMENT '操作类型,0为充值,1为提现,2为管理员调节,99为其他类型', PRIMARY KEY (log_id), KEY user_id (user_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT=’用户帐号情况记录表,包括资金和积分等' AUTO_INCREMENT=42 ; — —————————————————— — 表的结构 ecs_ad […]
View Details解答“编译器错误信息: CS0016: 未能写入输出文件”的办法
解决: 初次碰到这个问题,试过很多方法,比如:停止索引服务,重装IIS,重装.Net Framework,删除Temporary ASP.NET Files目录再重赋权限,甚至重装系统,问题依旧;还有一点很奇怪,我重装系统前赋予了Temporary ASP.NET Files文件夹asp.net,network service和everyone用户的最大权限,但是我格式化重装系统后,Temporary ASP.NET Files目录的权限设置居然跟重装系统之前一样,不知是不是NTFS文件系统的问题,网上搜了一下,很多人碰到这个问题想到的都是给Temporary ASP.NET Files目录赋权限,我开始也是这样,最后在微软的网站搜到了这个问题的解决方法,其实很简单,只要在windows/temp权限设置里面把Network service(如果是win2000则是asp.net用户)的权限加上就行。 具体解决方法请参照:http://support.microsoft.com/default.aspx?scid=kb;en-us;825791
View Detailsc# 中的Equals()和==有什么区别?
using System;using System.Collections.Generic;using System.Text; namespace ConsoleApplication1{ class Person { private string name; public string Name { get { return name; } set { name = value; } } public Person(string name) { this.name = name; } } class Program { static void Main(string[] args) { string a = new string(new char[] { 'h', 'e', 'l', 'l', 'o' }); string b = new string(new char[] { 'h', 'e', 'l', 'l', 'o' }); Console.WriteLine(a == b); Console.WriteLine(a.Equals(b)); object g = a; object h = b; Console.WriteLine(g […]
View Details