企业门户网站安全访问解决方案研究

2016-11-02 18:56杨海艳
电脑知识与技术 2016年18期
关键词:数据加密网站证书

杨海艳

摘要: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

[root@300second 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@yhy.com

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访问。

猜你喜欢
数据加密网站证书
WJCI 收录证书
CSCD收录证书
收录证书
收录证书
云数据存储安全关键技术研究
河洛文化旅游资源外宣网站日译现状调查及对策研究