Linux下Apache站点的安全配置

分类:CentOS运维 阅读:56205 次

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

实验环境:

RedHatEnterpriseLinux5.432-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

进行身份验证

在站点的主目录下面

说明文件.htaccess

htpasswd-c.htaccess用户名

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



第二部分:来源控制

基于ip地址的访问

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

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



[root@bogon~]#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

mkdircertscrlnewcerts

touchserialindex.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访问站点

END!!!