/ 中存储网

Apache服务器站点的安全加固设置

2013-12-08 13:56:01 来源:kejihao

随着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

第一部分:身份验证

[[email protected] ~]# vim /etc/httpd/conf/httpd.conf

进行身份验证

在站点的主目录下面

说明文件.htaccess

htpasswd -c .htaccess 用户名

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

第二部分:来源控制

基于ip地址的访问

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

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

[[email protected] ~]# vim /etc/httpd/conf/httpd.conf

#拒绝来源IP为192.168.30.200的机器

第三部分: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

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

cd /etc/pki/CA

mkdir certs crl newcerts

touch serial index.txt

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

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

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

mkdir -pv /etc/httpd/certs/

cd /etc/httpd/certs/

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

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

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

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

vim /etc/httpd/httpd.conf

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

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