阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu下安装配置安全的Apache Web服务器

214次阅读
没有评论

共计 3300 个字符,预计需要花费 9 分钟才能阅读完成。

本教程假设你已有一台在运行的 Ubuntu 服务器,网络方面已设置好,而且可以通过 SSH 进行访问。

Apache2 是许多安装的 Linux 发行版使用的默认 Web 服务器。它不是对所有环境来说唯一可用的 Web 服务器,也不是最佳的 Web 服务器,但是它适合许多使用场景。在安装过程中,系统可能会询问你哪个 Web 服务器要自动重新配置。选择“apache2”即可。

安装 Apache2

使用下面这个命令,安装 Apache2 及其他库。

$ sudo apt-get -y install apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby

更新时区 (TimeZone) 和检查正确时间

为了减小共享数据或镜像数据方面的混淆,所有服务器在运行时都应该尽可能接近同步状态。一些加密密钥管理系统需要准确的时间。最后,就企业服务器而言,《萨班斯 - 奥克斯利法案》(Sarbanes-Oxley)和《健康保险可携性及责任性法案》(HIPAA)的安全规则要求正确的时间戳机制。

$ sudo apt-get -y install openntpd tzdata
$ sudo dpkg-reconfigure tzdata
$ sudo service openntpd restart

 

Ubuntu 下安装配置安全的 Apache Web 服务器禁止 AppArmor 冲突

虽然 AppArmor 这个套件的确提供了一层额外的安全,但在我看来,需要为每个系统创建自定义配置文件。这不是本教程所探讨的内容。所以眼下,我们会禁用 AppArmor,防止与任何默认的配置发生冲突。

$ sudo /etc/init.d/apparmor stop
$ sudo update-rc.d -f apparmor remove
$ sudo apt-get remove apparmor apparmor-utils

注意:如果是生产环境下的 Web 服务器,不建议禁用 AppArmor。如果有些人想创建自定义的 AppArmor 配置文件,请参阅官方说明文档(http://wiki.apparmor.net/index.php/Documentation)。

阻止分布式拒绝服务 (DDoS) 攻击

DDoS 攻击是一种分布式拒绝服务攻击。有一个 Apache 模块可以阻止这类攻击。

$ sudo apt-get -y install libapache2-mod-evasive
$ sudo mkdir -p /var/log/apache2/evasive
$ sudo chown -R www-data:root /var/log/apache2/evasive

把下面这个命令添加到 mod-evasive.load 的末尾处。

$ sudo nano /etc/apache2/mods-available/mod-evasive.load DOSHashTableSize 2048
DOSPageCount 20 # 请求同一页面的最大数量
DOSSiteCount 300 # 同一侦听器上同一客户端 IP 请求任何对象的总数量
DOSPageInterval 1.0 # 页面数量阈值的间隔
DOSSiteInterval 1.0   # 站点数量阈值的间隔
DOSBlockingPeriod 10.0 # 客户机 IP 被阻止的时间段
DOSLogDir“/var/log/apache2/evasive”DOSEmailNotify admin@domain.com

阻止 Slowloris 攻击

还有一个 Apache 模块可以阻止 Slowloris 攻击,不过模块名称取决于你使用的 Ubuntu 的具体版本。如果是 Ubuntu 12.10 或以后版本:

$ sudo apt-get -y install libapache2-mod-qos

然后,检查 qos.conf 中的配置:

$ sudo nano /etc/apache2/mods-available/qos.conf

## 服务质量方面的设置

# 处理来自多达 100000 个不同 IP 的连接

QS_ClientEntries 100000

# 只允许每个 IP 仅 50 条连接

QS_SrvMaxConnPerIP 50

# 活动 TCP 连接的最大数量限制在 256 条

MaxClients 256

# 当 70% 的 TCP 连接被占用时,禁用保持活动连接状态

QS_SrvMaxConnClose 180

# 最小请求 / 响应速度(拒绝阻塞服务器的慢速客户端,即 slowloris 保持连接开启,不提出任何请求):

QS_SrvMinDataRate 150 1200

# 并限制请求标题和主体(注意,这还限制了上传和发帖请求):

# LimitRequestFields 30
# QS_LimitRequestBody 102400

 

注意:如果你运行 12.04 之前的 Ubuntu 版本,改而使用下面这个命令:

$ sudo apt-get -y install libapache2-mod-antiloris

检查 antiloris.conf 中的配置

$ sudo nano /etc/apache2/mods-available/antiloris.conf

 

# 每个 IP 地址处于 READ 状态的最大并行连接数量

IPReadLimit 5

 

阻止 DNS 注入攻击

Spamhaus 这个模块使用域名系统黑名单(DNSBL),目的是为了阻止通过 Web 表单实现的垃圾邮件转发,防止 URL 注入攻击,阻止来自机器人程序的 http DDoS 攻击,通常保护服务器,远离已知的恶意 IP 地址。

$ sudo apt-get -y install libapache2-mod-spamhaus
$ sudo touch /etc/spamhaus.wl Append the config to apache2.conf
$ sudo nano /etc/apache2/apache2.conf
MS_METHODS POST,PUT,OPTIONS,CONNECT
MS_WhiteList /etc/spamhaus.wl
MS_CacheSize 256

 

重启 Apache 装入新模块

$ sudo service apache2 restart

现在 Web 服务器已安装完毕,并在正常运行。将 Web 浏览器指向你的域,即可看到证明你一切正常的默认消息。作为最后的检查机制,运行下面这个命令,看看你的服务器有没有任何错误信息。要是有错误信息,你需要上谷歌搜索一下,立马解决这些错误。

$ sudo tail -200 /var/log/syslog

相关阅读

日志分析工具 Awstats 实战之 Apache 篇 - 多站点日志分析 http://www.linuxidc.com/Linux/2013-11/92273.htm

在 Ubuntu 13.10 下安装支持 SSL 的 Apache http://www.linuxidc.com/Linux/2013-11/92266.htm

再谈伪装 Apache 版本防止入侵 Web 服务器 http://www.linuxidc.com/Linux/2013-10/91179.htm

Apache Python 模块 mod_wsgi 的编译安装 http://www.linuxidc.com/Linux/2013-09/90637.htm

企业 Shell 脚本分析及切割 Apache 日志实战 http://www.linuxidc.com/Linux/2013-09/90627.htm

Linux 网站架构系列之 Apache—- 部署篇 http://www.linuxidc.com/Linux/2013-11/92304.htm

更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3300字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中