移动安全 安全管理 应用案例 网络威胁系统安全 应用安全 数据安全 云安全
当前位置: 主页 > 信息安全 > 系统安全 >

如安在Ubuntu上搭建安然的Apache Web办事器?

时间:2013-12-05 19:07来源:TuZhiJiaMi企业信息安全专家 点击:
本教程假定你已有一台在运行的Ubuntu办事器,收集方面已设置好,并且可以经由过程SSH进行拜候。 Apache2是良多安装的Linux发行版利用的默许Web办事器。它不是对所有环境来讲独一可用的Web办事
Tags系统安全(735)服务器(140)Apache Web(2)Ubuntu(3)  

  本教程假定你已有一台在运行的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浏览器指向你的域,便可看到证实你一切正常的默许动静。作为最后的查抄机制,运行下面这个号令,看看你的办事器有没有任何弊端信息。如果有弊端信息,你需要上谷歌搜刮一下,立马解决这些弊端。

------分隔线----------------------------

推荐内容