正确维护配置Apache服务器的方法 保护系统安全
apache服务器快速、可靠、可通过简单的api扩展,其perl/python解释器可被编译到服务器中,并且完全免费,完全开放源代码。如果需要创建一个每天有数百万人访问的web服务器,apache可能是最佳的选择。
apache是目前最流行的web服务器端软件之一,它可以运行在几乎所有被广泛使用的计算机平台上。apache服务器快速、可靠、可通过简单的api扩展,其perl/python解释器可被编译到服务器中,并且完全免费,完全开放源代码。如果需要创建一个每天有数百万人访问的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。 % b?(5 ]
authname “会员专区”
authtype “basic”
authuserfile “/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,这样就可以保护目录内的内容,进入要用合法的用户。
也可以采用在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,allow
deny from all
allow from safechina.net
设置允许来自某个域、ip地址或者ip段的访问。
4、apache服务器的密码保护问题
我们再使用.htaccess文件把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者rm.conf文件中,使用accessfilename指令打开目录的访问控制。如:
authname privatefiles
authtype basic
authuserfile /path/to/httpd/users
require phoenix
# htpasswd -c /path/to/httpd/users phoenix
二、设置apache服务器的web和文件服务器
我们在apache服务器上存放web服务器的文件,供用户访问,并设置/home/ftp/pub目录为文件存放区域,用http://download.jb51.net/pub/来访问。在防火墙上设置apache反向代理技术,由防火墙代理访问。
1、apache服务器的设置
apache服务器采用默认配置。主目录为/home/httpd/html,主机域名为phoenix.jb51.net, 且别名到www.jb51.net中,并设置srm.conf加一行别名定义,如下:
alias/pub/home/ftp/pub/
更改默认应用程序类型定义如下:
defaulttype application/octet-stream
最后在/etc/httpd/conf/access.conf中增加一项定义:
options indexes
allowoverride authconfig
order allow,deny
allow from all
注意:options indexes允许在找不到index.html文件的情况下,允许列出目录/文件列表。allowoverrideauthconfig允许做基本的用户名和口令验证,这样的话,需要在/home/ftp/pub目录下放入.htaccess,内容如下:
[root@ pub]#more.htaccess
authname branch office public software download area
authtype basic
authuserfile/etc/.usrpasswd
require valid-user
用# htpasswd -c /etc/.usrpasswd user1,分别创建不同的,允许访问/pub下文件服务的外部用户名和口令。
2、在防火墙上配置反向代理技术
在/etc/httpd/conf/httpd.conf中加入namevirtualhost xxx.xxx.xxx.xxx # xxx.xxx.xxx.xxx,这是防火墙外部在互联网上的永久ip地址:
servername www.jb51.net
errorlog /var/log/httpd/error_log
transferlog /var/log/httpd/access_log
rewriteengine on
proxyrequests off
usecanonicalname off
rewriterule ^/(.*)$ http://xxx.xxx.xx.x/$1 apache服务器的ip地址
servername http://download.jb51.net/pub/
errorlog /var/log/httpd/download/error_log
transferlog /var/log/httpd/download/access_log
rewriteengine on
proxyrequests off
usecanonicalname off
rewriterule ^/(.*)$ http://xxx.xxx.xx.x/$1 apache服务器的ip地址
设置防火墙上的dns,让download.jb51.net和www.jb51.net都指向防火墙的外部网地址xxx.xxx.xxx.xxx。用//www.jb51.net访问主页,用http://download.jb51.net/pub/访问公共文件的下载区。
注意:还需要在apache服务器主机上建立目录/var/log/httpd/download/,否则会出错。另外,也可以设置防火墙主机上的/home/httpd/html/index.html的属性为750来阻止访问,这可以防止外部用户能访问到防火墙上apache服务器的//www.jb51.net。
推荐阅读
-
正确维护配置Apache服务器的方法 保护系统安全
-
Win7安装和配置Apache2.4服务器的详细方法
-
Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法
-
正确配置与维护Apache安全性设置方法
-
Apache与Tomcat服务器整合的基本配置方法及概要说明
-
Apache服务器一个IP多个站点的配置方法示例
-
win7系统打开Excel提示配置标识不正确系统无法开始服务器进程的解决方法图文教程
-
CentOS(Linux)下的apache服务器配置与管理方法分享
-
Apache Web 服务器的安装配置方法
-
配置fail2ban对Apache服务器进行安全防护的方法