Web服务器防护

2024-10-12

Web服务器防护(精选10篇)

Web服务器防护 篇1

摘要:互联网技术的飞速发展, 也给Web服务器的安全带来极大挑战。本文对Web服务器可能存在安全问题进行分析, 并详细介绍了目前常用的Web服务器防护技术, 并就如何构建Web服务器的安全策略进一步进行探讨, 为Web服务器安全管理提供参考。

关键词:Web服务器,漏洞,安全策略

网络技术的迅速发展, 给人们提供方便的同时, 也给社会带来了翻天覆地的变化。但由于系统漏洞的存在, 给黑客、病毒提供了可乘之机, 如篡改网页、病毒蔓延等网络攻击使用户的重要信息被窃取, 系统重要数据遭到破坏, 同时也降低了用户对Web平台的使用效率, 对网络安全构成了极大的威胁。因此, 要对Web服务器安全问题引起足够重视, 加大安全防护力度, 构建安全防护系统, 以提高Web服务器的安全性。本文针对目前Web服务器存在的安全问题, 分析了常见的Web服务器防护技术。

1 Web服务器存在的安全问题

Web服务器在运行过程中, 时刻受到安全威胁, 这主要包括黑客攻击、蠕虫病毒、账号信息被盗用、缓冲区溢出、SQL注入、拒绝服务、IP欺骗、利用IIS攻击等, 这些问题主要是利用了Web服务器的漏洞进行攻击的, 所以在解决Web服务器问题之前应该对漏洞相关问题进行研究。

Web安全漏洞是指一个Web系统包括服务器、应用程序等组件在设计与实现过程中存在的容易被人攻击的安全缺陷。利用安全漏洞一些非法用户可以获得更多更大的权限, 在未经授权的情况下对系统进行操作, 从而破坏系统的安全性。Web服务器上存在的漏洞包括以下几种形式:一是Web服务器因各种原因无法完成用户的访问请求。二是公共网关接口 (Common Gateway Interface, CGI) 安全方面存在的漏洞。公共网关接口是外部应用程序与Web信息服务之间交换数据的接口, 可以实现Web浏览器各用户之间的交互。它的功能是收集来自浏览器的信息, 并将信息输送到Web服务器。同时它还把外部程序的输出作为Web服务器对发送信息的Web浏览器的响应, 送给该Web浏览器。三是远程用户向服务器发送信息时, 如用户账号、密码等重要信息, 传输过程中遭受不法分子的拦截。

2 Web服务器防护技术分析

2.1 防篡改网页技术

防篡改网页技术是指运用了实时监控和信息恢复技术的手段。主要功能是对网页的动态情况实时监控, 当发现网页信息数据出现异常、网页内容被改动等非法侵入时, 系统可以自动恢复到之前的良好运行状态。防篡改网页技术也存在有很多不足之处, 如影响服务器的性能、管理复杂、增加资金投入以及对动态页面的防护效果较差等, 当防篡改网页系统被病毒或黑客攻击后, 就会失去作用。另外, 防篡改网页技术只针对静态页面才起作用, 所以该方法在应用上受到一定的制约。

2.2 密码安全

Web服务器在系统安装的时候会存在一部分默认状态为开启的账号, 比如Guest账号, 这些账号一般是不起作用的, 容易被非法人员利用。在对系统进行密码安全管理时, 建议建立两个以上管理员账户, 以便在一个账号发生问题时, 还能通过其它账户对计算机进行操作, 但是需要对几个账户的权限严格控制, 并且尽量不要用Windows默认的Administrator管理员账户。在对密码的设置问题上, 为防止密码被轻易破解, 密码要有一定的复杂度, 不要采用简单的数字排列, 最好是用特殊符号、数字、字母等字符组合而成的字符串。

2.3 反向代理

在对服务器进行防护时, 通常会在服务器的前面设置一个反向代理, 对用户请求进行分析判断, 从而实现对外部用户访问服务器的权限加以控制, 充分发挥Web服务器的性能。这种方法类似于防火墙的功能, 可有效避免外部攻击, 目的是保护Web服务器的安全。反向代理可以对访问者进行有效阻拦, 防止网页遭受篡改, 对Web服务器运行管理过程产生的影响小。用户访问请求一般由代理服务器处理, 这就使Web服务器本身的负荷减小, 进一步提升了Web服务器的性能。

与防篡改技术相比, 反向代理技术更加有效可靠, 应用范围比较广泛, 缺点在于设备资金投入较大。目前大的门户网站都采用的是这种技术。

2.4 蜜罐技术

蜜罐技术相当于一个情报收集系统, 充当诱饵, 故意引黑客进行攻击。当黑客对计算机发起恶意攻击时, 蜜罐技术会趁机对入侵者进行分析, 了解对方侵入系统的手段, 掌握其来源、攻击方式和传播路径等信息, 从而分析针对本服务器的新的攻击和漏洞, 通过分析结果提前做好防范, 避免了Web服务器继续受到入侵和攻击。设置蜜罐技术比较容易, 只要在互联网上有一台存在漏洞的计算机即可, 然后设置一个网络监控系统对其进行监控, 等待攻击者自投罗网。

蜜罐技术的优势在于能够对外部用户的请求进行监控, 判断其是否安全, 由于蜜罐技术设置于服务器以外的计算机, 所以对Web服务器的运行效率不会产生影响。

2.5 设置IP访问限制

每个互联网用户都有一个IP地址, 为给Web服务器的管理安全提供保障。可以在Web服务器中的过滤模块中实现设置IP限制的功能, 这样, 就可以通过限制IP访问权限的方式对访问者进行控制。

在设置IP访问限制后, HTTP会产生一个身份认证功能, 当访问者对Web服务器发出访问请求时, Web服务器会发出身份认证信息, 并将访问者的用户名和密码发给Web服务器进行认证, 只有当认证信息符合要求时, 服务器才会满足用户请求, 允许其继续访问, 否则无法继续访问。设置IP访问限制大大提高了Web服务器的安全性。

2.6 加强客户端管理

在Web服务器中难免存在漏洞, 这就给很多网络攻击手段, 包括木马、黑客等带来了可乘之机。往往利用这些漏洞散播恶性程序代码、木马病毒等, 给Web服务器的安全带来了挑战。所以及时发现漏洞并修复极为重要, 这就要加强客户端的管理, 加强对服务器的安全防护。服务器的信息一般都要进行备份, 但备份本身就是一个安全隐患, 容易被人利用, 因此, 最好利用密码保护好备份磁盘, 还可以将数据进行加密。

3 结论

总之, 随着网络技术的不断普及和发展, Web服务器的安全问题越来越受到人们的重视, 恶性代码、木马病毒、网页篡改等网络攻击手段时刻威胁着服务器的安全, 所以我们在进行服务器维修管理过程中, 应时刻加以提防, 采取各种措施进行Web服务器的安全防护, 使计算机数据信息免受破坏, 确保服务器系统安全可靠的运行。

参考文献

[1]杨林.高校网络中心机房服务器安全设置策略[J].通信技术, 2009, 42 (1) :261-262.

[2]靳建平.构筑校园网安全服务器[J].计算机光盘软件与应用, 2010 (5) :89-90.

[3]丛佩丽.高校网站服务器安全防范策略[J].网络安全技术与应用, 2013 (2) :38-39.

[4]钟帅, 魏智灵.校园服务器的安全与防范措施[J].信息安全与技术, 2011 (8) :51-52.

Web服务器防护 篇2

作者github地址:

github.com/loveshell/ngx_lua_waf

———————————————————————————————————————————————————-

转自作者说明文档:

ngx_lua_waf是我一个基于ngx_lua的web应用防火墙,

代码很简单,开发初衷主要是使用简单,高性能和轻量级。

现在开源出来.其中包含我们的过滤规则。如果大家有什么建议和想fa,欢迎和我一起完善。

用途:

