我的网站开发安全计划,求大佬过目

15 天前
 shendaowu

希望获得的帮助

开发技术栈等

我看过的安全相关的书

在开发网站的过程中定期复习这三本书的笔记。书里的一些我感觉没什么大用,并且很麻烦的方法我没用,比如 chroot 。

安全工具和服务

静态代码分析工具:gosec 、vet 、golangci-lint 、snyk 。TS 的 lint 工具。

CF DDoS 防护、CF Tunnel 。

安全措施

应用开发注意事项。注入、XSS 、CSRF 之类的。太多了,懒得写了。嘴替:OWASP Top Ten 和 CWE top 25 。

写单元测试。

为各种服务提供最小的权限。

七天检查一次服务器和软件包更新。包括用 snyk 扫描一次代码,就算代码没更新,这个好像能发现用到的库的新发现的漏洞?

用 iptables 只开放必要的端口。基本只会开放 https 的端口的建立连接。数据包发出只允许系统和软件更新还有就是相关的入侵防御的规则的自动更新等。

网关 IP 地址绑定 MAC ,防止 ARP 攻击。使用 CF Tunnel 这步是不是多余了?

命令历史相关的环境变量设置为只读。命令历史附带执行时间。

删除无用的软件包和服务。

不使用隐藏的方式企图实现安全。比如改端口。

每月完整备份数据库。每天增量备份数据库。数据库中的密码 hash 和邮箱使用混合加密加密后备份到 OSS ,私钥保存在我电脑中的 KeePass 里。KeePass 数据库文件保存在 OneDrive 同步文件夹里。OneDrive 同步文件夹每月多处备份。不给 OSS API 分配修改和删除权限。对数据库的密码 hash 和邮箱添加数据库加密,就是数据库的数据文件泄露也无法读取的那种加密。我计划网站的上的所有数据都可以像维基那样打包下载。用户不想公开的数据保存在用户的浏览器或本地文件夹里。

入侵报警使用阿里云的云监控。

阿里云网页控制台使用自己生成的带密码的密钥对登录。私钥密码保存在 Keepass 里。

关键日志备份到阿里云的日志服务上。并设置好 API 的权限。主要是为了省钱,像书里那样用一个专门的服务器收集日志我感觉太贵了。

auditd 配置为锁定配置直到重启。

FireEye 辅助入侵检测和防御。我没在官网上找到怎么用。是个提供威胁情报数据的网站。

注意开发电脑的安全性。不安装来历不明的软件。来历不明的软件装到虚拟机里。不关闭杀软。操作系统有更新尽量马上更新。

数据库密码为 KeePass 生成的 20 位随机大小写字母与数字密码。特殊符号我嫌麻烦。

所有密码和密钥每季度换一次。

阿里云账号双因素认证。

发现被入侵后的操作

使用 chkrootkit 和 rkhunter 扫描 rootkit 。

unhide 反隐。

如果没有证据证明黑客没有修改文件,就重装系统并回档。我想不到什么证明文件没被动的证据,所以大概率应该都会重装和回档。

查看服务器是否有重启记录。防止 auditd 的配置被修改。

参考《 Linux 系统安全》中的附录 B 。附录 B 是关于被入侵后的排查。

奇技淫巧

除了特定用户,任何用户登录之前必须登录特定的用户,否则就立刻断网。

还有把某个黑客大概率会用到,但是系统正常运行不会用到的命令换成触发报警的脚本。不知道有没有这种命令?比如 ls ,黑客执行 ls 就断网。我想要 ls 的功能就用 myls 。

这两个是我想到的,如果没人说能用我就不用了。我感觉挺危险的。轻则误报,重则没法登录。

我为什么这么在乎安全问题?

首先我自认为我对安全的重视程度应该是超过平均水平了。

如果网站一直没什么流量的话,我也会一直维护这个网站。维护时间十年起步。长期运营的项目如果不在乎安全问题感觉迟早会出问题。另外我的网站虽然也能提供情绪价值,或者说用来娱乐,但是我希望主要是用它改善用户的生活。那些能用来改善用户生活的数据如果被篡改了很不好。虽然如果真被篡改了大部分可能会被发现,但是肯定会有漏掉的。

