浅谈Linux下Apache服务器的配置及安全问题

合集下载

Linux使用注意事项与安全建议

Linux使用注意事项与安全建议

Linux使用注意事项与安全建议Linux是一种广泛使用的操作系统,在安全性和稳定性方面具有很高的优势。

然而,如何正确地使用Linux系统,以及采取便于保护和维护系统的安全措施也是非常重要的。

本文将为您提供一些使用Linux系统的注意事项和安全建议。

一、系统更新与漏洞修复及时更新系统软件和补丁,以确保系统安全性。

Linux社区开发者们经常发布系统更新和漏洞修复的补丁,这些更新可以填补系统中的安全漏洞。

定期检查并更新您的Linux系统非常重要。

二、强化系统密码使用强密码可以避免被恶意攻击者猜解密码的风险。

建议密码长度不少于8位,并包含大小写字母、数字和特殊字符的组合。

避免使用与个人信息有关的密码,例如生日、电话号码等。

三、用户权限管理合理设置用户权限可以有效减少恶意软件对系统的破坏。

不要将管理员权限随意地赋予其他用户,仅将其授予真正需要从事系统管理任务的用户。

使用sudo命令提升权限可以降低意外操作对系统的影响。

四、防火墙与网络安全启用防火墙是保护Linux系统的有效方式。

配置防火墙规则以限制对系统的未经授权访问。

定期检查网络连接并监控可疑活动,同时使用可信的防病毒软件来保护系统免受恶意软件的侵害。

五、远程登录安全远程登录是使用Linux系统的常见方式,但也是系统安全风险的一个薄弱环节。

为避免被未经授权的用户访问,建议使用SSH协议进行远程登录,同时禁用不安全的协议,如Telnet。

六、备份数据定期备份重要数据是防范数据丢失或遭受恶意软件攻击的重要措施。

创建有效的数据备份策略,并确保备份数据的加密和存储安全。

七、定期监测日志监测系统日志可以帮助发现潜在的入侵尝试或异常活动。

Linux系统提供了各种工具来查看和分析日志文件。

了解和分析日志记录对检测和防范潜在的安全威胁至关重要。

八、软件安装与更新仅从官方和可信的源安装软件,以减少恶意软件的风险。

定期更新所有软件,以确保系统软件的安全性和稳定性。

九、物理环境安全保护Linux系统的物理环境也非常重要。

虚拟机中如何在Linux上安装和配置Apache服务器

虚拟机中如何在Linux上安装和配置Apache服务器

每日一句:I am a slow walker, but I never walk backwards.(我走得很慢,但从来不后退。

)一、本次配置a)操作系统:Linuxb)服务器:httpd-2.4.3.tar.gzc)APR:apr-1.4.6.tar.gzd)APR-Util:apr-util-1.5.1.tar.gze)PCRE:pcre-8.31.tar.gz二、Linux安装程序的基本步骤1、./configure --prefix=安装目录2、make3、make install三、Linux安装apache服务器步骤:1、gzip -d httpd- NN.tar.gz (阿帕奇服务器安装包)2、tar xvf httpd- NN.tar(执行第一步后出现这个文件)3、cd httpd- NN(执行完第二步后会产生一个服务器的目录,使用cd命令进入)4、安装程序的基本步骤5、安装目录/bin/apachectl -k start (启动服务器)6、测试。

打开浏览器输入http://服务器IP,如果出现It Works,则服务器安装成功7、安装过程中遇到的问题a)安装服务器时提示缺少apr文件(到官网下载后进行安装(还是按照安装步骤))b)安装apr时提示确实apr-util(到官网下载后进行安装(还是按照安装步骤))c)安装服务器时提示确实pcre(到官网下载后进行安装(还是按照安装步骤))四、配置apache的虚拟主机a)将“安装目录\conf\httpd.conf ”中“#Include etc/extra/httpd-vhosts.conf ”的#去掉。