用于过滤post,get,cookie方式常见的web攻击

防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击

防止svn/备份之类文件泄漏

防止ApacheBench之类压力测试工具的攻击

屏蔽常见的扫描 工具,扫描器

屏蔽异常的网络请求

屏蔽图片附件类目录php执行权限

防止webshell上传

推荐安装:

请自行给nginx安装ngx_lua模块,推荐lujit2.0做lua支持

请提前新建/data/logs/hack/目录攻击日志,并赋予nginx用户对该目录的写入权限。

配置文件添加:

在http段添加

lua_need_request_body on;(开启post请求)

access_by_lua_file /usr/local/nginx/conf/waf.lua;

规则更新:

考虑到正则的缓存问题,动态规则会影响性能,所以暂没用共享内存字典和redis之类东西做动态管理。

规则更新可以把规则文件放置到其他服务器,通过crontab任务定时下载来更新规则,nginx reload即可生效。以保障ngx lua waf的高性能

只记录过滤日志,不开启过滤,在代码里在check前面加上–注释即可,如果需要过滤,反之

一些说明:

过滤规则在wafconf下,可根据需求自行调整,每条规则需换行,或者用|分割

global是全局过滤文件,里面的规则对post和get都过滤

get是只在get请求过滤的规则

post是只在post请求过滤的规则

whitelist是白名单,里面的url匹配到不做过滤

user-agent是对user-agent的过滤规则

默认开启了get和post过滤,需要开启cookie过滤的,编辑waf.lua取消部分–注释即可

日志文件名称格式如下:虚拟主机名_sec.log

欢迎大家到bbs.linuxtone.org多多交流

weibo: [@ppla](weibo.com/opscode)

感谢ngx_lua模块的开发者[@agentzh](github.com/agentzh/),春哥是我见过开源精神最好的人之一

本文记录如何安装ngx_lua模块

nginx_lua_module是由淘宝的工程师清无(王晓哲)和春来(章亦春)所开发的nginx第三方模块,它能将lua语言嵌入到nginx配置中,从而使用lua就极大增强了nginx的能力

wiki.nginx.org/HttpLuaModule

———————————————————————————————————————————————————-

正文:

1 下载luajit 2.0并安装

luajit.org/download.html

直接使用源码make && make install

所以lib和include是直接放在/usr/local/lib和usr/local/include

2 下载nginx源码解压

wget nginx.org/download/nginx-1.2.7.tar.gz

注意版本号,如果机子上已经装了nginx,不想升级的话,请使用/to/nginx/sbin/nginx -v 来查看版本号

tar -zxvf nginx-1.2.7.tar.gz

3 下载ngx_devel_kit解压

github.com/simpl/ngx_devel_kit/tags

wget github.com/simpl/ngx_devel_kit/archive/v0.2.18.tar.gz –no-check-certificate

tar -zxvf v0.2.18

4 下载nginx_lua_module解压

github.com/chaoslawful/lua-nginx-module/tags

wget github.com/chaoslawful/lua-nginx-module/archive/v0.7.18rc2.tar.gz –no-check-certificate

tar -zxvf v0.7.18rc2

5 进入nginx源码文件夹

cd nginx-1.2.7/

6 导入环境变量,编译

export LUAJIT_LIB=/usr/local/lib  #这个很有可能不一样

export LUAJIT_INC=/usr/local/include/luajit-2.0 #这个很有可能不一样

./configure –prefix=/opt/nginx   #nginx的安装路径

–add-module=/path/to/ngx_devel_kit  #ngx_devel_kit 的源码路径

–add-module=/path/to/lua-nginx-module #nginx_lua_module 的源码路径

例子:

./configure –prefix=/usr/local/nginx-help –add-module=/root/jiangbin/ngx_devel_kit-0.2.18 –add-module=/root/jiangbin/lua-nginx-module-0.7.18rc2 –with-ld-opt=”-Wl,-rpath,$LUAJIT_LIB”

make -j2

make install

安装lua模块发现的问题:

我在编译安装 Nginx 的第三方模块时,碰到一个错误:

view plaincopyprint?

/usr/local/nginx/sbin/ngxin -s reload

/usr/local/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

百事不得其解,后来Google之,发现了解决办法,

在 Nginx 编译时,需要指定 RPATH,加入下面选项即可:

view plaincopyprint?

./configure –with-ld-opt=”-Wl,-rpath,$LUAJIT_LIB”

或者

export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

7 请提前新建/data/logs/hack/目录攻击日志,并赋予nginx用户对该目录的写入权限。

mkdir -p /data/logs/hack/

www账户是跑nginx和php-fpm

chown -R www:www /data/logs/hack/

chmod -R 755 /data/logs/hack/

8 安装ngx_lua_waf模块

wget github.com/loveshell/ngx_lua_waf/archive/master.zip –no-check-certificate

把这个文件解压到

nginx的conf目录下.

然后在nginx.conf里的http配置里添加

