Linux: Apache 安全设定
http://www.abc.com.tw/download/ 后面就要多带一个 "/",否则会出现 404 的找不到档案错误。
?
3. ServerName 的设定
?
其实 ServerName 在大部份的情况下可以不设定,但是如果有做重新导向的话,那么如果这个值不存在,Apache 在启动时会以 127.0.0.1 来做预设的 ServerName。因此等到有预到重新导向的情况时,就会出现问题。要更正这个问题,只要加入一个 ServerName 的值就可以了。
?
接下来,在 /home/secure_data/ 建立一个 .htaccess
建立 steven 的帐号密码:
?
来源:http://www.l-penguin.idv.tw/l-penguin.s/article/apache2_security.htm
?
?另一篇来自:http://www.ibm.com/developerworks/cn/linux/l-cn-apache-secure/
?
图 2. 操作情况下使用安全设定后的对比
在一般情况下,当客户端是保密信息的传递者时,他不需要数字证书验证自己身份的真实性,如用户通常使用的网上银行交易活动,客户需要将自己的 隐秘信息——账号和密码发送给银行,因此银行的服务器需要安装数字证书来表明自己身份的有效性,否则将会使得信息泄露。当然,在某些安全性要求极高的 B2B(Business to Business)应用,服务器端也需要对客户端的身份进行验证,这时客户端也需要安装数字证书以保证通信时服务器可以辨别出客户端的身份,验证过程类似 于服务器身份的验证过程。另外,在一些电子商务的应用中,可能还会使用到电子签名,或者为了信息交换的更加安全,会增加电子签名和消息校验码(MAC)。 而在通常情况下,浏览器都会通过交互的方式来完成上述的通信过程,下面在 Linux 中对 Apache 采用 SSL 也会作详细地介绍。
?
图 6. 证书通过验证,正常通信开始变 量含 义%b发送字节,不包括 HTTP 标题%f文件名%{VARIABLE}e环境变量 VARIABLE 的内容%h远程主机%a远程 IP 地址%{HEADER}iHEADER 内容;发送到服务器的请求的标题行%l远程登录名(如果提供该值,则从 identd 获得)%{NOTE}n来自另一个模块的 NOTE 通知的内容%{HEADER}oHEADER 的内容,回复中的标题行%p服务器服务于请求的规范端口%P服务于请求的子进程的 ID%r请求的第一行%s状态。对于内部重定向的请求,该状态为初始请求—最后是 %>s%t时间,格式为 common 日志格式中的时间格式%{format}t时间,格式由 format 给出。可以是 strftime(3)格式%T服务请求花费的时间,以秒计%u来自 auth 的远程用户;如果返回的状态(%s)为 401 则可能是假的%U请求的 URL 路径%v服务于该请求的服务器的规范 ServerName
在每个变量中,可以在前面设置一个条件,决定是否显示该变量。如果不显示,则显示 -。这些条件是数值返回值列表的形式。另外,还可以使用 CustomLog 指令指定日志文件的位置和格式。如果没有指定日志文件的绝对路径,则日志文件的位置假定为相对于 ServerRoot。下面是 httpd.conf 文件中指定日志文件的语句:
紧急性等级解释1Emerg出现紧急状况使得系统不可用2Alert需要立即引起注意的状况3Crit危险情况的警告4Error除上述 3 种情况之外的其他错误5Warn警告信息6Notice需要引起注意的情况,不如第 4 和第 5 类重要7Info需要报告的一般消息8Debug运行于 debug 模式的程序产生的消息另外,在 Apache 中,将访问日志分为如下 4 类:
普通日志格式(common log format,CLF):大多数日志分析软件都支持这种格式,其在 LogFormat 指定中定义的昵称为 common;参考日志格式(referer log format):记录客户访问站点的用户身份,其在 LogFormat 指定中定义的昵称为 referer;代理日志格式(agent log format):记录请求的用户代理,其在 LogFormat 指定中定义的昵称为 agent;综合日志格式(combined log format):即结合上述三种格式的日志信息,其在 LogFormat 指定中定义的昵称为 combined。在实际的使用过程中,由于综合日志格式有效地结合了其他 3 种日志格式和信息,所以在配制访问日志时,可以有
?
两种方式:
(1)分别使用 3 个文件进行分别记录,相应配置示例如下:
LogFormat “%h %l %u %t \ “%r\” %>s %b \”%{Referer}i\” \ “%{Apache User-Agent}i\””combinedCustomLog logs/access_log combined?参考资料
学习
访问 Apache 官方网站,了解 Apache 开源项目的相关知识、进展和动态。
下载 Apache Web 服务器,进行实际安装和学习。
学习 change root 工具,进行 Apache 安全运行环境设置演练。
阅读书籍:Apache security:The complete guide to securing your Apache web server,系统学习 Apache 安全方面的更多知识。
参考书籍:Apache server administrator's handbook,学习更多 Apache 服务安全管理方面的知识。
下载最新版本的 OpenSSL,安装并设置证书,进行数据通信安全保障方面的实战演练。
在 developerWorks Linux 专区寻找为 Linux 开发人员(包括 Linux 新手入门)准备的更多参考资料,查阅我们 最受欢迎的文章和教程。
在 developerWorks 上查阅所有 Linux 技巧和 Linux 教程。
随时关注 developerWorks 技术活动和 网络广播。讨论
加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
加入 IBM 软件下载与技术交流群组,参与在线交流。?
?