apache的web安全三部曲

简介:

apache的web安全三部曲

古云“蜀道之难,难于上青天~”在我这个刚入门不就得来说,想要维护一个网站的安全还真的挺不容易的,我们要时刻关注最新的安全动态,关注系统的漏洞,并积极的做好应对,对于一个网管,网站的维护,是比较重要的一个工程,先不论一些高层次的安全保护措施,对于httpd服务的基本安全措施,我们是应该好好掌握的,否则好不容易架起来一个网站,分分钟被一些电脑爱好者们给攻破了---------------》那那那就尴尬了。。。

  那么当我们架好一个网站之后,怎样去配置他的安全性呢??
  在linux中,我们有这样三种方法:

1.身份验证:对要在网页上执行操作的用户,进行身份验证,验证其合法性,真实性。

2.来源控制:某些东西比如公司的机密,我们是不能让外来人登录并查看的,假设:单位团队好不容易研发出了科技成果,一个外界用户一个”另存为“,或者“复制,粘贴”给考走了,那真是。。。。。

3.ssl套接层:也就是我们常常发现的网页上url的http变成了https,在有关金钱交易的购物网站上用的很多很多。

那下面我们就来看看如何走好这三部曲!!!

__

第一部曲:身份验证
要实现身份验证大致的流程:
A.在站点的主目录下写说明文件.htacess,说明的内容当然就是要进行身份验证了,这里有四个部分。
authuserfile /var/www/.htpasswd说明对用户身份验证,但是要创建用户验证账号库,但这里的与系统的账号库不是一个。
authname “please input youusername and passwd!!”弹出验证的端口,要求用户输入口令
authtype 验证的类型
required 要求什么样的用户可以访问
B.产生账号文件
htpasswd –c .htpasswd 账号名;使用该命令新建用户账号【注意-c 参数只用添加一次就好】
1.修改配置文件,httpd.conf
image

在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中。
2.创建站点的首页
image

[root@localhost html]# echo"welcome to lining's web" >> index.html
开启httpd服务,然后登陆,显示我们的测试页面。

3.配置身份验证
在网站根目录下 /var/www/html 建立 .htacss文件
image

4.在/var/www目录下,创建账号库文件,创建用户 lining
[root@localhostwww]# htpasswd -c .htpasswd lining
New password:
Re-type new password:
image

测试:
image

__
第二部曲------》来源控制
直接配置httpd.conf文件。
image

重启httpd服务,测试。
image

在这里我们进入到了其他的页面,而不是我们的主页面,因为我被拒绝访问了。
__
第二部曲-----》网站的加密访问【https】
在访问网站的时候我们通常,使用的是http开头的网站,http提供的是明码的传送方式,十分不安全。所以我们需要让他进行密文的传输,来提供安全性。
但是当我们浏览银行网站的时候,就变成https的网站。那么https是怎么实现的呢???
答:它是通过安全套阶层协议 ssl 实现的。
那么我们在linux中又怎么实现安全套阶层呢??
答:在linux要实现安全套接层时间加密访问我们就需要知道两样东西。

  1.openssl命令的使用
  2.PKI公钥基础设施

首先我们来了解一下openssl命令的使用。
1.查看openssl的文件目录,使用rpm -ql openssl命令。
image

查看openssl的功能,包括对称加密,非对称加密,校验等等功能!!!
image

2.摘要的做法【使用md5】。摘要的用途,可以用来检验内容的完整性,当我们使用MD5算法对内容进行运算,产生一个定长的摘要,我们可以将摘要和内容发给接收方,接收方通过再次计算摘要,对比两份摘要来确定内容是否被更改过。
【小例子】
复制inittab到以我的名字命名的文件夹,并做一个摘要。
[root@localhostlining]# openssl md5 inittab
MD5(inittab)=9d49303d50eb59151fc24eb0e3802232
更改inittab文件中的内容,再次做一个摘要。
[root@localhostlining]# openssl md5 inittab
MD5(inittab)=a30c76ea4096ab1eddf06657d4e9a590
3.加密 passwd【引入salt概念,当我们查看/etc/shadow文件时,你可能会发现,用户设置的密码在显示中是不一样的乱码,这些乱码就是由系统加密过得密码。系统通过添加一组字符串,然后混入输入的密码中,进行加密。】
image

4.对称加密/解密文件 des/des3
[root@localhost lining]# openssldes3 -a -in inittab -out f1 //用3倍des算法加密inittab文件,并将加密后的内容输出为f1文件。
enter des-ede3-cbcencryption password: lining //加密时所用的密码。解密是要用到。
Verifying -enter des-ede3-cbc encryption password: lining
image

[root@localhostlining]# openssl des3 -a -d -in f1 -out inittab2 //在此之前我删除inittab文件,将f1文件解密为inittab2 文件
enterdes-ede3-cbc decryption password:
[root@localhostlining]# ll
total 20
-rw-r--r-- 1root root 2288 Jul 11 03:44 f1
-rw-r--r-- 1root root 1665 Jul 11 04:11 inittab2
5.非对称加密 rsa【非对称算法中要用到公钥和私钥,私钥我们可以使用命令创建出来,公钥是从私钥中提取的】
首先产生公钥秘钥对~ 使用genrsa 1024 产生1024位的私钥,然后从私钥中提取公钥。
image

[root@localhostlining]# openssl rsa -in key.pem -pubout -out public.k //从私钥中导出公钥
writing RSA key

其次我们需要了解一下HTTPS在PKI上的运用:
由于PKI内容比较多所以暂不在本篇幅说明。。。。

那么现在我们就着手实现一个https的站点:
1.CA认证中心的实现,先修改openssl的配置文件【CA中心来对客户端进行验证并发放证书】
image

image

image

2.对于外部的客户端,他们需要请求证书,对于根CA,只需要 私钥----》请求文件
image

https默认使用端口443.所以要加装另外的模块。
[root@localhost~]# rpm -qa mod_ssl
mod_ssl-2.2.3-31.el5 //我的已经安装了这个模块我们之前说过,模块式动态加载的,也就是当你使用的时候,它自动加载,所以并没有什么操作。

然后再创建httpd的私钥请求文件以及证书
[root@localhosthttpd]# mkdir certs
[root@localhostcerts]# openssl genrsa 1024 > httpd.key //私钥文件
GeneratingRSA private key, 1024 bit long modulus
...++++++
...........................++++++
eis 65537 (0x10001)

[root@localhostcerts]# openssl req -new -in httpd.key -out httpd.req //请求文件
Generatinga 1024 bit RSA private key
...............................................................++++++
.......++++++
发放证书
image

[root@localhostCA]# cat index.txt //在证书数据库中更新了httpd证书的信息
V 140711013035Z 01 unknown /C=CN/ST=HENAN/O=MyCompany Ltd

httpd 和 证书捆绑:
[root@localhost CA]# vim /etc/httpd/conf.d/ssl.conf
112SSLCertificateFile /etc/httpd/certs/httpd.cert //指明站点的证书文件,用户也是要通过它来确定是否访问到了正确站点,而不是钓鱼网站
119SSLCertificateKeyFile /etc/httpd/certs/httpd.key //指明网站的公钥

登陆测试:
image

112SSLCertificateFile /etc/httpd/certs/httpd.cert
119SSLCertificateKeyFile /etc/httpd/certs/httpd.key
128SSLCertificateChainFile /etc/pki/CA/cacert.pem
继续修改配置文件ssl.conf,我们可以通过查看站点的证书链然后将证书导出安装到自己的计算机上面。从而实现客户端与服务器的加密访问。
本文出自 “LN__@linux” 博客,请务必保留此出处http://6839976.blog.51cto.com/6829976/1283404

目录
相关文章
|
25天前
|
安全
网易web安全工程师进阶版课程
《Web安全工程师(进阶)》是由“ i春秋学院联合网易安全部”出品,资深讲师团队通过精炼的教学内容、丰富的实际场景及综合项目实战,帮助学员纵向提升技能,横向拓宽视野,牢靠掌握Web安全工程师核心知识,成为安全领域高精尖人才。 ## 学习地址
23 6
网易web安全工程师进阶版课程
|
2月前
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
4月前
|
安全 测试技术 网络安全
2022年中职“网络安全“江西省赛题—B-4:Web安全深入测试
2022年中职“网络安全“江西省赛题—B-4:Web安全深入测试
62 1
|
4月前
|
存储 监控 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
|
4月前
|
SQL 存储 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
105 0
|
7天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
25天前
|
安全 测试技术 网络安全
Web安全基础入门+信息收集篇
学习信息收集,针对域名信息,解析信息,网站信息,服务器信息等;学习端口扫描,针对端口进行服务探针,理解服务及端口对应关系;学习WEB扫描,主要针对敏感文件,安全漏洞,子域名信息等;学习信息收集方法及实现安全测试,能独立理解WEB架构框架,树立渗透测试开展思路!
18 0
Web安全基础入门+信息收集篇
|
1月前
|
安全 数据库 开发工具
Django实战:从零到一构建安全高效的Web应用
Django实战:从零到一构建安全高效的Web应用
47 0
|
1月前
|
安全 中间件 Go
Go语言Web服务性能优化与安全实践
【2月更文挑战第21天】本文将深入探讨Go语言在Web服务性能优化与安全实践方面的应用。通过介绍性能优化策略、并发编程模型以及安全加固措施,帮助读者理解并提升Go语言Web服务的性能表现与安全防护能力。
|
2月前
|
存储 JSON 安全
解密Web安全:Session、Cookie和Token的不解之谜
解密Web安全:Session、Cookie和Token的不解之谜
68 0

推荐镜像

更多