新手必备Apache服务器安全设置指南

Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Linux,但它们都使用了Linux内核。而在服务器的">应用领域,Linux所占的市场份额是远远超过Windows服务器的,特别是一些大的并发应用方面,所以Linux的Web应用性能更能得到充分的体现。

在Linux服务器中提供Web服务,一般是使用Apache,当然也有很多平台在使用Nginx,当然Nginx的安全设置技术,不在本文的讨论范围之内,大家如果对Nginx安全设置感兴趣的话,可以搜索风信网中相关的信息。

在Apache安装好之后,如何进行安全的设置,对于新手来说是一个比较头痛的问题,任何不当的设置都可能会对Linux的安全构成威胁,所以充分了解Apache的设置,是非常重要的,下面我们就此问题展开讨论,希望对于刚刚入门的新手能提供一个指导性的启示,让你能更安全的使用Web服务。

Apache安全设置,涉及到Apache的配置文件、Apache的目录访问控制、在Apache上运行CGI等安全方面的设置。

Apache的配置文件

对于RedHat Linux系统,Apache的配置文件放在/etc/httpd/conf/目录下。如果是自行编译安装的Apache,则视编译时指定的目录路径而定,默认是/usr/local/apache/conf。

在conf目录下有3个Apache的配置文件:

httpd.conf
access.conf
srm.conf

Apache 启动时先调用httpd.conf,然后调用srm.conf,最后调用access.conf。但现代版本的Apache为避免管理和维护的混乱,已经 改为将所有Apache的相关配置命令放在httpd.conf文件中,不再使用srm.conf和access.conf文件。虽然这两个文件仍然存 在,但内容中没有任何配置命令,形同虚设。

httpd.conf文件分为以下3部分:

Global Environment
Main' server configuration
Virtual Hosts

下面将讲述这3部分的用法和与安全相关的注意点。

4.5.1.1 Global Environment

ServerType standalone

用来指定Apache的启动方式:standalone和inetd。standalone模式是Apache独立运行,也是默认的启动方式。inetd模式是守护进程监听http的连接请求才启动httpd进程,请求完毕后就结束httpd进程,这样服务器负担很重。

ServerRoot "/etc/httpd"

Apache的目录,此处是存放配置、出错记录、日志文件的根目录。目录后面不要加“/”字符。

LockFile /var/lock/httpd.lock

保留默认值,不要更改。

PidFile /var/run/httpd.pid

指定记录Apache的父进程id的文件名及路径。

ScoreBoard /var/run/httpd.scoreboard指定用于储存服务器进程处理信息的文件名和路径。

#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf

在标准的配置中,服务器启动时会处理这两个文件。因为现在的Apache只使用httpd.conf文件,摒弃了srm.conf和access.conf文件,所以这两行用“#”注释掉。

Timeout 300

设置超时时间。如果远程客户端超过300秒还没连上Apache Server,或者Apache Server超过300秒没有传送字节给客户端,就立即断开连接。

KeepAlive On

KeepAlive允许客户端的每个连接有多个请求,设为Off时此项无效。

MaxKeepAliveRequests 100

设置每次连接期间所允许的最大请求数目。设为0时表示允许无限制数目。设置数字越大,则服务器性能越高。

KeepAliveTimeout 15

设置等待同一个客户端的同一个连接发出下一个连接请求超过一定的时间就断线。

MinSpareServers 5
MaxSpareServers 20

设置最小的闲置服务处理程序的数目和最大的闲置服务处理程序的数目。如果实际数目少于MinSpareServers,则将增加处理程序;反之,如果实际数目超过MaxSpareServers,一些多余的处理程序将被杀掉。

StartServers 8

设置启动并初始化后启动服务进程的数目。

MaxClient 150

设置服务运行的总数量。一旦达到此数目,新来的客户端就被拒绝,所以该限制数目不能设得太小。

MaxRequestsPerChild 100

设置每个子程序处理结果前的要求数目,设为0表示不限制。

#Listen 3000
#Listen 12.34.56.78:80
Listen 80

设置Apache监听的连接端口或IP地址及端口,默认是80。

#BindAddress *

该选项用来支持虚拟主机,并告知服务器监听哪个IP地址。可以使用“*”,或具体的IP地址和完整的域名。

#LoadModule foo_module libexec/mod_foo.so

DSO(Dynamic Shared Object)支持。DSO模块的概念和作用与Windows的DLL文件极其相似。

#ExtendedStatus On

当“server-status”管理程序被执行时,检查Apache的运行状态信息。默认是Off。

时间: 2024-09-30 03:11:29

新手必备Apache服务器安全设置指南的相关文章

Apache服务器高级设置指南(4)

apache|服务器|高级 作为系统管理员,若你只有一个IP地址,却有好几个域名,又要求访问每个域名都要看到不同的内容,那怎么办?总不至于为每个域名都配上一台服务器吧.这就要采用虚拟主机(Virtual Host)技术,幸好Apache就支持这种功能.虚拟主机有两种方式:IP-Based(基于IP式).Name-based(基于域名式).IP-Based指的是一个域名对应一个IP地址,而Name-based指的是多个域名对应一个IP地址. 虚拟主机的设置并不复杂,只要在httpd.conf文件中

