Linux与安全

这篇具有很好参考价值的文章主要介绍了Linux与安全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本心、输入输出、结果

文章目录
  • 系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第八部分:Linux、安全
    • 前言
      • Linux 文件系统解释
      • 应该知道的 18 个最常用的 Linux 命令
      • HTTPS如何工作?
        • 数据是如何加密和解密的?
        • 为什么HTTPS在数据传输过程中会切换到对称加密?主要有两个原因:
      • 用简单的术语解释 Oauth 2.0
        • OAuth 代币可以做什么?
      • 身份验证机制的 4 种使用最多的形式
      • 会话、cookie、JWT、令牌、SSO 和 OAuth 2.0 - 它们是什么?
      • 如何将密码安全地存储在数据库中以及如何验证密码?
        • 不安全的操作
        • 什么是盐 (Salt)?
        • 如何存储密码和盐?
        • 如何验证密码?
      • 让 10 岁的孩子也可以看明白 JSON Web 令牌 (JWT)
      • Google 身份验证器(或其他类型的双因素身份验证器)如何工作?
        • 第 1 阶段
        • 第 2 阶段
        • 此身份验证机制是否安全?
      • 弘扬爱国精神

系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第八部分:Linux、安全


编辑:简简单单 Online zuozuo
地址:https://blog.csdn.net/qq_15071263

Linux与安全,linux,安全,数据库


如果觉得本文对你有帮助,欢迎点赞、收藏、评论

前言

我们使用视觉效果和简单术语来解释复杂的系统是如何运转的,帮助我们理解技术细节

我们使用视觉效果和简单术语来解释复杂的系统是如何运转的,帮助我们理解技术细节

Linux与安全,linux,安全,数据库

Linux 文件系统解释

Linux与安全,linux,安全,数据库

Linux 文件系统过去类似于一个无组织的城镇,人们随心所欲地建造房屋。但是,在 1994 年,引入了文件系统层次结构标准 (FHS) 来为 Linux 文件系统带来秩序。

通过实施像FHS这样的标准,软件可以确保在各种Linux发行版上保持一致的布局。尽管如此,并非所有 Linux 发行版都严格遵守此标准。它们通常包含自己独特的元素或满足特定要求。 要精通此标准,您可以从探索开始。使用诸如“cd”之类的命令进行导航,使用“ls”之类的命令列出目录内容。将文件系统想象成一棵树,从根 (/) 开始。

Linux与安全,linux,安全,数据库

应该知道的 18 个最常用的 Linux 命令

Linux 命令是用于与操作系统交互的说明。它们帮助管理文件、目录、系统进程和系统的许多其他方面。您需要熟悉这些命令,以便有效地导航和维护基于 Linux 的系统

  • ls - 列出文件和目录
  • cd - 更改当前目录
  • mkdir - 创建一个新目录
  • rm - 删除文件或目录
  • cp - 复制文件或目录
  • mv - 移动或重命名文件或目录
  • chmod - 更改文件或目录权限
  • grep - 在文件中搜索模式
  • 查找 - 搜索文件和目录
  • tar - 操作压缩包存档文件
  • vi - 使用文本编辑器编辑文件
  • cat - 显示文件内容
  • top - 显示进程和资源使用情况
  • ps - 显示进程信息
  • kill - 通过发送信号终止进程
  • du - 估计文件空间使用情况
  • ifconfig - 配置网络接口
  • ping - 测试主机之间的网络连接

Linux与安全,linux,安全,数据库

Linux与安全,linux,安全,数据库

HTTPS如何工作?

超文本传输协议安全 (HTTPS) 是超文本传输协议 (HTTP) 的扩展。HTTPS 使用传输层安全性 (TLS) 传输加密数据。如果数据在网上被劫持,劫持者得到的只是二进制代码。

Linux与安全,linux,安全,数据库

