dropbear过程讲解及数据传输过程及如何建立CA

ssh服务是最佳实践:

1、不要使用默认端口

2、禁止使用rotocol version 1

3、限制可登录用户   man sshd_config    AllowUsers user1 user2

4、设定空闲会话超时时长

5、利用防火墙设置ssh访问策略

6、仅监听特定的IP地址

7、基于口令认证时,使用强密码策略

#tr -dc ‘A-Za-z0-9‘ </dev/urandom | head -c 30 | xargs  生成30位的随机数、

8、使用基于密钥的认证

9、禁止使用空密码

10、禁止root用户直接登录

11、限制ssh的访问频度和并发在线数。

12、做好日志,/var/log/secure放在另一台主机上,经常分析

dropbear是一款基于SSH协议的sshd服务器,与OpenSSH相比,他简洁,更小巧,运行起来占用的内存出更少,每一个普通用户登录,OpenSSH会开两个sshd过程,而dropbear只开一个进程,所以其对硬件要求更低,也更利于系统的运行。Dropbear特别用于“嵌入”式的Linux系统

dropbear主要有以下程序:

服务程序:dropbear (类似于Openssh的 sshd)

客户程序:sdclient (类似地Openssh的 ssh)

密钥生成程序:dropbearkey

安装及简单使用过程:

tar xf dropbear-2016.74.tar.bz2

cd dropbear-2016.74

less INSTALL   //看一下安装说明

./configure

make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install   //如果中间warning看一下说scp没有,就yum whatprovides "scp" ,之后安装下openssh-client,在次重新运行下。就装好了。

接下来就是配置dropbear了,dropbear是没有配置文件的。

dropbear -h

mkdir /etc/dropbear    //首先你得创建一个dropbear密钥存放位置

dropbear -t rsa -f /etc/dropbear/dropbear_rsa_host_key -s 2048

dropbear -t dss -f /etc/dropbear/dropbear_dss_host_key

dropbear -p 2222 -E -F     //不指-p地址就是默认所有端口要写,-E是前台运行,只是测试用的,-F是将错误存放到错误日志中,而不是/var/log/secure中

数据传输过程:

主机A:发送数据方

1、要发送的数据,为了数据没有被人篡改、使用单向加密SHA1或MD5计算他的特征码

单向加密:

又称为不可逆加密算法,在加密过程中不使用密钥,明文由系统加密处理成密方,密方无法解密。一般适合于验证,在验证过程中,重新输入明文,并经过相同的加密算法处理,得到相同的密方并被系统重新认证,广泛使用于口令加密。

2、单向加密计算得到的特征码、再用自己的私钥加密。这个是保证数据的完整性和身份认证的。

公钥私钥的原则:

1、一个公钥对应一个私钥

2、密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。

3、如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。

4、如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。

3、用对称加密对里面的数据进行加密,对称加密的加密速度比较快的、尤其是加密大数据时

对称加密:

加密解密都使用相同的密钥

优点速度快,效率高

缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密人的手里是一个问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。

4、使用对方的公钥加密这段数据补充在段数据的头部,对方用自己的私钥可以解密这段数据。

主机B:接收数据方

1、先用自己的私钥解密解密主机A上对称加密的密钥,以便能够使用对称解密数据。

2、再用解密得到的对称密码解密加密的数据

3、再加发送的主机A的公钥解密这段数据特征码,看看数据是否完整

4、再用单向加密解密真正需要的数据,并计算他的特征码,再比较第三眇中解密出来的特征码,再比较两个特征码是不是完全一致。

主机C:黑客,用来盗窃数据

a:主机A要加密数据时需要主机B的公钥。如果说主机C冒充主机B说我就是主机B。这是我的公钥,给你吧

b:于是主机C就把自己的公钥发给了主机A

c:主机A拿到假的公钥后进行了数据的加密。而后发主机B

d:在发送给主机B的时候被主机C给截取了数据。主机C再用自己私钥进行数据篡改

e:而后主机C又冒充主机A跟主机B说我就是主机A,把你的公钥给我

f:主机B信以为真,以为这就是A了,就把自己的公钥发给了C

