`

apache安全配置tips

 
阅读更多

 

原文:http://www.javaarch.net/jiagoushi/1105.htm

 

apache安全配置tips

 

1.apache出错页面隐藏apache版本和操作系统信息

 

默认情况下apache的404页面会出现apache的版本和OS信息,这个会成为一个主要的安全威胁点。那么如何隐藏这些信息,打开apache的httpd.conf配置文件,里面ServerSignature这个参数默认为on,然后再通过ServerTokens Prod这个选项在每个response中只返回apache字符串,而不返回具体的版本信息

 

# vim /etc/httpd/conf/httpd.conf

 

ServerSignature Off

ServerTokens Prod

 

2.禁用目录列表

 

默认情况下apache会列出index file的目录内容,这个会暴露一些动态脚本比如php的源码,可以通过httpd.conf增加下面选项禁用列出目录内容

 

<Directory /var/www/html>

Options -Indexes

</Directory>

 

3.经常更新到最新版的apache,解决一些apache的漏洞

 

# httpd -v 查看apache版本,

根据不同的linux版本更新apache

# yum update httpd

# apt-get update apache2

 

4.禁用不需要的模块,找到httpd.conf的loadModule行,对于不需要的用#注释掉

 

# 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

 

5.用单独的账号和组账号运行apache

 

apache默认用nobody和daemon账号,为了安全问题我们需要用一个受限制的账号来运行apache,我们可以先增加另外的账号

 

# groupadd http-web

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

 

然后在httpd.conf修改user和group

 

User http-web

Group http-web

 

6.使用allow和deny来限制对目录的访问,对于根目录

 

<Directory />

  Options None

  Order deny,allow

  Deny from all

</Directory>

 

7.禁用apache的符号链接,apache默认是开启符号链接的,下面关闭

 

Options -FollowSymLinks

 

打开:

 

# Enable symbolic links

Options +FollowSymLinks

 

8.禁用server side include和CGI

 

Options -Includes

Options -ExecCGI

 

对某个特定目录禁用

 

<Directory "/var/www/html/web1">

Options -Includes -ExecCGI

</Directory>

 

9.限制request请求包的大小,如果太大,可能会造成DOS攻击,在文件上传服务中需要限制上传文件的大小,通过参数LimitRequestBody设置

下面设置request大小为512k

 

<Directory "/var/www/myweb1/user_uploads">

  LimitRequestBody 512000

</Directory>

 

10.保护DDOS攻击,比如TimeOut :设置request的超时时间,默认300s,MaxClients :设置最大连接客户端默认512,,KeepAliveTimeout :设置长连接的超时时间,默认5s,LimitRequestFields:设置请求header字段大小,默认100

 

11.开启apache日志,设置ErrorLog 和CustomLog 

 

<VirtualHost *:80>

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

</VirtualHost>

 

12.安装设置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

 

<VirtualHost 172.16.25.125:443>

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 ravi.saive@example.com

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

</VirtualHost>

0
0
分享到:
评论

相关推荐

    Nginx 应用技术指南Nginx Tips【第二版】.zip

    - **代理设置**:掌握如何配置Nginx作为反向代理,将请求转发到后端的应用服务器,如Apache、Tomcat等。 - **负载均衡**:学习使用Nginx进行负载均衡,包括轮询、权重分配、最少连接数等策略。 4. **URL重写** -...

    配置apache默认使用ssl的方法

    Apache作为全球广泛使用的Web服务器之一,支持通过简单的配置使其默认启用SSL,从而确保数据传输的安全性。 #### 二、准备工作 1. **确认mod_rewrite模块已安装** - 查看`httpd.conf`文件,找到`LoadModule ...

    Prentice.Hall.The.Apache.Modules.Book

    Apache是一款广泛使用的开源Web服务器软件,它以其稳定、安全、高效的特点著称,支持多种操作系统,包括但不限于Linux、Windows、UNIX等。Apache通过一系列可扩展的模块实现了丰富的功能,这些模块可以根据不同的...

    330 Java Tips(330 JAVA 小技巧)

    - **数据源管理**:掌握如何配置数据源,以实现数据库连接池的管理。 - **实体Bean**:了解如何设计和使用Java Bean作为数据模型,特别是在持久化层中的应用。 - **DAO模式**:熟悉DAO(Data Access Object)模式的...

    Ubuntu Hacks - Tips and Tools for Exploring, Using, and Tuning Linux

    ### Ubuntu Hacks - Tips and Tools for Exploring, Using, and Tuning Linux #### 简介 《Ubuntu Hacks》是一本专为那些希望深入了解、高效利用并优化Linux发行版Ubuntu的用户准备的书籍。本书提供了众多技巧和...

    OneSight高级用户手册

    总的来说,《OneSight高级用户手册》通过详尽的课程内容,旨在使用户不仅了解OneSight的架构和组件,还能掌握其在复杂网络环境中的部署、配置、安全管理和故障排除能力,从而提升他们在使用OneSight监控和管理IT系统...

    宝塔部署电影网站前端模板

    然后,配置网站的Nginx或Apache服务器规则,确保能正确处理静态资源和路由。在宝塔中,可以编辑站点的配置文件,添加或修改规则以适应你的前端模板。例如,可能需要设置重定向、URL重写,或者启用GZIP压缩以优化加载...

    总结了java容易出错的信息 以及错误信息类型

    Java编程语言中,错误和异常处理是程序健壮性的重要组成部分。这些异常和错误可以分为不同的类别,帮助...同时,对于一些不可恢复的错误,如`OutOfMemoryError`,可能需要调整程序设计或系统资源配置来避免它们的发生。

    spark-source-tips:spark原始码小贴士

    Spark是Apache软件基金会下的一个大数据处理框架,以其高效、易用和可扩展性著称。在深入学习Spark源码的过程中,了解一些小贴士能够帮助我们更好地理解和优化Spark应用程序。以下是一些关于Spark源码的重要知识点:...

    hadoop权威指南第四版.Hadoop.The.Definitive.Guide.4th

    8. **TIPS和图片**:书中的TIPS通常包含作者的经验分享和实用技巧,图片则有助于直观地理解复杂的概念和流程。 阅读《Hadoop权威指南第四版》,你将获得构建、管理和优化Hadoop集群的全面知识,以及开发高效大数据...

    spring-jdbc-tips:Spring JDBC,SQL和Java

    Spring框架支持多种类型的数据源,如Apache Commons DBCP、C3P0等,这些数据源都提供了连接池功能,能有效提高系统性能。通过`Bean`配置,我们可以轻松地将数据源集成到Spring应用中。 执行SQL语句时,Spring JDBC...

    google高级使用技巧

    - **针对服务器**:搜索服务器的配置文件或日志文件等,了解服务器的安全配置情况。 - **针对目录**:查找服务器上开放的目录,进一步探索潜在的漏洞。 - **针对缺省配置**:利用搜索引擎查找默认安装时未修改的设置...

    SVN操作手册中文版网页格式

    Useful Tips For Administrators C.1. 通过组策略部署 TortoiseSVN C.2. 重定向升级检查 C.3. 设置 SVN_ASP_DOT_NET_HACK 环境变量 C.4. 禁用上下文菜单 D. TortoiseSVN 操作 D.1. TortoiseSVN 命令 D.2. ...

    Prentice Hall - The Linux Programmer's Toolbox 2007

    - **内容**:本书通过示例的方式介绍了如何使用SELinux进行系统安全配置和管理。 ##### 5. 《UNIX to Linux® Porting》 - **作者**:Alfredo Mendoza, Chakarat Skawratananond, Artis Walker - **出版时间**:...

    KODExplorer 芒果云-资源管理器

    - 采用全新上传控件,跟安全,更好的体验。 - 拖拽支持文件夹,多个文件。上传自动过滤不允许的文件类型 - 拖拽上传 和上统一优化,修复webuploader的文件判断;火狐拖拽上传,ie9+拖拽上传。 - 上传时自动过滤不合格...

Global site tag (gtag.js) - Google Analytics