当前位置: 首页 > 科技观察

运维是必需品,安全是奢侈品

时间:2023-03-21 16:54:51 科技观察

最近在某群听到这样一句话:运维是必需品,安全是奢侈品。安全一直是大多数企业想关注,却又不重视的事情。之所以要关注,是因为安全问题不断出现。经常听说某云厂商服务器不可用,某公司服务器被入侵,某公司数据库被离职员工删除。层出不穷的安全问题让安保人员防不胜防。即便如此,多数企业仍不重视。我认为主要有以下三个原因:(1)公司没有专业的安全人员,安全意识不强,没有发生过重大安全事故(2)安全==花钱,做安全,你必须做好花钱的准备,价格又贵(3)我一时心存侥幸。我也一度抱有侥幸心理:这种事不应该发生在我身上。然而,侥幸往往会在未来的某个时刻发生。今年,我负责的环境发生了两起安全事故。虽然没有造成损失,但却给我敲响了警钟。(1)第一起安全事件是Windows系统被黑,被植入后门。我在《服务器中毒了——菜是原罪》中解释了整个过程。(2)第二个安全事件是Linux服务器被黑客利用应用软件漏洞植入恶意脚本进行挖矿。两件事虽然在第一时间就解决了,但现在想起来,还是觉得后背发凉。如果这些服务器和我的其他服务器开启了免加密,会有什么后果?好在虽然没有购买其他安全产品,但基本的安全规定还是执行了,并没有造成太大的影响。鉴于个人能力水平有限,我总结整理了以下安全规范:从外部环境,你需要释放相应的端口和IP,比如常用的HTTP/HTTPS端口,SSH端口,RDP端口等。为了安全,我会遵循以下原则:除了80和443端口,remote维护端口不应对外开放。如果列表可以使用443,尽量不要使用80。如果是普通服务器,可以使用iptables制定规则。如果是云服务器,可以使用云安全组进行访问控制。如果系统安全符合Level3的标准,系统安全要做的事情就更多了,比如打开防火墙,备份审计日志,配置各种策略等。我一般只会做以下几件事:登录/密码管理漏洞管理基线检查登录/密码管理日常服务器维护需要我们登录目标服务器进行操作,那么就会涉及到密码、密钥等问题,我一般遵循以下原理:增加密码复杂度,设置密码过期时间,定期修改密码,设置密码重试次数,检查系统中是否有空密码,禁止空密码登录有,只能查漏补缺。”现在大部分公司都是以开源为主,而且大部分公司都是使用开源软件构建自己的业务系统,并没有对这些开源软件做太多的安全和质量控制,以至于很多安全问题都是由开源软件引起的.而且现在很多软件供应商在对外销售的商业软件中大量使用了开源软件,但是安全责任并没有从开源代码供应商转移到软件供应商身上,这就导致了软件的安全风险。漏洞最终由用户承担。以CentOS系统为例,企业会在服务器上安装各种软件,如ssh、mysql、redis等,而这些应用软件都会存在很多漏洞,这让我们的系统就像一个筛子:漏洞百出。如果被好心人利用,损失将不可估量。为此,我们要经常对系统进行漏洞扫描和修复,切记要心存侥幸。如果你经常使用云,即使你不买安全产品,他们也会提供基本的漏洞扫描能力,但不会帮你修复,否则你就得额外付费。我们可以利用它来梳理漏洞,自己修复。基线检查基线检查是一种日常检查和维护。主要检查以下问题:弱密码、账户权限、身份认证、密码策略、访问控制、安全审计、入侵防御和安全。检查可以有效指出安全问题,便于安全加固。如果条件允许,建议购买商业软件。退而求其次的是找到一些开源软件,例如百度推出的OpenRASP。应用安全应用是业务的基石,应用是业务的载体。应用出了问题,业务就离我们不远了。而且,现在很多开发者只关注业务的实现与否,对应用的安全性关注不够。这将导致:在开发过程中,可能会引入易受攻击的组件,涉及的用户密码未加密。直接放代码,然后上传到公共仓库。我遇到过开发者把代码放在Github上,里面有阿里云OSS的key,直接导致key泄露。好在阿里在这方面有足够的扫描能力,他很快发现并报警。在应用安全方面,我们主要关注以下几个问题:应用漏洞扫描、网站后门密钥泄露和入侵检测,这些基本上都需要借助WAF等商业软件来完成。在线安全买买买。重要的事说三遍。网络防御方面,除了购买,好像没有别的办法,比如DDoS。当然,除了DDoS攻击,暴力破解也很常见。如果不觉得麻烦,可以自己封IP,结果真的很麻烦。所以,到头来,一切都要以人民币来破。数据安全涉及到很多数据安全,主要套路如下:防止SQL注入敏感数据脱敏数据库审计访问控制备份冗余这里以数据库为例,我们主要按照以下规则进行处理:使用数据库堡垒机,所有的操作都是通过数据库堡垒机进行的。原则上不开放读写权限。对于个人用户应用,建议对敏感数据采用一应用一账号脱敏的原则。最后大家有没有发现,保安打到最后都是人民币,甚至人民币都用不了。该解决的时候,该拼人脉了。道路千条,安全第一。运营不规范,运维两行泪。