Linux Apache Web服务器安全的8种安全设置技巧

 更新时间:2016年10月06日 14:56:13   作者:老左  
这篇文章主要介绍了Linux Apache Web服务器安全的8种安全设置技巧,需要的朋友可以参考下

Apache服务器是一款开源的WEB服务器,是由非营利组织Apache软件基金会的支持的,我们很多的虚拟主机、VPS等都会使用Apache服务器架构环境,但是任何的架构环境都会遭受各种可能的攻击、安全漏洞的检测、SQL注入、各种拒绝服务攻击等。

作为我们VPS/服务器用户来说,我们一来需要多做备份确保服务器上网站数据的安全,二来还需要随时的观察我们服务器的监控动向,三来需要关注各种最新漏洞安全的更新脚本,作为基础的应用手段,我们需要确保基础的Apache安全设置,从基础上保证服务器的安全。

第一、定期更新系统

首先,我们需要确保是已经安装了最新版本和Apache的安全补丁和附加如CGI,Perl和PHP脚本代码。我们需要定期更新数据源依赖包操作。

# Ubuntu/Debian

apt-get update; apt-get dist-upgrade

# Fedora/Centos/RedHat

yum update

根据自己的系统环境选择更新升级命令。

第二、设置和保护我们的SSH安全

我们在拿到VPS之后,建议修改端口、ROOT密码、以及授权单独的非ROOT用户权限管理,或者我们也可以采用密钥的方式登录SSH客户端管理VPS。比如可以参考"设置Putty SSH使用密钥登录Linux VPS主机"和"Xshell设置密钥登录确保Linux VPS及服务器更加安全"文章设置密钥登陆。

第三、禁用未使用的服务

为了确保我们的Web服务器安全,建议你检查服务器上所有正在运行的服务和开放的端口,禁用我们不需要在服务器上的所有服务。

#要显示所有服务 service --status-all
#显示所有的端口规则 iptables -L
#显示所有的运行信息(redhat/centos/fedora)chkconfig --list
#检查/etc/init.d是否有可疑脚本 ls /etc/init.d

第四、禁用不必要的Apache模块

默认情况下,Apache很多模块都开启的,但是有些并不需要使用,我们可以关闭和精简。比如以前有分享过的"6步骤实现CentOS系统环境精简优化"和"4步骤实现Debian系统环境精简优化"可以有效的提高执行效率降低占用资源率。

A - Ubuntu/Debian

cat /etc/apache2/mods-enabled/* | grep -i loadmodule

开启模块

a2enmod module_name

关闭模块

a2dismod module_name

B - Centos/Fedora/RedHat

cat /etc/httpd/conf/httpd.conf | grep -i LoadModule

编辑httpd.conf文件,搜索LoadModule关键字,需要关闭的在前面加上#备注保存就可以,相反启动则去掉#

第五、让Apache以指定的用户和组来运行

大多数默认的Apache使用的是默认用户和组为apache的,为了确保安全,我们可以使用不同的用户/组。假设你运行的邮件服务器作为nobody用户,你用相同的用户运行的Apache。如果您的邮件服务器被攻破,你的Apache也将受到影响。比如,我们在以root身份运行,如果有安全风险,那整个系统将在很大的风险。要检查/更改用户/组,编辑httpd.conf文件。

#Fedora/Centos/Redhat
vi /etc/httpd/conf/httpd.conf
#Ubuntu/Debian
vi /etc/apache2/httpd.conf

我们可以使用默认的用户组,也可以创建新的用户/组。

复制代码 代码如下:

User apache
Group apache

第六、防止信息泄露

默认的Apache安装后会在默认页面体现出端口、版本信息等,我们需要隐藏这些信息。

#Fedora/Centos/Redhat
vi /etc/httpd/conf/httpd.conf
#Ubuntu/Debian
vi /etc/apache2/conf-enabled/security.conf

搜索ServerTokens和ServerSignature字符,然后对应修改

ServerTokens Prod
 ServerSignature Off

然后重启Apache

#Fedora/Centos/Redhat
service apache2 restart
#Ubuntu/Debian
service httpd restart

然后我们的404页面就看不到版本信息。

第七、隐藏PHP版本信息

#Fedora/Centos/Redhat
vi /etc/php.ini
#Ubuntu/Debian
vi /etc/php5/apache2/php.ini

然后搜索expose_php,对应的参数on改成off

第八、禁用自动索引模块

#Fedora/Centos/Redhat
/etc/httpd/conf/httpd.conf

把"LoadModule autoindex_module modules/mod_autoindex.so"一行前面加上#禁止掉

#Ubuntu/Debian
rm -rf /etc/apache2/mods-enabled/autoindex.conf

删除自动索引模块

总结,以上老左就整理到8点Apache的安全设置,还有一些设置我们可以查看.htaccess文件的安全设置,我们不容小视这个小文件,有些安全设置还是需要通过.htaccess文件的,以后有时间专门整理一篇。无论如何,不管我们使用的是虚拟主机,还是VPS/服务器,我们需要随时监控和定时备份网站和项目数据。

相关文章

  • 详解Linux文本编辑器Vim

    详解Linux文本编辑器Vim

    这篇文章主要介绍了Linux文本编辑器Vim,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Linux查看和关闭后台运行程序的方法

    Linux查看和关闭后台运行程序的方法

    这篇文章主要介绍了Linux查看和关闭后台运行程序的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Linux进程管理工具supervisor安装配置教程

    Linux进程管理工具supervisor安装配置教程

    这篇文章主要介绍了Linux进程管理工具supervisor安装配置教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 图解linux安装tomcat(附常用命令)

    图解linux安装tomcat(附常用命令)

    这篇文章主要以图片文字结合的方式为大家介绍了linux安装tomcat,并linux操作tomcat一些常用命令,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • CentOS7配置httpd虚拟主机教程

    CentOS7配置httpd虚拟主机教程

    这篇文章主要为大家详细介绍了CentOS7配置httpd虚拟主机教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • vim学习高级技巧之序列的生成方法详解

    vim学习高级技巧之序列的生成方法详解

    Vim经过了这么多年的发展,已经是世界上最强悍的编辑器之一,这篇文章主要给大家介绍了关于vim高级学习技巧之序列生成的相关资料,文中通过示例代码给大家介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习下吧。
    2017-09-09
  • Linux下Python脚本自启动与定时任务详解

    Linux下Python脚本自启动与定时任务详解

    这篇文章主要给大家介绍了关于Linux下Python脚本自启动与定时任务的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • 学习在kernel态下使用NEON对算法进行加速的方法

    学习在kernel态下使用NEON对算法进行加速的方法

    这篇文章主要介绍了学习在kernel态下使用NEON对算法进行加速的方法,一起来学习下,大大提高数据运算的效率。
    2017-11-11
  • 如何关闭http Methods中的Trace 提高安全意识

    如何关闭http Methods中的Trace 提高安全意识

    在配置文件http.conf 添加 TraceEnable off 即可关闭
    2013-02-02
  • 浅析Linux中vsftpd服务配置(匿名,用户,虚拟用户)

    浅析Linux中vsftpd服务配置(匿名,用户,虚拟用户)

    vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,支持很多其他的 FTP 服务器所不支持的特征。这篇文章主要介绍了Linux中vsftpd服务配置(匿名,用户,虚拟用户),需要的朋友可以参考下
    2019-11-11

最新评论