http {

lua_need_request_body on;

access_by_lua_file /usr/local/nginx-help/conf/waf.lua;

注意:waf.lua一定要放在/usr/local/nginx-help/conf/waf.lua 已经他的子目录.否则会报500错误.

最后用/usr/local/nginx-help/sbin/nginx -V和/usr/local/nginx-help/sbin/nginx -t 验证一下

[root@platinum conf]# /usr/local/nginx-help/sbin/nginx -V

nginx version: nginx/1.2.7

built by gcc 4.1.2 0704 (Red Hat 4.1.2-48)

configure arguments: –prefix=/usr/local/nginx-help –add-module=/root/jiangbin/ngx_devel_kit-0.2.18 –add-module=/root/jiangbin/lua-nginx-module-0.7.18rc2 –with-ld-opt=-Wl,-rpath,/usr/local/lib

[root@platinum conf]# /usr/local/nginx-help/sbin/nginx -t

nginx: the configuration file /usr/local/nginx-help/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx-help/conf/nginx.conf test is successful

9 过滤配置说明:

过滤规则在wafconf下,可根据需求自行调整,每条规则需换行,或者用|分割

global是全局过滤文件,里面的规则对post和get都过滤

get是只在get请求过滤的规则

post是只在post请求过滤的规则

whitelist是白名单,里面的url匹配到不做过滤

user-agent是对user-agent的过滤规则

为了不返回一些无用给用户直接把注入测试防护返回信息改为http 403状态,修改/usr/local/nginx-help/conf/waf.lua

71 function check

72  ngx.header.content_type = “text/html”

73  –ngx.print(“403″)

74  ngx.exit(403)

75 end

注意:每次更改waf.lua代码需要把nginx reload一下!

Web应用安全防护技术研究 篇3

关键词:Web;应用程序;安全防护;服务器

1 概述

随着信息技术和网络技术的不断发展,企事业单位在构建内部业务应用系统和对外信息发布平台时,都不可避免地要使用Web应用技术。该技术不仅能为用户提供简单便捷的交互平台,还为信息服务商提供了构建信息系统的标准化技术,因此在各个领域得到了广泛的应用。伴随着Web技术应用范围的不断扩大,针对该应用程序的攻击也越来越多,Web应用技术的安全正在遭受前所未有的威胁和调整。

2 Web应用安全问题产生原因分析

2.1 Web应用程序自身的原因

早期的万维网只能提供静态的HTML页面浏览服务,站点用户不需要通过身份验证即可享受服务,这种情况下Web站点的安全仅与Web服务器软件机操作系统的漏洞有关,解决这两部分的安全问题,就可为Web站点的安全提供有力保障。而当前的万维网提供的服务已经逐渐升级到动态解析应用程序的层面,即Web应用程序,该程序能够为用户提供注册、登录、搜索、交易等与用户身份密切相关的服务,这些服务需要在客户端和服务器之间进行双向数据交互才能完成,而交互的数据可能包括了用户的个人隐私或机密信息。但Web程序在开发过程中可能存在的技术漏洞,就成为引发各种安全问题的主要原因。Web站点上运行程序不同,存在的漏洞也各具差异:Web应用程序无法对客户端的操作进行有效干预,用户可向应用程序提交任意的请求指令,而指令中一旦含有错误或异常信息,就会对应用程序的安全性产生威胁。常见的安全隐患主要有以下几种:攻击者可以对客户端和服务器间的交互数据进行篡改;攻击者利用恶意参数,改变用户输入的最初假设,引发程序异常;攻击者利用智能化的攻击工具影响浏览器的正常服务,或短时间内产生大量请求,然后利用程序漏洞达到自身的攻击目的。

2.2 安全意识薄弱

Web应用程序客户端用户对应用安全问题没有引起足够的重视,在应用程序过程中没有形成良好的用网习惯;而Web应用程序的开发人员对该应用领域的核心概念了解不够深入,甚至存在误解,直接导致Web应用程序在设计过程中就存在设计缺陷,为程序的后期应用的安全埋下了隐患。

2.3 其他原因

在设计Web应用程序时,滥用第三方模块,影响了程序的性能;缺乏高质量的安全测试,只对程序进行快速渗透测试,使程序中的隐蔽漏洞无法及时发现;安全威胁更新速度快,在程序研发初期对技术漏洞进行有效处理后,会在短时间内生产新的威胁。

3 Web应用程序安全防护研究

3.1 应用层安全防护技术

Web应用程序研发及使用之前,企业只要从网络边界低于外部网络的攻击就可对内部网进行有效的安全防护,常用的安全防护技术有修补系统漏洞、加强对开放服务的安全管理、在网络边界上部署防火墙和入侵监测系统等一系列安全设备。

Web应用程序接收外网用户输入方式具有多样性,与内部网络重要数据的交互同样具有多样性,这就对Web应用程序的安全防护技术提出了严峻的挑战。在设计Web应用程序安全防护措施时,应从以下几方面进行考虑:①对用户的输入数据进行安全检测,防止恶意输入或输入非法数据;②对Web用户的访问权限进行检测,防止不良用户的恶意入侵;③对攻击行为进行快速、准确的识别,为Web应用程序的正常运转提供安全保障,同时对攻击者的非法行为进行极力挫败;④协助管理员对Web应用程序的异常行为进行实时监控,在发生异常情况时,及时发出警报。

3.2 综合层面的Web应用程序安全防护措施

除应用层外,Web服务器主机平台同样面临着安全威胁,分布式拒绝服务(DDos)、端口扫描攻击等,因此在构建Web应用程序安全防御系统时,不仅要从应用层面进行构建,还应从服务器平台层面进行构建,以达到对Web应用平台的全面保护。

第一,Web服务器在部署完毕后,由于管理水平和技术水平限制的原因,可能会在服务器上配置或开启了一些不必要的服务,这些不必要的服务就成为攻击者入侵程序的入口。Web安全防护系统可提供安全检测功能,对操作系统及Web服务器软件中可能存在的安全隐患进行扫描,管理员结合生产的扫描报告对安全漏洞进行及时修复,一定程度上可提高系统的安全性。

第二,可获取服务器运行状态的信息,为管理员对系统运行的安全性提供判断依据。其中系统信息应包括系统硬件的基本信息、系统软件的相关信息、CPU利用率、硬盘内存利用率、TCP和UDP网络连接情况、Windows系统服务情况等,管理员根据以上信息,可对系统的安全性进行初步定位。

第三,实时监测功能的利用。利用实时监测功能,对系统的运行性能进行检测,当系统性能的运行指标出现异常时,系统能够生成告警并对其进行记录。例如,当系统受到DDos攻擊时,系统性能会发生改变,结合系统的历史记录、实时告警指标等对其进行判断,查看系统是否正在遭受DDos攻击,以便及时采取有效保护措施。

第四,当网站数量较多时,应对网站进行集中式统一管理。用户可将网站的相关信息和攻击数据提交到统一的数据服务器保存,这种集中式统一管理模式为管理员对网站上安装的Web防护系统的远程监督和管理提供了便利。

4 结语

随着网络技术的不断发展,企业、政府、个人对Web应用程序的依赖程度越来越高,这就使得不法分子开始利用各种攻击工具对应用程序进行非法侵入,以达到自己的攻击目的。Web应用程序的安全防护不仅需要设计人员从应用层面和系统层面对其进行安全防御体系建立,还应从提高用户方的安全防护意识入手,以便建立全方位的安全防御体系。

参考文献:

[1]李昌.Web应用安全防护技术研究与实现[D].中南大学,2010.

[2]李必云,石俊萍.Web攻击及安全防护技术研究[J].电脑知识与技术,2009,5(31):8647-8649.

浅谈Web服务安全防护策略 篇4

1 IIS服务安全

1.1 避免将IIS装入系统分区

若将IIS安装在系统分区, 可能导致系统文件与IIS一起被非法访问, 使得系统文件容易遭非法用户入侵。

1.2 删除不必要的IIS默认目录

IIS在安装后, 在“C:input|”目录中产生一些默认虚拟目录, 并且该目录既有执行程序的权限, 对系统安全影响较大。在安装后, 应将所有不必要的虚拟目录删除。

1.3 为每个虚拟站点设置匿名访问帐号

若服务器上存在多个站点, 应尽可能的为每个站点的虚拟目录设置一个单独的匿名访问帐号, 命名规则为“IUSR_站点名”, 并设置“IUSR_站点名”帐号为“Guests”组, 删除“Users”组。

1.4 设置特定IP访问站点目录

IIS允许对站点目录进行IP及域名访问限制, 能够对一组IP地址进行站点访问权限的设置。对于某些要求只允许特定IP地址段能够访问的站点, 可以通过此功能来实现该站点目录的内外网访问隔断, 以提高重要数据的安全性。

2 系统安全

2.1 分区采用NTFS文件系统

NTFS格式的分区可以为共享资源、文件夹以及文件设置访问许可权限。许可的设置包括两方面的内容:一是允许哪些组或用户对文件夹、文件和共享资源进行访问;二是获得访问许可的组或用户可以进行什么级别的访问。相比只能提供共享级安全的FAT32格式, NTFS的高安全性是不用怀疑的。建议提供Web服务的服务器的分区均采用NTFS格式。

2.2 关闭IPC空连接, 删除默认共享

系统安装完成后, 会默认建立IPC$共享命名管道的连接, 同时打开所有的逻辑分区共享 (c$, d$, e$……) 和系统目录winnt或windows (admin$) 共享。如果系统采用弱口令甚至没有设置口令, 这些默认共享将会为攻击者提供方便, 建议关闭IPC空连接, 并删除逻辑分区的默认共享。

2.3 禁用NetBIOS, 设置端口筛选

如果服务器不要求进行远程IP映像管理及文件和打印共享, 可以在TCP/IP选项中禁用NetBIOS, 已达到关闭139端口的目的;在系统端口开放方面, 可利用“TCP/IP筛选”功能, 封闭不必要端口, 只开放必须端口 (如80、21) 。

2.4 系统帐户安全

在计算机管理中禁用Guest账号;把系统Administrator账号改名, 并为其设置足够复杂的密码。

2.5 设置本地安全策略, 建立IIS日志

在Web服务器的本地安全策略设置中, 将“策略更改”、“登录事件”、“对象访问”、“目录服务访问”、“特权使用”、“系统事件”、“账户登录事件”及“账户管理”作“成功、失败”的策略记录, 这样可以通过事件管理器检查系统是否有被非法用户登陆或进行越权操作的行为;IIS日志可记录来访用户的IP地址、操作系统版本、访问时间、访问目录名、访问方法及操作成功与否等信息, 对分析服务器日常安全性非常有价值, 但应注意必须修改其默认的存放地址, 以防攻击者侵入系统后修改或删除相应的日志信息。

2.6 使用SSL安全机制

IIS的身份认证除了匿名访问、基本验证和Windows NT请求/响应方式外, 还有一种安全性更高的认证:通过SSL (Security Socket Layer) 安全机制使用数字证书。

使用SSL安全机制时, 首先客户端与服务器建立连接, 服务器把它的数字证书与公共密钥一并发送给客户端, 客户端随机生成会话密钥, 用从服务器得到的公共密钥对会话密钥加密, 并把会话密钥在网络上传递给服务器, 而会话密钥只有在服务器端用私人密钥才能解密, 客户端和服务器端就建立了一个惟一的安全通道。建立了SSL安全机制后, 只有SSL允许的客户才能与SSL允许的Web站点进行通信, 在使用URL资源定位器时, 输入https://, 而不是http://。

3 网站程序安全

3.1 mdb文件防下载

有的Web服务器管理员将数据库文件的后缀名改为.asp或.asa以防止ACCESS数据库内容泄露, 但攻击者通过分析网页源代码能够获知数据库的路径, 下载数据库文件, 将其后缀名修改为.mdb, 依然能够获取管理员用户名及密码。

3.2 防止绕过验证直接访问管理页面

一般的网站都具有后台管理页面, 通过该页面对数据库进行各种操作, 但是用户在登录管理页面之前先经过一个身份验证页面的核实后才能访问, 如果管理页面设置不合理, 非法用户可能绕过身份验证页面而直接访问管理页面。解决的办法是过session内建对象来验证用户是否合法, 也就是说管理页面利用会话跟踪身份验证页面, 只有从身份验证页面传递过来的会话才能读取管理页面。

3.3 填补SQL注入漏洞

通过提交一段数据库查询代码, 根据程序返回的结果, 获得某些期望的数据, 这就是SQL注入漏洞。攻击者针对SQL注入的手法相当灵活, 构造巧妙的SQL语句, 从而成功获取想要的数据, 又进一步上传木马程序, 从而获得服务器的控制权, 进而破坏重要数据。解决办法:在编写程序的时候, 对用户可能提交的数据要进行筛选、判断, 防止非法SQL语句被提交。

4 日常维护

服务器的日常维护也是非常重要的, 很多隐患及正在发生的攻击行为都是在日常管理中发现的, 及时发现并处理是最重要的。因此需要采取以下措施。

(1) 开启系统的自动更新功能, 经常扫描系统漏洞, 及时打上系统补丁。

(2) 安装防病毒软件及防火墙, 保持更新, 不定期查杀病毒、木马。

(3) 每日检查系统帐户有无增加, 尤其是系统管理员级的帐户, 详细了解每个帐户的名字和功能。

(4) 利用IIS日志分析软件对一段时期内的服务器日志文件进行检查, 看是否存在系统、程序漏洞或攻击行为。

(5) 条件允许的情况下, 建立异地数据容灾机制, 定期备份服务器数据。

(6) 不定期更换系统及网站管理口令, 并保证口令的强壮性。

5 结语

实施以上的防护策略, 可以使Web服务器的安全性得到加强。但互联网上新的攻击手段和方法总是不断涌现, 在实际的工作运用中, 还要求我们不断总结经验, 开阔视野, 不断完善Web服务的安全设置, 以保障Web服务的正常、稳定运行。

参考文献

[1]解大龙, 杨宁.校园网中Web服务器的配置及安全防护[J].辽宁师专学报, 2008, 3 (1) .

[2]周亚峰, 高仲合.校园网Web服务器的安全配置[J].网络安全, 2007, 12.

Web服务器防护 篇5

Nginx提供web服务时Linux内核参数调整是必不可少的,其中在优化方面就需要我们格外的注意,在下面就是对Linux内核参数优化的详细介绍,希望大家有所收获。

关于Linux内核参数的优化:

net.ipv4.tcp_max_tw_buckets = 6000

timewait的数量,默认是180000。

net.ipv4.ip_local_port_range = 1024 65000

允许系统打开的端口范围。

net.ipv4.tcp_tw_recycle = 1

启用timewait快速回收。

net.ipv4.tcp_tw_reuse = 1

开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接。

net.ipv4.tcp_syncookies = 1

开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理。

net.core.somaxconn = 262144

web应用中listen函数的backlog默认会给我们内核参数的net.core.somaxconn限制到128,而Nginx内核参数定义的NGX_LISTEN_BACKLOG默认为511,所以有必要调整这个值。

net.core.netdev_max_backlog = 262144

每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

net.ipv4.tcp_max_orphans = 262144

系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上,

如果超过这个数字,孤儿连接将即刻被复位并打印出警告信息。这个限制仅仅是为了防止简单的DoS攻击,不能过分依靠它或者人为地减小这个值,更应该增加这个值(如果增加了内存之后)。

net.ipv4.tcp_max_syn_backlog = 262144

记录的那些尚未收到客户端确认信息的连接请求的最大值。对于有128M内存的系统而言,缺省值是1024,小内存的系统则是128。

net.ipv4.tcp_timestamps = 0

时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉。

net.ipv4.tcp_synack_retries = 1

为了打开对端的连接,内核需要发送一个SYN并附带一个回应前面一个SYN的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK包的数量。

net.ipv4.tcp_syn_retries = 1

在内核放弃建立连接之前发送SYN包的数量。

net.ipv4.tcp_fin_timeout = 1

如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60秒。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB服务器,也有因为大量的死套接字而内存溢出的风险,FIN- WAIT-2的危险性比FIN-WAIT-1要小,因为它最多只能吃掉1.5K内存,但是它们的生存期长些。

net.ipv4.tcp_keepalive_time = 30

Web的安全威胁与安全防护 篇6

近年来,随着移动互联网的快速发展,使得企业的业务需求越来越多。基于Web的应用程序大量开发,如网上购物平台、互联网购票系统,网上银行,网络邮箱,网络游戏等等。

当前互联网中最重要的资源程序和数据几乎都与Web服务有关,伴随Web广泛应用,Web应用程序和数据已经成为黑客攻击的头号目标[1]。针对Web的攻击与破坏事件层出不穷,给人们的生活和经济造成严重威胁,Web安全问题已引起人们的极大重视。

Web是互联网的核心,是云计算和移动互联网的最佳载体,所以确保Web安全尤为重要。本文对Web相关应用的安全威胁进行了分析,并以相关漏洞为例,提出了相应的防护措施。

1 Web的安全威胁

Web安全威胁种类繁多,主要有针对操作系统的安全威胁,针对数据库的安全威胁,还有针对Web应用程序的安全威胁。常见的几种Web安全威胁有基于操作系统本身的计算机病毒、后门程序等,还有以Web应用程序进行攻击的SQL注入攻击、XSS攻击、文件上传漏洞、网页木马等安全威胁。

1.1 操作系统漏洞威胁

后门程序、计算机病毒是对操作系统安全威胁最为常见的威胁。

(1)后门程序

后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。攻击者往往就是利用程序员在编写软件留有后门的习惯,运用特殊手段找到后门程序的接口,从而使系统面临安全威胁。

后门能够相互关联,黑客经常会对系统的配置文件进行修改提高权限或安装木马程序,使系统打开一个安全漏洞,便于黑客完全掌握系统。

后门有很多不同的分类方式,从技术角度可以将后门程序分为网页后门、扩展后门、C/S后门、账号后门等。

(2)计算机病毒

根据《中华人民共和国计算机信息系统安全保护条例》,病毒的明确定义是指“编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。

计算机病毒具有隐蔽性,破坏性,潜伏性,传染性等特征。计算机病毒其实就是一段程序或代码。大多数计算机病毒能够进行自我复制,通过自我的不断复制来影响计算机系统的稳定性并可以通过病毒感染计算机窃取用户大量隐私信息。

常见的计算机病毒有:CIH病毒、蠕虫病毒、QQ传送者、特洛伊木马、脚本病毒等。脚本病毒是一种常见的攻击Web的一种病毒,主要采用脚本语言编写,它可以对系统进行操作,包括创建、修改、删除甚至格式化硬盘。脚本病毒编写形式灵活,容易产生变种,使得传统的特征提取方式对其进行检测率较低,对未知的脚本病毒无法识别[2]。

1.2 应用软件的漏洞

Web应用程序一般都会采用B/S(Browser浏览器端/Server服务器端)模式,其由多个Servlet、JSP页面、HTML文件以及图像文件等组成。浏览器是客户端用户用来与服务器交互的重要应用程序,主要实现向Web服务器发送请求,并对Web服务器发送来的超文本信息和数据进行解析和显示。浏览器初期只提供HTML静态页面的解析显示,随着脚本和插件技术的发展,为提高用户体验,网站中包含大量的动态内容。这些功能丰富了Web页面的显示,但也带来了新的安全问题。

(1)XSS攻击

XSS英文全称是Cross Site Script,也称跨站脚本攻击,为了和层叠样式表区别开来,在安全领域称其为XSS。XSS攻击通常指攻击者是用HTML注入技术向网页插入恶意脚本,篡改网页,当用户浏览已经插入恶意脚本的网页时,恶意脚本就会被执行,从而攻击者可以利用网站漏洞盗取用户信息。

XSS攻击的主要目的之一是获取授权用户的Cookie信息,由于XSS攻击破坏力强,产生的场景也比较复杂,XSS攻击长期以来一直被列为客户端Web安全的头号威胁。XSS攻击通常有两种方式[3,4]:

持久性攻击:攻击者将恶意代码存储在与Web应用程序交互的数据库中,当用户访问请求动态页面时,Web应用程序从数据库中返回恶意的Javascript代码给用户。用户浏览器执行该脚本后,将用户的Cookie发送给攻击者控制的服务器。

反射攻击:这种方式下,攻击的脚本没有存储在服务器端,而是在攻击过程中反射给用户。它通过给别人发送带有恶意脚本代码参数的统一资源定位符(URL,Uniform Resource Locator),当URL地址被打开时,特有的恶意代码参数被HTML解析执行。其攻击特点是非持久化,必须用户点击带有特定参数的链接才能引起。

(2)SQL注入攻击

SQL注入攻击利用服务器端代码自身存在的漏洞进行攻击,攻击的目标通过Web客户端代码对Web服务器连接的数据库后端进行攻击。通过这种方式攻击者往往可以逃避现存的大部分安全防护机制,而直接通过窃取的权限达到对非授权数据非法访问的目的[1]。

SQL注入攻击是黑客对数据库进行攻击的常用手段之一。SQL攻击方法有很多,攻击者可以根据数据库的类型和漏洞来针对性地选择攻击方法。SQL注入攻击一般步骤:①发现SQL注入点;②构造注入语句判断后台数据库类型;③猜解数据库,获得管理员权限;④确定Web虚拟目录,上传木马控制整个网站。

2 Web的安全防护策略

用户在了解Web安全威胁方面的知识后,采取必要的防御措施,在很大程度上可以杜绝Web安全事件的发生。以下介绍几种防御措施。

(1)做好操作系统安全防护,使用正版的操作系统,并及时更新系统补丁;最小化原则,用户根据需要,设置合理的权限,尽量开放最少的服务;安装应用软件时,注意辨别软件需要调用的权限,不要轻易提升权限。

(2)数据库安全防护,使用密文存储数据库中的数据,定期检查数据库是否存在漏洞,设置安全管理账户,定期对重要的数据进行备份。

(3)跨站脚本防范,将要置于HTML上下文的所有的不可信数据进行相应的转义;验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行;在浏览器设置中关闭Java Script,并将安全级别设置到“高”。

(4)SQL注入防护,使用参数化的过滤性语句,用户的输入不能直接被嵌入到SQL语句中;检查数据类型,对数据库表中数据进行数据类型限制,这样会在很大程度上减少攻击。

(5)加强Web服务器的安全设置。正确使用Web服务器的安全设置策略,能够有效减少服务器的安全隐患,确保Web服务器安全。一般可以从用户名和密码的安全设置、BIOS的安全设置、使用SSL通信协议、隐藏系统信息、启用日志记录功能以及设置Web服务器有关目录的权限等。

(6)安装知名度高的安全产品,并及时更新。选择一款专业的安全软件,可检测出系统存在的安全隐患,有效抵御Web安全威胁。如天融信安全管理平台Top Analyzer远程监测服务,可以实现网站安全挂马监控、网站安全漏洞监控、网站安全内容监、网站安全状态监控等功能。

3 结束语

当前,随着网络技术的不断发展,人们生活越来越离不开网络,在享受互联网带来便捷的同时也面临着许多Web安全威胁。本文从后门程序、计算机病毒、XSS攻击、SQL注入攻击等方面对Web安全进行了简要分析,并给出了应对的防护措施,希望能对不同的用户提供参考。

摘要:随着互联网技术的发展,Web应用渗入到每个人的日常生活中,Web的安全形势也日益严峻。本文阐述了当前Web所面临的安全威胁,从操作系统漏洞威胁、应用软件漏洞威胁两个方面进行了分析,并对常见Web安全威胁提出了相应的安全防护建议。

关键词:Web安全,安全威胁,安全防护

参考文献

[1]龙兴刚.Web应用的安全现状与防护技术研究[J].通信技术,2013.

[2]王继林,苏万力.信息安全导论(第二版).西安电子科技大学出版社,2015.

[3]吴翰清.白帽子讲Web安全[M].北京:电子工业出版社,2012.

浅谈Web的安全威胁与安全防护 篇7

关键词:Web,网络安全,安全威胁,安全防护

一、引言

随着Internet的普及, 人们对其依赖也越来越强, 但是由于Internet的开放性, 即在设计时对于信息的保密和系统的安全考虑不完备, 造成现在网络的攻击与破坏事件层出不穷, 给人们的日常生活和经济活动造成了很大麻烦。WWW服务作为当今Internet上使用最广泛的服务, Web站点被黑客入侵的事件屡有发生, Web安全问题已引起人们的极大重视。

二、Web的安全威胁

来自网络上的安全威胁与攻击多种多样, 依照Web访问结构, 可将其分类为:对Web服务器的安全威胁、对Web客户机的安全威胁和对通信信道的安全威胁三类。

(一) 对Web服务器的安全威胁。

对于Web服务器、服务器的操作系统、数据库服务器都有可能存在漏洞, 恶意用户都有可能利用这些漏洞去获得重要信息。Web服务器上的漏洞可以从以下几方面考虑:

1、在Web服务器上的机密文件或重要数据 (如存放用户名、口令的文件) 放置在不安全区域, 被入侵后很容易获取。

2、在Web数据库中, 保存的有价值信息 (如商业机密数据、用户信息等) , 如果数据库安全配置不当, 很容易泄密。

3、Web服务器本身存在一些漏洞, 能被黑客利用侵入到系统, 破坏一些重要的数据, 甚至造成系统瘫痪。

4、程序员的有意或无意在系统中遗漏Bugs给非法黑客创造条件。用CGI脚本编写的程序中的自身漏洞。

(二) 对Web客户机的安全威胁。

现在网页中的活动内容已被广泛应用, 活动内容的不安全性是造成客户端的主要威胁。网页的活动内容是指在静态网页中嵌入的对用户透明的程序, 它可以完成一些动作, 显示动态图像、下载和播放音乐、视频等。当用户使用浏览器查看带有活动内容的网页时, 这些应用程序会自动下载并在客户机上运行, 如果这些程序被恶意使用, 可以窃取、改变或删除客户机上的信息。主要用到Java Applet和ActiveX技术。

Java Applet使用Java语言开发, 随页面下载, Java使用沙盒 (Sandbox) 根据安全模式所定义的规则来限制Java Applet的活动, 它不会访问系统中规定安全范围之外的程序代码。但事实上Java Applet存在安全漏洞, 可能被利用进行破坏。

ActiveX是微软的一个控件技术, 它封装由网页设计者放在网页中来执行特定任务的程序, 可以由微软支持的多种语言开发但只能运行在Windows平台。ActiveX在安全性上不如Java Applet, 一旦下载, 能像其他程序一样执行, 访问包括操作系统代码在内的所有系统资源, 这是非常危险的。

Cookie是Netscape公司开发的, 用来改善HTTP的无状态性。无状态的表现使得制造像购物车这样要在一定时间内记住用户动作的东西很难。Cookie实际上是一段小消息, 在浏览器第一次连接时由HTTP服务器送到浏览器端, 以后浏览器每次连接都把这个Cookie的一个拷贝返回给Web服务器, 服务器用这个Cookie来记忆用户和维护一个跨多个页面的过程影像。Cookie不能用来窃取关于用户或用户计算机系统的信息, 它们只能在某种程度上存储用户的信息, 如计算机名字、IP地址、浏览器名称和访问的网页的URL等。所以, Cookie是相对安全的。

(三) 对通信信道的安全威胁。

Internet是连接Web客户机和服务器通信的信道, 是不安全的。像Sniffer这样的嗅探程序, 可对信道进行侦听, 窃取机密信息, 存在着对保密性的安全威胁。未经授权的用户可以改变信道中的信息流传输内容, 造成对信息完整性的安全威胁。此外, 还有像利用拒绝服务攻击, 向网站服务器发送大量请求造成主机无法及时响应而瘫痪, 或者发送大量的IP数据包来阻塞通信信道, 使网络的速度变缓慢。

三、Web的安全防护技术

(一) Web客户端的安全防护。

Web客户端的防护措施, 重点对Web程序组件的安全进行防护, 严格限制从网络上任意下载程序并在本地执行。可以在浏览器进行设置, 如M i c r o s o f t Internet Explorer的Internet选项的高级窗口中将Java相关选项关闭。在安全窗口中选择自定义级别, 将ActiveX组件的相关选项选为禁用。在隐私窗口中根据需要选择Cookie的级别, 也可以根据需要将c:windowscookie下的所有Cookie相关文件删除。

(二) 通信信道的安全防护。

通信信道的防护措施, 可在安全性要求较高的环境中, 利用HTTPS协议替代HTTP协议。利用安全套接层协议SSL保证安全传输文件, SSL通过在客户端浏览器软件和W e b服务器之间建立一条安全通信信道, 实现信息在Internet中传送的保密性和完整性。但SSL会造成Web服务器性能上的一些下降。

(三) Web服务器端的安全防护。

限制在Web服务器中账户数量, 对在Web服务器上建立的账户, 在口令长度及定期更改方面作出要求, 防止被盗用。

Web服务器本身会存在一些安全上的漏洞, 需要及时进行版本升级更新。尽量使EMAIL、数据库等服务器与Web服务器分开, 去掉无关的网络服务。在Web服务器上去掉一些不用的如SHELL之类的解释器。定期查看服务器中的日志文件, 分析一切可疑事件。设置好Web服务器上系统文件的权限和属性。通过限制许可访问用户IP或DNS。

从CGI编程角度考虑安全。采用编译语言比解释语言会更安全些, 并且CGI程序应放在独立于HTML存放目录之外的CGI-BIN下等措施。转

四、Web服务器安全防护策略的应用

这里以目前应用较多的Windows 2000平台和IIS的Web服务器为例, 简述Web服务器端安全防护的策略应用。

(一) 系统安装的安全策略。

安装Windows 2000系统时不要安装多余的服务和多余的协议, 因为有的服务存在有漏洞, 多余的协议会占用资源。安装Windows 2000后一定要及时安装补丁4程序 (W2KSP4_CN.exe) , 立刻安装防病毒软件。

(二) 系统安全策略的配置。

通过“本地安全策略”限制匿名访问本机用户、限制远程用户对光驱或软驱的访问等。通过“组策略”限制远程用户对Netmeeting的桌面共享、限制用户执行Windows安装任务等安全策略配置。

(三) IIS安全策略的应用。

在配置Internet信息服务 (IIS) 时, 不要使用默认的Web站点, 删除默认的虚拟目录映射;建立新站点, 并对主目录权限进行设置。一般情况下设置成站点管理员和Administrator两个用户可完全控制, 其他用户可以读取文件。

(四) 审核日志策略的配置。

当Windows 2000出现问题的时候, 通过对系统日志的分析, 可以了解故障发生前系统的运行情况, 作为判断故障原因的根据。一般情况下需要对常用的用户登录日志, HTTP和FTP日志进行配置。

1、设置登录审核日志。

审核事件分为成功事件和失败事件。成功事件表示一个用户成功地获得了访问某种资源的权限, 而失败事件则表明用户的尝试失败。

2、设置HTTP审核日志。

通过“Internet服务管理器”选择Web站点的属性, 进行设置日志的属性, 可根据需要修改日志的存放位置。

3、设置FTP审核日志。

设置方法同HTTP的设置基本一样。选择FTP站点, 对其日志属性进行设置, 然后修改日志的存放位置。

(五) 网页发布和下载的安全策略。

因为Web服务器上的网页, 需要频繁修改。因此, 要制定完善的维护策略, 才能保证Web服务器的安全。有些管理员为方便起见, 采用共享目录的方法进行网页的下载和发布, 但共享目录方法很不安全。因此, 在Web服务器上要取消所有的共享目录。网页的更新采用FTP方法进行, 选择对该FTP站点的访问权限有“读取、写入”权限。对FTP站点属性的“目录安全性”在“拒绝访问”对话框中输入管理维护工作站的IP地址, 限定只有指定的计算机可以访问该FTP站点, 并只能对站点目录进行读写操作。

五、结束语

通过对Web安全威胁的讨论及具体Web安全的防护, 本文希望为用户在安全上网或配置Web服务器安全过程中起到借鉴作用。

参考文献

[1]张国祥.基于Apache的Web安全技术的应用研究[J].武汉理工大学学报, 2004.

Web服务器防护 篇8

Web2.0是以Blog、TAG、SNS、RSS、wiki等应用为核心,依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。基于web2.0的MIS广泛被开发、部署、运行。在企业内部,MIS系统对企业的日常运行、业务开展、资源配置发挥着不可替代的作用,因此,对MIS系统的可用性、可靠性、安全性、可信任日益关注。

近些年,安全问题越来越严重,安全事件时有发生。黑客在网络层,主机层,以及应用层等层次进行漏洞扫描,安全问题不仅给企业带来巨大的经济损失,有损企业形象,而且可能导致企业倒闭。

目前,三层结构的B/S系统在MIS系统的设计和开发中被广泛采用。应用系统一般主要由下列部分构成:浏览器、网络、防火墙、web服务器、应用服务器(中间件)、数据库。如图1所示。

一个如此复杂的WEB系统,其安全保护机制也应该是多层次全方位的,这是因为构成WEB系统的每一个环节都可能存在脆弱性并由此引入风险,所以每个环节都需要相应的安全控制,安全防护设计主要从这些层次出发,分别对防火墙,操作系统,web服务器、应用服务器、数据库服务器等应用系统构成做安全防护设计。怎样最大程度发现并解决WEB应用系统的漏洞呢?

本文将介绍一个MIS系统安全防护实例,该实例采用J2EE平台,操作系统选择Linux之Debian发行版本,防火墙采用iptables,web服务器采用apache2,应用服务器采用tomcat5.5,数据库采用MySQL5,开发框架采用开源的Struts2、Hibernate3、Spring框架组合。

Web服务器、应用服务器、数据库服务器等系统运行在各自平台之上,从底向上,可将各系统划分为:网络系统、宿主操作系统、服务器系统三个层次。Web应用在应用服务器环境中运行,比如tomcat5就只能运行J2EE的web应用。应用服务器又和特定平台有关,运行在特定平台中,如tomcat5需要JVM虚拟机环境,而JVM的运行依赖运行特定操作系统的计算机硬件系统。数据库系统也运行在特定操作系统的计算机硬件平台之上。Web服务器同样需要平台的支持。应用服务器使用网络与数据库系统通讯,获取所需要的数据资源;与web服务器交互,交付请求的资源。

安全防护设计从这三个层次出发,分别对web服务器、应用服务器、数据库服务器三个应用系统构成做安全防护设计。

1 基于web的MIS系统各层设计

1.1 网络层安全防护设计

防火墙工作网络层,在在内部主机和外部主机之间通过一些策略来控制通讯。最常用、有效的防火墙采用包过滤的方式来控制主机之间通讯的基本单位(数据包)。网络层安全防护主要是通过防火墙保护系统来实现。iptable防火墙策略是linux系统中防火墙iptables的配置策略,具体控制iptables的行为方式。适当的iptables防火墙策略可以其他防护主机系统的作用。针对iptables防火墙提出以下策略:1)只允许企业intranet中的机器访问MIS系统;2)针对不同的MIS系统,设定ip访问限制;3)只允许tcp协议;4)只开放80、应用服务器、数据库端口;5)默认都禁止策略,然后按需要开放。