4815 次点击
所在节点    信息安全
45 条回复
kuxuan
15 天前
@kuxuan 先做出来
deplives
15 天前
直接托管 cf 上该开的都打开就完事儿了,别把自己太当回事儿
WoneFrank
15 天前
没必要,多了很多没有啥用还折腾的操作。
要真正理解安全,在必要的地方做好防护就行了。
做网站类无非就是 ssh+web 服务+数据库,那你只需要 ssh 公私钥登陆/白名单登陆,数据库本地访问,web 服务 go 代码就考虑三个事:文件写入、数据库操作、命令执行,剩下的都不需要管
WoneFrank
15 天前
@WoneFrank 严格意义上来说是:文件读写、数据库操作、有没有命令执行漏洞。
其他的如果用 oss 那就注意下 aksk 权限就行了。
dsb2468
15 天前
防火墙:ANY TO ANY
huluhulu
15 天前
自我感动,完全没必要,前端上 cf 就好了
xuanbg
15 天前
如果会被人干的话,仅凭安全机制是没用的。人家 ddos 你你能防?人家去有关部门举报你能防?
pota
15 天前
如果不存在交互的话。最简单的方案就是 全静态化,提供的服务只有 html 文件。不存在任何执行逻辑
xinglihua93
15 天前
买个 AWS 就 OK
Fqy
15 天前
可以看看我朋友的网站有什么安全问题么
http://www.huogua.net
Nem0
15 天前
是不是 P 站 (滑稽)
jciba5n4y6u
15 天前
抓到一只 script kiddy
Jesmora
15 天前
盲猜是类似企查查那种网站
monway
15 天前
你用的这些工具其实意义都不大,用长亭的 xary 把所有后台接口都跑一下,服务器只开放 web 端口,SSH 白名单登录。接入 waf 。有条件的购买阿里云安全中心的高级版就行了。再有条件的花几千块找人测下逻辑漏洞。

如果网站会得罪人,一般会 DDOS 攻击,不会费这么大力气入侵你的服务器
listnodeptr
15 天前
一个想当武林奇侠的同学有一天想出了一个好主意,自己造一个帮派出来参加江湖混战不就顺带能练习武功了吗

于是他往桌子上排开了短剑、长矛、钉头锤、连枷、十字弩、反曲弓,然后兴奋而忐忑地问前辈们这些东西还差什么,并且仔细地挨个武器拿起比画了起来

4 楼#4 说年轻人你不必过度在乎你帮派的安全,江湖上义薄云天看淡生死方能成大气候

12 楼#12 说长矛不适合街巷、弓弩不适合山林,你管好帮派出入的关隘比部署啥兵器都重要,不会有侠客上山踢馆,只会有毛贼门前晃悠

26 楼#26 说江湖险恶,最好还是把帮派业务全部立成石碑,只能看,搬不动

要我说:小马过河你亲自蹚水试一试才好,书里面都是过时的东西,比如你说到 iptables ,云厂商都有免费的安全组 security group 端口策略,你不上去试一试怎么会知道这件事呢,你说到 clamav ,云厂商由于某些原因都有免费的主机安全可以用(想卸载都费劲),你需要去试试下载个挖矿软件触发一下才会知道你的云机器是被严格管控不允许出病毒的,以及你竟然觉得日志服务是用来省钱放日志的,它是解决规模问题而提供的一体化解决方案,你一台机器直接自带的云监控+告警策略就够了,你需要试一试才会知道这些事情,别问了,冲啊皮卡丘,去试试就好了
Hieast
15 天前
大部份网站的问题是没有流量,有了流量和钱再考虑安全也不迟。
ShuoHui
14 天前
@happybabys 顶级黑客
chinanala
14 天前
1. 业务服务器只开放应用端口( 80/443 );
2. 服务器只允许证书登录,SSH 端口改高位;
3. 云服务器控制台防火墙只允许白名单 IP 登录其它端口;

这三项措施就符合 99.9%安全了,除非 Nginx Tomcat 这种 0day 漏洞。
ihciah
14 天前
后端用 golang 很难搞出 RCE ,不瞎拼接 sql 放心用 ORM 通常也不会有问题,系统层面管好 ssh 和其他暴露端口的服务,那么除前端安全外,你就只剩被 dos 的可能了。
安全还是一个成本问题,一切都有例外,但显然一个服务器成本 100 块的普通网站配不上一个核弹级 0day 的价格…
fingerxie
14 天前
我只开放了 80 、443 、11010 (打洞端口) 这三个端口,所有操作一律 vpn 访问。我是用的 easytail ,用起来没啥问题,密码设置的也很简单,至今没有问题

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

https://ex.noerr.eu.org/t/1153581

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

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

© 2021 V2EX