g:主机C把篡改过的数据再用B的公钥加密后再发送给B,然后B就收到了被篡改过的数据了。

为了不让这种情况的发生。我们找一个大家都信任的第三方的认证机构,公证机构,他负责给我们主机发证、我们要通信的主机都去CA那里注册证书。注册时要提交自己的信息给CA审核,审核通过再给你发证,为了防止CA也被我伪造。他自己也要有一个证书,那CA公证机构自签一个公证证书,把自己的相关信息加到证书里去,再加自己的私钥加密,别人只要用CA的公钥解密就可以知道这个CA是不是人伪造的了。

证书使用有个有效期:(crl列表)

如果说去申请的单位证书过期了或者是证书掉了又或者是主机被攻破了。证书私钥被人拷贝拿走了。那证书就可以去CA申请吊销证书,CA就会把你吊销的证书加入吊销列表中,只有人认证查看到证书吊销列表,就说明这个证书已经失效了。

建立私有CA:

openssl的配置文件: /etc/pki/tls/openssl.cnf

(1)创建所需要的文件/CA 目录下

touch index.txt

echo 01 > serial

(2)CA自签证书:

1、为自己创建密钥:

(umask 077; openssl genrsa -out private/cakey.pem 2048)

2、openssl req -new -x509 -key /etc/pki/CA/priviate/cakey.pem -days 3600 -out /etc/pki/CA/cakey.cert

-new : 生成新证书签署请求

-x509 : 专用于CA生成自签证书

-key : 生成请求时用到的私钥文件

-days :证书的有效期限

-out /PATH/TO/SOMECERTFILE: 证书的保存路径

-text :将CSR文件里的内容以可读方式打印出来

-noout : 不打印参数编码的版本信息

(3)发证

用到证书的主机生成证书请求:

(umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)

openssl req -new -in /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365

把请求文件传输给CA

CA签署证书,并将证书发还给请求者:

openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365

查看证书中的信息:

openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -text|-subject|-serial

(4)吊销证书:

客户端获取要吊销的证书的serial

openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject

CA

先根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致“

吊销证书:

openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem

生成吊销证书的编号(第一次吊销一个证书)

echo 01 > /etc/pki/CA/crlnumber

更新证书吊销列表

openssl ca -gencrl -out thisca.crl -config /etc/pki/tls/openssl.cnf

查看crl文件

openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text

时间: 2024-08-05 01:22:30

dropbear过程讲解及数据传输过程及如何建立CA的相关文章

linux CA 加解密安全过程讲解

一.基础知识 对称加密: 加密和解密方使用同一个密钥,用来解决数据机密性,但是密钥通过何种方式传递给对方不容易实现: 公钥加密: 密钥是成对出现的,分别为Secret key(密钥)和Public key(公钥)公钥加密必须使用与其相对应的私钥进行解密并且公钥是从私钥中提取出来的,有私钥可以知道公钥是什么,但是知道公钥是不能知道私钥的,公钥是公开的,而私钥是不公开的,但是公钥加密比对称加密慢3个数量级(1000倍),加密速度相当的慢,所以单独用此加密方式也比较困难:公钥加密功能: 单向加密: 不

HTTPS数据传输过程简介

