文档库 最新最全的文档下载
当前位置:文档库 › Apache安全维护十一式组建安全的web服务器

Apache安全维护十一式组建安全的web服务器

Apache安全维护十一式组建安全的web服务器
Apache安全维护十一式组建安全的web服务器

Apache安全维护十一式:组建安全的web服务器

一:勤打补丁

你必须要相信这个是最有用的手段,缓冲区溢出等漏洞都必须使用这种手段来防御,勤快点相信对你没有坏处

在http:https://www.wendangku.net/doc/c68640841.html,上最新的changelog中都写有:bug fix ,security bug fix的字样,做为负责任的管理员要经常关注相关漏洞,及时升级系统添加补丁。使用最新安全版本对加强apache至关重要

二:隐藏和伪装Apache的版本

打乱攻击者的步骤,给攻击者带来麻烦,相信是管理员愿意看到的。软件的漏洞信息和版本是相关的,在攻击者收集你服务软件信息时候给与迷惑是个不错的选择,何况版本号,对攻击者来说相当与GPS定位一样重要。

默认情况,系统会把apache版本模块都显示出来(http返回头),如果列举目录的话,会显示域名信息(文件列表正文),去除Apache版本号的方法是修改配置文件,找到关键字,修改为下边。

ServerSignature off

ServerTokens prod

通过分析web服务器类型,大致可以推测操作系统类型,win使用iis,linux普遍apache,默认的Apache配置里没有任何信息保护机制,并且允许目录浏览,通过目录浏览,通常可以得到类似“apache/1.37 Server at https://www.wendangku.net/doc/c68640841.html, Port 80”或

“apache/2.0.49(unix)PHP/4.3.8”的信息。

通过修改配置文件中的ServerTokens参数,可以将Apache的相关信息隐藏起来,如果不行的话,可能是提示信息被编译在程序里了,要隐藏需要修改apache的源代码,然后重新编译程序,以替换内容。

编辑ap_release.h文件,

修改"#define AP_SERVER_BASEPRODUCT\"Apache\""为

"#define AP_SERVER_BASEPRODUCT\"Microsoft-IIS/5.0\"

编辑os/unix/os.h文件

修改"#define PLATFORM\"Unix\""为

"#define PLATFORM\'Win32"

修改完成后,重新编译,安装apache,在修改配置文件为上边做过的,再次启动apache 后,用工具扫描,发现提示信息中已经显示为windows操作系统了。顺便说下,现在这个论坛,就有点不太讲究,这是论坛错误的返回信息,看了有点汗地感觉。

Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 mod_ssl/2.2.8 OpenSSL/0.9.8g Server at https://www.wendangku.net/doc/c68640841.html, Port 80

这个等于告诉恶意用户很多有用信息,虽然说不算开了门,但等于被告诉了门在那里,还是相当危险的。

三:建立安全的目录结构apache服务器包括四个目录结构

ServerRoot #保存配置文件,二进制文件与其他服务器配置文件

DocumentRoot #保存web站点内容,包括HTML文件和图片等

ScripAlias #保存CGI脚本

Customlog 和Errorlog #保存日志和错误日志

建议的目录结构为,以上四种目录相互独立并且不存在父子逻辑关系

注:

ServerRoot目录只能为root用户访问

DocumentRoot目录应该能够被管理web站点内容的用户访问和使用apache服务器的apache 用户与组访问

ScripAlias目录应该只能被CGI开发人员和apache用户访问

Customlog 和Errorlog只能被root访问

下边是一个安全目录结构的事例

+-------/etc/

|

| +----/http (ServerRoot)

| +----/logs (Customlog 和Errorlog)

|

+-------var/www

|

| +---/cgi-bin (ScripAlias)

| +---/html (DocumentRoot)

这样的目录结构是比较安全的,因为目录之间独立,某个目录权限错误不会影响到其他目录

四:为apache使用专门的用户与组

按照最小特权的原则,需要给apache分配一个合适的权限,让其能够完成web服务注:

最小特权原则是系统安全中最基本的原则之一,限制使用者对系统及数据进行存取所需要的最小权限,保证用户可以完成任务,同时也确保被窃取或异常操作所造成的损失。

必须保证apache使用一个专门的用户与组,不要使用系统预定的帐户,比如nobody用户与nogroup组

因为只有root用户可以运行apache,DocumentRoot应该能够被管理web站点内容的用户访问和使用apache服务器的apache用户与组访问,例如,希望“test”用户在web站点发布内容,并且可以以httpd身份运行apache服务器,可以这样设定

groupadd webteam

usermod -G webteam test

chown -R httpd.webteam /www/html

chmod -R 2570 /www/htdocs

只有root能访问日志,推荐这样的权限

chown -R root.root /etc/logs

chown -R 700 /etc/logs

五:web目录的访问策略

对于可以访问的web目录,要使用相对保守的途径进行访问,不要让用户查看任何目录索引列表

禁止使用目录索引:

apache在接到用户对一个目录的访问时,会查找DirectoryIndex指令指定的目录索引文件,默认为index.html,如果该文件不存在,那么apache会创建动态列表为用户显示该目录的内容,这样就会暴露web站点结构,因此需要修改配置文件禁止显示动态目录索引,修改httpd.conf

Options -Indexes FollowSymLinks

Options指令通知apache禁止使用目录索引,FollowSymLinks表示不允许使用符号连接。

禁止默认访问:

要的安全策略必须要禁止默认访问的存在,只对指定的目录开放权限,如果允许访问/var/www/html目录,使用如下设定

