使用.htaccess文件保护网站目录是否安全?

问题描述 投票:4回答:4

我想知道用.htaccess文件(公共apache webroot外部的.htpasswd文件)保护web目录是一种保护目录(及其内容)的安全方法。

有人可以解释这种保护的做法和注意事项吗?

security authentication .htaccess .htpasswd
4个回答
4
投票

如果使用标准http协议,则将通过网络不受保护地传递身份验证。 这不被认为是安全的,因为有人可以嗅到密码。

如果限制对https的访问,则非常安全。 这意味着为ssl加密的http流量(浏览器的地址行中的端口433,https://)安装并启用apache模块,并在端口80上禁用此目录的标准http流量。用户名和密码将为ssl加密。 一定要选择一个好的密码(长而复杂,无法猜测或暴力)。

Apache配置可能很棘手,因此需要特别注意保持简单并测试可能的错误。

如果您了解并控制了访问限制配置,请将.htaccess文件中的访问限制配置移动到主apache配置文件中。 也可以更容易将其保存在.htacces文件中。 而“简单”可以更安全。 这样做的方式简单,安全,易于维护和记忆。

这是一个简单的设置,以增强安全性和防止事故:

如果您在受保护目录所在的计算机上配置了php和电子邮件,则可以编写简单的警报脚本。 只是一个php文件“alarm.php”,带有一行的php邮件功能向你发送一封电子邮件,告诉你htaccess保护不起作用。

如果您的域和目录路径是“ http://mybox.example.com/secretdir/alarm.php ”,您可以在另一台计算机上的浏览器中输入此内容,只要htaccess被“打开”,您就应该收到该邮件。 如果它受到保护,您可以输入用户名和密码,您也将收到邮件。

要使用此方法制作自动警报,您可以使用不同的unix框,每隔15分钟左右尝试获取此URL。 crontab的行:

* / 15 * * * * user1 wget http://mybox.example.com/secretdir/alarm.php

user1是此计算机上允许运行wget的用户,必须安装wget。

您可以禁用htaccess保护作为测试,并应每15分钟收到一次邮件。

根据我的经验,一个常见的安全漏洞是,当您更改某些内容并且您不知道时,您认为受保护的目录会失去其保护,这样您就会收到警告您的电子邮件。


1
投票

据我所知,如果被截获,htaccess很容易被黑客入侵(你是从网络嗅探器运行的网吧登录)。 据我所知摘要式身份验证有助于克服这个问题。


0
投票

.htaccess是非常标准的方法,在您无法访问主配置文件/没有root访问权限的情况下,如何对Apache HTTPD所服务的资源进行每目录配置更改。

如果您可以访问主配置,那么将所有配置(包括身份验证)放置在一个中心位置(即使它被拆分为多个文件)要容易得多,这样就不容易忽视它。 根据我的经验,我可以说,忘记你的.htaccess文件只是时间问题。

官方文档多次提到应尽可能避免使用.htaccess文件。

如果使用.htaccess是您唯一的选择,请确保您遵循主要HTTPD配置的一般安全预防措施,即防止未经授权的用户阅读它们,文件可由服务器读取,确保您禁用目录列表,始终确保密码是以加密/散列格式存储等

有关详细信息,请查看Apache htaccess教程


0
投票

.htaccess文件非常方便,但是......这不会保护您免受利用您的代码并阅读他想要的任何文件的人的侵害。 如果您的站点(甚至一个小脚本)将被利用,也不会.htaccess或其他解决方案将保护您,因为黑客将获得执行脚本的用户的权限(通常是www-data)。

这在CGI中尤其痛苦,但其他脚本也被黑客入侵。

© www.soinside.com 2019 - 2024. All rights reserved.