使用这样的随机字符构造的 URL 是否被认为是“安全的”?
http://example.com/EU3uc654/Photos
Run Code Online (Sandbox Code Playgroud)
我想将一些文件/图片库放在网络服务器上,仅供一小部分用户访问。我主要担心的是这些文件不应该被搜索引擎或在我网站上闲逛的好奇的高级用户所获取。
我已经设置了一个 .htaccess 文件,只是为了注意单击http://user:pass@url/链接在某些浏览器/电子邮件客户端上无法正常工作,提示对话框和警告消息使我不太懂计算机的用户感到困惑。
在我的 Nginx 设置中,我想用密码保护某个网站,除非我从家里的 ip 访问它。我该如何设置?
另外,除了可以访问我的家用电脑之外,这安全吗?
我正在查看 mysql.user 表中的用户,并注意到有 3 个根。
root@localhost
root@127.0.0.1
root@example.com
Run Code Online (Sandbox Code Playgroud)
当我第一次发现这个时,没有一个根受密码保护。我设法用密码保护 root@localhost 但我不知道如何用密码保护另外两个。我将如何通过命令行执行此操作?
谢谢你的帮助。
我一直在尝试在 SSL 网站中设置受密码保护的目录,如下所示:
/etc/nginx/sites-available/default
server {
listen 443:
ssl on;
ssl_certificate /usr/certs/server.crt;
ssl_certificate_key /usr/certs/server.key;
server_name server1.example.com;
root /var/www/example.com/htdocs/;
index index.html;
location /secure/ {
auth_basic "Restricted";
auth_basic_user_file /var/www/example.com/.htpasswd;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是当我尝试访问 URL 时https://server1.example.com/secure/,出现“404:未找到”错误页面。
我的 error.log 显示以下错误:
011/11/26 03:09:06 [error] 10913#0: *1 no user/password was provided for basic authentication,
client: 192.168.0.24, server: server1.example.com, request: "GET /secure/ HTTP/1.1",
host: "server1.example.com"
Run Code Online (Sandbox Code Playgroud)
但是,我能够为普通的 HTTP 虚拟主机设置受密码保护的目录,没有任何问题。
是配置有问题还是别的什么?
我的组织有一些机密(如法定要求的机密)文件,这些文件在发布到公共领域之前会分发给某些人和委员会团体。这些文件需要在此时间范围内加以考虑,以防止它们“过早”发布。这在历史上是由所有感兴趣的各方在一个封闭的房间里举行会议、分发文件、召开会议,然后在每个人离开房间时收集的。我的任务是使用我们面向公众的 Web 服务器(运行 Apache2 的 Xen HVM 上的 Debian 5.0.6)复制相同类型的策略机制。
我立即不喜欢将机密材料保存在全世界都可以访问的网络服务器上的想法,但我们将把这个问题放在一边。这些文件需要 1) 只有相关方可以访问,2) 文件的内容以某种方式受到保护,3) 不能被查看的人打印,4) 不能被保存以供以后重新分发.
我认为使用 .PDFs 是最好的解决方案。我可以限制打印和编辑文档的能力。明智地使用 .htaccess 和 SSL 可以防止全世界下载它们。这是一次性使用的非分发部分,我想不出一种体面的实施方式。一旦它们被下载,它们就会被下载。我能想到的任何事情都不能阻止某人将文档传递给不应该将它与密码一起阅读的人。我需要的是一种一次性策略机制,例如 .PDF 的一次性密码。使用一次密码,然后我们只依赖 Adobe 的加密(无论好坏)。
无论如何,我对如何完成这件事有点不知所措,我希望这里的一些好人可以帮助我产生一些想法,这样我就可以向老板介绍这个项目的利弊。
非常感谢你。
编辑:已经多次注意到,任何技术系统都可以轻松地通过诸如将文档中的信息口述给某人,拍照或屏幕截图或类似的东西来绕过。这种威胁已经存在于“封闭房间”模型中,尽管它肯定要小得多。我们或多或少可以信任另一端的人,而不是他们的计算机。
我注意到我的用户名和密码在 HTTP POST 请求中以纯文本形式发送到远程服务器。这是来自 Wireshark 的嗅探包装
POST /***URL*** HTTP/1.1
Host: ***DNS NAME***
Content-Length: 463
site2pstoretoken=***TOKEN***&ssousername=***MY USER NAME***&password=***MY PASSWORD***
Run Code Online (Sandbox Code Playgroud)
本网站不使用 TSL 并暴露于外部 Internet 网络。
Q1:是否可以嗅探到该远程服务器的传入流量(并获取所有密码)?
Q2:我认为这是一个安全漏洞,我错了吗?
nginx ×2
security ×2
web-server ×2
apache-2.2 ×1
https ×1
mysql ×1
networking ×1
password ×1
pdf ×1
remote ×1
root ×1
sniffing ×1
unix ×1