这样才能使httpd-vhosts.conf文件起作用,或者直接在httpd.conf中写配置也可以(不建议这么做)b)在httpd-vhosts.conf中配置VirtualHost(注:Apache在接受到请求时,首先会默认第一个VirtualHost,然后再找匹配的,如果没有匹配的,默认就是第一个VirtualHost起作用)<VirtualHost *:80> #主机名ServerAdmin admin@ #如果服务器有任何问题将发信到这个地址DocumentRoot /www/ #虚拟主机的指向目录ServerName #访问主机的域名[:端口号]ServerAlias * #- -这个不知道是啥。

Linux下Apache服务的部署和配置

Linux下Apache服务的部署和配置

Linux下Apache服务的部署和配置⽬录1 Apache的作⽤2 Apache的安装3 apache的启⽤4 apache的基本信息5 apache的访问控制5.1 基于客户端ip的访问控制5.2 基于⽤户认证的访问控制6 apache的虚拟主机7 apache的加密访问8 ⽹页重写9 正向代理10 反向代理11 apache ⽀持的语⾔1 Apache的作⽤解析⽹页语⾔,如html,php,jsp等接收web⽤户的请求,并给予⼀定的响应2 Apache的安装安装apche软件:dnf install httpd.x86_64 -y3 apache的启⽤开启apache服务并设置开机启动:systemctl enable --now httpd查看apache服务的状态:systemctl enable --now httpd查看⽕墙信息:firewall-cmd --list-all 在⽕墙中永久开启http服务:firewall-cmd --permanent --add-service=http在⽕墙中永久开启https服务: f irewall-cmd --permanent --add-service=https在不改变当前⽕墙状态的情况下刷新防⽕墙:firewall-cmd --reload4 apache的基本信息apche的基本信息服务名称:httpd主配置⽂件:/etc/httpd/conf/httpd.conf⼦配置⽂件:/etc/httpd/conf.d/*.conf默认发布⽬录:/var/www/html默认端⼝:80 (http),443(https)⽇志⽂件:/etc/httpd/logs开启apche服务后,输⼊ip查看默认发布页⾯:(1)更改apche服务的端⼝号查看httpd服务的默认端⼝号:netstat -antlupe |grep httpd编辑配置⽂件:/etc/httpd/conf/httpd.conf,修改端⼝号重启httpd服务:systemctl restart httpd查看httpd服务的端⼝号:netsat -antlupe | grep httpd更改端⼝号后,输⼊ip后⽆法正常连接,原因是8080端⼝未添加在⽕墙中在防⽕墙⾥添加888端⼝号:firewall-cmd --permanent --add-port=888/tcp在不改变当前⽕墙状态的情况下刷新防⽕墙:firewall-cmd --reload输⼊IP地址:端⼝号,可以正常访问(2)修改apche的默认发布⽂件默认⽬录:cd /var/www/html在⽂件默认发布⽬录下新建⼀个⽂件index.html输⼊:http://172.25.254.144查看默认发布⽂件就是访问apache时没有指定⽂件名,即默认访问的⽂件,此⽂件可以指定多个,但有访问顺序。

谈Linux环境下的Apache服务器的安全性及其实现

谈Linux环境下的Apache服务器的安全性及其实现

而造成服务器系统的公开化。
<Diet r / o /* p bH _ t > rco y h me / u ch ml
Op i n n l d s No x c to s I c u e e e
称、 组属和 口令等) 存于B ree D ek l y B及 D M型的小型数据 B
库 中 ,便 于管 理及提 高应 用 效率 。
3 S 的配 置 )S I
在 配置 文件 a ̄s.o f或ht .o f 的确 O t n指 令 o scn t ̄ cn中 l pi s o 处 加人 Id ds OE E n u eN X C选 项 ,用 禁 用 A c es e 中 a p h 盯vr 的执行 功能 。 免用 户直接 执行 Apde服 务器 中的执 行程序 , 避 a l
A ce的默认设置只能保障一定程度的安全 ,如果服务 a ph 器能够通过正常的映射规则找到文件,那么客户端便会获取该
e v rRo t/ s /o a/ p h S re o u r lc la c e a
mo _ ces dacs ̄块能够根据访 问者的I地址 ( P 或域名, 主机 名等)来控制对 A ah 服务器的访 问.称之为基于主机的访 pc e
问控 制 ; m —aut 模 块 用 来 控 制 用 户 和 组 的 认 证 授 权 0d h { t e tc to 。用 户 名 和 口令 存 于 纯 文 本 文 件 中 。 Au h n ia i n) mo_ u d 和mo — uh d m模 块 则分 别 将用 户 信 息 ( 名 dat b d at b 如
haos文 件 ,防 止 用户超 越能 定 艾的 系统 安 t e c s
是它允许匿名登录,将用户输入的 E a 地址作为 口令。 m i l

Linux下Apache的安装与配置

Linux下Apache的安装与配置

Linux下Apache的安装与配置⼀、编译安装1、解决依赖关系⼆、后续操作1、启动httpd两种⽅法:第⼀种、/usr/local/apache/bin/apachectl start第⼆种⽅法:先修改http.pid⽂件位置打开配置⽂件增加⼀⾏vim /etc/httpd/httpd.conf 增加PidFile “/var/run/httpd.pid”为了启动httpd更加⽅便,#!/bin/bash## httpd Startup script for the Apache HTTP Server## chkconfig: - 85 15# description: Apache is a World Wide Web server. It is used to serve \# HTML files and CGI.# processname: httpd# config: /etc/httpd/conf/httpd.conf# config: /etc/sysconfig/httpd# pidfile: /var/run/httpd.pid# Source function library.. /etc/rc.d/init.d/functionsif [ -f /etc/sysconfig/httpd ]; then. /etc/sysconfig/httpdfi# Start httpd in the C locale by default.HTTPD_LANG=${HTTPD_LANG-"C"}# This will prevent initlog from swallowing up a pass-phrase prompt if# mod_ssl needs a pass-phrase from the user.INITLOG_ARGS=""# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server# with the thread-based "worker" MPM; BE WARNED that some modules may not# work correctly with a thread-based MPM; notably PHP will refuse to start.# Path to the apachectl script, server binary, and short-form for messages.apachectl=/usr/local/apache/bin/apachectlhttpd=${HTTPD-/usr/local/apache/bin/httpd}prog=httpdpidfile=${PIDFILE-/var/run/httpd.pid}lockfile=${LOCKFILE-/var/lock/subsys/httpd}RETVAL=0start() {echo -n $"Starting $prog: "LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONSRETVAL=$?echo[ $RETVAL = 0 ] && touch ${lockfile}return $RETVAL}stop() {echo -n $"Stopping $prog: "killproc -p ${pidfile} -d 10 $httpdRETVAL=$?echo[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}}reload() {echo -n $"Reloading $prog: "if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; thenRETVAL=$?echo $"not reloading due to configuration syntax error"failure $"not reloading $httpd due to configuration syntax error"elsekillproc -p ${pidfile} $httpd -HUPRETVAL=$?fiecho}# See how we were called.case "$1" instart)start;;stop)stop;;status)status -p ${pidfile} $httpdRETVAL=$?;;restart)stopstart;;condrestart)if [ -f ${pidfile} ] ; thenstopstartfi;;reload)reload;;graceful|help|configtest|fullstatus)$apachectl $@RETVAL=$?;;*)echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}" exit 1esacexit $RETVAL将以上代码加⼊到vim /etc/init.d/httpd中⽽后为此脚本赋予执⾏权限:chmod +x /etc/rc.d/init.d/httpd加⼊服务列表:chkconfig --add httpd给3,5启动chkconfig --level 3,5 httpd on最后加路径将 export PATH=$PATH:/usr/local/apache/binvim /etc/profile.d/httpd.sh完成后重新登录就可以了。

Linux系统的安全性和常见安全问题解析

Linux系统的安全性和常见安全问题解析

Linux系统的安全性和常见安全问题解析Linux操作系统是一种广泛应用于各种设备和服务器的开源操作系统。

由于其开放性和安全性,Linux系统在许多领域被广泛使用。

本文将对Linux系统的安全性和常见安全问题进行解析。

一、Linux系统的安全性Linux系统之所以被认为是安全的,有以下几个原因:1. 开源性:Linux系统的源代码是公开的,任何人都可以审查和修改它。

这样的开放性使得漏洞和安全问题可以更快地被发现和修复。

2. 权限管理:Linux系统采用了严格的权限管理机制,通过用户和组的设置来限制不同的用户对系统资源的访问。

只有拥有相应权限的用户才能执行敏感操作,其他用户则无法干扰系统的安全。

3. 读写权限:Linux系统通过对文件和目录的读写权限进行控制来保护系统的安全。

只有具有相应权限的用户才能对文件进行操作,其他用户只能读取或执行文件。

4. 隔离性:Linux系统通过使用虚拟化技术和容器化技术来实现不同应用之间的隔离。

这样一来,即使一个应用程序被攻击,其他应用程序和系统依然可以保持安全。

二、常见安全问题及解决方法尽管Linux系统相对较为安全,但仍然存在一些常见的安全问题,需要我们关注和解决。

1. 弱密码:一个常见的安全问题是用户设置弱密码。

为了避免这个问题,用户应该设置包含大小写字母、数字和特殊字符的复杂密码,并定期更换密码。

2. 漏洞利用:即使Linux系统经常进行更新和修复,仍然存在一些漏洞可能被黑客利用。

为了解决这个问题,用户应该始终保持系统更新,并安装常见的安全补丁。

3. 权限不当:一个常见的错误是给予用户过多的权限,从而可能导致系统被攻击或滥用。

用户和管理员应该根据需要来分配权限,并定期审查和更新权限设置。

4. 网络攻击:Linux系统可能会受到来自外部网络的攻击,如DDoS攻击、端口扫描等。

为了防止这类攻击,用户应该启用防火墙、网络入侵检测系统等安全措施。

5. 病毒和恶意软件:虽然Linux系统相对于Windows系统来说更不容易受到病毒和恶意软件的感染,但仍然需要安装杀毒软件和定期进行系统扫描。

Linux下Apache目录发布及相关问题

Linux下Apache目录发布及相关问题

Apache目录发布及相关问题1.Apache目录发布1.1Apache相关文件1.2Apache相关命令1.3启动Apcahe目录浏览功能在目录/etc/httpd下创建文件夹test,且文件夹test里可多个文件,如testAlias"/etc/httpd/test "是要显示文件列表的目录,即需要发布的目录"Options Indexes"表示启用目录浏览"Order allow,deny"表示允许所有访问,除去明确拒绝的"IndexOptions Charset=UTF-8"设置字符集,以消除中文乱码"NameWidth=50"指定目录列表可以显示最长为25字节的文件/目录名点击test可以查看文件内容如下:Ps:如果需要发布其他目录(非/etc/httpd目录下),如目录/media,那么可以做如下操作:◆执行命令/usr/sbin/setenforce 0,关闭Selinux(若省略该步骤,则访问网页时会报403错误)1.4配置个人主页编辑主配置文件(/etc/httpd/conf/httpd.conf)▪(354行)注释UserDir Disable,即#UserDir Disable▪(361行)启动个人主目录名称,去掉UserDirPublic_html前面注释#▪(369-380行)启动个人用户Web站点的访问权限,去掉下面语句前面注释#浏览器输入地址:http://IP/~user,如下Ps:注意需要关闭SELinux,否则会报403错误。

(详见4.2)1.5发布默认站点下目录的内容进入默认根文档目录cd /var/www/html新建目录redhatmkdirredhat新建目录redhat下生成文件和目录touch redhat/file1 (生成文件file)mkdirredhat/dir1 (生成目录dir1)编辑主配置文件vi /etc/httpd/conf/httpd.conf主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options Indexes</Directory>tail -3 /etc/httpd/conf/httpd.conf(查看主配置文件倒数三行,即查看添加配置内容)重启Apache服务serciehttpd restart测试网页浏览器输入地址:http://IP/redhat,访问页面如下1.6配置目录的访问控制访问控制指令order deny,allow拒绝优先,默认拒绝,拒绝所有的访问(除了明确允许的)order allow,deny允许优先,默认允许,允许所有的访问(除了明确拒绝的)allow from IP允许的IP范围allow from 域名允许的域名范围allow from All允许所有deny from All拒绝所有对外发布目录主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options IndexesOrder deny,allowDeny from AllAllow from 192.168.128.128</Directory>重启Apacheserciehttpd restart测试网页1)浏览器输入地址:http://192.168.128.129/redhat,访问页面如下2)修改配置中“Allow from 192.168.128.129”后重启Apache,输入相同地址后再次访问,访问页面如下1.7配置目录的认证和授权认证指令AuthName认证名字AuthType认证类型,有两种⏹Basic,基本认证类型,所有浏览器均支持⏹Digest,摘要认证类型,部分浏览器不支持AuthUserFile认证用户文件,存放认证用户的列表文件Require valid-user授权给通过认证的所有用户Require user 用户名授权给通过认证的指定用户对外发布目录主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options IndexesAuthName“hyxu”AuthType BasicAuthUserFile file1Require valid-user</Directory>chownapache.apache /etc/httpd/file1重启Apacheserciehttpd restart测试网页1)浏览器输入地址:http://192.168.128.129/redhat,访问页面如下2)输入用户名haiyan及其密码后确定,进入如下页面1.8访问控制与认证授权结合访问控制、认证授权综合命令Satisfy any满足访问控制的条件或满足认证授权的条件,就可以访问指定页面、目录Satisfy all必须同时满足访问控制和认证授权的条件,才可以访问指定页面、目录 对外发布目录主配置文件/etc/httpd/conf/httpd.conf末尾下增加配置<Directory /var/www/html/redhat>Options IndexesOrder deny,allowDeny from AllAllow from 192.168.128.129AuthName“hyxu”AuthType Digest #必须为Digest,否则认证失败AuthUserFile file1Require valid-userSatisfy all</Directory>生成认证授权文件,同时添加用户chownapache.apache /etc/httpd/file1重启Apacheserciehttpd restart测试网页1)浏览器输入地址:http://192.168.128.129/redhat,访问页面如下2)输入用户名haiyan及其密码后确定,进入如下页面1.9 Include、.htaccess实例分割指令Include目录/文件名.conf⏹apache启动时,同时加载Include指令指定的目录下的以.conf结尾的文件⏹可以减少apache的主配置文件的容量.htaccess目录下的隐藏文件⏹可以减少apache服务的启动1.9.1Include实例查看主配置文件中配置在指定目录下生成文件并发布目录serciehttpd restart测试网页浏览器输入地址:http://192.168.128.129/hyxu,访问页面如下1.9.2.htaccess实例主配置文件中发布目录,添加使用.htaccess的指令serciehttpd restart测试网页浏览器输入地址:http://192.168.128.129/haiyan,访问页面如下2.Q&A2.1窗口最小化在面板上未能找到在面板上右击,选择“添加到面板”,打开面板管理器,找到“窗口列表”,选择它然后点击“添加”按钮就可以解决窗口最小化后消失的问题了。

Apache服务器配置

Apache服务器配置

IN CNAME
IN CNAME
在上面的配置中,在提交的DNS正向配置文件以及反向配置文件中, 已经具有如下的A记录和PTR记录,分别为
www
利用httpd.conf我们可以对Apache服务器进行全局 配置、管理或预设服务器的参数定义、虚拟主机的设 置等。httpd.conf是一个文本文件,我们可以用vi编辑 工具进行修改。 httpd.conf文件主要分为三个部分: Section 1: Global Environment (全局变量) Section 2: 'Main' server configuration(主服务器配置) Section 3: Virtual Hosts(虚拟主机配置)
2.配置基于IP的虚拟主机 (1)基于IP虚拟主机的DNS配置 如果用户想要创建两个基于IP的虚拟主机和
这两个虚拟主机站点的共同域名是 。用户可以按照如下所示在DNS正向配置文 件中进行配置:
lth IN
A 192.168.15.212
3.Port 该参数用来指定Apache服务器的监听端口。一般来说,标准的HTTP
服务默认端口号是80,一ቤተ መጻሕፍቲ ባይዱ不要更改这个数值。本例为80端口:
Port 80 4.ServerAdmin
设置Apache服务器管理员的邮件地址。
5.ServerName 该参数使得用户可以自行设置主机名,以取代安装Apache服务器主机
7.MaxKeepAliveRequests 当使用保持连接(persistent connection)功能时,可以使用本参数决定
每次连接所能发出的要求数目的上限。如果此数值为0,则表示没有限制。 建议尽可能使用较高的数值,以充分发挥Apache的高性能,本例设置每次 连接所能发出的要求数目上限为100:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录[摘要] (2)1. Linux的介绍 (3)2. Apache服务器的历史与现状 (3)3. Linux+Apache的常规配置 (4)1、安装Apache (4)2、主配置文件httpd.conf (4)3、Global Environment (4)4、'Main' Server Configuration (5)5、Virtual Hosts (5)4. Apache服务器的主要安全缺陷 (6)5. Apache服务器常规安全配置 (7)1. 服务器访问控制 (7)2. 隐藏和伪装APACHE的版本。

(7)3. 在“监牢”中运行APACHE。

(7)4. 减少CGI和SSL风险。

(7)5. 确保Apache以其自身的用户账号和组运行 (7)6. 禁止Apache遵循符号链接 (8)7. 慎重对待对.htaccess文件的支持 (8)8. 关闭任何不必要的模块 (8)9. 确保web根目录之外的文件没有提供服务 (8)10. 使用最高和最新安全版本 (8)参考资料 (9)[摘要]作为网管人员最担心Web服务器遭到攻击,一旦遭到攻击,网站的所有信息可能面目全非,直到整个Web系统全面瘫痪。

因此,选择安全性能好的Web服务器软件尤其重要。

作为Internet 上最流行的Web服务器软件,Apache的安全性经受了时间和市场的双重检验。

取得了惊人的成功。

了解Apache Server的特性,并进行合理的配置将是每一个站点管理维护或开发人员必须关注的问题。

[关键词]Web服务器;Apache;安全性;合理的配置1. Linux的介绍简单地说,Linux是一套免费使用和自由传播的类Unix操作系统。

这个系统是由世界各地的成千上万的程序员设计和实现的。

其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

Linux的出现,最早开始于一位名叫Linus Torvalds的计算机业余爱好者,他的目的是想设计一个代替Minix的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。

绝大多数基于Linux内核的的操作系统使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途,同时它们都尽可能被编写得更好。

2.Apache服务器的历史与现状Apache服务器源自美国国家超级技术计算应用中心(NCSA)的Web服务器项目中,因为强大的功能和灵活的设置及平台移植性,apache取得了广泛的信赖.目前Apache是世界使用排名第一的Web服务器软件。

它可以运行在几乎所有广泛使用的计算机平台上。

本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux 的支持相当完美。

Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。

Apache web服务器软件拥有以下特性:支持最新的HTTP/1.1通信协议拥有简单而强有力的基于文件的配置过程支持通用网关接口支持基于IP和基于域名的虚拟主机支持多种方式的HTTP认证集成Perl处理模块集成代理服务器模块支持实时监视服务器状态和定制服务器日志支持服务器端包含指令(SSI)支持安全Socket层(SSL)提供用户会话过程的跟踪支持FastCGI通过第三方模块可以支持Java Servlets3.Linux+Apache的常规配置在众多Linux发行版本中,以Red Hat公司的Red HatLinux应用最为广泛。

其出色的性能和稳定性在Linux界很受欢迎。

2007年3月14日Red Hat公司最新推出Red Hat Enterprise Linux 5,它包含1299多个组件,开发时间长达两年,采用Linux2.6.18内核,在系统性能、新功能的扩展、安全性的提高上都有很好的增强,下面就以Red Hat Enterprise Linux 5为例配置Apache。

1、安装Apache使用RPM软件包安装Apache服务器,Red Hat Enterprise Linux 5自带Apache服务器的程序包:主程序包 httpd-2.2.3-el5.i386.rpm开发程序包 httpd-devel-2.2.3-6.il5.i396.rpm[root@qs_www]#rpm -ivh httpd-2.2.3-el5.i386.rpm[root@qs_www]#rpm -ivh httpd-devel-2.2.3-6.il5.i396.rpm2、主配置文件httpd.confApache的配置文件放在/etc/httpd/conf/目录下。

在conf目录下有3个Apache的配置文件:httpd.confaccess.confsrm.confApache启动时先调用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部分的用法和与安全相关的注意点。

3、Global EnvironmentServerType standalone用来指定Apache的启动方式:standalone和inetd。

Standalone模式是Apache独立运行,也是默认的启动方式。

ServerRoot "/etc/httpd"Apache的目录,此处是存放配置、出错记录、日志文件的根目录。

Timeout 300设置超时时间。

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

MaxKeepAliveRequests 100设置每次连接期间所允许的最大请求数目。

设为0时表示允许无限制数目。

MaxClient 150设置服务运行的总数量。

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

4、'Main' Server ConfigurationPort 80设置Standalone服务器监听的连接端口,也可以设为其他端口,必须小于1 023。

必须以root身份才能更改端口。

#ServerName localhost设置主机名称,可以用域名和IP地址。

DocumentRoot "/var/www/html"设置Apache放置网页的目录路径。

DirectoryIndex index.html index.htm 设置Apache的默认首页文档。

ErrorLog /var/log/httpd/error_log指定Apache发生错误时记录文件的位置。

如果在<VirtualHost>中没有指定记录文件,则用/var/log/httpd/error_log,否则使用<VirtualHost>指定的文件。

5、Virtual Hosts这部分是设置虚拟主机的。

虚拟主机的实现方式有两种:以主机名称的方式虚拟、以IP的方式虚拟。

以IP的方式虚拟注册域名是要花一笔费用的。

在Linux中可以为一个网卡捆绑两个IP 地址。

如服务器的地址是192.168.0.1,现在有一个IP地址192.168.0.2没有使用(这里用内网ip,说明问题就行了)。

将192.168.0.2捆绑到服务器的网卡中,执行下列命令:#ifconfig eth0:1 192.168.0.2这样,服务器就有两个IP地址了。

以IP的方式虚拟和以主机名称的方式虚拟类似,请看下面的例子:<VirtualHost 192.168.0.1>ServerAdmin webmaster@DocumentRoot /yourpath/ServerName ErrorLog /var/log/httpd//error.log</VirtualHost><VirtualHost 192.168.0.2>ServerAdmin webmaster@DocumentRoot /yourpath/ServerName ErrorLog /var/log/httpd//error.log</VirtualHost>以主机名称的方式虚拟如果用户的一台服务器有多个域名,Virtual Host文件举例如下:NameVirtualHost 192.168.0.1<VirtualHost 192.168.0.1>ServerAdmin webmaster@DocumentRoot /yourpath/ServerName ErrorLog /var/log/httpd//error.log</VirtualHost><VirtualHost 192.168.0.1>ServerAdmin webmaster@DocumentRoot /yourpath/ServerName ErrorLog /var/log/httpd//error.log</VirtualHost>也就是在基于IP地址的配置基础上增加一句:NameVirtualHost 192.168.0.1而已。

在本例中,为了体现只需要增加一次,所以特别地设置了两个虚拟主机服务。

4.Apache服务器的主要安全缺陷正如我们前言所说尽管Apache服务器应用最为广泛,设计上非常安全的程序。

但是同其它应用程序一样,Apache也存在安全缺陷。

毕竟它是完全源代码,Apache服务器的安全缺陷主要有三种,下面我们来简单介绍一下:使用HTTP协议进行的拒绝服务攻击(denial of service)的安全缺陷这种方法攻击者会通过某些手段使服务器拒绝对HTTP应答。

这样会使Apache对系统资源(CPU时间和内存)需求的剧增,最终造成Apache系统变慢甚至完全瘫痪。

缓冲区溢出的安全缺陷该方法攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。

程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。

相关文档
最新文档