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

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 。

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

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

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

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

4812 次点击
所在节点    信息安全
45 条回复
happybabys
15 天前
没有绝对安全的系统,开 ssh 让我上去看看
MHPSY
15 天前
何止超过平均水平,已经非常厉害了,多少公司是直接用一个开源搭好的脚手架,直接修修改改就上线了
sampeng
15 天前
你这有点多此一举…
就两个,阿里云二次认证打开 mfa 就足够了。
开 ssh 只允许特定 ip 访问或者用的时候开。其他完全不需要做,因为进不去这些操作都是自己感动自己。服务器只开 443 和 80 端口。你只要保证应用没安全漏洞神仙都进不去。
opengps
15 天前
我说安全问题不用过于在乎肯定会被喷。因为这句话的前提是已经具备常见的防护能力,这时候做到只是随手的事,比如新手一上来就“关闭防火墙”的偷懒骚操作。
op 已经的覆盖面已经很广泛了。只是对于漏洞来说,没有绝对的安全所以也不用过于投入(现在就说“维护时间十年起步”过于压榨自己了)
illl
15 天前
愿意为这个网站的安全付费可能更有效果。可以开个众测,攻防是一体的,说的再好不如拉出来测试一波。
shepherdlazy
15 天前
@sampeng 确实,很多操作都是浪费。我一般新开通第一件事 ssh 关闭密码登录,关闭 root 登录,服务器跑四五年都没啥问题
dzdh
15 天前
想太多系列。
danbai
15 天前
建议放个有价值的东西 然后大家一起帮你测
gmfan
15 天前
楼主技术栈和我差不多,不过我没这么多安全的,还有就是服务器我用的是腾讯轻量云服务器。
我的网站(二次元类型):anifun.cn
Hack3rHan
15 天前
太长了没细看,核心的几个点就是,开发学习对应语言的安全开发 checklist ,服务配置符合安全基线要求,尽可能缩小互联网暴露面这样。
daxin945
15 天前
如果能一直坚持下去话没啥太大问题
再就是多关注些新出现的 0day ,及时打补丁。没事看看 IP 请求情况,根据威胁情报 ban 些 IP 下去
bingfengfeifei
15 天前
作为一个网络安全行业开发人员,有几个看法。

像是 Coraza/ModSecurity 这种开源 WAF ,以及配置的 Coreruleset 这种开源规则,误报率就是完全不可用级别的。我们用这种做旁路分析误报率对我们来说都是辣眼睛的。
Sort3/Suricata 这种核心在于规则,开源的同样也是闹着玩的,甚至安全公司专业人员维护的规则,应对真实攻击也没有多么好用。
Clamav 这种后知后觉的,而且也只能应对落盘的病毒。
都到查找 rootkit 这种级别了,我劝你重装系统。
ARP 攻击这种,是内网攻击方式,现实中我是没见过真实存在的。

我有几个看法:
1. CF 可以用
2. WAF 直接用雷池社区版
3. 暴露端口的开源软件,不能有漏洞,是新版
4. 服务器 ssh 强密码,关 root 登录,权限配置合理,重点是强密码甚至证书登录
5. 搞几个登录几次错误 ban ip 的工具
6. 数据库等非必要业务不要暴露端口
7. 核心数据备份到其他地方

核心是 3,4 搞完这种,个人网站就不太可能被攻破了,攻击基本上都是利用现有漏洞,弱密码机器人爆破的。你业务的漏洞除非被人盯上了,否则就算有漏洞都可能一辈子不暴雷。业务漏洞让 AI 看看代码就可以了。


你说的大部分防御都是幻想的场景,你以为的安全是一堆真实的黑客,对着你的机器一堆死艹。 真实情况是,一堆机器人扫漏洞,扫弱密码,扫不到人家就走了。

你想想的很多场景,就算是一年花几百万找安全大厂安服的,也没有查这个东西的。
liubaicai
15 天前
ip 发出来看看,让老师傅打一下试试
Ma4cus
15 天前
是给五角大楼开发业务吗
xiuming
15 天前
作为一个后端忙这写业务都没时间管安全 唯一能做的就是不要暴露自己在前面套一层 专业的事 让专业人去做
shendaowu
15 天前
@illl 这个我想过有点相关的,忘了写了。能推荐个众测平台吗?我谷歌中文搜了一下好像都需要企业资质。三四百百元能有比较好的效果吗?找人测试一下我倒是想过,就是做好之后在本站求人渗透一下。我也了解过渗透测试,不过被阿里云的渗透测试的三万元吓到了。不过如果网站有很多人在乎的话,我倒是愿意组织个众筹,买一下渗透测试服务。这个有意义吗?
mayli
15 天前
闲的系列 大部分都没意义
先把 attack surface 列出来 再加对策
CodeCodeStudy
15 天前
“所有密码和密钥每季度换一次”

这个有什么用,只要密码和密钥强度够就行,换得太频繁,搞忘了咋整?
illl
15 天前
@shendaowu 直接在 v 站发众测邀请应该还是有人来的,到时候我也来参与一下。不过渗透测试一般的 src 都是按结果付费的,高危、中危、低危的价格不同,可以参考一下一般的 src 平台。
kuxuan
15 天前
换做出来,然后用 crontab 定时备份数据,能赚钱了,再慢慢弄。要不然就浪费时间了。

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

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

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

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

© 2021 V2EX