Apache Web安全
我们大家都知道在自己浏览器访问网页的时候,我们用的是 http协议,如输入:www.baidu.com我们的浏览器默认发出的请求是http://www.baidu.com。http协议是一种超文本传输协议,基于ip/tcp的tcp协议之上的协议,我们可以用http协议来访问我们想去的网站,想看的资料,这一切都是没有问题的,但是随着网络的发展我们的很多交易需要在互联网上进行,http协议是明文协议,这无疑我们的安全是无法保证的,所有后来出现shttp协议,这样把我们的安全等级大大提高。
但是还有一些问题,比如自己的私人网站,不希望在互联网上面被任何人都能访问,我们需要一下特定用户来访问,我们需要一些我们认证过的用户才能访问我们的站点,这样我们应该怎么办呢?
还有我们在访问一些金融网站,例如×××,我们怎么才能认可它是真的官网,它的数字证书有吗,我们在官网交易的时候怎么才能确定我们是本银行的用户呢??怎么才能保证我们交易环境的安全呢?
保障web站点安全的常规方式:
1.身份验证
身份验证就是我们认可的合法用户可以访问我们的站点,怎么区别是否为合法用户呢?我们采取验证的方式,能够通过 验证的的用户就是合法用户,那么下面我们就来看看怎么开启身份验证:
试验环境:PC一台,虚拟机linux 内核vmlinuz-2.6.18-164.el5网络连接host-only
A.在我们apache的配置文件中修改文件:配置文件的位置: /etc/httpd/conf/httpd.conf
B.然后我们在站点的主目录下面添加我们的说明文件和站点主页:
站点主目录位置:/var/www/html/
产生我们的说明文件 .htaccess:
C.产生帐号文件
htpasswd -c 帐号文件 帐号
重新启动服务我们来测试一下:service httpd restart
我们现在去访问一下我们的站点:
2.来源控制:
试验环境:PC一台,虚拟机linux 内核vmlinuz-2.6.18-164.el5网络连接host-only
A.我们来配置apache的主配置文件:
重新启动服务我们来测试一下:service httpd restart
3.加密访问以及https的引用
试验环境:PC一台,虚拟机linux 内核vmlinuz-2.6.18-164.el5网络连接host-only
虚拟机wind2003 ip地址与虚拟机linux ip 在同一网段
加密访问顾名思义我们在访问时加上密码,我们在访问网页的时候使用的是http协议,现在我们在访问一些交易网站如:淘宝,我们会发现不再是http而是https协议,https是在http协议之上改进的,那么我们就来看看加密访问:
下图我们看到我们的服务器出示的数字证书,那么怎么我们让我们的服务器得到数字证书:
数字证书的产生过程顺序 私钥---》请求文件 ---》证书文件:
查看当前linux是否安装openssl工具(openssl数字证书的产生工具)
我们去产生数字证书,首先来到证书的根目录下面 /etc/pki/进入目录:
我们来到目录/etc/pki/CA/private生成私钥:
CA为自己办法证书:
产生之后我们需要修改文件:
现在我们的CA已经做好了,我们来做我们的服务器:
在做我们的服务器数字证书之前我们必须要安装一个包,让我们的服务器支持443端口,支持https协议:
产生我们的数字证书:
我们的服务器已经拥有了数字证书,我们现在要去捆绑证书与server:
我们试着访问我们站点 :
之所以出现安全拦截信息,是因为我们的客户端不相信此网站,意思就是我们客户端的证书库没有我们的证书,那么我们怎么才能让我们的客户端相信我们的证书呢?我们客户端的证书库怎么把我们的证书导入进入呢?
我们可以直接访问 liuhui.as就不会出现报错,但是我们需要更改本机的hosts文件,让它解析域名: