apache的web安全三部曲

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

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

目录
相关文章
|
21天前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
39 1
|
24天前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
62 4
|
23天前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
50 2
|
25天前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
57 3
|
27天前
|
SQL 安全 Go
PHP在Web开发中的安全实践与防范措施###
【10月更文挑战第22天】 本文深入探讨了PHP在Web开发中面临的主要安全挑战,包括SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等,并详细阐述了针对这些风险的有效防范策略。通过具体案例分析,揭示了安全编码的重要性,以及如何结合PHP特性与最佳实践来加固Web应用的安全性。全文旨在为开发者提供实用的安全指南,帮助构建更加安全可靠的PHP Web应用。 ###
33 1
|
30天前
|
Kubernetes 安全 应用服务中间件
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
47 3
|
25天前
|
消息中间件 监控 Kafka
Apache Kafka 成为处理实时数据流的关键组件。Kafka Manager 提供了一个简洁的 Web 界面
随着大数据技术的发展,Apache Kafka 成为处理实时数据流的关键组件。Kafka Manager 提供了一个简洁的 Web 界面,方便管理和监控 Kafka 集群。本文详细介绍了 Kafka Manager 的部署步骤和基本使用方法,包括配置文件的修改、启动命令、API 示例代码等,帮助你快速上手并有效管理 Kafka 集群。
41 0
|
1月前
|
缓存 安全 JavaScript
掌握JAMstack:构建更快、更安全的Web应用
JAMstack 是一种现代 Web 开发架构,结合 JavaScript、APIs 和 Markup,创建更快、更安全的 Web 应用。其核心优势包括高性能、安全性、可扩展性和易维护性。JAMstack 通过预构建静态页面和 API 实现高效渲染,利用静态站点生成器如 Gatsby 和 Next.js,并借助 CDN 和缓存策略提升全球访问速度。尽管面临复杂交互、SEO 和数据更新等挑战,但通过 Serverless Functions、预渲染和实时 API 更新等方案,这些挑战正逐步得到解决。
|
2月前
|
SQL 安全 数据库
惊!Python Web安全黑洞大曝光:SQL注入、XSS、CSRF,你中招了吗?
在数字化时代,Web应用的安全性至关重要。许多Python开发者在追求功能时,常忽视SQL注入、XSS和CSRF等安全威胁。本文将深入剖析这些风险并提供最佳实践:使用参数化查询预防SQL注入;通过HTML转义阻止XSS攻击;在表单中加入CSRF令牌增强安全性。遵循这些方法,可有效提升Web应用的安全防护水平,保护用户数据与隐私。安全需持续关注与改进,每个细节都至关重要。
134 5
|
2月前
|
JSON 安全 JavaScript
Web安全-JQuery框架XSS漏洞浅析
Web安全-JQuery框架XSS漏洞浅析
439 2

推荐镜像

更多
下一篇
无影云桌面