Order deny,allow

Allow from all

禁止用户重载:

为了禁止用户对目录配置文件(htaccess)进行重载(修改),可以这样设定

AllowOverride None

六:apache服务器访问控制

apache的access.conf文件负责设置文件的访问权限,可以实现互联网域名和ip地址的访问控制

如允许192.168.1.1到192.168.1.254的主机访问,可以这样设定

order deny,allow

deny from all

allow from pair 192.168.1.0/255.255.255.0

七:apache服务器的密码保护

.htaccess文件是apache上的一个设置文件,它是一个文本文件,.htaccess文件提供了针对目录改变配置的方法。

既通过在一个特定的文档目录中放置一个包含一个或多个指令的文件(.htaccess文件),以作用于此目录和子目录。

.htaccess的功能包括设置网页密码,设置发生错误时出现的文件,改变首业的文件名(如,index.html),禁止读取文件名,重新导向文件,加上MIME类别,禁止目录下的文件等。

注:.htaccess是一个完整的文件名,不是***.htaccess或其他格式,在/abc目录下放置一个.htaccess文件,那么/abc与它的子目录都会被这个文件影响,但/index.html不会被影响.htaccess的建立和使用比较复杂点,如果感兴趣的朋友可以回帖发问,这里就不具体写出来了,这种保护要比某些程序实现的保护安全,那种方法可以通过被猜测方法获取密码,用.htaccess很难被破解,但文本方式的验证会比较慢,对少量用户没影响,但对大量用户就必须使用带数据模块的验证了,这需要编译源代码时候开启模块,默认是不开启的八:让apache运行在“监牢”中

“监牢”的意思是指通过chroot机制来更改某个软件运行时所能看到的根目录,简单说,就是被限制在指定目录中,保证软件只能对该目录与子目录文件有所动作,从而保证整个服务器的安全,即使被破坏或侵入,损伤也不大。

以前,unix/linux上的daemon都是以root权限启动的,当时,这是一件理所当然的事情,像apache这样的服务器软件,需要绑定到80端口上来监听请求,而root是唯一有这种权限的用户,随着攻击手段和强度的增加,这样会使服务器受到相当大的威胁,一但被利用缓冲区溢出漏洞,就可以控制整个系统。现在的服务器设计通常以root启动,然后进程放弃root权限,改为某个低级的帐号运行。这种方式显然会降低对系统的危害,但攻击者还是会寻找漏洞提升权限,即使无法获得root权限,也可以删除文件,涂改主页等。

为了进一步提高系统安全性,linux内核引入chroot机制,chroot是内核中的一个系统调用,软件可以通过调用函数库的chroot函数,来更改某个进程所能见到的跟目录,比如,apache软件安装在/usr/local/httpd目录,以root启动apache,这个root权限的父进程会派生数个以nobody权限运行的子进程,父进程监听80端口,然后交给某个子进程处理,这时候子进程所处的目录续承父进程,即/usr/local/httpd目录,但是一但目录权限设定错误,被攻击的apache子进程可以访问/usr/local , /usr ,/tmp甚至整个文件系统,因为apache进程所处的跟目录仍然是整个文件系统的跟目录,如果可以用chroot将apache限制在/usr/local/httpd/下,那么apache所存取的文件都被限制在/usr/local/httpd下,创建chroot监牢的作用就是将进程权限限制在文件目录树下,保证安全。

如果自己手动apache的监牢,将是很烦琐和复杂的工作,需要牵扯到库文件,这里可以使用jail包来简化监牢的实现。

jail的官方网站为:https://www.wendangku.net/doc/c68640841.html,有兴趣可以逛逛。这里也不写出具体的创建过程稍微麻烦,如果对安全有需要的话,请回帖,会及时补上。

九:apache服务器防范Dos

apache服务经常会碰到Dos攻击,防范的主要手段是通过软件,apahce Dos Evasive Maneuvers Module

来实现的,它是一款mod_access的代替软件,可以对抗DoS攻击,该软件可以快速拒绝来自相同地址对同一URL的重复请求,通过查询内部一张各子进程的哈希表来实现

可以到网址:http://online/https://www.wendangku.net/doc/c68640841.html,/tools/上下载软件

十:减少CGI和SSI风险

CGI脚本的漏洞已经成为WEB服务器的首要安全隐患,通常是程序编写CGI脚本产生了许多漏洞,控制CGI的漏洞除了在编写时候注意对输入数据的合法检查,对系统调用的

谨慎使用等因素外,首先使用CGI程序所有者的ID来运行这些程序,即使被漏洞危害也仅限于该ID能访问的文件,不会对整个系统带来致命的危害,因此需要谨慎使用CGI程序。

1.3版的apache集成了suEXEC程序,可以为apache提供CGI程序的控制支持,可以把suEXEC看做一个包装器,在Apache接到CGI程序的调用请求后,把这个请求交给suEXEC来负责完成具体调用,并从suEXEC返回结果,suEXEC可以解决一些安全问题,但会影响速度。如果是对安全性要求很高时候,建议使用suEXEC,此外还有一个软件CGIWrap,它的安全性要高与suEXEC

减少SSI脚本风险,如果用exec等SSI命令运行外部程序,也会存在类似CGI脚本风险,除了内部调试程序时,应使用

option命令禁止其使用:

Option IncludesNOEXEC

十一:使用ssl加固Apache

使用具有SSL功能的服务器,可以提高网站敏感页的安全性能,SSL工作与TCP/IP协议和HTTP协议之间。

