千家信息网

Apache的站点安全技术

发表于:2024-09-29 作者:千家信息网编辑
千家信息网最后更新 2024年09月29日,在实验中web服务器地址为:192.168.80.10,客户机地址为192.168.80.200实验目的:能够控制用户对该web服务器访问。[root@localhost ~]# yum --disa
千家信息网最后更新 2024年09月29日Apache的站点安全技术

在实验中web服务器地址为:192.168.80.10,客户机地址为192.168.80.200

实验目的:能够控制用户对该web服务器访问。
[root@localhost ~]# yum --disablerepo=* --enablerepo=c6-media install httpd

安装httpd服务
为了实现身份验证在/etc/httpd/conf/httpd.conf 第336行改为"AllowOverride all"

在/var/www/html/目录下编辑一个名称为.htaccess的说明文件,此文件必须在站点主目录下,内容编辑如下:
authuserfile /var/www/.htpasswd
authname "please in put your name and password"
authtype basic
require valid-user
上边的只是一个说明文件,接下来要产生一个账号库文件:
这里需要一个工具htppasswd来产生 ,此工具在/usr/bin/目录下
直接执行此工具:
[root@localhost www]# htpasswd -c .htpasswd abc ,然后会提示两次输入密码123
在当前目录下生成一个名称为.htpasswd的文件,并写入一个账号为abc密码为123的用户
如果要再次写入一个用户的话 就不用加-c了,-c是表示创建一个新文件。
[root@localhost html]# echo 'hello' >index.html
在当前目录下建立一个静态网页名称为index.html,并写入一个单词 "hello"
重启httpd服务:
[root@localhost html]# service httpd restart
然后在一个与本地地址同网段的pc浏览器中登陆http://192.168.80.10
发现需要输入账号和密码:
输入账号:abc密码:123
进入后可以看到如下界面:


也可以同过对访问地址来源来限制访问:
在/etc/httpd/conf/httpd.conf 第341行至343行修改如下:
只允许地址为192.168.80.200的主机访问,而别的地址不可访问。
Order allow,deny
Allow from 192.168.80.200
Deny from any
注:在这里allow和deny的顺序一定要一致。
我把刚才那台主机地址改为192.168.80.201,此时发现已经不可访问此站点:

而把地址改回来之后又可继续访问了。

接下来我要在linux系统中使用openssl来实现CA的安装和CA的发放:
[root@localhost html]# rpm -qa |grep openssl
首先查看一下系统中有没有安装apenssl,如果没有可以自行安装,这里不详细说了
进入/etc/pki/ PKI-公钥基础设施
查看/etc/pki/tls/下的openssl.conf ,这是openssl的配置文件:

[root@localhost tls]# vim openssl.cnf
查看40至53行:

如果有些文件/目录没有的话就自己创建一个:

我的系统中/etc/pki/CA目录下的文件有这些:

所以要做以下的一些步骤:

[root@localhost CA]# openssl genrsa 1024 >private/cakey.pem
在当前目录的private目录下用openssl产生一个用rsa加密算法加密的1024为的私钥,文件名称为cakey.pem(这个文件名称必须和openssl.conf里的文件名称相同)
[root@localhost CA]# chmod 600 private/cakey.pem
因为私钥是保密的,只能由管理员一个人可以访问所以改变它的权限
此时可以在 文件的128至139行修改如下,这是修改一些默认值,以免每次请求产生证书都要填写,当然也可以不该,在请求时自行填写:

在这里还需要填写一些别的资料,(我这里都是随便填写的):

[root@localhost CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem

请求产生一个证书,证书上的公钥从私钥上提取,证书格式为-x509,名称为cacert.pem(这个文件名称必须和openssl.conf里的文件名称相同)

到这里证书已经产生成功:

接下来要产生web的私钥:
[root@localhost CA]# mkdir -pv /etc/httpd/certs
mkdir: created directory `/etc/httpd/certs'
[root@localhost CA]# cd /etc/httpd/certs/
[root@localhost certs]# openssl genrsa 1024 >httpd.key
产生一个httpd.key的私钥文件。
[root@localhost certs]# chmod 600 httpd.key
改变权限
编辑openssl.conf文件:将其中的85行至87行修改如下:
将match改为optional

这样可以使所有国家和单位的人都可以请求证书。
[root@localhost certs]# openssl req -new -key httpd.key -out httpd.crq
产生一个名为httpd.crq的请求文件,因为这个不是私钥文件,所以不用加-x509

有了请求文件之后,可以基于请求文件来申请一份证书,产生的证书名称为httpd.cert:

[root@localhost certs]# openssl ca -in httpd.crq -out httpd.cert


这时查看/etc/pki/CA/index.txt文件,发现已经多了一条记录:
[root@localhost CA]# cat index.txt

接下来要把web和证书绑定:
此时要调用一个模块:mod_ssl
如果没有的话自行安装一个mod_ssl,安装后就会有一个mod_ssl.so文件
在这个目录下:

[root@localhost CA]# vim /etc/httpd/conf.d/ssl.conf
编辑此文件
将第105行修改为 SSLCertificateFile /etc/httpd/certs/httpd.cert 指明证书目录
将第112行修改为 SSLCertificateKeyFile /etc/httpd/certs/httpd.key 指明秘钥目录

重新启动httpd服务后,查看端口发现明文端口与加密端口都已开启:
[root@localhost CA]# netstat -tupln |grep http

再到本地ip地址为192.168.80.200的主机中把C:\WINDOWS\system32\drivers\etc目录下的hosts中添加一句:
192.168.80.10 www.abc.com

这是告诉这台主机,地址192.168.80.10的名称是www.abc.com,然后登陆http://www.abc.com,发现有提示证书是不可信任的:

进入到/etc/httpd/conf.d/ssl.conf,编辑此文件

[root@localhost CA]# vim /etc/httpd/conf.d/ssl.conf
将第120行修改为 SSLCertificateChainFile /etc/pki/CA/cacert.pem

在进入到客户主机中,点击安装证书:

然后可以在Internet"属性"》"内容"》"证书"》"受信任的根证书颁发机构"中可以看到有一个abc.org.cn颁发的证书:

此时再次重新访问http://www.abc.com;

无任何提示信息,并且访问成功!

文件 证书 目录 名称 地址 主机 服务 接下来 密码 账号 工具 用户 端口 系统 这是 加密 提示 输入 站点 相同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 信创数据库 海量数据 数据库哪个阶段可以实现数据共享 编辑数据库和大数据分析能力 网络安全徽章图片 线上网络安全知识问答怎么看分数 国家网络安全宣传周几月举行 操作系统服务器和操作系统区别 宽谱科技卫星互联网领域 国家网络安全宣传日总结 武汉网络安全员培训机构 达梦数据库国产服务器 数据库查阅选项 数据库在阿里云什么位置 软件开发要用CAD吗 完美世界服务器信息连接错误 各省家庭收入数据库 网络安全的微电影吃饭 ai数据库医学研究方向讨论 vps服务器进不去 有潜力的重庆服务器托管云服务器 关于网络安全的素材英文版 项目实施软件开发方面 华为服务器开机无显示 邯郸计算机应用软件开发公司 南昌交互软件开发团队 海康dvr连接私有云服务器 苹果怎么升级网络安全性 查询数据库数据行数据 联想服务器磁盘阵列550 古诗词鉴赏网的数据库
0