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

Web网页的不同安全机制

Linux通过apach的httpd服务建立的web服务有3种不同的安全方式

  1. 身份验证 (通过账号密码验证用户的身份)
  2. 来源控制  (通过ip地址的过滤限定访问的用户)
  3. 加密访问  (通过数字证书保证数据的安全性)

一:身份验证的实现:

Centos安装完成httpd服务后启动

[[email protected] Packages]# vim /etc/httpd/conf/httpd.conf   编辑配置文件

将none改为all(开启身份验证)

[[email protected] Packages]# cd /var/www/html/   进入网页主目录

[[email protected] html]# vim .htaccess   创建点开头的隐含文件

authuserfile   /var/www/.htpasswd     //账号库密码的位置

authname   "please input your name and passwd"  //说明文字

authtype    basic                 //安全类型

require     valid-user             //针对的用户

将文件编辑为如此

[[email protected] html]# cd ..        进入账号库文件放置的目录下

[[email protected] www]# htpasswd -c .htpasswd wang   创建一个账号库文件且加入一个用户名为wang

 然后提示输入密码

[[email protected] www]# htpasswd .htpasswd centos         创建第二个账户

[[email protected] www]# service httpd restart   重启httpd服务

然后浏览器访问测试下

提示需要输入账号密码

输入账号密码后成功访问

二:来源控制的实现