HTTPS数据传输过程 ①客户端发起HTTPS连接握手 ②服务端收到HTTPS握手连接请求,与客户建立握手过程,和TCP的三次握手类似,并发送一系列的加密算法组合给客户端,与客户端协商加密算法组合 ③客户端收到这一系列的组合,从中选择一个自己能够支持的并且加密级别最高的加密算法组合,通告给服务端 ④服务端收到并确认客户端选择的加密组合,并将公钥证书发送给客户端,(这个公钥证书使用了非对称加密算法,使用这个公钥加密的信息只能由私钥解开,而这个私钥只有公钥的颁布者也就是服务端拥有,也就是说客户端用公

利用TCP/IP 参考模型 分析数据传输过程

本文章转载自:http://blog.sina.com.cn/s/blog_5ec353710101i892.html 稍微做了整理 TCP/IP 参考模型是一个非常基础,同是也非常重要的基础框架,本文档通过一个简单的示例,结合参考模型来分析一下数据包流转的基本过程. 网络环境非常简单,如下图所示,我们现在来分析一下 PC 去访问 Web Server 的WEB服务,整个数据通信过程是如何发生的,为了简化描述(我们这里暂时忽略DNS.ARP.帧校验等等机制的工作细节)只考虑较为宏观的层面. 利用

网络中数据传输过程的分析

网络中数据传输过程的分析 我们每天都在使用互联网,我们电脑上的数据是怎么样通过互联网传输到到另外的一台电脑上的呢?把自己的理解写一下,可能有很多细节还没有能的很清楚!希望在以后可以使之更加的完善!有不对的地方还请指正.     我们知道现在的互联网中使用的TCP/IP协议是基于,OSI(开放系统互联)的七层参考模型的,(虽然不是完全符合)从上到下分别为 应用层 表示层 会话层 传输层 网络层 数据链路层和物理层.其中数据链路层又可是分为两个子层分别为逻辑链路控制层(Logic Link Cont

MPLS VPN+TE隧道P--P之间建立TE隧道数据传输过程---详解

Technorati 标签: MPLS TE,MPLS VPN,LDP,RSVP,标签 MPLS VPN+TE隧道P--P之间建立TE隧道数据传输过程 P--P 双向TE tunnel R2---R6之间,双向的tunnel已经配置了. R1和R7作为----PE. 其他所有设备都是P设备. 需要把R1和R7的MPLS VPN PE的基本配置完成. 1)MPLS VPN 在两个PE上面分别起loopback1,然后放入到两边PE的vrf中去. R1和R7的环回口1可以相互通讯. 对于R6来讲,需

fastdfs分布式文件系统文件上传、下载、删除交互过程讲解

在讲解fastdfs的上传.下载和删除流程之前,我们先介绍fastdfs中的工程流程:首先客户端client 调用fastdfs的api,获取可用的tracker server , 再调用tracker server 获取可用的组,tracker server 通过负载均衡返回一个最优的storage server,这样客户端与client就建立了连接,client就可 以调用storage server对文件进行上传.删除和追加的操作. 下面我们将结合时序图的方式给大家详细讲解fastdfs的

Sftp和ftp 区别、工作原理等(服务器被动就是被动模式,PORT模式建立数据传输通道是由服务器端发起的,在PASV模式中,数据传输的通道的建立是由FTP客户端发起的)good

Sftp和ftp over ssh2的区别 最近使用SecureFx,涉及了两个不同的安全文件传输协议: -sftp -ftp over SSH2 这两种协议是不同的.sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动.ftp over SSH2则象一个二传手. 1.SFTP的工作模式: 图1显示了SFTP的工作模式,它是作为SSH2的一个子服务工作的. 图 1 SFTP工作模式 2.FTP over SSH2 此协议还是基于ftp协议的.在此协议中SS

性能测试概念点分析与过程讲解(二)

6).调试验证 脚本录制完成后,一般是跑不起来的,必须对脚本进行调整和增强.需要做的调整和增强一般有: 1.每个请求的作用需要了解,对于一些如图片,CSS等资源性的请求可以忽略甚至直接可以删除,因为一般性能测试还是对业务逻辑和处理进行压力测试. 2.对于submit等提交参数的请求进行关注,分别了解各个请求的作用,并分析请求参数是否需要做参数化,参数是否随用户,时间,请求次数的改变而改变.(参数化后面详细来讲解) 3.关注控制具体业务操作的请求,特别关注请求中url或者提交中带有的参数,一般这些

网络OSI七层模型以及数据传输过程

网络OSI七层模型 国际标准化组织(ISO)制定了osi七层模型,iso规定了各种各样的协议,并且分了7层 用户层 系统层 应用层 产生数据 表示层 对应用层来的数据进行压缩,解压缩,加密,解密 会话层 数据传输之前建立一个会话,传输过程中维持一个会话,结束终止这个会话 网络层 传输层 标明上层是那些应用程序(流控) 网络层 寻址 数据链路层 起到了承上启下的作用 物理层 定义了一些设备的接口以及传输速率 TCP/IP五层模型 由于在实际使用中表示层和会话层协议比较少,就把应用层和会话层.表示层