您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > linuxApache安全配置
一.账号设置以专门的用户帐号和组运行Apache。1、根据需要为Apache创建用户、组2、参考配置操作如果没有设置用户和组,则新建用户,并在Apache配置文件中指定(1)创建apache组:groupaddapache(2)创建apache用户并加入apache组:useraddapache–gapache(3)将下面两行加入Apache配置文件httpd.conf中UserapacheGroupapache3、检查httpd.conf配置文件。检查是否使用非专用账户(如root)运行apache默认一般符合要求,Linux下默认apache或者nobody用户,Unix默认为daemon用户二.授权设置严格控制Apache主目录的访问权限,非超级用户不能修改该目录中的内容1、Apache的主目录对应于ApacheServer配置文件httpd.conf的ServerRoot控制项中,应为:ServerRoot/usr/local/apache”2、判定条件非超级用户不能修改该目录中的内容3、检测操作尝试修改,看是否能修改4、一般为/etc/httpd目录,默认情况下属主为root:root,其它用户不能修改文件,默认一般符合要求严格设置配置文件和日志文件的权限,防止未授权访问1、chmod600/etc/httpd/conf/httpd.conf”设置配置文件为属主可读写,其他用户无权限。2、使用命令“chmod644/var/log/httpd/*.log”设置日志文件为属主可读写,其他用户只读权限。3、/etc/httpd/conf/httpd.conf默认权限是644,可根据需要修改权限为600。4、/var/log/httpd/*.log默认权限为644,默认一般符合要求。三.日志设置设备应配置日志功能,对运行错误、用户访问等进行记录,记录内容包括时间,用户使用的IP地址等内容。1、编辑httpd.conf配置文件,设置日志记录文件、记录内容、记录格式。其中,错误日志:LogLevelnotice#日志的级别ErrorLog/…/logs/error_log#日志的保存位置(错误日志)访问日志:LogFormat%h%l%u%t\”%r\”%s%b“%{Accept}i\””\”%{Referer}i\”\”%{User-Agent}i\”combinedCustomLog/…/logs/access_logcombined(访问日志)ErrorLog指令设置错误日志文件名和位置。错误日志是最重要的日志文件,Apachehttpd将在这个文件中存放诊断信息和处理请求中出现的错误。若要将错误日志送到Syslog,则设置:ErrorLogsyslog。CustomLog指令指定了保存日志文件的具体位置以及日志的格式。访问日志中会记录服务器所处理的所有请求。LogFormat设置日志格式,建议设置为combined格式。LogLevel用于调整记录在错误日志中的信息的详细程度,建议设置为notice。日志的级别,默认是warn,notice级别比较详细,在实际中由于日志会占用大量硬盘空间,一般没有设置四.禁止访问外部文件禁止Apache访问Web目录之外的任何文件。1、参考配置操作编辑httpd.conf配置文件,Directory/OrderDeny,AllowDenyfromall/Directory2、设置可访问目录,Directory/webOrderAllow,DenyAllowfromall/Directory其中/web为网站根目录3、默认配置是Directory/OptionsFollowSymLinksAllowOverrideNone/Directory一般可根据需要设置五.目录列出禁止Apache列表显示文件1、编辑httpd.conf配置文件。Directory“”/web”OptionsIndexesFollowSymLinks#删掉IndexesAllowOverrideNoneOrderallow,denyAllowfromall/Directory将OptionsIndexesFollowSymLinks中的Indexes去掉,就可以禁止Apache显示该目录结构。Indexes的作用就是当该目录下没有index.html文件时,就显示目录结构。2、重新启动Apache服务3、可以设置/etc/httpd/httpd.confDirectory/var/段中删除Options的Indexes设置一般可根据需要设置六.错误页面重定向Apache错误页面重定向1、修改httpd.conf配置文件:ErrorDocument400/custom400.htmlErrorDocument401/custom401.htmlErrorDocument403/custom403.htmlErrorDocument404/custom404.htmlErrorDocument405/custom405.html为要设置的错误页面。2、重新启动Apache服务3、此项需要应用系统设有错误页面,或者不在httpd中设置完全由业务逻辑实现,可不做七.拒绝服务防范根据业务需要,合理设置session时间,防止拒绝服务攻击1、编辑httpd.conf配置文件,Timeout10#客户端与服务器端建立连接前的时间间隔KeepAliveOnKeepAliveTimeout15#限制每个session的保持时间是15秒注:此处为一建议值,具体的设定需要根据现实情况。2、重新启动Apache服务3、默认Timeout120KeepAliveOff,KeepAliveTimeout15,该项设置涉及性能调整,一般不做。八.隐藏Apache的版本号隐藏Apache的版本号及其它敏感信息。1、配置操作修改httpd.conf配置文件:ServerSignatureOffServerTokensProd2、默认是ServerSignatureOn,ServerTokensOS,可以设置九.关闭TRACE关闭TRACE,防止TRACE方法被访问者恶意利用1、配置修改vim/etc/httpd/conf/httpd.conf添加“TraceEnableOff”注:适用于Apache2.0以上版本2、默认没有该项设置,可以做。十.禁用CGI如果服务器上不需要运行CGI程序,建议禁用CGI1、修改配置vim/etc/httpd/conf/httpd.conf把cgi-bin目录的配置和模块都注释掉#LoadModulecgi_modulemodules/mod_cgi.so#ScriptAlias/cgi-bin/“/var/”#Directory“/var/”#AllowOverrideNone#OptionsNone#Orderallow,deny#Allowfromall#/Directory”2、根据需要设置,如果没有CGI程序,可以关闭十一.监听地址绑定服务器有多个IP地址时,只监听提供服务的IP地址1、修改配置vim/etc/httpd/conf/httpd.con修改Listenx.x.x.x:802、检测操作使用命令“cat/etc/httpd/conf/httpd.conf|grepListen”查看是否绑定IP地址3、默认设置是Listen80监听所有地址,如果服务器只有一个IP地址可不做该项设置,如果有多个IP可以按照需要设。十二.删除缺省安装的无用文件删除缺省安装的无用文件。1、参考配置操作删除缺省HTML文件:#rm-rf/usr/local/apache2/htdocs/*删除缺省的CGI脚本:#rm–rf/usr/local/apache2/cgi-bin/*删除Apache说明文件:#rm–rf/usr/local/apache2/manual删除源代码文件:()#rm-rf/path/to/httpd-2.2.4*根据安装步骤不同和版本不同,某些目录或文件可能不存在或位置不同。2、可根据实际情况删除,一般是/var/默认就是空的十三.禁用非法HTTP方法禁用PUT、DELETE等危险的HTTP方法;1、编辑httpd.conf文件。只允许get、post方法LimitExceptGETPOSTDenyfromall/LimitExcept2、补充操作说明”2、检测操作查看httpd.conf文件,检查如下内容,是否只允许get、post方法LimitExceptGETPOSTDenyfromall/LimitExcept”3、根据需要可设置,如果没有不需要用到putdeleteHTTP方法的话,加在/etc/httpd/conf/httpd.conf的directory/var/段中。Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。站点的配置(基本配置)(1)基本配置:ServerRoot/mnt/software/apache2#你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。PidFilelogs/httpd.pid#第一个httpd进程(所有其他进程的父进程)的进程号文件位置。Listen80#服务器监听的端口号。ServerName主站点名称(网站的主机名)。ServerAdminadmin@manyi.cc#管理员的邮件地址。DocumentRoot/mnt/web/clusting#主站点的网页存储位置。以下是对主站点的目录进行访问控制:spanstyle='font-size:14px;font-style:normal;font-weight:400;color:#494949;'Directory/span/mnt/web/clustingOptionsFollowSymLinksAllowOverrideNoneOrderallow,denyAllowfromall/Directory在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI:在该目录下允许执行CGI脚本。FollowSymLinks:在该目录下允许文件系统使用符号连接。Indexes:当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。SymLinksIfOwnerMatch:当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None:当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。All:在.htaccess文件中可以使用所有的指令。其他的可用值及含义(如:OptionsFileInfoAuthConfigLimit等),请参看::控制在访问时Allow和Deny两个访问规则哪个优先:Allow:允许访问的主机列表(可用域名或子网,例如:Allowf
本文标题:linuxApache安全配置
链接地址:https://www.777doc.com/doc-2884665 .html