当前位置: 首页 > news >正文

安全基础二

一、插件漏洞

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

二、权限提升和持久化

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让你能够在不改变核心业务逻辑代码的情况下,添加或改变某些功能或行为。

相关文章:

  • L9110S电机控制模块
  • 书生·浦语大模型全链路开源体系-笔记作业2
  • 设计模式——结构型模式——责任链模式
  • vue 引用第三方库 Swpier轮播图
  • Low Memory Killer in Android
  • Python 学习笔记【1】
  • 内网渗透-在HTTP协议层面绕过WAF
  • 【学习笔记】计算机组成原理(九+十)
  • c++------类和对象(下)包含了this指针、构造函数、析构函数、拷贝构造等
  • 联想R9000p游戏本常用快捷键
  • Next前端是什么
  • 本地知识库开源框架Fastgpt、MaxKB产品体验
  • 深度学习复盘与论文复现A
  • 文件批量改后缀名,轻松实现TXT到DOCX格式转换,高效管理您的文件库!
  • rman 备份集没有control file的恢复
  • Google 是如何开发 Web 框架的
  • C语言笔记(第一章:C语言编程)
  • iOS 颜色设置看我就够了
  • Linux中的硬链接与软链接
  • Logstash 参考指南(目录)
  • MYSQL 的 IF 函数
  • php面试题 汇集2
  • Redis字符串类型内部编码剖析
  • vue2.0项目引入element-ui
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 看域名解析域名安全对SEO的影响
  • 坑!为什么View.startAnimation不起作用?
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 运行时添加log4j2的appender
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​比特币大跌的 2 个原因
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #define 用法
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (30)数组元素和与数字和的绝对差
  • (day 12)JavaScript学习笔记(数组3)
  • (Git) gitignore基础使用
  • (八)Flask之app.route装饰器函数的参数
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (区间dp) (经典例题) 石子合并
  • (一)基于IDEA的JAVA基础10
  • (转)VC++中ondraw在什么时候调用的
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NetCore项目nginx发布
  • .Net面试题4
  • .NET企业级应用架构设计系列之开场白
  • .sdf和.msp文件读取
  • :中兴通讯为何成功
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)