ssh远程登录协议和tcp wappers

 

 

 

SSH服务

SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

优点:

数据传输是加密的,可以防止信息泄露

数据传输是压缩的,可以提高传输速度

常见的ssh协议

ssh软件包

ssh协议

字符界面远程连接,
/etc/ssh/
服务端 配置文件 sshd_config
客户端 配置文件 ssh_config ssh:可以远程连接 scp sftp rsync:远程传输文件

客户端:
Linux Client: ssh, scp, sftp,slogin

Windows Client:xshell, MobaXterm,putty, securecrt, sshsecureshellclient

OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux 操作系统。

Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。

执行"systemctl start sshd"命令即可启动sshd 服务

sshd 服务默认使用的是TCP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)ftp 20 21

sshd服务的默认配置文件是/etc/ssh/sshd_config
ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件

ssh服务端主要包括两个服务功能 ssh远程链接和sftp服务(文件传输功能)

作用:SSHD 服务使用 SSH 协议可以用来进行远程控制,或在计算机之间传送文件。 相比较之前用 Telnet 方式来传输文件要安全很多,因为 Telnet 使用明文传输,SSH 是加密传输。

 

SSH原理

1 客户端发起链接请求

2 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

3 客户端生成密钥对

4 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

5 客户端发送加密值到服务端,服务端用私钥解密,得到Res

6 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

7 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

 

SSH加密通讯原理

对称加密

概念:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用

常用算法:在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。

特点

1 加密方和解密方使用同一个密钥;

2 加密解密的速度比较快,适合数据比较长时的使用;

3 密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦;

优缺点:对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高;对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担

非对称加密:

概念:非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

常用算法

RSA(RSA algorithm):目前使用最广泛的算法DSA(Digital Signature Algorithm):数字签名算法,和 RSA 不同的是 DSA仅能用于数字签名,不能进行数据加密解密,其安全性和RSA相当,但其性能要比RSA快

ECC(Elliptic curve cryptography,椭圆曲线加密算法)

ECDSA:Elliptic Curve Digital Signature Algorithm,椭圆曲线签名算法,是ECC和 DSA的结合,相比于RSA算法,ECC 可以使用更小的秘钥,更高的效率,提供更高的安全保障

原理;首先ssh通过加密算法在客户端产生密钥对(公钥和私钥),公钥发送给服务器端,自己保留私钥,如果要想连接到带有公钥的SSH服务器,客户端SSH软件就会向SSH服务器发出请求,请求用联机的用户密钥进行安全验证。SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下

优缺点:相比于对称加密技术,非对称加密技术安全性更好,但性能更慢此本次实验中,我们用非对称加密算法ECDSA进行加密,为了方便用root用户,也可给其他普通用户配置

 

方法一:

ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port
命令                                                                                  端口号

vim /etc/hosts
192.168.111.6  node2

方法二:

ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port
-l :-l 选项,指定登录名称。
-p: -p 选项,指定登录端口(当服务端的端口非默认时,需要使用-p 指定端口进行登录)
-t

服务端配置

 

 

 

 

 

 

创建非对称秘钥

 

 

 

 

 

 

 ssh服务的最佳实践

建议使用非默认端口 22

禁止使用protocol version 1

限制可登录用户 白名单

设定空闲会话超时时长

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

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

使用基于密钥的认证

禁止使用空密码

禁止root用户直接登录

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

经常分析日志分离

 

 免密登录

原理:用户/密码;基于秘钥

用户/密码:

1.生成公钥和私钥

2.将公钥导给对面

 

 

 

1 客户端发起ssh请求,服务器会把自己的公钥发送给用户

2 用户会根据服务器发来的公钥对密码进行加密

3 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功

 

 

1 首先在客户端生成一对密钥(ssh-keygen)

2 并将客户端的公钥ssh-copy-id 拷贝到服务端

3 当客户端再次发送一个连接请求,包括ip、用户名

4 服务端得到客户端的请求后,会到authorized_keys()中查找,如果有响应的IP和用户,就会随机生成一个字符串

5 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端

6 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端

7 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录

 

 

 

TCP Wrappers

在 Linux 系统中,许多网络服务针对客户端提供了访问控制机制,如 Samba、BIND、 HTTPD、OpenSSH 等。本节将介绍另一种防护机制——TCP Wrappers(TCP 封套),以作 为应用服务与网络之间的一道特殊防线,提供额外的安全保障。TCP Wrappers 将 TCP 服务程序“包裹”起来,代为监听 TCP 服务程序的端口,增加了 一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正 的服务程序。TCP Wrappers 还可以记录所有企图访问被保护服务的行为, 为管理员提供丰富的安全分析资料。

 

 策略的配置个格式

两个策略文件的作用相反,但配置记录的格式相同,如下所示。

服务程序列表:客户端地址列表

服务程序列表、客户端地址列表之间以冒号分隔,在每个列表内的多个项之间以逗号分

服务程序列表

ALL:代表所有的服务

单个服务程序:如“vsftpd“

多个服务程序组成的列表:如“vsftpd,sshd”

客户端地址列表

ALL:代表任何客户端地址。

LOCAL:代表本机地址。

单个 IP 地址:如“192.168.4.4”

网络段地址:如“192.168.4.0/255.255.255.0”

“.”开始的域名:如“.bdqn.com”匹配 bdqn.com 域中的所有主机。

“.”结束的网络地址:如“192.168.4.”匹配整个 192.168.4.0/24 网段

嵌入通配符“”“?”:前者代表任意长度字符,后者仅代表一个字符,如“10.0.8.2”

匹配以 10.0.8.2 开头的所有 IP 地址。不可与以“.”开始或结束的模式混用

多个客户端地址组成的列表:如“192.168.1.,172.16.16.,.bdqn.com”

 

 

posted @ 2022-10-31 09:14  withfear  阅读(202)  评论(0编辑  收藏  举报
----------------------------------- ©著作权归作者所有:来自51CTO博客作者一品堂_技术学习笔记的原创作品,请联系作者获取转载授权,否则将追究法律责任 博客园随笔中添加目录导航悬浮框博客园随笔中添加目录导航悬浮框 https://blog.51cto.com/ios9/3125785