摘 要:对目前日益严峻的网站安全问题进行分析,提出了网站安全防护措施,通过基于UNIX和Windows等常用平台,介绍WEB网站的防护经验。?
关键词:网站;安全;防护?
1 网站技术简介安全威胁的来源?
1.1 WWW技术简介?
World Wide Web称为万维网,简称Web。分成服务器端、客户接收机及通讯协议三个部分。?
1.1.1 服务器(Web服务器)?
服务器结构中规定了服务器的传输设定、信息传输格式及服务器本身的基本开放结构。Web服务器的作用就是管理这些文档,按用户的要求返回信息。?
1.1.2 客户接收机(Web浏览器)?
客户机系统称为Web浏览器,用于向服务器发送资源索取请求,并将接收到的信息进行解码和显示。Web浏览器是客户端软件,它从Web服务器上下载和获取文件,翻译下载文件中的HTML代码,进行格式化,根据HTML中的内容在屏幕上显示信息。?
1.1.3 通讯协议(HTTP协议)?
Web浏览器与服务器之间遵循HTTP协议进行通讯传输。HTTP(HyperText Transfer Protocol,超文本传输协议)是分布式的Web应用的核心技术协议,在TCP/IP协议栈中属于应用层。它定义了Web浏览器向Web服务器发送索取Web页面请求的格式,以及Web页面在Internet上的传输方式。?
1.2 服务器安全威胁?
对于Web服务器、服务器的操作系统、数据库服务器都有可能存在漏洞,恶意用户都有可能利用这些漏洞去获得重要信息。Web服务器上的漏洞可以从以下几方面考虑:?
Web服务器操作系统本身存在一些漏洞,能被黑客利用侵入到系统,破坏一些重要文件,甚至造成系统瘫痪。?
Web数据库中安全配置不完整,存在弱口令或被数据库注入等安全漏洞,导致数据丢失或服务中断。?
Web服务器上的数据存储结构不合理,没有划分安全区域或重要数据没有存放在安全区域,导致被侵入。?
Web服务器上运行的程序存在安全漏洞,或应用程序所需要的权限过高没有优化,容易被黑客侵入。?
1.3 客户端安全威胁?
现在网页中的活动内容已被广泛应用,活动内容的不安全性是造成客户端的主要威胁。主要用到Java Applet、ActiveX、Cookie等技术都存在不同的安全隐患。?
1.4 数据传输中的安全威胁?
Internet是连接Web客户机和服务器通信的信道,是不安全的。未经授权的用户可以改变信道中的信息流传输内容,造成对信息完整性的安全威胁。此外,还有像利用拒绝服务攻击,向网站服务器发送大量请求造成主机无法及时响应而瘫痪,或者发送大量的IP数据包来阻塞通信信道,使网络的速度便缓慢。?
2 WEB安全保护的原则?
2.1 实用的原则?
针对网站架构,网站安全问题主要分为以下四个方面:服务器安全、边界安全、Internet和Extranet上的安全,在攻击行为发生前,做到防患于未然是预防措施的关键。?
2.2 积极预防的原则?
对WEB系统进行安全评估,权衡考虑各类安全资源的价值和对它们实施保护所需要的费用,通过评估,确定不安全情况发生的几率,采用必要的软硬件产品,加强网站日常安全监控。?
2.3 及时补救的原则?
在攻击事件发生后尽快恢复系统的正常运行,并找出发生攻击事件问题的原因,将损失降至最低,并研究攻击发生后应对措施。?
3 建立安全的Web网站?
3.1 合理配置主机系统?
3.1.1 仅提供必要的服务?
默认安装的操作系统都有一系列常用的服务。例如UNIX系统将提供Finger、Sendmail、FTP、NFS、IP转发等,Windows NT系统将提供RPC、IP)转发、FTP、SMTP等。而且,系统在缺省的情况下自动启用这些服务,或提供简单易用的配置向导。为此,在安装操作系统时,应该只选择安装必要的协议和服务;对于UNIX系统,应检查/etc/rc.d/目录下的各个目录中的文件,删除不必要的文件;对于Windows系统,应删除没有用到的网络协议,不要安装不必要的应用软件。一般情况下,应关闭Web服务器的IP转发功能。?
对于专门提供Web信息服务(含提供虚拟服务器)的网站,最好由专门的主机(或主机群)作Web服务器系统,对外只提供Web服务,没有其他任务。这样,可以保证(1)使系统最好地为Web服务提供支持;(2)管理人员单一,避免发生管理员之间的合作不调而出现安全漏洞的现象;(3)用户访问单一,便于控制;(4)日志文件较少,减轻系统负担。?
对于必须提供其他服务,则必须仔细设置目录、文件的访问权限,确保远程用户无法通过Web服务获得操作权限。?
3.1.2 使用必要的辅助工具,简化安全管理?
启用系统的日志(系统帐户日志和Web服务器日志)记录功能。监视并记录访问企图是主机安全的一个重要机制,以利于提高主机的一致性以及其数据保密性。?
3.2 合理配置Web服务器?
在Unix OS中,以非特权用户而不是Root身份运行Web服务器。?
(1)设置Web服务器访问控制。通过IP地址控制、子网域名来控制,未被允许的IP地址、IP子网域发来的请求将被拒绝;?
(2)通过用户名和口令限制。只有当远程用户输入正确的用户名和口令的时候,访问才能被正确响应。?
(3)用公用密钥加密方法。对文件的访问请求和文件本身都将加密,以便只有预计的用户才能读取文件内容。?
3.3 设置Web服务器有关目录的权限?
为了安全起见,管理员应对”文档根目录“和“服务器根目录”做严格的访问权限控制。?
服务器根目录下存放日志文件、配置文件等敏感信息,它们对系统的安全至关重要,不能让用户随意读取或删改。?
服务器根目录下存放CGI脚本程序,用户对这些程序有执行权限,恶意用户有可能利用其中的漏洞进行越权操作。?
服务器根目录下的某些文件需要由Root来写或者执行,如Web服务器需要Root来启动,如果其他用户对Web服务器的执行程序有写权限,则该用户可以用其他代码替换掉Web服务器的执行程序,当Root 再次执行这个程序时,用户设定的代码将以Root身份运行。?
3.4 安全管理Web服务器?
Web服务器的日常管理、维护工作包括Web服务器的内容更新,日志文件的审计,安装一些新的工具、软件,更改服务器配置,对Web进行安全检查等。?
参考文献?
〔1〕?单欧.SSL在web安全中的应用〔J〕.信息网络安全,2004,(6).?
点此咨询学术顾问 快人一步得到答案