Apache服务器高级设置指南(1)

apache|服务器|高级 目前WWW Server软件有许多,能运行在linux下的也不少,有NCSA HTTPd Server.CERN HTTPd Server.pache.Netscape Fast Track Server.Zeus Server等.这些软件各有特色:NCSA(美国伊利诺斯大学的国家超级计算应用中心)是WWW Browser Mosaic发迹之地,也是Netscape公司的安德森成名的地方:CERN(欧洲原子核研究中心)是WWW的起源地,1989年蒂姆·贝纳斯-李正是在

Apache服务器高级设置指南(二)

apache|服务器|高级 三. 虚拟主机(Virtual Host)的设置 作为系统管理员,若你只有一个IP地址,却有好几个域名,又要求访问每个域名都要看到不同的内容,那怎么办?总不至于为每个域名都配上一台服务器吧.这就要采用虚拟主机(Virtual Host)技术,幸好Apache就支持这种功能.虚拟主机有两种方式:IP-Based(基于IP式).Name-based(基于域名式).IP-Based指的是一个域名对应一个IP地址,而Name-based指的是多个域名对应一个IP地址. 虚拟主

Apache服务器高级设置指南(一)

apache|服务器|高级 目前WWW Server软件有许多,能运行在linux下的也不少,有NCSA HTTPd Server.CERN HTTPd Server.pache.Netscape Fast Track Server.Zeus Server等.这些软件各有特色:NCSA(美国伊利诺斯大学的国家超级计算应用中心)是WWW Browser Mosaic发迹之地,也是Netscape公司的安德森成名的地方:CERN(欧洲原子核研究中心)是WWW的起源地,1989年蒂姆·贝纳斯-李正是在

Apache服务器高级设置指南(5)

apache|服务器|高级 经常见到某些网站提供个人主页,显得很神气,其实你也可以开放你机器上的空间给别人,这很简单就能实现.只要你按照下面的提示对你的WWW服务器配置文件进行修改. 给用户开放个人主页空间,一是要确定用户主页的存放目录,二是开放用户主页目录的读取权限. 方法一你以root的身份给用户chen开个帐号,系统自动会给chen分配一空间/home/user,而后在/home/chen的目录下建一public_html的子目录,子目录的属性要设成other可读和可执行的. 接着修改ac

Apache服务器安全设置指南

Apache安全设置,涉及到http://www.aliyun.com/zixun/aggregation/14417.html">Apache的配置文件.Apache的目录访问控制.在Apache上运行CGI等安全方面的设置. Apache的配置文件 对于RedHat Linux系统,Apache的配置文件放在/etc/httpd/conf/目录下.如果是自行编译安装的Apache,则视编译时指定的目录路径而定,默认是/usr/local/apache/conf.在conf目录下有3个A

PHP初学者:配置Apache服务器并且设置DNS

当然主要有技术含量的是点DNS的解析,我正给我们公司负责,先查资料的说...' 我们通常所说的虚拟主机技术就是将一台(或者一组)服务器的资源(系统资源.网络带宽.存储空间等)按照一定的比例分割成若干台相对独立的"小主机"的技术.每一台这样的"小主机"在功能上都可以实现WWW.FTP.Mail等基本的Internet服务,就像使用独立的主机一样. 目前网站服务器的虚拟主机平台使用以开放的Apache为最多,其次是微软的Windows IIS.Apache具有跨平台(F

win2008 R2 WEB 服务器安全设置指南之组策略与用户设置_win服务器

通过优化设置组策略.对系统默认的管理员.用户进行重命名.创建陷阱帐户等措施来提高系统安全性. 接上篇,我们已经改好了远程连接端口,已经能拒绝一部份攻击了,但是这些设置还远远不够.在做以下安全时,必须确保你的服务器软件已经全部配置完毕,并且能正常使用,不然如果在安全设置后再安装软件的话,有可能会安装失败或发生其它错误,导致环境配置失败. 密码策略 系统密码的强弱直接关系到系统的安全,如果你的密码太简单,万一你的远程连接端口被扫到,那破解你的密码就是分分钟钟后了.所以,我们的系统密码必须要设置一个符

Win2008 R2 WEB 服务器安全设置指南之修改3389端口与更新补丁_win服务器

3389端口是指windows系统中的远程桌面端口,可以使用它本管理远程计算机,就像操作本地的电脑一样,但是也容易被一些黑客利用,所以对于这个端口我必须要修改,且必须在安装完系统后就马上修改它. 随着云主机的普及和微软的大力更新,用windows server 2008 R2作为web服务器的人越来越多,而其强大的性能和可操作性得到了好评.连卖win2008的虚拟主机商也多起来了,所以今天我来讲讲我是怎么设置Win2008服务器安全的,拙见希望能帮到大家.一起远离肉鸡吧... 千里之行始于足下,