数据是如何加密和解密的?
  • 步骤 1 - 客户端(浏览器)和服务器建立 TCP 连接。
  • 步骤 2 - 客户端向服务器发送“客户端问候”。该消息包含一组必要的加密算法(密码套件)及其可以支持的最新 TLS 版本。服务器以“服务器问候”响应,以便浏览器知道它是否可以支持算法和TLS版本。
  • 然后,服务器将 SSL 证书发送到客户端。证书包含公钥、主机名、到期日期等。客户端验证证书。
  • 步骤 3 - 验证 SSL 证书后,客户端生成会话密钥并使用公钥对其进行加密。服务器接收加密的会话密钥并使用私钥对其进行解密。
  • 步骤 4 - 现在客户端和服务器都持有相同的会话密钥(对称加密),加密的数据在安全的双向通道中传输。
为什么HTTPS在数据传输过程中会切换到对称加密?主要有两个原因:
  1. 安全性:非对称加密只有一种方式。这意味着,如果服务器尝试将加密数据发送回客户端,任何人都可以使用公钥解密数据。
  2. 服务器资源:非对称加密增加了相当多的数学开销。它不适合长时间会话中的数据传输

Linux与安全,linux,安全,数据库

用简单的术语解释 Oauth 2.0

OAuth 2.0 是一个功能强大且安全的框架,允许不同的应用程序代表用户安全地相互交互,而无需共享敏感凭据

Linux与安全,linux,安全,数据库

OAuth 中涉及的实体是用户、服务器和身份提供程序 (IDP)。

OAuth 代币可以做什么?
  • 使用 OAuth 时,您将获得一个表示您的标识和权限的 OAuth 令牌。此令牌可以执行一些重要操作:
  • 单点登录 (SSO):使用 OAuth 令牌,您只需一次登录即可登录多个服务或应用程序,让生活更轻松、更安全。
  • 跨系统授权:OAuth 令牌允许您在各种系统之间共享您的授权或访问权限,因此您不必在任何地方单独登录。
  • 访问用户配置文件:具有 OAuth 令牌的应用可以访问您允许的用户配置文件的某些部分,但它们不会看到所有内容。
  • 请记住,OAuth 2.0 旨在确保您和您的数据安全,同时使您的在线体验在不同的应用程序和服务之间无缝无忧

Linux与安全,linux,安全,数据库

身份验证机制的 4 种使用最多的形式

Linux与安全,linux,安全,数据库

  1. SSH Keys: 加密密钥用于安全地访问远程系统和服务器
  2. OAuth Tokens:: 提供对第三方应用程序上的用户数据的有限访问权限的令牌
  3. SSL Certificates:: 数字证书可确保服务器和客户端之间的安全和加密通信
  4. Credentials: 用户身份验证信息用于验证和授予对各种系统和服务的访问权限

Linux与安全,linux,安全,数据库

会话、cookie、JWT、令牌、SSO 和 OAuth 2.0 - 它们是什么?

这些术语都与用户身份管理有关。当您登录网站时,您声明了您是谁(身份识别)。您的身份已验证(身份验证),并被授予必要的权限(授权)。过去已经提出了许多解决方案,并且还在不断增长

Linux与安全,linux,安全,数据库

排序从简单到复杂

  1. WWW-身份验证是最基本的方法。浏览器要求您输入用户名和密码。由于无法控制登录生命周期,因此今天很少使用它。
  2. 对登录生命周期的更精细控制是会话cookie。服务器维护会话存储,浏览器保留会话的 ID。Cookie 通常仅适用于浏览器,对移动应用程序不友好。
  3. 若要解决兼容性问题,可以使用令牌。客户端将令牌发送到服务器,服务器验证令牌。缺点是令牌需要加密和解密,这可能很耗时。
  4. JWT 是表示令牌的标准方式。此信息可以验证和信任,因为它是经过数字签名的。由于 JWT 包含签名,因此无需在服务器端保存会话信息。
  5. 通过使用 SSO(单点登录),您只能登录一次并登录到多个网站。它使用 CAS(中央身份验证服务)来维护跨站点信息
  6. 通过使用OAuth 2.0,您可以授权一个网站访问另一个网站上的信息

Linux与安全,linux,安全,数据库

如何将密码安全地存储在数据库中以及如何验证密码?

Linux与安全,linux,安全,数据库

不安全的操作
  • 以纯文本形式存储密码不是一个好主意,因为任何具有内部访问权限的人都可以看到它们。
  • 直接存储密码哈希是不够的,因为它被修剪为预计算攻击,例如彩虹表。
  • 为了减轻预计算攻击,我们会对密码进行加盐处理。
