web|web服务|web服务器|安全 这样就会保证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 rootlocalhost
+ServerAdmin webdocsechte-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文件中描述。