
在实际的生产环境中,开发和测试人员都尽可能的保证安全,以避免一些重要信息泄露甚至被窃取。许多企业或组织还拥有较为完善的威胁建模,但即便如此安全问题仍层出不穷。有的企业则期望通过网络上的白帽或黑帽们,来帮助他们共同完成企业的安全建设。但是作为企业需要明白一点,并不是所有的白帽或黑帽,都愿意将自己的安全建议分享给他们。对于安全防护也不仅仅是使用2FA和密码管理器,安装更新和不点击可疑链接这一口号那么简单。
这篇文章的内容其实我在一些安全会议上已经演讲过两回了,在这里我对部分内容做了一些修改并希望再次分享给大家,主要面向那些刚刚学习或了解Linux安全的人。在本文我并不会实际讨论Web应用的安全,想要了解和学习这方面的内容,大可以参考 OWASP Top 10它可以教会开发和测试人员有关SQL注入,CSRF,XSS,会话管理等知识。如果你担心的是更加高级的攻击者,并且需要防范可能的恶意代码或提权脚本被执行,那么在本文中你将学习到你想了解的知识。远端的入侵者甚至是一个不起眼的内部威胁者,此时可能早已潜伏在你的系统中伺机而动。
以下我会提到一些基本概念,并包含相关的工具。同时,在这里你需要问你自己:
ACL(访问控制列表)
你的基础设施是否分为不同的系统,具有不同的基于角色的访问级别,或者用户拥有完全相同的特权?
acl: getfacl+ setfacl
系统审计
你是否已对登录到某台机器的用户执行考虑周全?
查看: auditd, go-audit
静态分析和fuzzing
你可能正在运行C/C++。内存安全问题,占据了大多数出现的漏洞。你是否对这些代码做过审计,静态分析或fuzzing测试以确保它们的安全性?你是否考虑过在 Rust中开发?
查看: afl, Radamsa, Sulley, boofuzz, Coverity Scan, Valgrind, sanitizers
网络分段
你是否已将你的后端与你的前端及负载均衡器正确分离?你是否花时间设置了公司VPN,并授予你的机器私有的内部地址?
查看: iptables, ufw
隔离
你的员工是否将他们的工作电脑用于个人活动,例如游戏或与其工作无关的应用程序?或者他们是否有使用像虚拟机或容器一类的东西来进行消息传递,浏览,开发……?
查看: Qubes, VirtualBox
文件权限和umask
任何对Unix有基础了解的人,都不会对文件权限感到陌生。如果你没有严格控制某些文件的读写执行权限,那么我强烈建议你按照最严格的规范实施权限控制。
更多内容
容器
集装箱化在理论上对安全有很大的帮助。但我想知道谁被允许建立并将镜像投入生产环境,他们是否也进行了签名和验证,并对安全更新和CVE进行监控?
查看: Docker, LXC
利用威胁情报
从IPv4地址空间发起恶意IP流,准备进行DDoS攻击的僵尸网络以及自动化的利用扫描正在进行。你可以自己收集有关此类活动的情报,也可以订阅相关产品的feed或黑名单列表。但你的端点/防火墙,是否有对此作出反应并合并这些信息?
查看: 威胁情报资源列表
防火墙和包过滤
你多久审查一次你的iptables规则或你是否了解你的路由器/防火墙执行的内容,有没有对它们进行运行验证测试?你是否正确配置了包过滤规则,以确保机器只能与那些需要的数据通信?
查看: pfSense, OPNsense
DNS和域名注册商
你为此锁定了多少努力?你已经付出了多少努力来锁定它?当你的域名服务器或DNS区域文件被未经授权更改时,你是否会收到相应警报?此外,你是否启用了DNSSEC?
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-83684-1.html
这正是美国老大地位蹋落的表现