SSL可以加密互联网上传递的数据流,提供身份验证,在线购物而不必担心别人窃取信用卡信息,在基于电子商务和基于web邮件的地方非常重要。SSL的应用相对还是比较麻烦的,有需要的话,可以发贴或查看资料,这几就不多写,篇幅不够

LinuxApacheWeb服务器配置教程

LinuxApacheWeb服务器配置教程 Linux阿帕奇网络服务器配置教程 阿帕奇的主要特点 根据著名的万维网服务器研究公司进行的一项调查,全世界50%以上的万维网服务器使用阿帕奇,排名世界第一。 阿帕奇的出生非常戏剧化。当NCSA万维网服务器项目停止时,那些使用NCSA万维网服务器的人开始用他们的补丁来交换服务器,他们很快意识到有必要建立一个论坛来管理这些补丁。就这样,阿帕奇集团诞生了,后来这个集团在NCSA的基础上建立了阿帕奇。 阿帕奇的主要特点是: 。可以在所有计算机平台上运行; 。支持最新的HTTP 1.1协议; 简单而强大的基于文件的配置; 。支持通用网关接口CGI 。支持虚拟主机; 。支持HTTP认证; 。集成的Perl脚本编程语言; 。集成代理服务器; 。拥有可定制的服务器日志;。支持服务器端包含命令。支持安全套接字层。用户会话过程的跟踪能力;支持FastCGI。支持Java小服务程序。 安装Apache流程

安装Apache 接下来,我们将开始征服阿帕奇的漫长旅程。我们将一步一步地学习使用Apache,从介绍到掌握,通过需求的一步一步的例子。 系统需求 运行Apache不需要太多的计算资源。它运行良好的Linux系统有6-10MB的硬盘空间和8 MB的内存。然而,单独运行Apache可能不是您想要做的。更有可能的是,您希望运行Apache来提供WWW服务,启动CGI流程,并充分利用WWW所能提供的所有惊人功能。在这种情况下,您需要提供额外的磁盘空间和内存空间来反映负载要求。换句话说,它不需要太多的系统资源来启动WWW服务,但是它需要更多的系统资源来为大量的客户提供服务。获取软件 你可以呆在 错误日志命令用于指定错误日志文件名和路径。 命令格式:错误日志[日志文件名] 示例:错误日志/var/ srm.conf Srm.conf是一个资源配置文件,它告诉服务器您想在WWW站点上提供什么资源,在哪里以及如何提供这些资源。 DocumentRoot命令指定主文档的地址。 命令格式:文档根[路径] 示例:文档根目录/主页/ UserDir命令,用于指定个人主页的位置。如果你有一个用户测试,

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

目录 [摘要] (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;安全性;合理的配置

Apache服务器配置实验报告

在Linux下配置Apache服务器 一、实验目的 完成本次实训,将能够: ●配置基本的Apache服务器 ●配置个人用户Web站点。 ●配置虚拟目录别名功能。 ●配置主机访问控制。 ●配置用户身份验证功能.。 ●配置基于IP地址的虚拟主机. 二、实验环境 1、RedHat Linux4AS. 2、Apache 2.0 三、实验内容 1.配置基本的Apache服务器 2.配置个人用户Web站点。 3.配置虚拟目录别名功能。 4.配置主机访问控制。 5.配置用户身份验证功能.。 6.配置基于IP地址的虚拟主机。 四、实验要求 在Linux操作系统下配置Apache服务器。 五、注意事项 1.在修配置文件下注意区分大小写、空格。 2.在每次重新开机后都必须启动Apachec服务器。 3.在每次修改完主配置文件后保存起来,必须重启Apachec服务器,如果不重启会 导致配置无效,最终导致实验失败。 六、实验步骤 1、检测是否安装了Apache软件包: A、首先为服务器网卡添加一个固定的IP地址。 B、在Web浏览器的地址栏中输入本机的IP地址,若出现Test Page测试页面(该 网页文件的默认路径为var/www/html/index.html)如下图1所示就说明Apache 已安装并已启动。

另一种方法是使用如下命令查看系统是否已经安装了Apache软件包: [root@rhe14~]# rpm –aq | grep httpd Httpd-suexec-2.0.52-9.ent Httpd-manual-2.0.52-9.ent System-config-httpd-1.3.1-1 Httpd-devel-2.0.52-9.ent 出现以上内容表明了系统已安装Apache软件包。 2、安装Apache软件包 超级用户(root)在图形界面下选择“应用程序”|“系统设置”|“添加/删除应用程序”命令,选择“万维网服务器”软件包组,在单击“更新”按钮就可以安装与Apache相关的软件包。 3、Apache的基本配置 (1)打开终端输入[root@rhe14~]# /etc/rc.d/init.d/httpd start //启动Apache 或者 [root@rhe14~]# apachectl start //启动Apache [root@rhe14~]# apachectl stop //停止Apache服务 [root@rhe14~]# apachectl restart //重启Apache服务 [root@rhe14~]# apachectl configtest //测试Apache服务器配置语法(2)在httpd.conf将Apache的基本配置参数修改、将一些注释的语句取消注释,或将某些不需要的参数注释掉。 (3)将包括index.html在内的相关网页文件复制到指定的Web站点根目下(var/www/html/index.html) (4)重启httpd进程 (5) 在Web浏览器下输入配置的ip地址出现如下图2,那表明基本配置成功了:

Apache服务器配置技巧

1、如何设置请求等待时间 在httpd.conf里面设置: TimeOut n 其中n为整数,单位是秒。 设置这个TimeOut适用于三种情况: 2、如何接收一个get请求的总时间 接收一个post和put请求的TCP包之间的时间 TCP包传输中的响应(ack)时间间隔 3、如何使得apache监听在特定的端口 修改httpd.conf里面关于Listen的选项,例如: Listen 8000 是使apache监听在8000端口 而如果要同时指定监听端口和监听地址,可以使用: Listen 192.170.2.1:80 Listen 192.170.2.5:8000 这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。 当然也可以在httpd.conf里面设置: Port 80 这样来实现类似的效果。 4、如何设置apache的最大空闲进程数 修改httpd.conf,在里面设置: MaxSpareServers n 其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。 同时也可以设置: MinSpareServers n 来限制最少空闲进程数目来加快反应速度。 5、apache如何设置启动时的子服务进程个数 在httpd.conf里面设置: StartServers 5 这样启动apache后就有5个空闲子进程等待接受请求。 也可以参考MinSpareServers和MaxSpareServers设置。 6、如何在apache中设置每个连接的最大请求数 在httpd.conf里面设置: MaxKeepAliveRequests 100 这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。 7、如何在apache中设置session的持续时间 在apache1.2以上的版本中,可以在httpd.conf里面设置: KeepAlive on KeepAliveTimeout 15 这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp

2-apache Apache_Web 服务器安装部署手册档

重要提示 Web服务器包括apache的安装部署和W AS7 Plugin安装部署两部分,如果的websphere应用服务器使用非集群模式,plugin则不需要安装,只需配置本文2.1章节内容,如果websphere 应用服务器使用群集模式,则需要按照本文2.2章节进行plugin安装配置。 1 Apache安装 Apache的安装和配置现在可以采用脚本自动化安装,脚本就是139ftp上的 apache_install_script.sh 请下载到web服务器中,并执行即可。 注意:在执行脚本安装前请确认web服务器的/opt/apache下没有安装过apache,并且web 服务器能上外网(能ping通https://www.wendangku.net/doc/c68640841.html,) 成功安装apache并测试通过后即可直接继续本文第二章节Was7 Plugin安装 在root下进行root进入方法#su 然后输入密码 1.1 准备安装 关闭系统自带的web服务: #chkconfig httpd off 在线安装gcc #yum install gcc cc 下载并解压安装程序: #cd ~/ #wget https://www.wendangku.net/doc/c68640841.html,/httpd/httpd-2.2.15.tar.gz #tar –zxvf httpd-2.2.15.tar.gz -C /usr/src Web 服务器安装部署手册 Page 4 of 21 1.2 安装Apache Web Server 进入源码目录: #cd /usr/src/httpd-2.2.15 编译源文件: #./configure //(安装到默认目录) 形成安装文件: #make 安装程序: #make install 1.3 验证安装 进入安装后目录: # cd /opt/apache/apache-2.2.15/bin 检查进程模式: #./apachectl –l Compiled in modules: core.c worker.c http_core.c mod_so.c 启动Apache Web Server:

Apache2.2安全配置和性能优化

Apache2.2安全配置和性能优化 一、Apache禁止目录遍历 将Options Indexes FollowSymLinks中的Indexes 去掉,就可以禁止Apache 显示该目录结构。Indexes 的作用就是当该目录下没有index.html文件时,就显示目录结构。 二、apache 隐藏版本信息 1.隐藏Apache版本信息 测试默认apache 的状态信息 [root@1314it conf]# curl -Is localhost HTTP/1.1 200 OK Date: Tue, 16 Nov 2010 04:20:15 GMT Server: Apache/2.2.3 (CentOS) DAV/2 PHP/5.1.6 mod_perl/2.0.4 Perl/v5.8.8 X-Powered-By: PHP/5.1.6 Connection: close Content-Type: text/html; charset=GB2312 [root@1314it conf]# 修改主配置文件httpd.conf ServerSignature Off ServerTokens Prod 重启apache 测试 测试隐藏版本号后apache 的状态信息 [root@1314it conf]# curl -Is localhost HTTP/1.1 200 OK Date: Tue, 16 Nov 2010 04:21:41 GMT Server: Apache X-Powered-By: PHP/5.1.6 Connection: close Content-Type: text/html; charset=GB2312

Linux下Apache服务器的安装和配置

【实验8】Apache服务器的安装和配置 一、实验目的: 1.掌握Apache Web服务器的安装和配置。 2.使用虚拟主机在同一台服务器上架设多个网站。 二、【实验环境】 1.虚拟机软件VM Ware 6.0,Redhat Enterprise Linux虚拟机或光盘镜像文 件。 2.2台以上机器组成的局域网。 三、【实验原理】 (一)Apache服务简介 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web 服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 (二)虚拟主机 所谓虚拟主机,也叫“网站空间”就是把一台运行在互联网上的服务器划分成 多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务 器(支持WWW、FTP、E-mail等)功能。一台服务器上的不同虚拟主机是各自 独立的,并由用户自行管理。 虚拟主机技术是互联网服务器采用的节省服务器硬体成本的技术,虚拟主机 技术主要应用于HTTP服务,将一台服务器的某项或者全部服务内容逻辑划分 为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬体资源。如果 划分是系统级别的,则称为虚拟服务器。

(三)Linux中虚拟主机的分类 1、基于IP地址的虚拟主机 如果某公司有多个独立的IP地址可用,那么可以用不同的IP地址来配置虚拟主机。 2、基于端口的虚拟主机 如果只有一个IP地址,但是要架设多个站点,可以使用端口来区分,每个端口对应一个站点。这样配置的话,用户在访问的时候必须在 URL中指明端口号才能访问相应的网站。 3、基于名称的虚拟主机 使用基于IP地址或者端口的虚拟主机,能够配置的站点数目有限,而使用基于名称的虚拟主机,可以配置任意数目的虚拟主机,而不需要 额外的IP地址,也不需要修改端口号。 四、实验步骤 本实验请勿使用【系统】→【管理】→【服务器设置】中的【HTTPD】工具来配置,否则后果自负! (一)Apache服务器的启动 1、测试是否已安装Apache服务器: [root@localhost ~]#rpm –qa httpd 2、启动Apache服务器: [root@localhost ~]#service httpd start (二)基于端口的虚拟主机的配置 1、在/etc/httpd目录中,建立一个名为vhostconf.d的子目录,用来存放虚拟 主机的配置文件。 2、在/var/www目录中,建立一个名为websites的子目录,用于存放网站源 文件;在website目录下再建立ipvhost1和ipvhost2文件夹,用于区分各 个站点。

linux下用apache搭建web服务器

Linux下搭建web服务器 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的 Web服务器软件之一。Apache取自“a patchy server”的读音,意 思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、 速度快、性能稳定,并可做代理服务器来使用。 本来它只用于小型或试验 Internet网络,后来逐步扩充到各种Unix 系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点 而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web 服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.c om、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux 系统平台上)以及它的可移植性等方面。 Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些 使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。 Apache的主要特征是: 可以运行上所有计算机平台; 支持最新的H TT P1.1协议; 简单而强有力的基于文件的配置; 支持通用网关接口CGI; 支持虚拟主机; 支持H TT P认证; 集成P erl脚本编程语言;

Apache服务器安全认证攻略

Apache服务器攻略 Apache是目前流行的 Web服务器,可运行在linux、Unix、Windows等操作系统下,它可以很好地解决“用户名+密码”的认证问题。Apache用户认证所需要的用户名和密码有两种不同的存贮方式:一种是文本文件;另一种是MSQL、 Oracle、MySQL等数据库。下面以Linux的Apache为例,就这两种存贮方式,同时能对Windows的 Apache用户认证作简要的说明。下面我们来介绍下通过文本认证而实现的方式。 建立用户的认证授权需要三个步骤: 1、建立用户库 2、配置服务器的保护域 3、告诉服务器哪些用户拥有资源的访问权限 废话不多少举例最清楚拉!~假如某一目录下的文件如/home/ftp/pub需要做到用户认证 创建认证用户 创建认证组 基本的Apache用户认证方法: 在httpd.conf中加入下面的行 或者加到 /etc/httpd/conf.d/ 新建个文件名为.conf结尾的配置文件

用在目录/home/ftp/pub下放文件.htaccess,内容如下: 用随Apache来的程序htpasswd 生成文件/etc/.passwd,每行一个用户名:密码只要能提供正确的用户名和密码对,就允许登录访问,这是针对任何地址来的 请求都要求提供用户名和密码认证。 针对部分网段或地址要求认证。 若公司LAN所在网段为10.45.63.0/24,且有一防火墙专线接入Internet, 内部网卡的地址为10.45.63.1/32,则现在希望所有通过拨本地633通过 防火墙上的apache反向代理向LAN上的另一WWW服务器访问时需要认证,而本地LAN上的用户不需认证。可以在httpd.conf中放入: 且在/home/ftp/pub/.htaccess中放入:

Apache服务器的安装与配置

Apache服务器的安装与配置 一、安装Apache 双击可执行文件apache_1.3.33-win32-x86-no_src.exe,将Apache服务器软件安装至C:\Apache目录下。 二、设置C:\apache\conf\httpd.donf文件 修改Apache的核心配置文件c:\apache\conf\httpd.conf(说明一点:“#”为Apache的注释符号)。修改方法如下: 1、寻找到ServerName。这里定义你的域名。这样,当Apache Server运行时,你可以在浏览器中访问自己的站点。如果前面有#,记得删除它。 2、寻找到ServerAdmin。这里输入你的E-Mail地址。 (以上两条在安装时应该已经配置好了,所以不必改动,这里介绍一下,主要是为了日后的修改) 3、寻找到。向下有一句Options,去掉后面所有的参数,加一个All(注意区分大小写!A 大写,两个l小写。下同。);接着还有一句Allow Override,也同样去掉后面所有的参数,加一个All。 AllowOverride All Options All Order allow,deny Allow from all 4、寻找到DocumentRoot。这个语句指定你的网站路径,也就是你主页放置的目录。你可以使用默认的,也可以自己指定一个,但记住,这句末尾不要加“/”。此外注意,路径的分隔符在Apache Server里写成“/”。(将DocumentRoot "C:/apache/htdocs"改为DocumentRoot "C:/try") 5、寻找到DirectoryIndex。这就是你站点第一个显示的主页,在index.html的后面加入index.htm index.php index.php3 index.cgi index.pl。注意,每种类型之间都要留一空格!这里添加好了,以后就不用再麻烦了。 6、port(端口号),如果没安装IIS的话,就保持80不要变,否则,就要改一下(因为IIS的WEB服务占据了80),可以改成81等等。 三、Apache的手动启动和停止 Net start apache启动apache服务,Net stop apache停止apache服务。

常见WEB安全漏洞及整改建议

常见WEB安全漏洞及整改建议 1. HTML表单没有CSRF保护 1.1 问题描述: CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。 CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账……造成的问题包括:个人隐私泄露以及财产安全。 1.2 整改建议: CSRF的防御可以从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,现在一般的CSRF防御也都在服务端进行。有以下三种方法: (1).Cookie Hashing(所有表单都包含同一个伪随机值): (2).验证码 (3).One-Time Tokens(不同的表单包含一个不同的伪随机值) 1.3 案例: 1.服务端进行CSRF防御 服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数。 1.3.1 Cookie Hashing(所有表单都包含同一个伪随机值): 这可能是最简单的解决方案了,因为攻击者不能获得第三方的Cookie(理论上),所以表单中的数据也就构造失败.

//构造加密的Cookie信息 $value = “DefenseSCRF”; setcookie(”cookie”, $value, time()+3600); ?> 在表单里增加Hash值,以认证这确实是用户发送的请求。 $hash = md5($_COOKIE['cookie']); ?> ”> 然后在服务器端进行Hash值验证 if(isset($_POST['check'])) { $hash = md5($_COOKIE['cookie']); if($_POST['check'] == $hash) { doJob(); } else {

apache服务器出现内存溢出的解决方法

apache服务器出现内存溢出的解决方法 2011-10-08 14:26 Tomcat内存溢出的原因 在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内存溢出是不一样的,当然处理方式也不一样。 这里根据平时遇到的情况和相关资料进行一个总结。常见的一般会有下面三种情况: 1.OutOfMemoryError: Java heap space 2.OutOfMemoryError: PermGen space 3.OutOfMemoryError: unable to create new native thread. Tomcat内存溢出解决方案 对于前两种情况,在应用本身没有内存泄露的情况下可以用设置tomcat jvm参数来解决。(-Xms -Xmx -XX:PermSize -XX:MaxPermSize) 最后一种可能需要调整操作系统和tomcat jvm参数同时调整才能达到目的。 第一种:是堆溢出。 原因分析: JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。 在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。 Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。 没有内存泄露的情况下,调整-Xms -Xmx参数可以解决。 -Xms:初始堆大小 -Xmx:最大堆大小 但堆的大小受下面三方面影响:

apache服务配置

Apache 安装后启动然后配置即可.记得开启80 端口. iptables –I INPUT –p tcp –dport 80 –j ACCEPT 开启tcp 80 端口 apache 的配置文件: httpd.conf 路径: /etc/httpd/conf/httpd.conf DocumentRoot “/var/www/html”设置主目录的路径 DirectoryIndex index.html index.html.var 设置默认主文档,中间用空格格开 Listen 80 Listen 192.168.1.1:80 设置apache监听的IP地址和端口号,可添加多个 ServerRoot “/etc/httpd”设置相对根目录的路径(存放配置文件和日志文件) ErrorLog Logs/error_log 设置错误日志存放路径 CustomLog Logs/access_log combined (日志格式) 设置访问日志存放路径 如果日志文件存放路径不是以”/”开头,则意味着该路径相对于ServerRoot 的相对路径. ServerAdmin 邮箱地址{设置管理员的E-mail地址 ServerName FQDN名或IP地址{设置服务器主机名 由于Apache默认字符集为西欧(UTF-8),所以客户端访问中文网页时会出现乱码. 将语句“AddDefaultCharset UTF-8”改为“AddDefaultCharset GB2312”方可解决,不过要重新启动Apache服务. 修改完默认字符集后,客户端如需访问,要先清空浏览器的缓存.

创建虚拟目录,添加Alias语句即可 Alias /ftp “/var/ftp”Alias 虚拟目录名物理路径 Options Indexes 定义目录特性 AllowOverride None 一般这样写就行 Order allow,deny 设置访问权限 Allow from all 允许所有用户访问 要实现虚拟目录用户认证,首先要建立保存用户名和口令的文件 htpasswd -c /etc/httpd/mysecretpwd (文件名) text (用户) -c 选项表示无论口令文件是否已经存在,都会重新写入文件并删去原有内容.所以在添加第二个用户到口令文件时,就不需要使用-c 选项了. Alias /ftp “/var/ftp” AuthType Basic 设定认证类型,Basic最常用AuthName “This is a private directory. Please Login:”辛苦点,全背上吧. AuthUserFile /etc/httpd/mysecretpwd 定义口令文件路径Require user text(用户) 定义允许哪些用户可以访问

apache服务器安全问题

Apache服务器安全问题 Apache服务器面临的安全问题 (2) HTTP拒绝服务 (2) 缓冲区溢出 (3) 如何配置一个安全的Apache服务器 (3) 勤打补丁 (3) 建立一个安全的目录结构 (5) 为Apache使用专门的用户和用户组 (5) Web目录的访问策略 (6) 禁止使用目录索引 (6) 禁止默认访问 (6) 禁止用户重载 (6) 配置Apache服务器访问日志 (7) 相关配置文件说明 (7) Web服务器日志轮循 (8) Apache服务器的密码保护 (9) 减少CGI和SSI风险 (11) 使用SSL加固Apache (12) Apache服务器防范DoS攻击 (13)

Apache服务器面临的安全问题 HTTP拒绝服务 攻击者通过某种手段使服务器拒绝对HTTP应答。这使得Apache服务器对系统资源(cpu与内存)需求剧增,最终导致造成系统变慢甚至瘫痪。Apache服务器最大的缺点是他的普及性成为了众矢之的。Apache服务器所面临的拒绝服务攻击主要包括以下几种形式。 数据包洪水工具 1.一种中断服务器或者本地网络的方法是数据包洪水攻击,它通常使用 Internet控制报文协议(ICMP)包或者UDP包。在最简单的情况下,这些攻击都是使服务器或者网络的负载过重,这意味着黑客的网络攻击速度必须比目标的网络速度更快。使用UDP包的优势是不会有任何包返回到黑客的主机。而使用ICMP的优势是使得黑客的攻击更加富有变化。发送有缺陷的包会搞乱并锁住受害者的网络。目前所流行的趋势是黑客欺骗目标服务器,让其相信正在受到来自自身的洪水攻击。 2.磁盘攻击 这是一种更麻烦的攻击,它不仅仅影响目标计算机的通信,还破坏他的硬件。 伪造的用户请求利用写命令攻击目标服务器的硬盘,让其超过极限,并强制关闭。 受攻击者会因为信息暂时不可达,甚至丢失而产生损失。 3.路由不可达 通常,拒绝服务攻击集中在路由器上,攻击者首先获得控制权并操纵目标主机。 当攻击者能够更改路由器的路由表时,会造成整个网络不可达。这种攻击非常阴险,因为它刚开始出现时会让人莫名其妙。因为随后你的服务器就会失效,而整个网络又会不可达,这样你会要调查很多地方。 4.分布式拒绝攻击 这是对Apache服务器最有威胁的工具,即DDoS。当很多堡垒主机被感染时,一起向你的服务器发起拒绝服务攻击,是招架不住的。其中,繁衍式攻击是最恶劣的,因为攻击程序不会通过人为干涉而蔓延。Apache服务器特别容易受到攻击,无论是对分布式攻击还是隐藏来源的工具。原因是Apache服务器无处不在,对于Apache 服务器所制定的病毒,特别是ssl蠕虫潜伏在很多主机上,黑客可以通过操纵蠕虫,

Apache服务器配置毕业设计

A p a c h e服务器配置毕 业设计 目录 摘要 ................................................................................................................ 错误!未定义书签。 1 综述 (1) 1.1 架设WWW网站的意义 (1) 1.2 WWW的工作原理 (1) 1.3 在Linux下构建WWW服务器 (2) 1.3.1 关于硬件配置 (2) 1.3.2 将linux用作www服务器 (2) 2 Red Hat Linux的安装与使用 (4) 2.1 Red Hat Linux9.0简介 (4) 2.1.1 Red Hat Linux的网络功能 (6) 2.1.2 Red Hat Linux的文件类型 (9) 2.2 Red Hat Linux9.0的安装和配置 (11) 2.2.1 合理划分分区 (11) 2.2.2 了解相关信息 (12) 2.2.3 图形化安装过程 (13) 3 WWW服务器的建立 (27) 3.1 Apache的体系结构及性能 (27) 3.1.1 Apache的体系结构 (27) 3.1.2 Apache性能简介 (28) 3.2 配置并启动Apache (31) 3.2.1 配置文件httpd.conf (31) 3.2.2 Apache服务的安装、启动与停止 (32) 3.3 设置用户个人主页 (33) 3.3.1设置Linux系统用户个人主页的目录 (33) 3.3.2设置用户个人主页所在目录的访问权限 (33) 3.4 设置虚拟主机 (34) 3.4.1 配置DNS (34) 4 建立和完善WWW站点 (42) 4.1建立安全传输的WWW站点 (42) 4.1.1认识SSL安全协议 (42) 4.1.2 维护站点安全性应注意的问题 (42) 5 结论 (44) 致谢 ................................................................................................................ 错误!未定义书签。参考文献.. (45) 8

Apache服务器配置安全规范以及其缺陷

Apache服务器配置安全规范以及其缺陷!正如我们前言所说尽管Apache服务器应用最为广泛,设计上非常安全的程序。但是同其它应用程序一样,Apache也存在安全缺陷。毕竟它是完全源代码,Apache服务器的安全缺陷主要是使用HTTP 协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行拒绝服务(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。我们来介绍一下主要的安全缺陷。主要安全缺陷(1)使用HTTP协议进行的拒绝服务攻击(denial of service)的安全缺陷这种方法攻击者会通过某些手段使服务器拒绝对HTTP应答。这样会使Apache对系统资源(CPU时间和内存)需求的剧增,最终造成Apache系统变慢甚至完全瘫痪。(2)缓冲区溢出的安全缺陷该方法攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。(3)被攻击者获得root权限的安全缺陷该安全缺陷主要是因为Apache服务器一般以root权限运行(父进程),攻击者会通过它获得root权限,进而控制整个Apache系统。(4)恶意的攻击者进行拒绝服务(DoS)攻击的安全缺陷这个最新在6月17日发现的漏洞,它主要是存在于Apache的chunk encoding中,这是一个HTTP协议定义的用于接受web用户所提交数据的功能。所有说使用最高和最新安全版本对于加强Apache Web服务器的安全是至关重要的。正确维护和配置Apache服务器虽然Apache服务器的开发者非常注重安全性,由于Apache服务器其庞大的项目,难免会存在安全隐患。正确维护和配置Apache WEB服务器就很重要了。我们应注意的一些问题:(1)Apache服务器配置文件Apache Web服务器主要有三个配置文件,位于 /usr/local/apache/conf目录下。这三个文件是:httpd.conf-----主配置文件srm.conf------填加资源文件access.conf---设置文件的访问权限(2)Apache服务器的目录安全认证在Apache Server中是允许使用 .htaccess做目录安全保护的,欲读取这保护的目录需要先键入正确用户帐号与密码。这样可做为专门管理网页存放的目录或做为会员区等。在保护的目录放置一个档案,档名为.htaccss。AuthName 会员专区 AuthType BasicAuthUserFile /var/tmp/xxx.pw -----把password放在网站外 require valid-user 到apache/bin目录,建password档 % ./htpasswd -c /var/tmp/xxx.pw username1 -----第一次建档要用参数-c % /htpasswd /var/tmp/xxx.pw username2 这样就可以保护目录内的内容,进入要用合法的用户。注:采用了Apache内附的模组。也可以采用在httpd.conf中加入:options indexes followsymlinks allowoverride authconfig order allow,deny allow from all (3)Apache服务器访问控制我们就要看三个配置文件中的第三个文件了,即access.conf文件,它包含一些指令控制允许什么用户访问Apache目录。应该把deny from all设为初始化指令,再使用allow from指令打开访问权限。order deny,allowdeny from allallow from https://www.wendangku.net/doc/c68640841.html, 设置允许来自某个域、IP地址或者IP段的访问。(4)Apache服务器的密码保护问题我们再使 用.htaccess文件把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者rm.conf文件中使用 AccessFileName指令打开目录的访问控制。如:AuthName PrivateFilesAuthType BasicAuthUserFile /path/to/httpd/usersrequire Phoenix# htpasswd -c /path/to/httpd/users Phoenix设置Apache服务器的WEB和文件服务器我们在Apache服务器上存放WEB 服务器的文件,供用户访问,并设置/home/ftp/pub目录为文件存放区域,用

最新整理Linux Apache Web服务器安全设置技巧

L i n u x A p a c h e W e b服务器安全设置技巧 网络安全是目前互联网的热门话题之一,作为个人用户的我们同样需要关注,做好防护。这篇文章主要介绍了L i n u x A p a c h e W e b服务器安全的8种安全设置技巧,需要的朋友可以参考下 方法步骤 第一、定期更新系统 首先,我们需要确保是已经安装了最新版本和 A p a c h e的安全补丁和附加如C G I,P e r l和P H P脚本代码。我们需要定期更新数据源依赖包操作。 #U b u n t u/D e b i a n a p t-g e t u p d a t e;a p t-g e t d i s t-u p g r a d e #F e d o r a/C e n t o s/R e d H a t y u m u p d a t e 根据自己的系统环境选择更新升级命令。 第二、设置和保护我们的S S H安全 我们在拿到V P S之后,建议修改端口、R O O T密码、以及授权单独的非R O O T用户权限管理,或者我们也可 以采用密钥的方式登录S S H客户端管理V P S。比如可以参考设置P u t t y S S H使用密钥登录L i n u x V P S主机和

X s h e l l设置密钥登录确保L i n u x V P S及服务器更加安全文章设置密钥登陆。 第三、禁用未使用的服务 为了确保我们的W e b服务器安全,建议你检查服务器上所有正在运行的服务和开放的端口,禁用我们不需要在服务器上的所有服务。 #要显示所有服务 s e r v i c e--s t a t u s-a l l #显示所有的端口规则 i p t a b l e s-L #显示所有的运行信息 (r e d h a t/c e n t o s/f e d o r a)c h k c o n f i g--l i s t #检查/e t c/i n i t.d是否有可疑脚本 l s /e t c/i n i t.d 第四、禁用不必要的A p a c h e模块 默认情况下,A p a c h e很多模块都开启的,但是有些并不需要使用,我们可以关闭和精简。比如以前有分享过的6步骤实现C e n t O S系统环境精简优化和4步骤实现D e b i a n系统环境精简优化可以有效的提高执行效率降低占用资源率。 A-U b u n t u/D e b i a n c a t/e t c/a p a c h e2/m o d s- e n a b l e d/*|g r e p-i l o a d m o d u l e

apache服务器的安装与配置实验报告

实验报告---apache服务器配置 一、实验目的: Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web 服务器软件之一。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache的开发遵循GPL协议,由全球志愿者一起开发并维护。它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。 支持最新的HTTP1.1通信协议;强大的可配置性和可扩展性;提供全部源代码和不受限制的使用许可;通过第三方模块可以支持Java Servlets;广泛的应用和支持多种平台。 因此做这个实验的目的是为了熟悉apache服务器的配置,通过实验来加深对它的了解。 二、实验内容: (一)、Apache服务器的安装、启动与停止 (二)、配置用户个人主页 (三)、配置虚拟主机:a、创建基于IP地址的虚拟主机 b、创建基于域名的虚拟主机 三、实验步骤: (一)Apache服务器的安装、启动及访问 1.检验apache服务的软件包是否安装,默认情况下是没有安装的,因此需安装。 # rpm -qa|grep httpd //检验软件包是否安装 # mount /dev/cdrom /mnt/cdrom //加载光驱 # cd /mnt/cdrom/Server //进入光盘的Server目录 # rpm -ivh postgresql-libs-8.1.18-2.e15_4.1.i386.rpm //安装所需要的RPM包 # rpm -ivh apr-1.2.7-11.e15_3.1.i386.rpm # rpm -ivh apr-util-1.2.7-11.e15.i386.rpm # rpm -ivh httpd-2.0.40-21.i386.rpm 注意:由于安装apache软件包有依赖关系,因此按照上述顺序进行安装 2.检验网络的连通性

相关文档
相关文档 最新文档