1、在windows上搭建web 站点 2011.7Web站点的基本概念 网络服务 DNS、FTP、web server、Database 网站安全 操作系统、web服务、数据库、应用脚本 访问质量 web访问速度、服务在线率一个基本完整的web站点Web APP serverDNS serverFTP serverDatabase serverMail serverWindow2003 serverLinux serverASP/PHP/JSP/ASP.netWeb站点:DNS解析域名FTP上传文件CPU/memoryFile IO质量安全建立DNS服务 DNS的基本原理 什么是dns、解析原理
2、 在Windows上建立dns服务 Windows server自带的dns服务 操作 查询和验证dns Nslookup、digDNS的基本原理 Domain Name Server 域名服务 提供域名与IP的对应关系 -219.139.243.39 由dns服务器提供分级查询服务 IN NS -211.67.64.8 Windows DNS server 与 bind DNS的基本原理.SNS:NS:NS:S在windows2003s上建立dns服务查询和验证DNS服务 Nslookup 用来查询域名信息的工具 nslookup Server 211.67.64.8 set type=mx
3、 Dig 更加灵活和强大的dns查询工具 Dig 211.67.64.8 mx Dig 211.67.64.8 mx +trace建立ftp服务 ftp传输简介 使用Window上自带的ftp服务 使用开源的FileZilla建立ftp服务FTP服务简介 File Transfer Protocol 是用来文件传输的一种标准协议 使用TCP 21和TCP 20端口,21端口用于传输命令控制,20端口用于数据传输。主动模式和被动模式 断点续传 开源ftp工具:FileZilla使用windows2003s自带的ftp服务使用Filezilla server建立ftp服务建立web服务 Web服务
4、器的原理 利用IIS建立web服务 web发布、支持动态脚本(asp、php、)利用IIS实现虚拟主机 虚拟主机 Web日志的利用和分析 webalizer、awstatweb服务器的基本原理server Listen:TCP 80 portGET/POST Sample:IIS/Apache/nginxText/HTML/Gif/jpegCGI/FastCGIother Application Engine/moduleDatabase:mysql/oracle/sqlserverFile IOother API在windows2003s上安装IIS利用IIS发布一个网站让IIS支持php动
5、态脚本在一台IIS上建立多个虚拟站点IIS站点web日志的管理与分析 为每个站点保存独立的web日志 每天一个日志 独立目录,定期检查 web日志分析 webalizer/awstat 自动生成分析报表在windows上自动分析weblog 安装webalizer download http:/www.webalizer.org/编辑配置文件 webalizer.conf 建立批处理文件分析日志ECHO OFFset now=%date:0,4%date:5,2%date:8,2%CALL C:webalizerwebalizer.exe D:logsaccess_%now%.log 加入自动
6、计划Web站点安全 Windows系统安全 IIS的安全 脚本安全问题 Sql-inject、XSS跨站攻击 数据备份IIS的安全工具 Microsoft官方提供的Urlscan http:/ 屏蔽不合理的web请求 减轻sql-inject攻击 记录符合规则的攻击日志 每个web站点和目录使用独立的用户帐号 不使用不安全的IIS组件一次sql-inject的过程more.php?id=1 and(select ascii(substr(database(),2,1)=256 and 1=1第一步,它通过第一步,它通过select database()来一个个获取数据库名中的字符,因为我们数据
7、库名来一个个获取数据库名中的字符,因为我们数据库名是是4个字符,很快可以得到。个字符,很快可以得到。more.php?id=1 and(select length(cast(count(*)as char)from information_schema.columns where table_name=0 x61646d696e and table_schema=063737879 limit 1)108 and 1=1第三步,通过数据库和表名在第三步,通过数据库和表名在mysql系统表里探测字段名称系统表里探测字段名称more.php?id=1 and(select ascii(substr
8、(user_pwd,3,1)from(select*from(select*from admin where 1=1 order by 1 limit 2,1)t order by 1 desc)t limit 1)56 and 1=1第四步,得到了字段名第四步,得到了字段名user_pwd后,仍用每字符后,仍用每字符ascii吗的方式探测字段内容吗的方式探测字段内容more.php?id=1 and(select ascii(substr(user_name,4,1)from(select*from(select*from admin where 1=1 order by 1 limit 2
9、,1)t order by 1 desc)t limit 1)128 and 1=1第五步,同上,探测第五步,同上,探测user_name的字段内容的字段内容通过上面的几个步骤基本可以拿到应用程序中的账号密码,然后试图进入管理界面后通过上面的几个步骤基本可以拿到应用程序中的账号密码,然后试图进入管理界面后通过通过upload shell等方式进一步得到系统权限。等方式进一步得到系统权限。一次一次sql-injectsql-inject的实际处理的实际处理处理过程处理过程:1 1、分析、分析webweb日志,根据被修改页面日志,根据被修改页面URLURL追查入侵路径追查入侵路径2 2、锁定存在、
10、锁定存在sql-injectsql-inject漏洞的脚本,向开发人员提出修改意见漏洞的脚本,向开发人员提出修改意见3 3、在脚本中加强、在脚本中加强GetGet变量验证函数,过滤非法变量内容;变量验证函数,过滤非法变量内容;3 3、在、在web serverweb server上添加上添加rewriterewrite规则,过滤特殊规则,过滤特殊sql-injectsql-inject字符的字符的URLURL访问访问4 4、文件存档、安全报告。、文件存档、安全报告。我们在我们在ApacheApache中做的一些简单中做的一些简单rewriterewrite设置:设置:RewriteEngine
11、 OnRewriteBase/RewriteCond%QUERY_STRING%20and%20 NCRewriteCond%QUERY_STRING select%20 NCRewriteRule(.*)http:/ RURL变量中包含and和select的请求,全部定向到错误提示页面。一次一次DNSDNS流量异常的处理流量异常的处理20092009年年5 5月,暴风影音事件期间。月,暴风影音事件期间。日常巡检中发现近一段时间内DNS A类查询量非常大,200次/sec且集中为暴风影音相关的域名临时处理:在dns server上把* 手工指定到127.0.0.1 优化web访问质量 http压缩 页面优化 减小连接会话数