• 甲方安全建设思考-3


    系统安全加固

    系统安全是所有安全工作的第一步,这部分内容可以归入安全基线。

    Linux加固

    禁用LKM ,限制/dev/mem,内核参数调整,禁用NAT,Bash日志,应用配置加固,Web进程以非root运行,过滤特定文件类型

     远程访问 使用SSH V2,而不是V1 使用SSH V2,而不是V1

    网络访问控制

    安全域和访问控制的区别在于,安全域是更加高层次的圈地运动,而NACL相对更具体化,针对的是每一个系统;安全域相对固化,基本不会变动,而NACL则会应需而变。

    服务器4A

    4A指:账户(Account)、认证(Authentication)、授权(Authorization)、审计(Audit)。对于较大规模的服务器集群,不太可能使用每台服务器单独维护用户名密码(或是证书)的权限管理方式,而必须使用类似于SSO的统一权限管理。目前主要有两种方式:一种是基于LDAP的方案,另一种是基于堡垒机的方案。

    1.基于LDAP

    基于LDAP的服务器SSO架构如图

     LDAP的方案可以使用LDAP服务器作为登录的SSO,统一托管所有的服务器账号,在服务器端对于Linux系统只要修改PAM(PluggableAuthentication Modules? ), Windows平台则推荐pGina(pGina是一个开源插件,作为原系统凭证提供者GINA的替代品,实现用户认证和访问管理),使登录认证重定向到LDAP服务器做统一认证。

    基于堡垒主机的方式如图

    在Radius上新建用户Richard,为该用户生成SSH的公私钥对,使用自动化运维工具将公钥分发到该用户拥有对应权限的服务器上。用户的SSH连接由堡垒机托管,登录时到Radius服务器使用动态令牌认证身份,认证成功后授权访问其私钥,则对于有SSH公钥的服务器该用户都可以登录。网络访问控制上应设置服务器SSHD服务的访问源地址为堡垒机的IP。

    网络安全

     网络入侵检测

    1.传统NIDS

    IDS(入侵检测系统)NIDS(网络入侵检测系统)

    绿盟的NIDS产品架构

    绿盟科技IPS体系架构

    IDS/IPS部署示意图

     大型全流量NIDS

     传统NIDS在大型互联网场景下有如下几个明显的缺陷:

    ❑ IDC规模稍大很容易超过商业NIDS处理带宽的上限,虽然可以多级部署,但无法像互联网架构一样做到无缝的水平扩展,不能跟基础架构一起扩展的安全解决方案最终都会掣肘。❑ 硬件盒子单点的计算和存储能力有限,很容易在CPU时间和存储空间上达到硬件盒子的上限,即使有管理中心可以腾挪存储空间也解决不了这个问题。❑ 规则数量是性能杀手,最不能被并行处理的部分会成为整个架构的瓶颈。❑ 升级和变更成本高,可能对业务产生影响。❑ IDC规模较大时,部署多台最高规格商业NIDS的TCO很高(Google如果用IBM的解决方案会破产)。

    NIDS硬件扩展方案 

     这样看上去比厂商提供的多层级联的方案稍微好一点,貌似解决了水平扩展问题,但是它仍然没有解决TCO的问题,无论如何这种方案都不适合拿到台面上来作为最佳实践,它只能用于暂时换取自研NIDS的时间。

    基于大数据的NIDS架构

    ❑ 分层结构,所有节点全线支持水平扩展。❑ 检测与防护分离,性能及可用性大幅提升,按需决定防护,支持灰度。❑ 报文解析与攻击识别完全解耦,入侵检测环节“后移”。❑ 依赖大数据集群,规则数量不再成为系统瓶颈,并且不再局限于基于静态特征的规则集,而是能多维度建模。❑ “加规则”完全不影响业务。

     这是全流量全协议全功能版本,你也可以只取其中一部分,比如对于以HTTP/HTTPS为主的Web平台可以只关注HTTP类协议。

    关于D还是P

    对于单纯的检测来说,过分的实时性要求其实意义不是特别大,攻击行为发生后10秒钟告警和10分钟告警效果都差不多,慢一点也不会误事。

    对互联网服务而言,可用性是除了数据丢失以外的第二大严重问题,如果要实现P就会面临延迟和误杀的风险,因此P方案实际比D方案难了一个阶梯。

    在“和平时期”,一般不需要启用P功能,只使用D就可以。

  • 相关阅读:
    前端架构师之01_JavaScript_Ajax
    GPT-SoVITS教程,接入酒馆AI,SillyTavern-1.11.5,让AI女友声若幽兰
    EasyRAFT
    【Spark | RDD】架构及算子的基本认识
    微服务和kafka
    [附源码]java毕业设计ssm学生成绩考核管理系统
    【Javadoc生成开发文档(Terminal或IDEA中)】
    java中参数里面三个点代表什么呢?
    Unity 3D脚本语言的类型
    网络系统管理 - GWServer虚拟机配置
  • 原文地址:https://blog.csdn.net/guolong1983811/article/details/121532803