标题 | 企业门户网站安全访问解决方案研究 |
范文 | 杨海艳 摘要:Web服务器在默认的情况下,都是使用的纯文本协议HTTP。与其名称描述的一样,纯文本协议不会对传输中的数据进行任何形式的加密,其在安全方面有重大缺陷。经过HTTP协议传输的数据就像是在裸奔一样很容易被"中间人"窃取。恶意用户甚至可以在传输路径设置一个假冒的WEB服务器冒名顶替实际的目标Web服务器。在这种情况下,用户可能实际上与假冒者服务器进行通信。这样,恶意用户可以通过精心设计的表单欺骗终端用户获取到敏感信息,如用户名密码。为了解决HTTP协议存在的安全隐患,我们可以在企业门户站点如网上银行、购物网站、金融证券交易网站、政府机构网站等的web服务器上部署SSL证书应用HTTPS加密协议。 关键词:网站;安全访问;数据加密;证书 中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)18-0023-02 HTTPS加密协议是HTTP的安全版本,由ssl+http协议构建,可进行加密传输和身份认证,比http协议更加安全。HTTPS能够为站点提供至少以下2大保障。 1)确保所有经过服务器传输的数据包都是经过加密的。 2)对网站服务器真实身份进行认证,避免被假冒。 那么,站点如何实现HTTPS加密协议呢?首先您需要到合法CA机构如沃通CA申请一张SSL数字证书。对于个人站点或者不涉及敏感信息的站点,可以申请沃通免费SSL证书,对于全球性商业网站(银行、购物、支付类),建议购买高级别的EVSS证书,不仅能保证站点数据安全,还能提高站点服务商的信誉。 HTTPS实际上应用了Netscape的安全全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是像HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。 如何在CentOS6.5中配置Apache的HTTPS服务,这将是本文要解决的重点问题,这里以自签证书(仅用于测试)为例来搭建一个基于https访问的网站。 如果CentOS已经安装了Apache Web服务器,我们需要使用OpenSSL生成自签名证书。如果尚未安装OpenSSL,它可以使用yum来安装。 1 企业背景设计 web服务器需要为客户机提供web服务,为了让客户机能够定位到自己,web服务器需要一个固定的IP地址(192.168.1.254)。 使用setup命令配置IP地址或直接修改网卡的配置文件,来配置web服务器的IP地址:#vim/etc/sysconfig/network-scripts/ifcfg-eth0 ,配置完成后,需要重启网络服务:service network restart 搭建DNS服务,在本文中的dns解析情况如下所示: www.yhy.com 192.168.1.254 2 方案设计 2.1安装Apache,建立主页测试文件 # yum install -y httpd (安装Apache) #echo “This is a www.yhy.coms httpstest webpage ”>/var/www/html/index.html 2.2 设计Apache SSL支持模块 # yum install -y mod_ssl (默认yum安装httpd是没有安装该模块的,安装后自动生产/etc/httpd/conf.d/ssl.conf文件) 2.3 证书设计 使用命令产生一个自签名的证书。首先,生成2048位的加密私钥。 # openssl genrsa -out ca.key 2048 [[email protected] certs]# make server.csr(建立服务器密钥) 建立服务器证书 #openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 365 #chmod 400 server.*(修改权限为400,只有拥有者可读的权限) 把创建的证书文件复制到对应目录 # cp server.crt /etc/pki/tls/certs/ # cp server.key /etc/pki/tls/private/ # cp server.csr /etc/pki/tls/private/ 3 方案实施 3.1设置SSL配置Apache支持https # vim /etc/httpd/conf.d/ssl.conf(修改SSL的设置文件,制定www.abc.com站点https访问时的相关信息) # vim /etc/httpd/conf/httpd.conf (配置网站支持https) NameVirtualHost *:443 SSLEngine on SSLCertificateFile /etc/pki/tls/certs/server.crt SSLCertificateKeyFile /etc/pki/tls/private/server.key ServerAdmin [email protected] DocumentRoot /var/www/html/ ServerName www.yhy.com 3.2设置Apache在系统启动中运行 #chkconfig –-levels 235 httpd on(设置apache服务开机立即启动) #/etc/init.d/httpd start 或service httpd start(启动服务) 3.3强制Apache Web服务器始终使用HTTPS 如果由于某种原因,公司需要站点的Web服务器仅使用HTTPS,服务器需要将所有HTTP请求(端口80)重定向到HTTPS(端口443)。 1)强制网站使用HTTPS访问,需要在虚拟主机中添加如下语句: # vim /etc/httpd/conf/httpd.conf ServerName www.yhy.com:80 Redirect permanent / https://www.yhy.com 2)强制虚拟主机使用HTTPS,需要在虚拟主机中添加如下语句: # vim /etc/httpd/conf/httpd.conf ServerName www.yhy.com Redirect permanent / https://www.yhy.com/ 3)重启服务#service httpd restart 或#/etc/init.d/httpd restart 总之,站点存在用户注册登录、购买支付等交互时,HTTPS访问是大家一直推崇的访问方式,可以提供服务器的安全性。另外,服务器SSL证书也可根据自己需求去选择各种不同的SSL证书。 4 方案测试 在此可以查看证书信息和自建crt信息一致,点击【是】,看到测试页面: https访问的最终结果,但此网站还是可以通过http访问。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。