[[email protected] 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访问

[[email protected] www]# service httpd restart    重启httpd

现在我虚拟机ip为192.168.2.100,访问测试下

无法登陆

将ip改为192.168.2.10访问

成功访问

从日志可以看到访问情况

三.加密访问的实现

Openca

[[email protected] www]# rpm -qa |grep openssl

openssl-1.0.1e-15.el6.i686     查看是否安装过相应的包,如果没有安装,请自行安装

[[email protected] www]# cd /etc/pki/    进入pki目录

[[email protected] pki]# vim tls/openssl.cnf    编辑证书配置文件

找到此内容,修改为:

其中45行的index.txt  51行的serial  CA目录里没有,需要建个这文件

[[email protected] modules]# cd /etc/pki/CA/

[[email protected] CA]# touch index.txt

[[email protected] CA]# touch serial

[[email protected] CA]# echo "01" >serial  将serial加入编号

[[email protected] CA]# openssl genrsa >private/cakey.pem  生成私钥文件放入当前private文件夹里的cakey

[[email protected] CA]# cd private/

-rw-r--r--. 1 root root 887 Aug 18 16:59 cakey.pem

[[email protected] private]# chmod 600 cakey.pem   (改变文件的权限以达到安全的目的)

[[email protected] CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem  输出公钥

错误!未找到目录项。

出现了输入名字,如果想要改变默认值可以编辑

[[email protected] pki]# vim tls/openssl.cnf

修改成

然后下面这些是默认值:

修改即可    然后执行

[[email protected] CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem

这些可以选择默认,也可以自己修改

[[email protected] CA]# ll /media/cdrom/Packages/|grep ssl  需要安装和ssl相关的模块,先查询下

[[email protected] CA]# yum --disablerepo=\* --enablerepo=c6-media install mod_ssl -y  然后安装

[[email protected] CA]# rpm -ql mod_ssl   查询下是否安装成功

[[email protected] CA]# vim /etc/httpd/conf.d/ssl.conf   可以查看证书配置文件

[[email protected] CA]# mkdir /etc/httpd/certs  创建个cert目录

[[email protected] CA]# cd /etc/httpd/certs/

[[email protected] certs]# openssl genrsa >httpd.key  生产私钥给我当前目录新建的http.key文件

[[email protected] certs]# chmod 600 httpd.key   更改权限达到安全的目的

[[email protected] 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]:HENAN

Locality Name (eg, city) [BEIJING]:ZHENGZHOU

Organization Name (eg, company) [Default Company Ltd]:HAHA

Organizational Unit Name (eg, section) []:QQ

Common Name (eg, your name or your server‘s hostname) []:www.qq.com

Email Address []:

自己选择填写的选项

[[email protected] certs]# openssl ca -in httpd.req -out httpd.cert  给httpd颁发证书

[[email protected] pki]# cd /etc/pki/CA/

[[email protected] CA]# cat index.txt

V 150818112629Z 01 unknown /C=CN/ST=HENAN/O=HAHA/OU=QQ/CN=www.qq.com

文件里有了文件

[[email protected] certs]# vim /etc/httpd/conf.d/ssl.conf     将证书跟web服务器捆绑

105 SSLCertificateFile /etc/httpd/certs/httpd.cert   改为证书所在的目录

112 SSLCertificateKeyFile /etc/httpd/certs/httpd.key   私钥文件所在目录

[[email protected] certs]# service httpd configtest

Syntax OK       语法检测正确

[[email protected] certs]# service httpd restart   重启httpd服务

[[email protected] certs]# netstat -tupln |grep httpd

tcp        0      0 :::80                       :::*                        LISTEN      6664/httpd

tcp        0      0 :::443                      :::*                        LISTEN      6664/httpd

查看httpd端口,一个是明文端口80,一个是密文端口443,。

进行测试

提示需要安装证书

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

编辑此目录下的host文件

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

时间: 2024-08-24 21:56:44

linux http服务器web网页的不同安全机制的相关文章

Linux上部署web服务器并发布web项目

近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以及我对此做的一些总结和个人的一些见解,希望对跟我一样的新手们有些帮助,有误的地方还请大神们指出 ??!(以下操作都是在虚拟机中进行) 1.选用CentOS6 64位作为服务器系统. (原因:redhat要钱,而CentOS免费:CentOS相比于其它linux系统要成熟.稳定一点:CentOS7操作命令和目录结构发生了一些变化所以选用版本6) 2.

Linux一键安装web环境全攻略(阿里云服务器)

摘自阿里云服务器官网,此处 一键安装包下载: 点此下载 安装须知 1.此安装包可在阿里云所有linux系统上部署安装,此安装包包含的软件及版本为: nginx:1.0.15.1.2.5.1.4.4 apache:2.2.22.2.4.2 mysql:5.1.73.5.5.35.5.6.15 php:5.3.18.5.4.23.5.5.7 php扩展:memcache.Zend Engine/ OPcache ftp:(yum/apt-get安装) phpwind:8.7 GBK phpmyadm

3个常用基于Linux系统命令行WEB网站浏览工具(w3m/Links/Lynx)

一般我们常用的浏览器肯定是基于可视化界面的图文结合的浏览界面效果,比如FireFox.Chrome.Opera等等,但是有些时候折腾和项目 的需要,在Linux环境中需要查看某个页面的文字字符,我们需要简单的浏览网页页面,但是也不需要特别复杂的视频.图片功能. 我们可以采用本地客户端的浏览然后再去校队,但是效率比较低,或者直接在Linux服务器中用wget类似的下载工具到本地,然后再去搜索字符,今 天老左有接触到适合Linux系统环境的WEB网站浏览器工具,常用的有w3m.Links.Lynx三

优化Linux生产服务器的经验之谈

[51CTO独家特稿]如何优化自己的Linux生产服务器?本文结合实际的工作经验,总结了优化Linux生产服务器的九大要点.如果有些方法您尚未采用,不妨一试. 一.时间同步 生产环境下的服务器对时间的要求是精准的,我的邮件服务器的dovecot服务,以前经常因为时间问题自动停止服务,建议编辑 vim /etc/crontab 至今每天跟ntp时间服务器自动对时一次: 14 04 * * * root /usr/sbin/ntpdate ntp.api.bz > /dev/null 2>&

WEB网页输入框的默认键盘类型控制

参考资料 http://www.w3school.com.cn/html5/att_input_type.asp : 语法 <input type="value"> 属性值 值 描述 button 定义可点击的按钮(大多与 JavaScript 使用来启动脚本) checkbox 定义复选框. color 定义拾色器. date 定义日期字段(带有 calendar 控件) datetime 定义日期字段(带有 calendar 和 time 控件) datetime-lo

Linux 高性能服务器编程——高级I/O函数

重定向dup和dup2函数 [cpp] view plaincopyprint? #include <unistd.h> int dup(int file_descriptor); int dup2(int file_descriptor_one, int file_descriptor_two); dup创建一个新的文件描述符, 此描述符和原有的file_descriptor指向相同的文件.管道或者网络连接. dup返回的文件描述符总是取系统当前可用的最小整数值. dup2函数通过使用参数f

Linux ISCSI服务器搭建

Linux ISCSI服务器搭建 1. iscsi服务器简述 iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Sma

HTML5应用程序缓存实现离线Web网页或应用

HTML5应用程序缓存和浏览器缓存的区别.(有些)浏览器会主动保存自己的缓存文件以加快网站加载速度.但是要实现浏览器缓存必须要满足一个前提,那就是网络必须要保持连接.如果网络没有连接,即使浏览器启用了对一个站点的缓存,依然无法打开这个站点.只会收到一条错误信息.而使用离线web应用,我们可以主动告诉浏览器应该从网站服务器中获取或缓存哪些文件,并且在网络离线状态下依然能够访问这个网站. 如何实现HTML5应用程序缓存.实现HTML5应用程序缓存非常简单,只需三步,并且不需要任何API.只需要告诉浏

LINUX虚拟服务器--LVS的搭建

本次实验做得是章文嵩博士创立的开源项目LVS(LinuxVirtual Server). Linux虚拟服务器,是一个虚拟的集群系统,目的是为了加强系统的可用性以及可伸缩性.本次实验使用四台虚拟机,其中两台作为提供服务的真机(real server)另外两台作调度器,实现ip负载均衡,其实实现ip负载均衡主要是有ipvs这个模块来实现的.LVS中有四种ip负载均衡技术,("VS/NAT"."VS/TUN"."VS/DR"."VS/FUL