Linux Services and Security

  OpenSSL

  OpenSSH

  dns:bind

  web:http,httpd(apache),php,mariadb(mysql)

    lamp

    nginx(tengine),lnmp;

  file server:ftp,nfs,samba

  dhcp,pxe

  iptables

OpenSSL:

  NIST:

    保密性:

      数据保密性

      隐私性

    完整性:

      数据完整性

      系统完整性

    可用性

  安全攻击:

    被动攻击:窃听

    主动攻击:伪装,重放,消息篡改,拒绝服务

  安全机制:

    加密、数字签名、访问控制、数据完整性、认证交换、流量填充、路由控制、公证

  安全服务:

    认证

    访问控制

    数据保密性

      连接保密性

      无连接保密性

      选择域保密性

      流量保密性

    数据完整性

    不可否认性

  密码算法和协议:

    对称加密

    公钥加密

    单向加密

    认证协议

  Linux系统:OpenSSL,gpg(pgp)

  加密算法和协议:

    对称加密:加密和解密使用同一个密钥;

      DES:Data Encryption Standard

      3DES:

      AES:Advanced (128bits,192bits,258,384,512bits)

      Blowfish

      Twofish

      IDEA

      RC6

      CASTS

      特性:

        1、加密、解密使用同一密钥;

        2、将原始数据分割成固定大小的块,逐个进行加密;

      缺陷:

        1、密钥过多;

        2、密钥分发;

    公钥加密:密钥是成对出现

      公钥:公开给所有人;pubkey

      私钥:自己留在,必须保证其私密性;secret key

      特点:用公钥加密的数据,只能使用与之配对的私钥解密;反之亦然;

      数字签名:主要在于让接收方确认发送方身份;

      密钥交换:发送方用对方的公钥加密一个对称密码,并发送给对方;

      数据加密:

      算法:RSA,DSA,ELGamal

    单向加密:只能加密,不能解密;提取数据指纹;

      特性:定长输出、雪崩效应;

      算法:

        md5:128bits

        sha1:160bits

        sha224

        sha256

        sha384

        sha512

      功能:

        完整性;

    密钥交换:IKE

      公钥加密:

      DH(deffie-Hellman)

  PKI:Public Key Infrastructure

    签证机构:CA

    注册机构:RA

    证书吊销列表:CRL

    证书存取库

    X.599:定义了证书的结构以及认证协议标准

      版本号

      序列号

      签名算法IID

      发行者名称

      有效期限

      主体公钥

      发行者唯一标识

      主体的唯一标识

      扩展

      发行者签名

  SSL:Secure Socket Layer

  TLS:Transport Layer Security

    1995:SSL 2.0,Netscape

    1996:SSL 3.0

    1999:TLS 1.0

    2006:TLS 1.1 RFC 4346

    2008:TLS 1.2

    2015:TLS 1.3

    分层设计:

      1、最低层:基础算法原语的实现,aes,rsa,md5

      2、向上一层:各种算法的实现

      3、再向上一层:组合算法实现的半成品

      4、用各种组件拼装而成的种种成品密码学协议/软件;

        tls,ssh

  OpenSSL:开源项目

    三个组件:

      openssl:多用途的命令行工具;

      libcrypto:公共加密库;

      libssl:库,实现了ssl及tls;

    openssl命令:

      openssl version:程序版本号

      标准命令、消息摘要命令、加密命令

      标准命令:

        enc,ca,req,...

      对称加密:

        工具:openssl enc,gpg

        算法:3des,aes,blowfish,twofish

        enc命令:

          加密:

          解决:

            -des3

            openssl?

      单向加密:

        工具:md5sum,sha1sum,sha224sum,sha256sum,...,openssl dgst

        dgst命令:

          openssl dgst -md5 /PATH/TO/SOMEFILE

        MAC:Message Authentication Code,单向加密的一种延伸应用,用于实现在网络通信中保证所传输的数据的完整性;

          机制:

            CBC-MAC

            HMAC:使用md5或sha1算法

      生成用户密码:

        passwd命令

          openssl passwd -l -salt SALT

      生成随机数:

        openssl rand -base64 | -hex NUM

          NUM:表示字节数;-hex时,每个字符4位,出现的字符数为NUM*2;

      公钥加密:

        加密:

          算法:RSA,ELGamal

          工具:gpg,openssl rsautl

        数字签名:

          算法:RSA,DSA,ELGamal

        密钥交换:

          算法:dh

        DSA:Digital Signatrue Algorithm

        DSS:Digital Signatrue Standard

        RSA:

        生成密钥对:

        随机数生成器:

          /dev/random:仅从熵池返回随机数;随机数用尽,阻塞;

          /dev/urandom:从熵池返回随机数;随机数用尽,会利用软件生成伪随机数;非阻塞;

Linux:Day17(下) openssl的更多相关文章

  1. Linux下OpenSSL的安装与使用

    Linux下OpenSSL的安装与使用 OpenSSL简介 OpenSSL是一个SSL协议的开源实现,采用C语言作为开发语言,具备了跨平台的能力,支持Unix/Linux.Windows.Mac OS ...

  2. Linux下OpenSSL加密解密压缩文件(AES加密压缩文件)

    OpenSSL是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库.应用程序.SSL协议库.Openssl实现了SSL协议所需要的大多数算法.下面介绍使用Openssl进行文件的对称 ...

  3. Thrift在Windows及Linux平台下的安装和使用示例

    本文章也同时发表在个人博客Thrift在Windows及Linux平台下的安装和使用示例上. thrift介绍 Apache Thrift 是 Facebook 实现的一种高效的.支持多种编程语言的R ...

  4. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  5. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

  6. Ruby入门--Linux/Windows下的安装、代码开发及Rails实战

    Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...

  7. 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer

    一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...

  8. Windows下openssl的下载安装和使用

    Windows下openssl的下载安装和使用 安装openssl有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.下面对两种方式均进行详细描述. 一.下载和安装ope ...

  9. 【转】Linux系统下的ssh使用

    Linux系统下的ssh使用(依据个人经验总结)   对于linux运维工作者而言,使用ssh远程远程服务器是再熟悉不过的了!对于ssh的一些严格设置也关系到服务器的安全维护,今天在此,就本人工作中使 ...

随机推荐

  1. Mysql8 安装过程及安装过程系列问题记录

    前言: 今天,想装个高版本一点的mysql试试,于是下载了一个mysql8的zip版本. 地址:https://dev.mysql.com/downloads/file/?id=484900 没想到安 ...

  2. 【RL-TCPnet网络教程】第38章 TFTP简单文件传输基础知识

    第38章      TFTP简单文件传输基础知识 本章节为大家讲解TFTP(Trivial File Transfer Protocol,简单文件传输协议)的基础知识,方便后面章节的实战操作. (本章 ...

  3. #Java学习之路——基础阶段二(第七篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  4. Json,Gson,Ajax基础知识

    //json 是一种轻量级的文本格式,解析简单,他也是一键值来存,数据与数据的分割是以,来分割 //{} 看到大括号就是一个对象,[]代表集合 ,基本上所有数据的交互都是以json格式来进行传递的 / ...

  5. AI - 深度学习之美十四章-概念摘要(8~14)

    原文链接:https://yq.aliyun.com/topic/111 本文是对原文内容中部分概念的摘取记录,可能有轻微改动,但不影响原文表达. 08 - BP算法双向传,链式求导最缠绵 反向传播( ...

  6. 从壹开始前后端分离 [ vue + .netcore 补充教程 ] 二七║ Nuxt 基础:框架初探

    缘起 哈喽大家好,又是周四了,俗话说周四来了,周末还远么哈哈,老张我也想下周请假,来个16天的大长假哟,不知道大家是怎么请假的,近来发现文章下边已经没有人评论了,赶脚比较凄凉了,大家看到的麻烦点个赞呀 ...

  7. 访问了一次百度网页,你都经历了什么?https及tcp协议揭秘

    打开https://www.baidu.com/ 网页一个简单的动作,都经历了什么?你想探究内部的原理吗?那我们一起去探索吧 1.准备工作 安装好wireshark.Wireshark(前称Ether ...

  8. asp.net后台管理系统-登陆模块-路由权限控制_1

    using System.Web.Routing; //重写System.Web.Routing中Initialize方法 protected override void Initialize(Req ...

  9. EF 外键不显示、如何让外键显示!增、删、改 操作时,外键不显示,只显示导航属性!

    一.问题描述:EF 外键不显示.如何让外键显示!增.删.改 操作时,外键不显示,只显示导航属性! EF 添加.增加.插入数据时,外键不显示! 二.解决方案:在根据数据库生成模型的时候,选中“在模型中” ...

  10. 使用tensorflow搭建自己的验证码识别系统

    目录 准备验证码数据 保存为tfrecords文件 验证码训练 学习tensorflow有一段时间了,想做点东西来练一下手.为了更有意思点,下面将搭建一个简单的验证码识别系统. 准备验证码数据 下面将 ...