什么是盐 (Salt)?

根据OWASP指南,“盐是一个唯一的,随机生成的字符串,作为哈希过程的一部分添加到每个密码中”。

如何存储密码和盐?

哈希结果对于每个密码都是唯一的。
密码可以使用以下格式存储在数据库中:hash(password + salt)。

如何验证密码?

要验证密码,可以执行以下过程:

  1. 客户端输入密码。
  2. 系统从数据库中获取相应的盐。
  3. 系统会将盐附加到密码并对其进行哈希处理。我们将哈希值称为 H1。
  4. 系统比较 H1 和 H2,其中 H2 是存储在数据库中的哈希。如果它们相同,则密码有效。

Linux与安全,linux,安全,数据库

让 10 岁的孩子也可以看明白 JSON Web 令牌 (JWT)

Linux与安全,linux,安全,数据库

想象一下,您有一个称为 JWT 的特殊框。在此框中,有三个部分:标头、有效负载和签名。

标题就像盒子外面的标签。它告诉我们它是什么类型的盒子以及如何保护它。它通常以称为 JSON 的格式编写,这只是一种使用大括号 { } 和冒号来组织信息的方法: 。

有效负载类似于您要发送的实际消息或信息。它可以是您的姓名、年龄或您要共享的任何其他数据。它也以 JSON 格式编写,因此易于理解和使用。 现在,签名是使 JWT 安全的原因。这就像一个特殊的印章,只有发送者知道如何创建。签名是使用密码创建的,有点像密码。此签名可确保没有人可以在发件人不知情的情况下篡改 JWT 的内容。

当您要将 JWT 发送到服务器时,请将标头、有效负载和签名放在框中。然后将其发送到服务器。服务器可以轻松读取标头和有效负载,以了解您是谁以及您想要做什么。

Linux与安全,linux,安全,数据库

Google 身份验证器(或其他类型的双因素身份验证器)如何工作?

启用两因素身份验证时,Google身份验证器通常用于登录我们的帐户。它如何保证安全?

Google 身份验证器是一种基于软件的身份验证器,可实现两步验证服务。下图提供了详细信息。

Linux与安全,linux,安全,数据库

涉及两个阶段:

  • 第 1 阶段 - 用户启用 Google 两步验证
  • 第 2 阶段 - 用户使用身份验证器登录等。
第 1 阶段
  • 步骤 1 和 2:Bob 打开网页以启用两步验证。前端请求密钥。身份验证服务为 Bob 生成密钥并将其存储在数据库中。
  • 步骤 3:身份验证服务向前端返回 URI。URI 由密钥颁发者、用户名和密钥组成。URI 以二维码的形式显示在网页上。
  • 步骤 4: 鲍勃然后使用谷歌身份验证器扫描生成的二维码。密钥存储在身份验证器中。
第 2 阶段
  • 步骤 1 和 2:Bob 想要使用 Google 两步验证登录网站。为此,他需要密码。每 30 秒,Google 身份验证器就会使用 TOTP(基于时间的一次性密码)算法生成一个 6 位密码。鲍勃使用密码进入网站。
  • 步骤 3 和 4:前端将 Bob 输入的密码发送到后端进行身份验证。身份验证服务从数据库中读取密钥,并使用与客户端相同的 TOTP 算法生成 6 位密码。
  • 步骤 5:认证服务对比客户端和服务器端生成的两个密码,并将比较结果返回给前端。仅当两个密码匹配时,Bob 才能继续登录过程。
此身份验证机制是否安全?
  • 秘密密钥可以被其他人获得吗?
    • 我们需要确保密钥是使用 HTTPS 传输的。身份验证器客户端和数据库存储密钥,我们需要确保密钥是加密的。
  • 黑客可以猜到6位数的密码吗?
    • 不。密码有 6 位数字,因此生成的密码有 100 万个潜在的组合。另外,密码每 30 秒更改一次。如果黑客在30秒内猜出密码,他们需要每秒输入30,000个组合。
弘扬爱国精神

Linux与安全,linux,安全,数据库

如果你也想学习:黑客&网络安全的SQL攻防

在这里领取:

Linux与安全,linux,安全,数据库

这个是我花了几天几夜自整理的最新最全网安学习资料包免费共享给你们,其中包含以下东西:

1.学习路线&职业规划

Linux与安全,linux,安全,数据库
Linux与安全,linux,安全,数据库

2.全套体系课&入门到精通

Linux与安全,linux,安全,数据库

3.黑客电子书&面试资料

Linux与安全,linux,安全,数据库文章来源地址https://www.toymoban.com/news/detail-787619.html

到了这里,关于Linux与安全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux下oracle数据库启动

    1.登录到Linux服务器(ssh) 2.切换到oracle用户权限 (命令是: # su –l oracle ) 3.进入sqlplus界面(命令是:$ sqlplus /nolog 或 sqlplus / as sysdba) 原本的画面会变为 SQL 接着请输入 SQLconn / as sysdba ; 输入 SQL startup (作用:启动数据库实例) 另外停止数据库的指令如下: SQL shutdown immediate 回到

    2024年02月10日
    浏览(8)
  • linux系统--------------mysql数据库管理

    目录 一、SQL语句 1.1SQL语言分类 1.2查看数据库信息    1.3登录到你想登录的库 1.4查看数据库中的表信息 1.5显示数据表的结构(字段) 1.5.1数据表的结构 1.5.2常用的数据类型: 二、关系型数据库的四种语言 2.1DDL:数据定义语言,用于创建数据库对象,如库、表、索引等 2.1.1库

    2024年03月24日
    浏览(12)
  • Linux 导入MySQL数据库(四)

    一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1、导出数据和表结构: 敲回车后会提示输入密码 PS: 在Linux命令中, 符号用于将命令的输出重定向到文件中。在这个例子中,mysqldump命令将数据库abc的数据和表结构导出到一个名为abc.sql的文件中。如

    2024年02月09日
    浏览(6)
  • linux环境安装mysql数据库

    2024年02月15日
    浏览(8)
  • Linux C++ 链接数据库并对数据库进行一些简单的操作

                    包含了连接数据库的头文件和库文件                 MYSQL 数据库链接句柄                 mysql_init(MYSQL* mysql) 用来初始化数据库连接句柄,需要传入一个句柄并返回一个指向句柄的指针                 mysql_real_connect(连接句柄,用

    2024年02月14日
    浏览(5)
  • 【MySQL数据库】--- 初识数据库以及MySQL数据库在Linux云服务器下载(详细教程)

    🍎 博客主页:🌙@披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 MYSQL数据库 🌙请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!🌙 🍉一起加油,去追寻、去成为更好的自

    2024年02月03日
    浏览(15)
  • 【MySQL数据库】--- 初始数据库以及MySQL数据库在Linux云服务器下载(详细教程)

    🍎 博客主页:🌙@披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 MYSQL数据库 🌙请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!🌙 🍉一起加油,去追寻、去成为更好的自

    2023年04月24日
    浏览(12)
  • Linux下彻底卸载MySQL数据库

    一、检查服务器是否已经安装了MySQL 二、查看MySQL服务是否开启 如开启则关闭MySQL服务,执行以下命令: 三、查找含有MySQL的目录 根据自己查找出来的目录进行依次删除: 还需删除以下两个目录: 四、查找MySQL安装的组件服务 卸载并删除查找出来的组件服务: 五、卸载完成

    2024年02月21日
    浏览(9)
  • PostgreSQL Linux操作PostgreSQL数据库

    PostgreSQL教程 菜鸟教程:https://www.runoob.com/postgresql/postgresql-tutorial.html 登录PG数据库:psql -U 用户名(U需要大写) 登录PG数据库(指定主机、端口,并进入指定数据库): psql -U 用户名 -h 127.0.0.1 -p 5432 -d 数据库名 -U 登录的用户名 -h 连接的主机(默认127.0.0.1,可替换成远程主机

    2024年02月11日
    浏览(21)
  • Linux环境下重启Oracle数据库

    Linux环境下重启Oracle数据库 1、Linux下以Oracle帐户进入Linux系统。 2、执行以下命令查看数据库监听器的状况: 3、执行以下命令停止数据库监听器运行: 4、杀掉所有session,命令: 5、执行以下命令进入SQLPlus: 6、执行以下命令退出SQLPlus: 7、启动,查看数据库监听器: 8、启动

    2024年02月03日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包