学习啦>学习电脑>电脑安全>网络安全知识>

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

加城分享

  网络安全是目前互联网的热门话题之一,作为个人用户的我们同样需要关注,做好防护。这篇文章主要介绍了Linux Apache Web服务器安全的8种安全设置技巧,需要的朋友可以参考下

  方法步骤

  第一、定期更新系统

  首先,我们需要确保是已经安装了最新版本和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文件。

  ?

  1

  2

  3

  4

  #Fedora/Centos/Redhat

  vi /etc/httpd/conf/httpd.conf

  #Ubuntu/Debian

  vi /etc/apache2/httpd.conf

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

  复制代码 代码如下:

  User apache

  Group apache

  第六、防止信息泄露

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

  ?

  1

  2

  3

  4

  #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/服务器,我们需要随时监控和定时备份网站和项目数据。

  相关阅读:2018网络安全事件:

  一、英特尔处理器曝“Meltdown”和“Spectre漏洞”

  2018年1月,英特尔处理器中曝“Meltdown”(熔断)和“Spectre” (幽灵)两大新型漏洞,包括AMD、ARM、英特尔系统和处理器在内,几乎近20年发售的所有设备都受到影响,受影响的设备包括手机、电脑、服务器以及云计算产品。这些漏洞允许恶意程序从其它程序的内存空间中窃取信息,这意味着包括密码、帐户信息、加密密钥乃至其它一切在理论上可存储于内存中的信息均可能因此外泄。

  二、GitHub 遭遇大规模 Memcached DDoS 攻击

  2018年2月,知名代码托管网站 GitHub 遭遇史上大规模 Memcached DDoS 攻击,流量峰值高达1.35 Tbps。然而,事情才过去五天,DDoS攻击再次刷新纪录,美国一家服务提供商遭遇DDoS 攻击的峰值创新高,达到1.7 Tbps!攻击者利用暴露在网上的 Memcached 服务器进行攻击。网络安全公司 Cloudflare 的研究人员发现,截止2018年2月底,中国有2.5万 Memcached 服务器暴露在网上 。

  三、苹果 iOS iBoot源码泄露

  2018年2月,开源代码分享网站 GitHub(软件项目托管平台)上有人共享了 iPhone 操作系统的核心组件源码,泄露的代码属于 iOS 安全系统的重要组成部分——iBoot。iBoot 相当于是 Windows 电脑的 BIOS 系统。此次 iBoot 源码泄露可能让数以亿计的 iOS 设备面临安全威胁。iOS 与 MacOS 系统开发者 Jonathan Levin 表示,这是 iOS 历史上最严重的一次泄漏事件。

  四、韩国平昌冬季奥运会遭遇黑客攻击

  2018年2月,韩国平昌冬季奥运会开幕式当天遭遇黑客攻击,此次攻击造成网络中断,广播系统(观众不能正常观看直播)和奥运会官网均无法正常运作,许多观众无法打印开幕式门票,最终未能正常入场。

  五、加密货币采矿软件攻击致欧洲废水处理设施瘫痪

  2018年2月中旬,工业网络安全企业 Radiflow 公司表示,发现四台接入欧洲废水处理设施运营技术网络的服务器遭遇加密货币采矿恶意软件的入侵。该恶意软件直接拖垮了废水处理设备中的 HMI 服务器 CPU,致欧洲废水处理服务器瘫痪 。

  Radiflow 公司称,此次事故是加密货币恶意软件首次对关键基础设施运营商的运营技术网络展开攻击。由于受感染的服务器为人机交互(简称HMI)设备,之所以导致废水处理系统瘫痪,是因为这种恶意软件会严重降低 HMI 的运行速度。


Linux Apache Web服务器安全设置技巧相关文章:

1.linux安装apache命令

2.Java面试题全新解读

3.windows下怎么启动apache

4.LINUX下配置管理APACHE服务器的方法

5.Linux服务器性能优化技巧有哪些

    4040884