1.2 操作系统的安全防护设计

对Linux操作系统来说,一切都是文件,识别各组件及其构成文件,跟踪各文件的版本、安全是理想的方法。现实、合理的方法是识别、跟踪各个组件的版本,给有问题的组件及时打上补丁。在Linux系统中,为了系统的运行、使用,在系统安装、配置、部署时开设了一些系统用户。给系统的用户分配运行、使用所需要的最小资源、权限是一个重要的原则。只给系统开设必要的用户也是一个重要的原则。Linux操作系统的安全防护策略如下:

1)操作系统内核,定期更新到安全的版本;

2)操作系统,注意发布的安全漏洞、打补丁;

3)只安装需要的支持性软件;

4)只创建系统运行必要的用户;

5)严格控制用户的访问权限,只允许访问限定的资源。

2 web服务器的安全设计

Apache服务器的安全缺陷主要是使用HTTP协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。

在本系统中的三层结构的B/S系统,采用apache2作为web系统。在apache2服务器中采用下列安全措施:

1)防火墙只允许80端口,针对只允许内被访问的子系统,严格限制ip地址。

2)设置虚拟目录、为虚拟目录分配最小运行权限配置虚拟目录,防止真实的目录名暴露在外面,起到一定的屏蔽资源的效果。针对虚拟目录,还可以用deny、allow做用户访问控制,先用deny from all设为初始化指令,再使用allow from指令打开访问权限。例如:

order deny,allow

deny from all

allow from XX.XX.XX.XX

3)以www-data用户运行可以防止攻击者获得root权限

4)其他用户不允许访问web服务器的资源目录严格做文件的访问控制

5)www-data只访问资源目录、读取文件

6)chroot将apache2系统限制在安全充分必要的文件系统下运行

7)跟踪apache2的安全漏洞、及时打补丁

8)www-data用户不允许登陆系统,只作为资源拥有者、运行apache2系统

3 应用服务器安全设计

Tomcat5.5在本例中作为application server,是运行J2EE管理信息系统的环境。作为一个服务器程序,可从下列层面重点防护:

1)防火墙开启tomcat5.5所需要的8080端口,对于和apache2系统在一台主机之上的tomcat5.5,可以只开启127.0.0.1上的8080端口。和apache2系统不在一台主机之上的情况,防火墙配置成只允许来自apache2所在主机能访问该系统的8080端口。

2)文件权限分配只允许相关的用户拥有最小可运行的权限,严格将文件权限控制在充分必要的状态上。

3)chroot运行tomcat5.5在chroot的限制下运行,防止因为tomcat5.5的不安全运行造成了数据库系统、web系统的不安全状态。将tomcat5.5限制在能满足它运行的最小的文件集合上。

4)启动时使用-security选项,启用SecurityManager来限制Java程序代码。

