后台管理页面安全

2020-10-26 21:32:48 +08:00
 zxCoder

自己的博客,/admin.html 是后台管理页面,没有 https,有什么方法可以尽可能地保障帐号安全

1674 次点击
所在节点    问与答
16 条回复
ysc3839
2020-10-26 21:39:35 +08:00
自己实现一套 TLS ?不过相比之下更建议使用 https 。
whywhywhy
2020-10-26 21:43:17 +08:00
不用账号密码,都用第三方扫码登录即可。
taogen
2020-10-26 21:46:02 +08:00
明文传输怎么保证安全
redtea
2020-10-26 21:46:48 +08:00
IP 限制
billlee
2020-10-26 21:50:25 +08:00
指允许 127.0.0.1 访问,然后 ssh 隧道
renmu123
2020-10-26 23:17:33 +08:00
ip 白名单即可(其实你搞个复杂的密码就可以了
tuding
2020-10-26 23:37:55 +08:00
路径换一下吧,/adm1n.html 。再一个限制 IP
kaiki
2020-10-26 23:55:51 +08:00
后台地址改成动态的,根据 index.html?key=xxx,这个 key 你本地写一个工具根据时间加盐生成,服务端验证地址对不对,不对直接 403 就行。
误差 1 分钟以内就行
nuk
2020-10-27 00:57:01 +08:00
js 版本的 http-digest
lzxz1234
2020-10-27 09:24:51 +08:00
fail2ban + 两步验证
angryfish
2020-10-27 09:26:49 +08:00
没事,没人嗅探你密码的。反而,你要注意一下密码强度
clf
2020-10-27 10:04:32 +08:00
使用二步验证+IP 限制
nnnToTnnn
2020-10-27 10:50:06 +08:00
@ysc3839 自己在怎么实现 TLS,也无法阻止一个问题,就是 注入 JS 拦截用户信息。 因为在客户端得不到保证,之所以 HTTPS 安全,是因为浏览器做了保证,把你的代码放在一个沙盒里面,加密的 HTML JS CSS 等等内容,如果说是自己手动实现 TLS 在发起 get 请求的时候,你是无法拦截到具体的内容,同样还是存在中间人攻击。
ysc3839
2020-10-27 13:06:40 +08:00
@nnnToTnnn 我说的“自己实现 TLS”,是包含了 TLS 的证书认证机制的,既然 TLS 可以解决这个问题,自己实现时也用同样的方法就好了。
nnnToTnnn
2020-10-27 13:16:41 +08:00
@ysc3839 只要你还是建立在 http 协议上,那么即使有了证书认证机制,仍然无法避免被中间人


例如 http 报文


```
GET / HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
Cache-Control: max-age=0
DNT: 1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7,en-US;q=0.6,ja;q=0.5
```
即使你在此基础上实现 TLS, 但是本质上还是采用 HTTP 协议,那么我完全可以这样拦截

```

原来的请求方式

浏览器 -> 发送 GET 请求 -> 自己实现的 TLS 封装的数据 -> 后端校验数据

拦截之后的请求方式

浏览器 -> 拦截发送 GET 请求 -> 植入 JS 脚本代码 -> 跳转到钓鱼网站


根本就不走你之前的后端服务器。
```


浏览器为什么会安全,因为浏览器拿到了原始报文,通过 浏览器 -> 后端服务器,中间是加密的,意味要么成功,要么失败,而自己去实现 TLS, 无非是和鸵鸟一样把头埋在沙子里面,认为自己安全了,实际上并不安全
ysc3839
2020-10-27 14:24:13 +08:00
@nnnToTnnn 是我理解错你的话了,在浏览器中用脚本实现的话确实不能保证安全。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/718828

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX