随着LAMP环境的成熟应用,apache站点的安全性也被提出来了,有时候因为意外的各种原因,会导致站点内的某些信息泄漏,照成不必要的麻烦。所以Apache的安全被提出来,并做了安全提升,apache的安全可以从下面几个方面入手:

 

 

实验环境:

Red Hat Enterprise Linux 5.4 32-bit

httpd-2.4.4.tar.bz2

mysql-5.6.10.tar-gz

php-5.4.14.tar.gz

 

 

 

 

 

第一部分:身份验证

[root@bogon ~]# vim /etc/httpd/conf/httpd.conf 

 

Linux下实现Apache站点的安全_apache安全性

 

 

Linux下实现Apache站点的安全_身份验证_02

 

 

进行身份验证

 

Linux下实现Apache站点的安全_https_03

 

 

在站点的主目录下面

       说明文件.htaccess

 

Linux下实现Apache站点的安全_来源控制_04

 

 

htpasswd -c .htaccess  用户名

#第一次使用时,使用上面的命令说明,否则不用加参数-c

 

Linux下实现Apache站点的安全_来源控制_05


 

Linux下实现Apache站点的安全_apache安全性_06

 

 

 

Linux下实现Apache站点的安全_https_07


 

第二部分:来源控制

基于ip地址的访问

可以拒绝某些IP地址的访问

下面演示的是拒绝ip地址是192.168.30.200的主机访问192.168.30.100



[root@bogon ~]# vim /etc/httpd/conf/httpd.conf 

 

Linux下实现Apache站点的安全_来源控制_08

 

#拒绝来源IP为192.168.30.200的机器

 

Linux下实现Apache站点的安全_身份验证_09

第三部分:https

https是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全套接层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是像HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。
也就是说它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。


HTTPS和HTTP的区别
一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。


Step1:建立证书颁发机构根CA

 

Linux下实现Apache站点的安全_apache安全性_10

 

 

Linux下实现Apache站点的安全_https_11

 

 

Linux下实现Apache站点的安全_来源控制_12

 

建立根CA机构需要的3个目录和两个文件

cd  /etc/pki/CA

mkdir certs  crl  newcerts  

touch  serial index.txt

echo 01> serial      //给serial文件一个初始化序列号01 

生成根CA的私钥文件,并修改权限,由私钥文件生成证书文件

 

 

Linux下实现Apache站点的安全_apache安全性_13

 

Step2:生成Apache服务的私钥文件、有私钥文件生成证书请求文件

mkdir  -pv  /etc/httpd/certs/

cd  /etc/httpd/certs/

 

Linux下实现Apache站点的安全_apache安全性_14

 

 

Linux下实现Apache站点的安全_apache安全性_15

 

 

Step3:向根CA提交证书请求文件生成证书文件

 

Linux下实现Apache站点的安全_来源控制_16

 

 

Linux下实现Apache站点的安全_apache安全性_17

 

Step4:对Apache配置修改,结合SSL

修改结合SSL的主配置文件,添加证书的相关路径信息

vim  /etc/httpd/extra/httpd-ssl.conf

Linux下实现Apache站点的安全_来源控制_18

 

 

Linux下实现Apache站点的安全_https_19

 

vim  /etc/httpd/httpd.conf

 

Linux下实现Apache站点的安全_apache安全性_20

 

 

 

Linux下实现Apache站点的安全_https_21

 

 

Https访问站点,证书安装过程

 

Linux下实现Apache站点的安全_apache安全性_22

 

 

Linux下实现Apache站点的安全_https_23

 

 

Linux下实现Apache站点的安全_身份验证_24

 

 

Linux下实现Apache站点的安全_https_25

 

 

Linux下实现Apache站点的安全_apache安全性_26

 

 

Linux下实现Apache站点的安全_来源控制_27

 

 

安装过证书后的Https访问站点

Linux下实现Apache站点的安全_来源控制_28

 

 

Linux下实现Apache站点的安全_来源控制_29

 

 

 END ! ! !