5)按层次严格制定catalina.policy文件。

4 数据库安全设计

数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要,对企业来说尤其重要,关系到企业兴衰。因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,已经成为业界人士探索研究的重要课题之一。数据库安全包含两层含义:第一层是指系统运行安全,比如,一些入侵者通过网络、局域网等途径通过各种途径,破坏系统的正常运行,使数据库系统不可用。第二层是指系统信息安全,比如,黑客侵入数据库系统,盗取资料、删除数据、修改数据等。数据库系统的安全除了依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关。

对MYsql的安全防护策略主要从下面几个方面着手:

1)修改root用户口令,删除空口令;

2)删除默认数据库和数据库用户;

3)改变默认mysql管理员帐号;

4)对密码进行加密后存储;

5)使用独立用户运行msyql;

6)禁止远程连接数据库必须保证该目录不能让未经授权的用户访问后把数据库打包拷贝走了,所以要限制对该目录的访问;

7)命令历史记录保护。

数据库相关的shell操作命令都会分别记录在.bash_history,如果这些文件不慎被读取,会导致数据库密码和数据库结构等信息泄露,

总结通过在每一个层次的安全加固设计,可以有效提升基于的的整体安全性。

参考文献

[1]Java and Web Services1[EB/OL].http://Mwww.javaworld.comPchannel-content/Pjwweb-services-index.shtml.

