Apache安全配置规范
实验一(3):典型安全通信协议的配置使用(Apache)
课程名称实验二:典型安全通信协议的配置使用(Apache)实验报告目录一.实验名称 (1)二.实验目标 (1)三.实验内容 (1)四.实验步骤 (1)五.实验遇到的问题及其解决方法 (10)六.实验结论 (11)一.实验名称实验二:典型安全通信协议的配置使用(Apache)二.实验目标通过网络层安全通信协议和传输层通信协议的配置,理解网络安全的层次概念。
三.实验内容结合APache的配置了解SSL协议的使用。
SSL协议的使用过程:两者先各自向Boss申请证书,在每次进行通信时,先有客户端与服务器端商定一个 session Key ,然后以此session key进行会话,(当然是以证书为基准的)1.SSL握手协议:通过截包软件Wireshark,可以截获通信数据包中,client hello的https数据包。
2.更改密码规格协议:过了一段时间后,需要商定一个新的session key?3.SSL报警协议:即通过安全证书,SSL协议通信时,用户会得到安全通信协议的通知。
4.SSL记录协议:即记录整个加密传输过程,以便另一端解密使用四.实验步骤1.首先到Apache官网下载Apache+OpeSSL的整合安装包并安装;2.单击“开始——管理计算机——本地用户和组——用户”,右键单击添加新User用户Apache(此步是为了后面赋予Apache服务器对应的用户运行权限,确保Web访问者用指定的帐号访问服务器而不是本地用户或管理员帐号访问本地文件)为服务器登录”,并添加刚才新建的用户“Apache”;4.单击“开始——管理工具——服务”,首先停止Apache 2.2的服务,搜后右键单击选择属性,将单选框从“本地帐户”切换到“此帐户”并填入Apache 的用户名和密码;5.找到Apache的安装目录(在本例中为C:\apache 2.2),右键单击“属性——安全”,添加Apache用户并赋予Apache用户对于Apache安装目录的读取和写入的权利;此时重启Apache服务,方能正常重新启动;6.首先从\conf\extra将http-ssl.conf文件拷贝到conf目录下,打开并查找到#LoadModule ssl_module modules/mod_ssl.so将前面的#注释去掉打开SSL模块;7.在httpd.conf中找到# Secure (SSL/TLS) connections并在下添加入下行:Include conf/httpd-ssl.conf8.打开cmd,更改当前目录之Apache安装目录下的bin文件夹下,输入命令openssl genrsa –out ca.key 1024此命令用户生成CA证书中心自签所用的密钥对,其中genrsa用于生成RSA 密钥对的OpenSSL 命令。
Apache服务器安全配置基线
Apache服务器安全配置基线中国移动通信有限公司管理信息系统部2012年 04月备注:1.若此文档需要日后更新,请创建人填写版本控制表格,否则删除版本控制表格。
目录第1章概述 (4)1.1目的 (4)1.2适用范围 (4)1.3适用版本 (4)1.4实施 (4)1.5例外条款 (4)第2章日志配置操作 (5)2.1日志配置 (5)2.1.1审核登录 (5)第3章设备其他配置操作 (6)3.1访问权限 (6)3.1.1禁止访问外部文件 (6)3.2防攻击管理 (6)3.2.1错误页面处理 (7)3.2.2目录列表访问限制 (7)3.2.3拒绝服务防范 (8)3.2.4删除无用文件 (8)3.2.5隐藏敏感信息 (9)3.2.6Apache账户安全* (9)3.2.7限制请求消息长度 (10)第4章评审与修订 (11)第1章概述1.1目的本文档规定了中国移动通信有限公司管理信息系统部门所维护管理的Apache服务器应当遵循的安全性设置标准,本文档旨在指导系统管理人员进行Apache服务器的安全配置。
1.2适用范围本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。
本配置标准适用的范围包括:中国移动总部和各省公司信息化部门维护管理的Apache 服务器系统。
1.3适用版本2.0.x、2.2.x版本的Apache服务器。
1.4实施本标准的解释权和修改权属于中国移动集团管理信息系统部,在本标准的执行过程中若有任何疑问或建议,应及时反馈。
本标准发布之日起生效。
1.5例外条款欲申请本标准的例外条款,申请人必须准备书面申请文件,说明业务需求和原因,送交中国移动通信有限公司管理信息系统部进行审批备案。
第2章日志配置操作2.1日志配置2.1.1审核登录第3章设备其他配置操作3.1访问权限3.1.1禁止访问外部文件3.2防攻击管理3.2.1错误页面处理3.2.2目录列表访问限制3.2.3拒绝服务防范3.2.4删除无用文件3.2.5隐藏敏感信息3.2.6Apache账户安全*3.2.7限制请求消息长度范文范例指导参考第4章评审与修订本标准由中国移动通信有限公司管理信息系统部定期进行审查,根据审视结果修订标准,并颁发执行。
apache下配置详解
Apache下关于虚拟主机的配置关于虚拟主机的概述:配置虚拟主机主要应用场景:多站点访问,一个服务器放置了多个站点服务。
主要的三种配置方法:1、基于IP 2、基于端口3、基于主机名步骤详解:1.虚拟主机使用的话,必须将中心服务关闭,在/etc/httpd/conf/httpd.conf文件里,将DocumentRoot一行注释掉来关闭中心服务。
2.可以在httpd.conf文件最后面直接添加虚拟主机的配置内容,也可以在/etc/httpd/conf.d/下面创建一个自己的配置文件,如:my.conf文件。
3.my.conf文件配置详解1)基于IP配置<VirtualHost 192.168.0.112:80>ServerName DocumentRoot "/www/"</VirtualHost><VirtualHost 192.168.0.113:80>ServerName DocumentRoot "/www/"</VirtualHost>以上2个虚拟主机配置的IP分别为192.168.0.113和192.168.0.112,端口同为80端口。
这样在浏览器分别输入不同的ip或域名时就会访问到不同的站点。
Tips:如果只有一块网卡可以同过ipaddr add 192.168.0.112 dev eth0来添加辅助ip。
如果是域名方式访问,还需要在windows和linux下的hosts文件里面自行添加域名解析。
关于辅助ip的设置:ipaddr add 192.168.0.112/24 dev eth0这是为网卡设置一个辅助ip。
假如一个网卡的ip地址为192.168.0.22,执行上面的命令,在用ifconfig 查看,会发现有两个ip地址,而192.168.0.22称为主地址(Primary IP address),而192.168.0.112称为辅助地址(secondary IP address),一块网卡是允许有多个IP地址的,所以就算再多添加几个secondary IP 也是合法行的。
APACHE安装配置说明
APACHE安装配置说明⼀、软件下载⼆、环境检查# rpm -qa|grep zlibzlib-devel-1.2.3-3zlib-1.2.3-3# rpm -qa|grep sslopenssl-devel-0.9.8b-10.el5openssl-0.9.8b-10.el5如果需要依赖包,安装其对应的devel包即可,此处仅⽤到zlib和ssl。
另,如果有httpd包,要先卸载掉或停⽌其服务。
三、编译安装1、针对安装⽬的的说明(来⾃INSTALL⽂件)如果是开发者则使⽤此选项,--with-included-apr利于连接apache的代码或者是调试apache,其消除了由于版本或者编译中跟APR或者APR-util代码产⽣的不匹配;如果从⼦版本编译apache,要先运⾏buildconf(需要Python,GNU autoconf和libtool),然后运⾏configure。
发⾏包不⽤。
如果要在FreeBSD5.4之前编译时包含apache的threaded MPM,需要使⽤--enable-threads和--with-mpm 参数在Mac上编译⼦版本,要使⽤GNU Libtool 1.4.2及以上版本2、关于SSL加密和正则表达式(来⾃⽂件README)Apache2.0及以上版本在⽬录modules/ssl/下包含了mod_ssl模块⽤于配置和监听ssl⽹络接⼝的连接。
(另外,⼀些apr-util版本在⽬录srclib/apr-util/ssl/下提供了ssl⽹络接⼝)带有单词crypto的包的名字,可能包含openssl加密库的⽬标代码。
如果apache的加密功能不理想或者要排除再重分配,则可以使⽤包的名字包含nossl的发布包。
Apache使⽤PCRE包包含的正则表达式。
3、对configure参数的说明配置帮助表:-h, --help显⽰帮助信息display this help and exit--help=short ⽤short参数将只显⽰正在运⾏的当前脚本的选项,⽽不能列出适⽤于Apache配置脚本所运⾏的外部配置脚本的选项display optionsspecific to thispackage--help=recursive 使⽤recursive参数将显⽰所有程序包的简短描述display the shorthelp of all theincluded packages-V, --version显⽰版本display version information and exit-q, --quiet, --silent不显⽰checking……信息do notprint`checking...' messages--cache-file=FILE在指定⽂件中存储测试结果cache test results in FILE [disabled]-C, --config-cache 在⽂件config.cache中存储测试结果alias for `--cachefile=config.cache'-n, --no-create configure脚本运⾏结束后不输出结果⽂件,常⽤于正式编译前的测试。
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:
Apache Web服务器安全运行环境的配置总结
14 8 15 5 . h t m .
AP che s rve 的访问 a e r 控制和认证、 授权等
一系列至关重要的安全服务。 mo e acc以 模块能够根据访问者的I 地 d s 摇 P 址(或域名, 主机名等)来控制对Apa h e 服务 c 器的访问, 称之为基于主机的访问控制。 mo e au h 模块用来控制用户和组的认证 d s t 授权(Au henticat n 。用户名和口 t o i ) 令存干纯
好将其限制在一个 特定的目 录下, g i一 n 如c b i
之下, 便于管理. 另外应该保证CGI 目 录下的 文件是不可写的, 避免一些欺骗性的程序驻留 或Байду номын сангаас迹其中. 如果能够给用户提供一个安全性 良 好的CG 程序的模块作为参考, I 也许会减少 许多不必要的麻烦和安全隐患;除去CG 目 I 录 下的所有非业务应用的脚本, 以防异常的信息
apache用法
apache用法Apache是一款流行的web服务器软件,它能够提供网页浏览、动态内容创建、数据库服务等多种功能。
在本文中,我们将介绍Apache 的安装、配置、管理、安全性和优化等方面的知识。
一、安装Apache安装Apache非常简单,您可以从官方网站下载适合您操作系统的安装包。
在安装过程中,您需要选择安装路径、配置文件位置等选项,并设置一些基本参数。
安装完成后,您可以通过浏览器或命令行来测试Apache是否正常运行。
二、配置ApacheApache的配置文件位于`/etc/httpd/conf`目录下,该文件包含了Apache服务器的各种设置。
配置文件使用了较为简洁的语法,方便修改和调整。
您可以使用文本编辑器打开配置文件,根据您的需求进行修改。
在配置文件中,您可以设置虚拟主机、监听地址和端口、启用或禁用某些模块等功能。
同时,您还可以配置SSL证书,以实现安全传输。
配置完成后,需要重新启动Apache服务器,使配置生效。
三、管理ApacheApache提供了多种管理工具,方便您监控和调整服务器状态。
您可以使用命令行工具`apachectl`来查看服务器状态、启动和停止服务、重新加载配置等操作。
此外,您还可以使用Web管理工具,如Apache自带的Web管理界面或第三方工具,通过浏览器进行管理操作。
四、安全性Apache具有较高的安全性,但仍然需要注意一些安全问题。
首先,确保您的配置文件没有安全漏洞,如弱密码、不正确的权限设置等。
其次,及时更新Apache软件和配置文件,以修复潜在的安全漏洞。
最后,限制对配置文件的访问,以防止未经授权的修改。
五、优化Apache优化Apache可以提高服务器的性能和稳定性。
首先,优化虚拟主机配置,根据实际需求设置合适的资源分配和访问控制。
其次,使用缓存技术,如反向代理和缓存服务器,减少对数据库的访问次数。
此外,合理配置服务器硬件资源,如内存、硬盘和CPU,以充分利用服务器性能。
Apache服务的配置和验证
《组网技术》 第06课1.教学目的:使学生熟练掌握Linux环境常规与高级WEB服务和配置、验证方法。
使学生了解Linux环境LAMP及HTTPS相关知识2.教学内容:⑴Apache 常规服务器的配置⑵站点配置后的一般检测步骤和方法⑶Apache 高级服务器的配置⑷LAMP模型⑸实现HTTPS3.内容难点:配置Apache 虚拟主机Apache访问控制与安全网站4.学习要求:理解Web服务器的概念,正确建立和配置WEB 服务器。
在客户端检验WEB 服务器。
5.教学纲要㈠ Apache服务器非图形工具配置方法从上一讲中Apache服务器图形工具配置方法中可以知道,Apache服务器的核心配置文件是/etc/httpd.conf/conf/httpd.conf。
httpd.conf是Apache服务器中最核心的配置文件,大部分的设置都是通过该文件来完成的。
httpd.conf文件的内容非常多,其中包含很多的注释与说明,用来告诉读者可以提供哪些功能以及用法等。
从下图中Apache服务器图形工具配置的界面可以领略到httpd.conf文件的内容。
还有一些隐性的设置不能从中解读到。
主要的几种配置参数①Apache服务器根目录设置字段ServerRoot本字段用来设置Apache服务器的配置文件、错误文件和日志文件的存放目录。
默认情况下为:ServerRoot "/etc/httpd"可以根据需要进行修改。
②Apache服务器客户端连接数限制字段MaxClients<IfModule prefork.c>StartServers 8MinSpareServers 5MaxSpareServers 20ServerLimit 256MaxClients 256MaxRequestsPerChild 4000</IfModule>③设置主机名称字段ServerNameServerName字段定义服务器名称和端口号,用以标明自己的身份。
Apache配置详解
Apache配置详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。
主站点的配置(基本配置)(1) 基本配置:ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。
其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。
PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。
Listen 80 #服务器监听的端口号。
ServerName :80 #主站点名称(网站的主机名)。
ServerAdmin admin@ #管理员的邮件地址。
DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。
以下是对主站点的目录进行访问控制:<Directory "/mnt/web/clusting">Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI: 在该目录下允许执行CGI脚本。
FollowSymLinks: 在该目录下允许文件系统使用符号连接。
Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。
其它可用值和含义请参阅:/Apache/ApacheManual/mod/core.html#options AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None: 当AllowOverride被设置为None时。
apache的配置及小经验总结
///insert into table values(1)
if($i=0;$i<$nums;$i++){
也可以通过ini_set()函数去设置配置文件的值:@ini_set('display_errors',1);
E:extension=php_zip.dll 调用压缩包
F:查找error_reporting = E_ALL & ~E_NOTICE,将其前边的分号去掉(显示所用的错误和警告,除了notice)
$sql="insert into table values('$array[$i]')";
$rec=mysql_query($sql);
}
///批量插入第二种方法
$array=$_POST['checkbox'];
$nums=count($_POST['checkbox']);
21.javascript中在处理<select multiple="multiple">标签时,join()函数和implode()函数是一样的, arr.join(",") 将数组元素以逗号连接在一起
22.1.alert(document.form1.elements.length);
D:查找DirectoryIndex 看到后面只有index.html 在它后面加上index.php (index.sht,大概在241行ml)。
F:查找 Include conf/extra/http-mpm.conf ,将此行前边的#去掉。
Apache的各种优化以及安全配置详解
Apache的各种优化以及安全配置详解简介:Apache所运⾏的硬件环境都是对性能影响最⼤的因素,即使不能对硬件进⾏升级,也最好给Apache⼀个单独的主机以免受到其他应⽤的⼲扰。
各个硬件指标中,对性能影响最⼤的是内存,对于静态内容(图⽚、JavaScript⽂件、css⽂件等)。
它决定了Apache可以缓存多少内容,它缓存的内容越多,在硬盘上读取内容的机会就会越少,⼤内存可以极⼤提⾼静态站点的速度;对动态⾼负载站点来说,每个请求保存的时间更多⼀些,Apache的mpm模块会为每个请求派⽣出相应的进程或线程分别处理,⽽进程或线程的数量与内存的消耗近似成正⽐,因此增⼤内存对提⾼动态站点的负载和运⾏速度也极为有利。
其次是硬盘的速度,静态站点尤为突出,Apache不断的在读取⽂件并发送给相应的请求,硬盘的读写是极其频繁的;动态站点也要不断的加载web程序(php等),⼀个请求甚⾄要读取⼗⼏个⽂件才能处理完成,因此尽可能的提⾼硬盘速度和质量对提⾼Apache的性能是有积极意义的。
最后CPU和⽹络,CPU影响的是web程序执⾏速度,⽹络影响流量⼤⼩。
⼀、Apache的⼏种⼯作模式以及调优Apache HTTP服务器被设计为⼀个强⼤的、灵活的能够在多种平台以及不同环境下⼯作的服务器。
这种模块化的设计就叫做“多进程处理模块”(Multi-Processing Module,MPM),也叫做⼯作模式。
1.Prefork(⼀个⾮线程型的):其主要⼯作⽅式是:当Apache服务器启动后,mpm_prefork模块会预先创建多个⼦进程(默认为5个),每个⼦进程只有⼀个线程,当接受到客户端的请求后,mpm_prefork模块再将请求转交给⼦进程处理,并且每个⼦进程同时只能⽤于处理单个请求。
如果当前的请求数将超过预先创建的⼦进程数时,mpm_prefork模块就会创建新的⼦进程来处理额外的请求。
这样客户端的请求就不需要在接受后等候⼦进程的产⽣。
apache安装及常用配置详细图示
二、启动停止服务...................................................................................................................5 2.1 检查端口使用情况:.................................................................................................5
三、制作服务脚本...................................................................................................................5 3.1 创建启动文件.............................................................................................................5 3.2 注册服务.....................................................................................................................6
阿帕奇服务器配置方案
apach服务器配置大全(1)2011-09-16 23:02:00 来源:互联网一、资料参考与准备:Apache软件包的组成/etc/httpd/conf/*一、资料参考与准备:Apache软件包的组成/etc/httpd/conf/*主配置文件位置/etc/rc.d/init.d/httpd启动脚本/home/httpd/htmlhtml文档的主目录/home/httpd/html/manual/*html格式的帮助文档/home/httpd/icons/*用在html网页中的图标文件/usr/sbin/*-/usr/sbin/htpasswd建立和更新apache用户的程序-/usr/sbin/httpdhttp服务器程序/var/log/httpd/*日志文件主配置文件httpd.conf的常用指令解释ServerType standalone#设置服务器的形式是单独启动(standalone),还是借由互联网络伺服程序inetd来启动。
一般使用前者。
ServerRoot "/usr/local/apache"#设置服务器的Home目录,用来存放服务器的设置文件、错误文件、记录文件。
PidFile logs/httpd.pid#程序启动时,把父进程httpd的进程号(process id)存在这个文件中。
这个文件名可以配合PidFile 指令加以改变。
ScoreBoardFile logs/apache_status#设置网络上WWW服务器一些执行程序的记录文件。
#ResourceConfig conf/srm.conf#AccessConfig conf/access.conf#这两个文件的内容已经包含在httpd.conf文件中了。
Timeout 300#如果客户端300秒还没有连上,或者服务器300秒还没有传送数据到客户端,就会自动断线。
KeepAlive On#设置是否支持续传功能。
Apache服务器配置
载入模块指令
Apache服务器采用动态共享对象(DSO,Dynamic Shared Object)的机制,在启动Apache服务器时可根据实际需要载 入适当的模块,使其具有相应的功能。 载入模块的相关指令有: LoadModule ClearModuleList AddModule
LoadModule
建立系统用户的个人主页
1. 修改httpd.conf,启用个人主页功能 UserDir public_html [root@www ~]# vi /usr/local/apache2/conf/httpd.conf …… 确认目录区域设置 #UserDir disable 2. 建立个人主页测试网页 …… ~/public_html/index.html UserDir public_html <Directory "/home/*/public_html"> /home/jerry/ 添加权限:chmod o+x AllowOverride none 3. 重新启动httpd服务 Options none /usr/local/apache2/bin/apachectl restart Order allow,deny Allow from 4. 访问测试 all </Directory> /~user
httpd服务的日志
两类日志文件 访问日志:/usr/local/apache2/logs/access_log 错误日志:/usr/local/apache2/logs/error_log httpd.conf中对日志的设置
[root@localhost ~]# vi /usr/local/apache2/conf/httpd.conf …… ErrorLog logs/error_log CustomLog logs/access_log common ……
httpd.conf配置完美详解
httpd.conf配置完美详解Linux下httpd.conf 配置详解1. 关于本文本文将以Apache 2.2为例,以rhel5为平台,讲述Apache服务器的安装和设置。
2. 关于ApacheApache 是一款功能强大、稳定、可支撑关键任务的Web服务器Apache具有如下特性:1) 几乎可以运行在所有的计算机平台上.2) 支持最新的HTTP/1.1协议3) 简单而且强有力的基于文件的配置(HTTPD.CONF).4) 支持通用网关接口(CGI)5) 支持虚拟主机.6) 支持HTTP认证.7) 集成PERL.8) 集成的代理服务器9) 可以通过WEB浏览器监视服务器的状态, 可以自定义日志.10) 支持服务器端包含命令(SSI).11) 支持安全SOCKET层(SSL).12) 具有用户会话过程的跟踪能力.13) 支持FASTCGI14) 支持JAVA SERVLETS.……更多信息请参阅Apache网站:/doc/327020310.html,3. Apache的安装Apache的安装无外两种方式:源码包安装和二进制包安装。
这两种方式各有特色,二位制包安装不需编译,针对不同的平台有经过优化编译的不同的二进制文件以及包格式,安装简单方便,源码包则必须先配置编译再安装,可以根据你所用的主机环境进行优化、选择你所用的模块,安装定制更灵活。
下面分别介绍这两种安装方式。
3.1 以源码包方式安装3.1.1 下载最新版本的apache软件访问apahce网站/doc/327020310.html,/download.cgi下载最新版本的Apache源码包。
本文使用的是2.2.6版本,在linux系统下用下面的命令下载:wget /doc/327020310.html,/httpd/httpd-2.2.6.tar.gz3.1.2 解压缩下载的源码包首先建立一个工作目录( 笔者建议的目录为/usr/local/src/apache ) :mkdir -p /usr/local/src/apache 将下载的源码包移至工作目录:mv httpd-2.2.6.tar.gz /usr/local/src/apache进入工作目录并用tar命令解压源码包:cd /usr/local/src/apachetar zxvf httpd-2.2.6.tar.gz命令执行结束后,当前工作目录下将生成一个新的子目录httpd-2.2.6,此目录下即为Apache的源码文件。
第十章 Apache服务器配置
< /VirtualHost>
基于IP地址虚拟主机
1、基于IP地址的虚拟主机 < VirtualHost 172.16.100.252 > ServerName 172.16.100.252 ServerAdmin web1@ DocumentRoot “/tmp/html/www3” DirectoryIndex index.html ErrorLog “/tmp/html/www3/logs/error-log.txt”
基于域名虚拟主机
2、基于域名的虚拟主机
NameVirtualHost 172.16.100.253
< VirtualHost 172.16.100.253 > ServerName ServerAdmin web1@ DocumentRoot “/tmp/vh1/html” DirectoryIndex index.html ErrorLog /tmp/vh1/html/logs/error-log.txt CustomLog /tmp/vh1/html/logs/acess-log.txt combined < /VirtualHost>
Apache服务的安装
与Apache 相关的软件包
软件包名称 功能描述 Apache服务器程序 Apache2.0手册
httpd : httpd-manual: Systen-config-httpd:
Apche的图形配置工具
rpm –qa | grep httpd
Apache的主要文件和目录结构
温馨提示:Apache2.0 开始应用MPM(Multi-Proecessing Moudles 多道处理模块),用户可以根据自己需要选择不同的核心模块。查 看当前服务器的核心模块使用命令”httpd -l”
Apache服务器配置与管理
Apache服务器配置与管理一、Apache服务器的安装与启动1、查询系统是否安装了Apacherpm -qa | grep httpd2、运行如下命令进行安装rpm -ivh /media/RH*/Server/httpd-2.2.3-11.e15_1.3.i386.rpm3、启动Apache服务器service httpd restart 或者etc/init.d/httpd restart4、检测配置文件的语法service httpd configtest5、测试Apache服务器注意:防火墙的配置二、Apache服务器默认的配置文件信息1、主配置文件:/etc/httpd/conf/httpd.conf2、服务器的根目录(ServerRoot):/etc/httpd3、根文档目录(DocumentRoot):/var/www/html4、访问日志文件:/etc/httpd/logs/access_log5、错误日志文件:/etc/httpd/logs/error_log6、模块存放路径:/etc/httpd/modules(一)httpd.conf文件的格式1、httpd.conf配置文件主要由全局环境、主服务器配置和虚拟主机3个部分组成2、配置语句的语法格式:配置参数名称参数值3、检查httpd.conf的语法是否正确apachectl configtest 或者service httpd configtest(二)Web服务的基本配置1、主目录的路径(DocumentRoot)默认位置:/var/www/html可以将需要发布的网页放在这个目录下2、默认文档在浏览器中,输入Web站点的IP地址或域名即显示出来的Web页面DirectoryIndex index.html index.htm index.php index.html.var3、配置Apache监听的IP地址和端口号Listen 80(在本机所有可用IP地址上监听TCP 80端口)只监听IP地址为192.168.16.177的80端口和192.168.18.178的8080端口Listen 192.168.16.177 80Listen 192.168.18.178 80804、设置相对根目录路径相对根目录通常是Apache存放配置文件、日志文件、模块文件等的地方。
Apache服务器配置文件
• 全局环境配置 • 主服务器配置 • 虚拟主机配置
配置指令的作用域
• 配置指令作用范围可以是全局或只能在容器 • server config、virtual host、directory、 .htaccess
查看指令的 作用域
• Apache 手册中指令的作用域(Context)项 • # httpd -L 或 apachectl -L
配置文件的基本语法
3
每一行包含一个指令,在行尾使用反斜杠”\”可以表示续行
配置文件中的指令不区分大小写,但是指令的参数 (argument) 通 常区分大小写
以 ”#” 开头的行被视为注解并在读取时被忽略。注解不能出现在 指令的后边
空白行和指令前的空白字符将在读取时被忽略,因此可以采用缩进 以保持配置层次的清晰
• # httpd -L 或 apachectl -L
Apache的服务器配置文件标识指令
8
ServerName
• 服务器用于辨识自己的主机名和端口号
ServerAdmin
• 服务器返回给客户端的错误信息中包含的管理员邮件地址
ServerSignature
• 配置服务器生成页面的页脚的信息
ServerTokens
DocumentRoot
组成网络上可见的主文档树的根目录
ErrorLog
存放错误日志的位置
CustomLog
访问日志文件的位置
LockFile
Apache 使用的锁文件的位置
PidFile
设置服务器用于记录父进程(监控进程) PID 的文件
Apache Profork MPM 的相关指令
10
StartServers:启动时服务器启动的进程数
APACHE服务器在电子商务网站中的安全性设置
O d r l w, n r e l A o De y A l wfo al l r m l o
De yfo Y YY Yy yY Y n r m Y .Y .y .Y
( ) d a出一 nn允许匿名登 录。 4 mo— u a o ( )S 5 S L这相 当 于一 个外 部 模块 ,要 结 合第 三 方程 序 如 O eSL等 才能实现。 p nS 我们在 电子商务网站使用 A ah 时,在考虑安全问题时要 pc e 着重考虑上边这些模块 的使用。建议采用原代码进行编译安装 , 且在编译 A ah 时包含以上模块 , pc e 以使 A ah 提供足够的安全 p ce
势。 A ah 中有关安全性 的模块有 : pc e ( )l ces用 于访 问控 制 。 1n d acs o () d at 用 于用 户 和 组 的认 证 授 权 。 2 mo—th t ( ) d a t d et采用 M 5数字签名的方式来进行用户 3 mo uh i s —g D 的认 证 。
( )D et , 4 < i co > r r y
AU w Iei eNo e o  ̄v rd n 据统计 , 全世界有近 6 %的站点采用 A ah , 0 pce 作为最流行 的 Op in n t sNo e o 可以跨平台的 We b服务器 , pc e A ah 提供 了较好的安全 特性 , 使其 Al wf m l l r al o o 能够应对可能的安全威胁 和信息泄漏 。因而在电子商务网站 , 特 </ r co y Die tr > 别是在中小型 电子商务网站中使用较多。但 A ah p ce的设置项 目 较多 , 且因其缺省设置也能够正常运行 , 以有些 网站常常会在 所 阳止非 R o 用户建立 、 ot 修改 .acs 文件 , h ces t 防止非 R t 讨 定义系统安全特性 。不让非 R t o 用户随意访问特定 的 目录。 沦在操作 系统的安全设置 已经完成 的基础上 , pc e的安全 设 A ah ( )D et , 5< i o > r r c y Or e e yalw d r n ,l d o 置需注意的几个方面问题 ,给 A ah 服务器 的运行提供安全保 pc e De yf m l n r al o 证, 来满足电子商务对网站安全的需求 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Restart Apache.
Check that the server works normally, and simulate an attack by browsing to the URL http://yourhost/cmd.exe. Instead of a “page not found” error, you should get a “Method Not Implemented” error.
检测对已安装在主机中的木马的访问
错误检测,防止应用错误信息发送给客户端
XML 保护,检查 XML Payload 搜索引擎监控
【具体配置】
可以在/download/index.html下载源代码, /documentation/modsecurityapache/2.1.2/modsecurity2-apache-reference.html#02-installation给出了安装的步 骤。
其他服务的不必要的权限。而且 Apache 用户的用户 ID 应该分配 1 和 499 之间的一
个值,由于这些值是为特殊的系统账户保留,而不可以被普通用户使用。
【具体配置】
创建一个名字类似:apache 的用户来运行 Web Server,如下例子中,指定 Web document root 为该用户的主目录 该用户永远不应被使用用来登录 Shell 通过以下命令创建新的 apache 用户 # groupadd apache # useradd apache -g apache -d /dev/null -s /sbin/nologin 该命令禁止了 apache 用户的登录
Web 安全已经远超过了 Web 服务器安全的范围,因为会有许多不同的 Web 安 全漏洞,这些漏洞可能并不直接涉及 Web 服务器本身。为了加固 Web 服务,需要 同时考虑几项安全技术。其中包括但不限于防火墙、入侵检测、DNS 等。进行 Apache 加固前应先考虑以下内容:
通过防火墙、路由器和交换机控制对 Web 服务器的访问 部署网络入侵检测以监控对 Web 服务器的攻击 有恰当的磁盘空间监控和日志轮换机制 注册 Web 网站时登记的数据没有泄漏敏感信息的 恰当地防护 DNS 防止域名劫持 加固 Web 服务器底层的操作系统 编码安全
2.1.3. 最小化 httpd.conf 文件
【说明】缺省的文件因为包括了许多模块的目录和一些说明导致非常大,使得
配置文件难读和难以管理。建议建立一个空的配置文件后,一项项填入必要的配
置。可以通过命令“apachectl configtest”命令测试文件的语法。 【具体配置】
增加一个新的配置文件(/usr/local/apache2/conf/httpd.conf),添加诸如以下的内 容: # location of the web server files ServerRoot /usr/local/apache2 # location of the web server tree DocumentRoot /var/www/htdocs # path to the process ID (PID) file, which # stores the PID of the main Apache process PidFile /var/www/logs/httpd.pid # which port to listen at Listen 80 # do not resolve client IP addresses to names HostNameLookups Off
Page 3 of 15
HTTP 使用策略
Apache 安全配置规范
攻击检测:
恶意客户端软件检测,如恶意的自动程序,可以防止 Spam 通用的攻击检测,可以检测的攻击类型包括:
o SQL injection and Blind SQL injection. o Cross Site Scripting (XSS). o OS Command Injection and remote command access. o File name injection. o ColdFusion, PHP and ASP injection. o E-Mail Injection o HTTP Response Splitting. o Universal PDF XSS.
Page 5 of 15
2.1.5. 创建 Apache 用户和组帐号
Apache 安全配置规范
【说明】一个尽量避免遭受攻击的方法是为 Web 服务器应用创建一个独特的、
没有特权的用户 ID 和组。不应该使用类 Unix 系统中默认的“nobody” 用户 ID 和
组,由于该账户通常还为其他守护进程使用。Apache 使用的帐号也不需要赋予访问
Apache 安全配置规范
1. 概述
Apache 安全配置规范
1.1. 目的
本规范明确了 APACHE 安全配置方面的基本要求。为了提高 APACHE 的安全性而 提出的。
1.2. 范围
本规范适用于 XXXX 使用的 APACHE。
Page 1 of 15
Apache 安全配置规范
2. 配置规范
2.1.4. 最小化 Apache 模块
【说明】禁用不必须的 Apache 模块,以减小 Web 服务器的风险并增加性能。 只启用网站必须的功能模块。若不确定功能模块是否有用,可参考 Apache 文档站 点/docs/2.2/mod/,禁止掉模块后测试功能性。
强烈建议开始的时候只使用 Monitoring Only 模式,通过以下方式实现: Change the directive SecRuleEngine in file modsecurity_crs_10_config.conf from
Page 4 of 15
Apache 安全配置规范
On to DetectionOnly. 经过一段时间的观察和对错误信息的验证,再使用 On 的模式。
ModSecurity 执行以下的功能: 在 Web Server 处理前,拦截 HTTP 请求 拦截请求的内容(Request Body),例如 POST Payload 拦截,存储,有选择性地验证上传的文件 通过在设置文件中定义一系列的规则,执行对请求的分析 在 HTTP Response 发送给客户端之前拦截,并进行安全检测和相应的分析 当对 HTTP Request 或 Response 分析发现问题是,执行相应的预定义操作
的建议。 可以进行自动更新。 使用的版本:尽量使用 2.2.x 版本。
Page 2 of 15
2.1.2. 使用 ModSecurity
Apache 安全配置规范
【说明】强烈建议使用 ModSecurity,因为其已经成为最广泛部署的 Web 应用 防火墙。ModSecurity 详细介绍见/documentation/.
【具体配置】
观察 Apache 的配置文件,注释掉不需要的模块,如下示例: LoadModule access_module modules/mod_access.so LoadModule auth_module modules/mod_auth.so LoadModule auth_anon_module modules/mod_auth_anon.so ## LoadModule auth_dbm_module modules/mod_auth_dbm.so ## LoadModule auth_digest_module modules/mod_auth_digest.so ## LoadModule ldap_module modules/mod_ldap.so ## LoadModule auth_ldap_module modules/mod_auth_ldap.so ## LoadModule cern_meta_module modules/mod_cern_meta.so ## LoadModule dav_module modules/mod_dav.so
Core Rule Set 特点: 优化了性能 通过一些改进减少误报 检测通用的攻击而不是特定的已知攻击,所以有更加的性能 更详细的规则信息 即插即用 Core Rules 使用了如下的技术: 协议合规性: HTTP Request 验证 HTTP 协议异常 限制 HTTP 各种协议属性
在 Apache 配置文件中键入如下两行: User apache Group apache
2.1.6. 限制访问
【说明】检查 Allow 和 Deny 指令(Directive)的访问控制逻辑性,限制对操作 系统根目录、Web 根目录及其他目录的访问。注意“Order”指定的顺序。如下例 子中,
Order allow,deny allow from deny from “ Order ” 指 令 的 顺 序 表 明 先 评 估 Allow 指 令 , Allow 指 令 表 明 来 自 于 域的所有访问都不允许,Deny 指令表明禁止掉来自于 域的 访问。合起来的意思是“除了来自于 域的访问外,允许所有其它来 自 域的访问” 【具体配置】
2.1. Apache 的基础设置
2.1.1ቤተ መጻሕፍቲ ባይዱ 安装
【说明】尽量使用厂商提供的 Apache 二进制安装包。使用厂商提供的安装包 的好处包括:
安装简便 为所使用的操作系统定制而成 经过了测试和 QA 的过程 包括了可能需要的所有模块,甚至一些第三方模块如