• 安全基础二


    1. 黑客可以利用插件攻进来,要时常补丁更新插件。不用的插件删掉
    2. 强密码和定期修改密码
    3. 一般连入公司wifi内网后,员工还需要通过公司e-mail 和 passwd,进行一次额外的验证。这样公司就知道谁连了进来

    一、插件漏洞

    • 统计使用了哪些插件
    • 这些插件有版本更新嘛
    • 检测这些插件是否存在已知漏洞
      在这里插入图片描述

    二、权限提升和持久化

    SSRF(Server-Side Request Forgery,服务器端请求伪造)

    想象一下,你是一个公司的内部员工(服务器),你有权访问公司内部的一些机密文件(内部资源),这些文件对外部的人(攻击者)是不可见的。某天,一个外部的陌生人(攻击者)让你帮忙发送一封信(请求)到一个特定地址(目标资源),你不知道这个地址的内容机密,你便照做了,结果他通过你的帮助(服务器)获得了机密文件。这就是SSRF漏洞的基本原理。

    后门

    后门(Backdoor)是指绕过正常认证机制的隐藏方法,允许攻击者或未授权用户秘密访问计算机系统、网络或应用程序。后门通常被用于非法访问,但在某些情况下,开发人员可能会在系统中留有后门用于调试或维护。

    想象一下,你家的前门有锁,只有你和家人有钥匙,但某个技工在修理时偷偷在后院的围墙上开了一个小门,这个门没有锁,只有他知道。每当你不在时,他就可以通过这个小门进入你的家。这就是后门的概念。

    一些黑客才知道的账号密码的管理员权限登录进来。
    在这里插入图片描述

    三、Linux系统安全:多人共用服务器,如何防止别人干“坏事”?

    弱密码和定期修改密码
    linux安全威胁就是权限问题
    不要随便把root用户权限给别人。运行Redis和MySql也不要用root用户,黑客可以通过具备ROOT权限的进程漏洞,来实现权限提升的

    想象一下,你有一个公司,公司的老板(Root用户)拥有公司的所有权限,包括访问所有机密文件和进行任何操作。现在,你有一项任务需要外包给外部人员(服务),你不希望这个外部人员有权访问公司的所有资源。因此,你创建了一个权限受限的账户,只允许他访问和操作必要的文件,而不是所有的文件。这样,即使他有恶意企图,也只能对有限的资源造成影响。

    想你推荐两种日志分析工具ELK和Zabbix
    在这里插入图片描述

    四、网络安全:和别人共用Wi-Fi时,你的信息会被窃取吗?

    最小权限

    1. 水平划分VLAN

    就是交换机划分出的子网。不同VLAN之间的访问,交换机可以阻止

    2. 垂直划分

    内网可以访问外网,但反过来不行。这个通过路由器实现

    在这里插入图片描述

    想象一下,你家里有一台电脑(内网设备),但你在外出时需要访问这台电脑上的文件。由于家庭路由器的网络地址转换(NAT)功能,你的电脑隐藏在内网中,外面的世界无法直接找到它。这时,你可以使用内网穿透技术来解决这个问题。

    公司wifi 安全

    强制门户

    在这里插入图片描述
    一般连入公司wifi内网后,员工还需要通过公司e-mail 和 passwd,进行一次额外的验证。这样公司就知道谁连了进来

    伪造热点

    设备一般自动连接之前连接过的wifi。黑客如果伪造了和之前连接wifi相同的ID,就能劫持你的流量
    解决方案就是对办公网络中的未知热点进行扫描

    有线网络安全

    有线网络不存在强制门户的必要。都插上网线了。说明授权这台服务器接入内网了
    对于劫持流量问题。黑客伪造(基于ARP协议和DNS协议来寻址的MAC地址和ip地址)ARP包和DNS包,从而期盼目标设备将数据包发送到黑客的设备上。

    解决方式就是定期检测,还有合理规划,避免黑客进入内网

    DDoS攻击

    黑客由外网发起大量请求,占满带宽。让内网无法响应用户的正常请求。
    黑客会通过大量的“肉鸡”(被黑客远程控制的机器)来向目标网络发起请求。

    只要你提供服务,就基本无法避免被攻击
    但云提供商提供的解决方式是比如卖给你一个40G的防DDos服务。只要DDoS的流量小于 40G,云服务商就会保障你服务的可用性。
    在这里插入图片描述

    五、Docker安全

    黑客突破了Docker服务的隔离保护,就是“Docker 逃逸”
    如何应对,看下面

    1. Namespace

    linux内核会对不同Namespace之间的进程做隔离,每个docker容器都有一个单独的Namespace空间
    但是Namespace的伪隔离机制让容器和宿主机共享某些目录。这是不是意味着可以利用这些目录来实现docker逃逸呢?docker使用Capabilities来限制容器的操作

    2. Capabilities

    只允许docker容器拥有几个默认的能力
    如果给容器完全的特权(称为“特权模式”),它将拥有与主机相同的权限,这会带来很大的安全风险。例如,如果容器被黑客攻破,黑客可以对主机系统做任何事情。

    想象一下,你是一位家庭管理员,你可以给家里的每个人发放不同的权限:有人只能在厨房做饭,有人只能在花园浇水,有人可以进入所有的房间。类似地,Docker中的Capabilities就是给容器分配不同权限的方式,让它们只能做特定的事情,而不是给它们所有的权限。

    常见Capabilities示例
    CAP_SYS_ADMIN:允许执行许多系统级的操作,如挂载文件系统等。
    CAP_NET_BIND_SERVICE:允许绑定到低于1024的端口。
    CAP_SYS_TIME:允许更改系统时间。

    3. CGroups

    利用CGroups 机制来实现对容器内存、CPU和 IO 等的限制。
    例如

    docker run -it --cpus=2 --memory="100m" ubuntu:latest /bin/bash
    

    Docker守护进程

    Daemon具备操控Docker的所有权限。黑客可以通过守护进程的远程API接口来获得Daemon的控制权。
    我们是否要开启这个远程API接口,如果开启就要配置API接口的密钥这样才安全

    Docker 镜像安全

    系统镜像包含很多漏洞。因为很多系统功能都用不到,去正好给了黑客可乘之机
    解决方案就是

    1. 用精简版的基础镜像,如 slim 或者 alpine结尾的
    2. 用较低权限的用户,比如node的基础镜像自带node用户
      FROM node:10-alpine

      USER node
      如果镜像不自带这种最小权限用户。可以自己创建一个
      在这里插入图片描述

    六、数据库安全

    redis

    黑客可以连入redis,然后将KV中的value落盘在cron目录下面,进而生成定时程序

    redis加上密码后,性能下降20%左右,这和它主打的高性能冲突

    可以通过重命名CONFIG,黑客不知道你重命名成什么了,就无法执行CONFIG功能,get和set一些服务器的参数

    尽量使用非ROOT权限,这样黑客就不能进入到写入Crontab

    最好是在可信的网络中使用redis。

    MySQL

    黑客除了对数据库“增删改查”,就是控制服务器
    mysql本身就提供和本地文件交互的功能。黑客连入mysql后,可以读取到/etc/passwd 和应用源代码。也可以往Crontab里写入。

    不过mysql本身提供安全机制,只需要配置好,就能获得较高的安全保障

    1. 具有这些功能:密码过期,重用限制,强度评估,失败太多次锁定账户
    2. 授权机制包括主体(用户名,ip,passwd),客体(数据库和表)和请求(增删改查)
    3. 审计通过第三方插件
    4. 还提供传输过程中的SSL 加密。也提供存储过程中的硬盘加密
    5. mysql默认提供了非ROOT 权限用户mysql

    七、分布式安全:上百个分布式节点,不会出现内奸嘛?

    Hadoop用的很少。

    八、安全标准和框架

    在国内,就是等级保护制度
    在这里插入图片描述

    九、防火墙

    黑客在网络攻击时,第一步会扫描系统对外开放的端口

    1. 包过滤防火墙

    功能:检查每个数据包的基本信息,决定是否允许数据通过。

    通俗解释:就像一个大楼的保安,只检查进出人员的身份证和行李箱,但不打开行李箱看里面有什么。

    例子:保安会检查进入大楼的人的身份,如果不是员工或者访客登记的身份,就不让进入,但不会检查员工包里有什么。

    2. 应用网关防火墙

    功能:在应用层上工作,通过代理的方式检查和过滤数据流量。

    通俗解释:就像一个专业的审查员,不仅检查来访者的身份,还会查看他们带来的文件和资料,确保内容安全。

    例子:审查员不仅检查进大楼的人的身份证,还会审查带进来的文件,确保里面没有敏感或危险的信息。

    3. 状态检测防火墙

    功能:跟踪和分析数据包的状态,确保连接是合法的。

    通俗解释:就像一个智能保安系统,不仅检查身份证和行李,还会跟踪进入大楼的人的行踪,确保他们行为正常。

    例子:智能保安系统会记录每个人进入大楼后的活动,如果有人试图进入未经授权的区域,系统会发出警报并阻止他们的行动。


    这些防火墙的区别主要在于检查的深度和方式:

    • 包过滤防火墙:简单快速,检查数据包的表面信息。
    • 应用网关防火墙:深入检查数据内容,确保应用层面的安全。
    • 状态检测防火墙:智能跟踪数据连接的状态,确保整个通信过程的安全。

    Windows 自带的防火墙和 Linux 的 firewalld 都属于状态检测防火墙,但 firewalld 同时结合了一些高级功能,如区(zone)管理和丰富的规则设置。

    十、WAF (Web Application Firewall, Web 应用防护系统)

    1. 透明代理:你在公司使用互联网时,公司配置的透明代理会自动过滤和监控你的网络流量,你不用对浏览器做任何设置,但访问某些网站时会被限制或记录。

    2. 反向代理:你访问一个大型网站时,反向代理会先接收你的请求,再决定将其发送到哪台后端服务器,以分担负载,提高效率和安全性。

    3. 插件模式:你在浏览器中安装了一个广告拦截插件,这个插件会在你浏览网页时自动屏蔽广告,为你提供一个更清洁的浏览体验。服务端通过AOP技术引入即可。AOP让你能够在不改变核心业务逻辑代码的情况下,添加或改变某些功能或行为。

  • 相关阅读:
    【软件工程】软件工程定义、软件危机以及软件生命周期
    【网络基础】——传输层
    linux 文件管理
    JS使用工具函数
    2.1、基于并行上下文注意网络的场景文本图像超分辨率
    【SpringCloud】一、SpringCloud介绍
    显而易看app的订阅内容
    【配置】【IDE】使用vscode调试typescript应用
    列表常用方法
    【Shell】循环结构——for和while循环实例
  • 原文地址:https://blog.csdn.net/qq_41834780/article/details/139239597