[2]Frank Sommersps Web Services column1[EB/OL].http://Mwww.javaworld.comPco-lumnsPjw-web-services-index.shtml.

Web服务器架设研究 篇9

由于长期从事网页教学工作, 我经常能发现由于设置不当而导致的网页访问不能的情况。

结合我的教学经验和网上的一些帮助, 我把Web服务器架设过程中所出现的问题, 试做如下总结和研究。

一般架设web服务器不需要安装额外的软件环境, 只需安装与当前操作系统相关的IIS (Internet Information Server) 。但由于在教学中学生的操作系统比较复杂, 所以给IIS的安装和设置增加了难度, 所出现的问题也比较多。

一、错误情况一:未启用父路径

症状举例:Server.Map Path () 错误'ASP 0175:80004005'不允许的Path字符

/0709/dqyllhsub/news/Open Data base.asp, 行4在Map Path的Path参数中不允许字符'..'。

原因分析:许多Web页面里要用到诸如../格式的语句 (即回到上一层的页面, 也就是父路径) , 而IIS6.0出于安全考虑, 这一选项默认是关闭的。

解决方法:在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新

二、错误情况二:ASP的Web扩展配置不当

症状举例:HTTP错误404-文件或目录未找到。

原因分析:在IIS6.0中新增了web程序扩展这一选项, 你可以在其中对ASP、ASP.NET、CGI、IDC等程序进行允许或禁止, 默认情况下ASP等程序是禁止的。

解决方法:在IIS中的Web服务扩展中选中Active Server Pages, 点击“允许”。

三、错误情况三:身份认证配置不当症状举例:

症状举例:HTTP错误401.2-未经授权:访问由于服务器配置被拒绝。

原因分析:IIS支持以下几种Web身份验证方法:匿名身份验证、基本身份验证和摘要身份验证

解决方法:根据需要配置不同的身份认证 (一般为匿名身份认证, 这是大多数站点使用的认证方法) 。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。

四、错误情况四:IP限制配置不当

症状举例:HTTP错误403.6-禁止访问:客户端的IP地址被拒绝。

原因分析:IIS提供了IP限制的机制, 你可以通过配置来限制某些IP不能访问站点, 或者限制仅仅只有某些IP可以访问站点, 而如果客户端在被你阻止的IP范围内, 或者不在你允许的范围内, 则会出现错误提示。

解决方法:进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问, 需要选择授权访问, 点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。

五、错误情况五:IUSR账号被禁用

症状举例:HTTP错误401.1-未经授权:访问由于凭据无效被拒绝。

原因分析:由于用户匿名访问使用的账号是IUSR_机器名, 因此如果此账号被禁用, 将造成用户无法访问。

解决办法:控制面板->管理工具->计算机管理->本地用户和组, 将IUSR_机器名账号启用。

六、错误情况六:NTFS权限设置不当

症状举例:HTTP错误401.3-未经授权:访问由于ACL对所请求资源的设置被拒绝。

原因分析:Web客户端的用户隶属于user组, 因此, 如果该文件的NTFS权限不足 (例如没有读权限) , 则会导致页面无法访问。

解决办法:进入该文件夹的安全选项卡, 配置user的权限, 至少要给读权限。关于NTFS权限设置这里不再馈

七、错误情况七:IWAM账号不同步

症状举例:HTTP 500-内部服务器错误

原因分析:IWAM账号一般由系统自动管理, 但有时会失效, 需手动设置

解决办法:如果存在AD, 选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。

运行c:InetpubAdmin Scripts>adsutil SET w3svc/WAMUser Pass+密码同步IIS metabase数据库密码

运行cscript c:inetpubadminscriptssynciwam.vbs-v同步IWAM账号在COM+应用程序中的密码

以上是我结合教学经验以及网上的一些指导所做的总结, 实际上防火墙阻止, ODBC配置错误, Web服务器性能限制, 线程限制等因素也是造成IIS服务器无法访问的可能原因, 这里就不再一一馈述了。

参考文献

[1]《动态网页设计ASP》.机械工业出版社, 2008.1[1]《动态网页设计ASP》.机械工业出版社, 2008.1

[2]《asp网络编程》.北大青鸟教程[2]《asp网络编程》.北大青鸟教程

Web服务器安全策略探讨 篇10

一般说来, Web服务器上可能存在的漏洞有以下几种。

⑴Web服务器因各种原因而不能返回客户要访问的秘密文件、目录或重要数据。⑵远程用户向服务器发送信息时, 特别是像信用卡之类的重要信息时, 中途遭不法分子非法拦截。⑶入侵者可能突破Web服务器本身存在的一些漏洞, 破坏其中的一些重要数据, 甚至造成系统瘫痪。⑷CGI (Common Gateway Interface, 公共网关接口) 安全方面存在的漏洞。CGI是Web信息服务与外部应用程序之间交换数据的标准接口。它具有两个功能:收集从Web浏览器发送给Web服务器的信息, 并且把这些信息传送给外部程序:把外部程序的输出作为Web服务器对发送信息的Web浏览器的相应, 送给该Web浏览器。通过CGI程序, Web服务器真正实现了与Web浏览器用户之间的交互。在HTML文件中, 表单 (Form) 与CGI程序配合使用, 共同来完成信息交流的目的。

CGI可能的漏洞有:有意或无意地在主机系统中遗漏bug, 给非法黑客创造条件:用CGI脚本编写的程序在涉及远程用户从浏览器中输入表单或进行检索时, 会给Web主机系统造成危险。因此, 从CGI角度考虑Web的安全性, 主要是在编制程序时, 应详细考虑到安全因素, 尽量避免CGI程序中存在漏洞。因此, 不管是配置服务器, 还是在编写CGI程序时都要注意系统的安全性。应该堵住任何存在的漏洞, 创造安全的环境。

2 Web服务器的安全策略和安全机制

Web服务器的安全策略是由个人或组织针对安全而制定的一整套规则和决策。每个Web站点都应有一个安全策略, 这些安全策略因需求的不同而各不相同。对Web服务器提供者来说, 安全策略的一个重要的组成是哪些人可以访问哪些Web文档, 同时还定义获权访问Web文档的人和使用这些访问的人的有关权力和责任。采取何种安全措施, 取决于制定的安全策略。必须根据需要和目标来设置安全措施, 估计和分析安全风险。制定Web站点的安全策略的基本原则是不要为细节所困扰。

定义安全策略, 选择一套安全机制, 首先要做的是威胁分析, 主要包括以下几个方面。

⑴有多少外部入口点存在?有哪些威胁?⑵研究谁会对网络产生威胁:威胁来自黑客, 还是训练有素的有知识的入侵者, 或是来自工业间谍?⑶分析会有什么样的威胁:入侵者访问哪些数据库、表、目录或信息?威胁是网络内部的非授权使用, 还是移动数据?⑷数据是遭受到了破坏, 还是受到了攻击?攻击是网络内、外的非授权访问, 还是地址欺骗、IP欺骗及协议欺骗等?⑸确定安全保护的目标。⑹提出价格合理的安全机制。

根据威胁程度的大小、方向和入侵的对象, 进行分析评价, 作为制定Web的安全策略和设计网络安全措施的基本依据。安全设计时, 要优先考虑必要的且可行的步骤, 正确制定安全策略, 并采取必要的安全措施。

3 Web服务器的安全措施

⑴从基本做起。针对Web服务器的安全, 我们应从最基本的安全措施做起, 这是最保险的安全方式。比如, 将服务器上含有机密数据的区域都转换成NTFS格式:防毒程序也必须按时升级更新, 同时在服务器和桌面计算机上安装防毒软件, 这些软件可设定成每天自动下载最新的病毒库文件, 邮件服务器上也安装上防毒软件, 这类软件可扫描所有寄来的电子邮件, 寻找被病毒感染的附件, 若发现病毒, 邮件会马上被隔离, 降低使用者被感染的机会。还可以限定使用者登录网络时的权限。存取网络上的任何数据都必须通过密码登录。在设定密码时, 混用大小写字母、数字和特殊字符。

⑵备份保护。大多数人都没有意识到, 备份本身就是一个巨大的安全漏洞。因此, 最好利用密码保护好备份磁盘, 若备份程序支持加密功能, 还可以将数据进行加密。

⑶审查网站活动, 安全存储日志。每一个安全专业人员都知道维护服务器活动日志的重要性。由于大多数Web服务器是公开的, 对所有互联网服务进行审核是很重要的。审核有助于检测和打击攻击, 并且可以检修服务器性能故障。在高级安全环境中, 要确保日志存储在物理安全的地点, 技巧是日志一产生就打印出来, 建立不能被入侵者修改的纸记录, 前提是入侵者没有物理访问权限。还可以使用电子备份, 例如登录进安全主机, 用数字签名进行加密, 来阻止日志被窃取和修改。

⑷对内部和外部应用分别使用单独的服务器。假设组织有两类独立的网络应用, 面向外部用户的服务和面向内部用户的服务, 要谨慎地将这些应用部署在不同的服务器上。这样做可以减少恶意用户突破外部服务器来获得对敏感的内部信息地访问。如果没有可用的部署工具, 至少应该考虑使用技术控制 (例如处理隔离) , 使内部和外部应用不会互相牵涉。

⑸及时升级或修补程序。在微软公司内部有一组工作人员专门检查并修补安全漏洞, 这些修补程序有事会被收集成服务包发布。很多网络管理员没有访问安全站点的习惯, 以至于一些漏洞都出了很久了, 还放着服务器的漏洞不补给人家当靶子用。谁也不敢保证数百万行以上代码的系统不出一点安全漏洞, 经常访问微软和一些安全站点, 下载最新的service pack和漏洞补丁, 是保障服务器长久安全的唯一方法。

综上所述, 在构建Web服务器时, 首先要从实际情况舒服, 根据安全策略决定具体的需求, 广泛地收集、分析有关安全信息和相关知识, 借鉴优秀方案的精华, 能够最好的满足企业或单位的Web安全需求。

摘要:随着基于Web的应用系统越来越多, 应用越来越广泛, 其安全性也越来越受人们的重视。本文分析了Web服务器可能存在的漏洞, 对构建Web服务器的安全策略和应该采取的安全措施进行了探讨。

上一篇:预测编码下一篇:黄连木嫁接苗培育技术