通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>服 务 器>>Linux服务器>>正文 新版上线![旧版]
注:打开慢时请稍等

一个安全Web服务器的安装(二)

http://www.iyit.net  日期:2006-6-2 11:51:12  来源:转载   点击:
参加讨论】一个安全Web服务器的安装(二):

想定

  Internet需要配置一台自己的WEB服务器,由于没有自己的安全基础设施,应该在WEB服务器前面放一台配置了相应过滤规则的路由器。这台WEB服务器仅仅提供WWW和HTTPS服务,但是,它当然也需要具有远程控制特性。另外,这台WEB服务器最好还能够发送邮件。由于Linux服务器和网页是由三个不同的管理员维护的,所有的管理操作都应该保证在以后进行日志分析是更容易理解。

  实现

  前面段落中说明的安全WEB服务器的需求如何实现呢?下面的例子说明了一种在SuSE Linux 6.4发布的服务器上的实现方法。为了实现上述想定,我们决定选择SSH管理和Apache WEB服务器。

  第一步:配置路由器

  每一个流行的路由器都提供配置过滤列表的功能。您必需配置下面的简单规则:


  +------------------------------------------------------------------------------+
  |------------------------------过滤规则--------------------------------------|
  +-------------------------+-------------------------+-------------------------+
  |----------来源----------|-----------目标----------|---------服务-----------|
  +-------------------------+-------------------------+-------------------------+
  |任何位置--------------|web服务器------------|WWW,HTTPS,UDP highport,|
  |--------------------------|---------------------------|ICMP types 0 + 3-----|
  +-------------------------+-------------------------+--------------------------+
  |管理员-----------------|web服务器------------|SSH---------------------|
  +-------------------------+-------------------------+-------------------------+
  |web服务器-----------|任何位置---------------|DNS, SMTP-----------|
  +-------------------------+-------------------------+-------------------------+
  |web服务器-----------|路由器------------------|SSH或telnet----------|
  +-------------------------+-------------------------+-------------------------+
  路由器的操作手册会提供如何进行上述配置的详细信息。这里我建议使用Cisco路由器,因为对于这种情况它非常容易配置,并且还在IOS的第12版以后提供了SSH的加密服务。

  第二步:安装Linux服务器

  执行SuSE 6.4的标准安装。处于安全考虑,至少应为/、/var、/tmp、/home和/usr/local安装5个分区。后面会定义一些mount这些分区的特殊选项,这些选项可以保证系统具有更高的本地安全性能。

  现在是选择需要安装哪些程序包的时候了。选择最小系统安装,然后手工加入下面一些必要的程序包:

  在Basis (a)中选择compat
  在Applications (ap)中选择sudo
  在Network (n)中选择apache, bindutil;去掉postfix和sendmail
  在Security (sec)中选择firewals, hardensuse, mod_ssl, scanlogd, seccheck, secumod, tripwire.

  其它一些您认为需要的程序包,如数据库和为Apache设计的一些模块。然后完成安装。

  第三步:更新

  在配置之前,检查一下是否可以获得这些安装包的更新版本,如果有,需要的话最好进行更新。
  您可以在这里找到SuSE 6.4的更新信息。

  第四步:Linux的本地配置

  在开始真正工作之前,必需首先执行所有的诸如输入服务器名、配置网络接口和设置用户等标准Linux配置。在初始情况下,所有不需要的服务都是非活动状态的。特权程序的授权回收工作并不是必需的,您可以通过harden_suse工具简单地实现这个任务:
  erde#harden_suse yes
  这个命令在很多地方更改了系统的配置,这些更改都记在/etc/harden_suse.log日志文件中,这些操作可以过/etc/undo_harden_suse脚本予以恢复。使用其它Linux发布的用户可应使用Bastille脚本或者其它类似的程序。

  随后,所有网络访问服务(除了SSH)都被禁止,仅仅保留了下面的授予特权的suid和sgid程序:
erde# find / -perm -04000 -type f -exec ls -ld {} ;
-rwsr-x--- 1 root trusted 23840 Mar 11 11:26 /bin/ping
-rwsr-x--- 1 root trusted 30750 Mar 11 11:37 /bin/su
-rwsr-x--- 1 root trusted 21268 Mar 11 11:10 /usr/bin/crontab
-rwsr-xr-x 1 man root 85460 Mar 11 11:24 /usr/bin/man
-rwsr-xr-x 1 root root 15308 Mar 11 11:26 /usr/bin/rcp
-rwsr-xr-x 1 root root 11052 Mar 11 11:26 /usr/bin/rlogin
-rwsr-xr-x 1 root root 8104 Mar 11 11:26 /usr/bin/rsh
-rwsr-x--- 1 root shadow 38340 Mar 11 11:50 /usr/bin/gpasswd
-rwsr-x--- 1 root trusted 22184 Mar 11 11:50 /usr/bin/newgrp
-rwsr-xr-x 1 root shadow 27920 Mar 11 11:50 /usr/bin/passwd
-rwsr-x--- 1 root trusted 56600 Mar 11 18:41 /usr/bin/sudo
-rwsr-xr-x 1 root root 20300 Mar 11 11:26 /usr/sbin/traceroute
-rwsr-xr-x 1 root root 6132 Mar 11 09:36 /usr/lib/pt_chown
erde# find / -perm -02000 -type f -exec ls -ld ;
-rwxr-sr-x 1 root tty 9452 Mar 11 11:26 /usr/bin/write
-rwxr-sr-x 1 root tty 9796 Mar 11 11:49 /usr/bin/wall

  下一阶段工作是编辑全局配置文件/etc/rc.config,将下面脚本行中的“no”改成“yes”:

START_HTTPD=“yes”
START_FW=“yes”
START_SCANLOGD=“yes”

这样就会保证Apache、Scanlogd和SuSE防火墙在计算机启动时自动执行。现在我们继续配置本地防火墙,将/etc/rc.config.d/firewall.rc.config(个别变量的细节描述在这个文件中可以找到)文件中的对应行改成下面的形式:

FW_DEV_WORLD=“eth0” # query no. 2
FW_SERVICES_EXTERNAL_TCP=“www https” # query no. 9
FW_SERVICES_TRUSTED_NETS=“1.1.1.0/24” # query no. 10 - 1.1.1.0 is the netswheresthe administrators connect from.
FW_TRUSTED_SERVICES_TCP=“ssh” # query no. 10

  /sbin/SuSEfirewall命令可以更新防火墙规则。这些规则会在每个系统启动周期中载入。

  现在我们以下面的形式集成SuSE专用的安全模块:
erde# cat >> /sbin/init.d/boot.local
insmod secumod hardlink=1 symlink=1 pipe=1 trace=1 systable=1 logging=1
^D

  当系统引导时,这个模块会被加载,它配置用来防止Symlink、Hardlink、Pipe和一些 UNIX特有的攻击形式。

  第五步:配置Apache

  WEB软件和页面时服务器的核心。我们必需确保没有人可以访问未授权的数据或者改变页面。为了这个目的,页面必需进行特殊的防护,然后要给予Apache安全的配置。

  所有的页面都必需由网站管理员统一管理,并且对除他以外的所有人都是本地写保护的。WEB服务器最好以非页面管理员身份运行,这样即使入侵者侵入WEB服务器,他也没有足够的权限更改页面。这样,就需要设置一个用户,还要产生一个cron工作,这个定时工作要保证所有的页面修改权只属于页面管理员并且具有正确的授权。


  erde# useradd -m wwwdocs
  erde# cat > /etc/cron.daily/wwwdocs
  #!/bin/sh
  /bin/chown -R -h wwwdocs /usr/local/httpd/htdocs/*
  /bin/chmod -R go-w /usr/local/httpd/htdocs/*
  /bin/chmod -R a+r /usr/local/httpd/htdocs/*
  ^D
  erde# chmod 700 /etc/cron.daily/wwwdocs
  由于Apache可能已经预先配置好了,所以可能根本不需要进行重新配置。当然,开始的时候/etc/httpd/httpd.conf文件中的MinSpareServers、MaxSpareServers和StartServers的值应该被正确设置。

  MaxClients选项可以用来避免connect-denial-of-service攻击。应该注意的是:如果这个选项设置的太低,一般访问者的访问也可能会被拒绝;如果太高,管理员在日志跟踪和入侵事件发生时的应对就会显得比较困难。除了自己尝试以外,好象也没有什么确定合适数量的更好建议。

  应该关掉ServerSignature选项,这样访问一个不存在的页面时就不会回应您所使用的软件和版本号信息。但是这样也解决不了多大的问题,因为HTTP头中包含这些——甚至更多——信息。

  应该禁止/hilfe/、/doc/、/cgi-bin-sdb/、/sdb/和/manual/的别名。下面显示了标准配置更改后的大概样子:(“diff -u0”)

  --- httpd.conf.orig Sun Apr 9 19:37:44 2000
  +++ httpd.conf Sun Apr 9 19:42:57 2000
  @@ -141,2 +141,2 @@
  -MinSpareServers 1
  -MaxSpareServers 1
  +MinSpareServers 3
  +MaxSpareServers 10
  @@ -148 +148 @@
  -StartServers 1
  +StartServers 5
  @@ -157 +157 @@
  -MaxClients 150
  +MaxClients 100
  @@ -401 +401 @@
  -ServerAdmin root@localhost
  +ServerAdmin webdocs@echte-domain.de
  @@ -415 +415 @@
  -#ServerName hawking.suse.de
  +ServerName www.echte-domain.de
  @@ -485 +485 @@
  -UserDir public_html
  +#UserDir public_html
  @@ -646 +646 @@
  -ServerSignature On
  +ServerSignature Off
  @@ -665,11 +664,0 @@
  -Alias /hilfe/ /usr/doc/susehilf/
  -Alias /doc/ /usr/doc/
  -Alias /cgi-bin-sdb/ /usr/local/httpd/cgi-bin/
  -Alias /sdb/ /usr/doc/sdb/
  -Alias /manual/ /usr/doc/packages/apache/manual/
  -
  -
  - Options FollowSymLinks
  - AllowOverride None
  -
  -
  @@ -697,9 +685,0 @@
  -# cgi-bin for SuSE help system
  -# using SetHandler
  -
  -
  -AllowOverride None
  -Options +ExecCGI -Includes
  -SetHandler cgi-script
  -
  -
  @@ -981,4 +961,4 @@
  -#
  -# Deny from all
  -# ErrorDocument 403
  http://phf.apache.org/phf_abuse_log.cgi
  -#
  +
  + Deny from all
  + ErrorDocument 403
  http://phf.apache.org/phf_abuse_log.cgi
  +
  SSL的激活和证书的产生在/usr/doc/packages/apache/README.SuSE文件中描述。

提示:SSL证书应该一个密码保护起来,以减少攻击者成功入侵后将其拷贝并滥用的可能性(很少发生!)。

  作为一个一般的规则,应该保证没有在任何地方使用符号符号连接(Symlinks),因此要禁止FollowSymLinks选项。所有的CGI都放在cgi-bin目录下,不允许放在其它任何地方,甚至也不允许在其它目录下执行。为了做到这一点,请不要使用ExecCGI配置选项。

  为了禁止访问某些文件区,应该在这些目录下分别加入一个命名为.htaccess的文件,并在中加入下面的文本行:order deny,allow deny from all



编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:一个安全Web服务器的安装(三)
下一篇:一个安全Web服务器的安装(一)
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
浅谈Linux优化及安全配置的个人体会 一个安全Web服务器的安装(一) 一个安全Web服务器的安装(三)
设定Linux Web 服务器(1) 设定Linux Web 服务器(2) 设定Linux Web 服务器(3)
设定Linux Web 服务器(4) 设定Linux Web 服务器(5) 设定Linux Web 服务器(6)
Linux服务器日志管理详解(1) Linux服务器日志管理详解(2) Linux服务器日志管理详解(3)
Linux服务器日志管理详解(4) Linux服务器日志管理详解(5) Linux服务器日志管理详解(6)
Linux服务器日志管理详解(7) 构建网络安全长城之烽火台的建立(1) 构建网络安全长城之烽火台的建立(2)
构建网络安全长城之烽火台的建立(3) 构建网络安全长城之烽火台的建立(4) 构建网络安全长城之烽火台的建立(5)
构建网络安全长城之烽火台的建立(6) 构建网络安全长城之烽火台的建立(7) 构建网络安全长城之烽火台的建立(8)
最新更新 热点排行 推荐新闻
Linux操作系统12则经典应用技巧
Windows和Linux的“鹊桥会”
给Linux新手
在Linux下访问MSSQLServer数据库
Linux环境下发现并阻止系统攻击 (1)
Linux操作系统12则经典应用技巧
Windows和Linux的“鹊桥会”
给Linux新手
在Linux下访问MSSQLServer数据库
Linux环境下发现并阻止系统攻击 (1)
Linux环境下发现并阻止系统攻击 (2)
Linux环境下发现并阻止系统攻击 (3)
Linux环境下发现并阻止系统攻击 (4)
LINUX下MYSQL完全安装使用指南
Linux的防火墙配置!
Windows2000下安装Apache PHP4 MySQL 
IIS的使用                          
WIN2000 + PHP + MYSQL + TOMCAT + JS
Linux阅读材料 下篇
一个安全Web服务器的安装(二)
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
QQ最新版下载 2006 beta2 体验新感受 
优秀公益广告作品欣赏(7)
Office2007简体中文版浮出水面 美图抢
WEB服务器配置全攻略(三)
优秀公益广告作品欣赏(6)
优秀公益广告作品欣赏(4)
优秀公益广告作品欣赏(1)
解决局域网不能互相访问之全攻略
WIN 2000简单的入侵常识
用Win 2003架设邮件服务器
硬盘分区消失,解决方法!
传统计算机病毒传播能力破坏性在提高
内存为何有“两面性”
AMD水货盒装CPU识别方法
IP地址资源2012年枯竭 部署IPv6很紧迫
古老问题有新解:世上先有鸡蛋后有鸡
Dreamweaver MX 2004从零开始(1)
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息