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 服务器安全技巧,包括了Linux 服务器安全技巧的使用技巧和注意事项,需要的朋友参考一下 毋庸置疑,对于系统管理员,提高服务器的安全性是最重要的事情之一。因此,也就有了许多针对这个话题而生的文章、博客和论坛帖子。 一台服务器由大量功能各异的部件组成,这一点使得很难根据每个人的需求去提供定制的解决方案。这篇文章尽可能涵盖一些有所裨益的小技巧来帮助管理员保证服务器和用户安全。
本文向大家介绍CentOS Linux服务器安全设置,包括了CentOS Linux服务器安全设置的使用技巧和注意事项,需要的朋友参考一下 我们必须明白:最小的权限+最少的服务=最大的安全 所以,无论是配置任何服务器,我们都必须把不用的服务关闭、把系统权限设置到最小话,这样才能保证服务器最大的安全。下面是CentOS服务器安全设置,供大家参考。 一、注释掉系统不需要的用户和用户组 注意:不建议直接
本文向大家介绍win2008 r2 服务器安全设置之安全狗设置图文教程,包括了win2008 r2 服务器安全设置之安全狗设置图文教程的使用技巧和注意事项,需要的朋友参考一下 服务器安全狗,作为国内首款支持Windows全系列操作系统(Windows2003/Windows2008(32 位、64 位)/Windows2012)的基于内核级的服务器安全防护软件,采用 NDIS 中间层驱动模式,实现
Navicat 为你的服务器提供安全性管理工具。你可以新建、编辑、删除用户、授予或撤消在已选择的数据库及它们的数据库对象的权限。点击 来打开 用户 的对象列表。对象列表窗格显示全部存在于服务器中的用户。
保护Web服务器安全非常重要,这意味着只允许其他人查看部分信息并保护数据并限制访问。 这些是增强Apache Web服务器安全性的常见内容。 1. 隐藏Apache版本和操作系统信息 Apache显示其版本和操作系统名称错误,如下面的屏幕截图所示。 黑客可以使用此信息使用特定版本的服务器或操作系统中的公开漏洞发起攻击。为了防止Apache webserver显示此信息,我们可以通过修改apache
主要内容:保持最新,拒绝服务(DoS)攻击,ServerRoot目录的权限,服务器端包含,CGI脚本,非脚本别名CGI,脚本别名CGI,其他动态内容来源,动态内容安全性,保护系统设置,默认保护服务器文件,查看日志,合并配置部分有关设置Web服务器的安全问题的一些提示和技巧。一些建议通用的,其他建议特定于Apache版本。 保持最新 Apache HTTP Server具有良好的安全记录和高度关注安全问题的开发人员社区。但是,在软件发布之后,软件中会发现一些小问题或大问题是不可避免的。因此,了解软