您的位置:首页 > 理论基础 > 计算机网络

linux http服务器web网页的不同安全机制

2014-10-28 16:43 344 查看
Web网页的不同安全机制Linux通过apach的httpd服务建立的web服务有3种不同的安全方式身份验证 (通过账号密码验证用户的身份)

来源控制 (通过ip地址的过滤限定访问的用户)

加密访问 (通过数字证书保证数据的安全性)

一:身份验证的实现:Centos安装完成httpd服务后启动[root@wang Packages]# vim /etc/httpd/conf/httpd.conf 编辑配置文件

将none改为all(开启身份验证)[root@wang Packages]# cd /var/www/html/ 进入网页主目录[root@wang html]# vim .htaccess 创建点开头的隐含文件

authuserfile /var/www/.htpasswd //账号库密码的位置authname "please input your name and passwd" //说明文字authtype basic //安全类型require valid-user //针对的用户将文件编辑为如此[root@wang html]# cd .. 进入账号库文件放置的目录下[root@wang www]# htpasswd -c .htpasswd wang 创建一个账号库文件且加入一个用户名为wang

然后提示输入密码[root@wang www]# htpasswd .htpasswd centos 创建第二个账户[root@wang www]# service httpd restart 重启httpd服务然后浏览器访问测试下

提示需要输入账号密码

输入账号密码后成功访问二:来源控制的实现[root@wang www]# vim /etc/httpd/conf/httpd.conf 编辑配置文件将342行修改为 Order deny,allow 343 Allow from 192.168.2.10 344 deny from all先deny all,然后allow 192.168.2.10访问[root@wang www]# service httpd restart 重启httpd现在我虚拟机ip为192.168.2.100,访问测试下



无法登陆

将ip改为192.168.2.10访问

成功访问

从日志可以看到访问情况三.加密访问的实现 Openca[root@wang www]# rpm -qa |grep opensslopenssl-1.0.1e-15.el6.i686 查看是否安装过相应的包,如果没有安装,请自行安装[root@wang www]# cd /etc/pki/ 进入pki目录[root@wang pki]# vim tls/openssl.cnf 编辑证书配置文件

找到此内容,修改为:其中45行的index.txt 51行的serial CA目录里没有,需要建个这文件[root@wang modules]# cd /etc/pki/CA/[root@wang CA]# touch index.txt[root@wang CA]# touch serial[root@wang CA]# echo "01" >serial 将serial加入编号[root@wang CA]# openssl genrsa >private/cakey.pem 生成私钥文件放入当前private文件夹里的cakey[root@wang CA]# cd private/-rw-r--r--. 1 root root 887 Aug 18 16:59 cakey.pem[root@wang private]# chmod 600 cakey.pem (改变文件的权限以达到安全的目的)[root@wang CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem 输出公钥错误!未找到目录项。出现了输入名字,如果想要改变默认值可以编辑[root@wang pki]# vim tls/openssl.cnf

修改成

然后下面这些是默认值:

修改即可 然后执行[root@wang CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem

这些可以选择默认,也可以自己修改[root@wang CA]# ll /media/cdrom/Packages/|grep ssl 需要安装和ssl相关的模块,先查询下[root@wang CA]# yum --disablerepo=\* --enablerepo=c6-media install mod_ssl -y 然后安装[root@wang CA]# rpm -ql mod_ssl 查询下是否安装成功[root@wang CA]# vim /etc/httpd/conf.d/ssl.conf 可以查看证书配置文件[root@wang CA]# mkdir /etc/httpd/certs 创建个cert目录[root@wang CA]# cd /etc/httpd/certs/[root@wang certs]# openssl genrsa >httpd.key 生产私钥给我当前目录新建的http.key文件[root@wang certs]# chmod 600 httpd.key 更改权限达到安全的目的[root@wang certs]# openssl req -new -key httpd.key -out httpd.req 相对于http.key私钥生成公钥-----Country Name (2 letter code) [CN]:State or Province Name (full name) [BEIJING]:HENANLocality Name (eg, city) [BEIJING]:ZHENGZHOUOrganization Name (eg, company) [Default Company Ltd]:HAHAOrganizational Unit Name (eg, section) []:QQCommon Name (eg, your name or your server's hostname) []:www.qq.comEmail Address []:自己选择填写的选项[root@wang certs]# openssl ca -in httpd.req -out httpd.cert 给httpd颁发证书

[root@wang pki]# cd /etc/pki/CA/[root@wang CA]# cat index.txtV 150818112629Z 01 unknown /C=CN/ST=HENAN/O=HAHA/OU=QQ/CN=www.qq.com 文件里有了文件[root@wang certs]# vim /etc/httpd/conf.d/ssl.conf 将证书跟web服务器捆绑

105 SSLCertificateFile /etc/httpd/certs/httpd.cert 改为证书所在的目录112 SSLCertificateKeyFile /etc/httpd/certs/httpd.key 私钥文件所在目录[root@wang certs]# service httpd configtestSyntax OK 语法检测正确[root@wang certs]# service httpd restart 重启httpd服务[root@wang certs]# netstat -tupln |grep httpdtcp 0 0 :::80 :::* LISTEN 6664/httpd tcp 0 0 :::443 :::* LISTEN 6664/httpd 查看httpd端口,一个是明文端口80,一个是密文端口443,。进行测试

提示需要安装证书



证书信息正是自己设置的,成功!如果不想每次访问的时候都提示安装证书可以使用域名访问,我这里做个简单的host代替dns

编辑此目录下的host文件

加入192.168.2.50 输入自己颁发的域名即可 即可

本文出自 “你猜我是谁” 博客,请务必保留此出处http://whhhj.blog.51cto.com/9289395/1568904
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: