当时方位:主页 > 网页教程 > 网站发布 > web服务器 > 内容欢迎咱们投稿

Apacheuedbet赫塔菲官网和uedbet备用网址的uedbetuedbet体育

时刻:2015-10-12 07:34来历:不知道 作者:大宝库 点击:读取中
阅览东西:字体:

  Apache是一个很受欢迎的web服务器软件,其uedbet赫塔菲官网性关于网站的uedbet赫塔菲官网运营可谓生死攸关。下面介绍一些可协助管理员在Linux上装备Apache确保其uedbet赫塔菲官网的办法和uedbet体育。

  本文假定你知道这些基本知识:

  文档的根目录: /var/www/html or /var/www

  主装备文件: /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora等体系) 或/etc/apache/apache2.conf (Debian/Ubuntu).

  默许HTTP 端口: 80 TCP

  默许 HTTPS 端口: 443 TCP

  测验装备文件设置及语法: httpd -t

  对Web服务器的日志文件的拜访: /var/log/httpd/access_log

  Web服务器过错日志文件: /var/log/httpd/error_log

  1、避免在过错中显现Apache版别和操作体系的ID

  一般情况下,在用源代码装置或用yum等包装置程序装置Apache时,Apache服务器的版别号和服务器操作体系的称号都能够在过错音讯中显现,而且还会显现装置在服务器上的Apache模块信息。

  

Apacheuedbet赫塔菲官网和uedbet备用网址的uedbetuedbet体育

  在上图中,能够看出过错页面显现了Apache的版别以及服务器所装置的操作体系版别。这有或许成为Web服务器和Linux体系的一个重要要挟。为避免Apache把这些信息走漏出来,咱们需求在Apache的首要装备文件中进行更改:

  用vim编辑器翻开装备文件,查找“ServerSignature”,默许情况下它是翻开状况。咱们需求封闭服务器签名。ServerTokens Prod告知Apache只在每一个恳求网页的服务器呼应的头部,仅回来Apache产品称号。

  # vim /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora)

  # vim /etc/apache/apache2.conf (Debian/Ubuntu)

  ServerSignature Off

  ServerTokens Prod

  # service httpd restart (RHEL/CentOS/Fedora)

  # service apache2 restart (Debian/Ubuntu)

  

Apacheuedbet赫塔菲官网和uedbet备用网址的uedbetuedbet体育

  2、禁用目录列表

  默许情况下,在短少index文件时,Apache会列示root目录的一切内容。如下图所示:

  

Apacheuedbet赫塔菲官网和uedbet备用网址的uedbetuedbet体育

  关于某个特定目录,咱们能够在装备文件顶用“Options directive”封闭目录列示。能够在httpd.conf或apache2.conf文件中参加如下项目:

  Options -Indexes

  其作用相似于下图:

  

Apacheuedbet赫塔菲官网和uedbet备用网址的uedbetuedbet体育

  3、常常更新Apache

  Apache的开发社区一直在不断地改进uedbet赫塔菲官网问题,并常常发布带有新的uedbet赫塔菲官网特性的最新版别。所以咱们主张你运用最新的Apache作为自己的web服务器。为查看Apache的版别,咱们能够用httpd –v指令来查看最新的版别。

  # httpd -v

  Server version: Apache/2.2.15 (Unix)

  Server built: Aug 13 2013 17:29:28

  能够用下面的指令更新Apache版别。

  # yum update httpd

  # apt-get install apache2

  假如你并不是在特定操作体系或内核上运转某个特别的软件,主张你坚持内核和Linux操作体系为最新版别。

  4、禁用不必要的模块

  为了尽量削减网站遭受Web进犯的时机,管理员最好禁用现在不必的一切模块。你能够运用下面的指令,列示Web服务器一切的已编译模块。

  # grep LoadModule /etc/httpd/conf/httpd.conf

  # have to place corresponding `LoadModule' lines at this location so the

  # LoadModule foo_module modules/mod_foo.so

  LoadModule auth_basic_module modules/mod_auth_basic.so

  LoadModule auth_digest_module modules/mod_auth_digest.so

  LoadModule authn_file_module modules/mod_authn_file.so

  LoadModule authn_alias_module modules/mod_authn_alias.so

  LoadModule authn_anon_module modules/mod_authn_anon.so

  LoadModule authn_dbm_module modules/mod_authn_dbm.so

  LoadModule authn_default_module modules/mod_authn_default.so

  LoadModule authz_host_module modules/mod_authz_host.so

  LoadModule authz_user_module modules/mod_authz_user.so

  LoadModule authz_owner_module modules/mod_authz_owner.so

  LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

  LoadModule authz_dbm_module modules/mod_authz_dbm.so

  LoadModule authz_default_module modules/mod_authz_default.so

  LoadModule ldap_module modules/mod_ldap.so

  LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

  LoadModule include_module modules/mod_include.so

  LoadModule log_config_module modules/mod_log_config.so

  LoadModule logio_module modules/mod_logio.so

  LoadModule env_module modules/mod_env.so

  LoadModule ext_filter_module modules/mod_ext_filter.so

  ……

  上述模块在默许情况下都是启用的,但往往并不需求,特别是mod_imap,mod_include, mod_info, mod_userdir, mod_autoindex。要禁用特定的模块,能够在该模块所内行的最初刺进“#”注释,并从头启动服务。

  5、用独立的用户和组运转Apache

  在默许的装置方法中,运转Apache进程时的用户是“nobody”或daemon。为uedbet赫塔菲官网起见,咱们主张用非特权账户运转Apache,例如,咱们要运用http-web,就需求创立该Apache 用户和组:

  # groupadd http-web

  # useradd -d /var/www/ -g http-web -s /bin/nologin http-web

  现在你需求告知Apache用这个新用户运转,为此,咱们需求在/etc/httpd/conf/httpd.conf中参加一个新条目,并从头启动服务。

  用vim编辑器翻开/etc/httpd/conf/httpd.conf ,查找关键字“User” 和 “Group”,然后将后边的用户名和组名改为http-web:

  User http-web

  Group http-web

  6、对用户的答应和制止,约束对目录的拜访

  咱们能够用httpd.conf文件中的“Allow” 和“Deny”约束对目录的拜访。在本例中,咱们要确保root目录的uedbet赫塔菲官网,在httpd.conf文件中进行如下的设置:

  Options None

  Order deny,allow

  Deny from all

  其间,Options “None”表明不答应用户启用任何可选特性。

  Order deny, allow---在这里处理“Deny” 和 “Allow”指令,首要禁用,然后才是答应。

  Deny from all,禁用一切人对root目录的恳求,任何人都不能拜访根(root)目录。

  7、运用mod_security和mod_evasive来保证Apache的uedbet赫塔菲官网

  “mod_security”和“mod_evasive”是Apache在uedbet赫塔菲官网方面十分盛行的两个模块。mod_security作为防火墙而运转,它答应咱们适时地监督通讯,还能够有助于咱们维护网站或Web服务器免受暴力破解进犯。凭借默许的包装置程序,咱们能够轻松地把mod_security装置在服务器上。下例阐明如安在Ubuntu或Debian体系上装置mod_security:

  $ sudo apt-get install libapache2-mod-security

  $ sudo a2enmod mod-security

  $ sudo /etc/init.d/apache2 force-reload

  下面的指令能够在RHEL/CentOS/Fedora体系上装置mod_security:

  另一个模块mod_evasive的作业效率很高,它只选用一个恳求就能够很好地作业,能够避免DDoS进犯形成巨大损害。mod_evasive能够应对http暴力破解进犯和DoS(或DDoS)进犯。该模块能够在三种情况下检测进犯:一是在每秒钟内有太多恳求抵达同一个页面时,二是在任何子进程企图宣布超越50个并发恳求时,三是在任何地址现已被暂时列入黑名单时它仍企图测验新的恳求。

  8、禁用Apache遵从符号链接

  默许情况下,Apache遵从符号链接,咱们能够用options指令的FollowSymLinks来封闭这个特性。为此,咱们需求在主装备文件中参加一条:

  Options –FollowSymLinks

  假如有一个特定的用户或网站需求遵从符号衔接,咱们能够在那个网站的.htaccess文件中添加规矩:

  # Enable symbolic links

  Options +FollowSymLinks

  留意:为将规矩从头写入到.htaccess文件中,在主装备文件中,应当大局避免“AllowOverride All”

  9、封闭服务器端包括和CGI履行

  假如咱们不需求,就能够封闭服务器端包括(mod_include)和CGI履行。为此,咱们需求修正主装备文件:

  Options -Includes

  Options –ExecCGI

  咱们还能够用Directior符号对特定目录履行这种操作。在本例中,咱们封闭了/var/www/html/web1这个目录的Includes和Cgi文件履行:

  Options -Includes -ExecCGI

  下面列示的是其它一些能够用Options指令翻开或封闭的值:

  Options All:当即启用一切选项。假如你不想在Apache装备文件或.htaccess中明确地指定任何值,那么它便是默许值。

  Options IncludesNOEXEC:该选项答应服务器端包括文件但不履行指令或CGI。

  Options MultiViews:答应内容洽谈多重视图(运用mod_negotiation)

  Options SymLinksIfOwnerMatch:跟FollowSymLinks相似。可是要当符号衔接和被衔接的原始目录是同一一切者时才被答应。

  10、约束恳求的巨细

  Apache在默许情况下对HTTP恳求的总巨细是没有约束的。在你答应Web服务器能够承受很多恳求时,你就有或许成为DoS进犯的受害者。咱们能够用directiory标签来约束 LimitRequestBody指令的恳求巨细。

  你能够用字节来设置这个值(从0到2147483647,0表明无约束)。你能够依据自己的需求约束这个值。假定你要约束user_uploads这个目录所包括的用户上传文件量,而且约束为500K,就应当:

  LimitRequestBody 512000

  11、DDoS进犯的防护和uedbet备用网址

  你不或许彻底阻挠企业网站免受DdoS进犯。下面这些指令便于你进行操控。

  TimeOut指令用于设置在特定事情失效之前,服务器等候事情完结的时刻长度。其默许值是300秒。关于简单遭受DDoS进犯的网站,把这个值下降很有优点。这个值的巨细取决于网站上的恳求品种。留意,关于某些CGI脚本,这个设置或许会发作问题。

  -MaxClients:此指令答应用户设置服务器可一起服务的衔接约束。每一个新衔接都要依据这个约束进行排队。它适用于Prefork和Worker。其默许值为256。

  -KeepAliveTimeout:在封闭衔接之前,服务器随后的等候时刻长度。默许值是5秒。

  -LimitRequestFields:这个设置能够协助咱们约束能够承受的HTTP恳求的头部字段数量。其默许值为100。 有时,因为http的恳求头部过多而导致发作DDoS进犯,用户无妨下降这个值。

  -LimitRequestFieldSize:协助咱们设置HTTP恳求头部的巨细。

  12、启用Apache日志功用

  Apache答应你独立记载操作体系的日志。例如,在用户与Web服务器进行交互时所输入的指令信息就十分有用。

  为此,你需求包括mod_log_config模块。Apache有三个首要的与日志相关的指令:

  TransferLog:创立日志文件

  LogFormat :设置定制格局

  CustomLog :创立并格局化一个日志文件

  咱们还能够在虚拟主机部分设置这些指令。例如,下面的比如是启用了日志功用的一个网站的虚拟主机装备:

  DocumentRoot /var/www/html/example.com/

  ServerName www.example.com

  DirectoryIndex index.htm index.html index.php

  ServerAlias example.com

  ErrorDocument 404 /story.php

  ErrorLog /var/log/httpd/example.com_error_log

  CustomLog /var/log/httpd/example.com_access_log combined

  13、用ssl证书保证Apache的uedbet赫塔菲官网

  你还能够用SSL证书用加密的方法保证信息传输的uedbet赫塔菲官网。在电子商务网站中,顾客为了买东西,有时需求供给账户或信用卡的细节,默许情况下,Web服务器用明文发送这些信息。装备服务器使其凭借于SSL证书就能够为用户进行加密传输。

  企业能够从不同的SSL供货商购买SSL证书。小型企业一般并不乐意购买SSL证书,此刻,你仍能够为网站分配一个自签名证书。Apache运用mod_ssl模块来支撑SSL证书。

  # openssl genrsa -des3 -out example.com.key 1024

  # openssl req -new -key example.com.key -out exmaple.csr

  # openssl x509 -req -days 365 -in example.com.com.csr -signkey example.com.com.key -out example.com.com.crt

  在创立并签署了证书后,你需求在Apache装备中添加这个证书。用vim编辑器翻开主装备文件,并添加下面的内容,然后重启服务:

  SSLEngine on

  SSLCertificateFile /etc/pki/tls/certs/example.com.crt

  SSLCertificateKeyFile /etc/pki/tls/certs/example.com.key

  SSLCertificateChainFile /etc/pki/tls/certs/sf_bundle.crt

  ServerAdmin [email protected]

  ServerName example.com

  DocumentRoot /var/www/html/example/

  ErrorLog /var/log/httpd/example.com-error_log

  CustomLog /var/log/httpd/example.com-access_log common

  此刻,翻开浏览器,并输入https://example.com,就能够看到自签名的证书。

(责任编辑:大宝库)


------分隔线----------------------------
引荐内容
赞助商链接
赞助商链接