linux网络服务--远程访问及控制

前言

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

一、SSH远程管理

1.1、配置OpenSSH服务端

1.1.1、SSH协议

是一种安全通道协议

对通信数据进行加密处理,用于远程管理

1.1.2、OpenSSH

服务名称:sshd

服务端主程序:/usr/sbin/shhd

服务端配置文件:/etc/ssh/shhd_config

ssh_config:针对客户端
sshd_config:针对服务端
在这里插入图片描述

1.1.3、服务监听选项

端口号,协议版本,监听IP地址

禁用反向解析

查看配置文件
在这里插入图片描述

1.1.4、用户登录控制

禁用root用户、空密码用户

限制登录验证时间、重试次数

AllowUsers:白名单:仅允许某些用户,拒绝所有人(安全性场合高的)

DenyUsers:黑名单:仅拒绝某些用户,允许所有人(安全性场合较低的)
在这里插入图片描述

1.2、SSH各功能验证

我们打开两台虚拟机,分别用xshell连接,一台取名chen01作为服务端,ip地址为192.168.100.100、chen02作为客户端,ip地址为192.168.100.188

客户端操作

[root@chen02 ~]# ssh root@192.168.100.100
The authenticity of host '192.168.100.100 (192.168.100.100)' can't be established.
ECDSA key fingerprint is SHA256:RV00f7MSkqe7SK0tl8MNodKY5wZbjUL9379oSg2hm34.
ECDSA key fingerprint is MD5:d2:6d:6a:6a:53:bd:e7:f0:43:fd:8b:f9:8c:f3:a3:4b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.100' (ECDSA) to the list of known hosts.
root@192.168.100.100's password: 
Last login: Sat Jul 18 18:04:15 2020
[root@chen01 ~]# 

在opt目录下创建文件

[root@chen02 ~]# touch /opt/test01

在chen01中查看
在这里插入图片描述
在这里插入图片描述
在chen01中查看配置文件
在这里插入图片描述
在这里插入图片描述
不允许root用户登录
在这里插入图片描述
重启sshd服务,就发现已经无法登陆了

权限拒绝
在这里插入图片描述
这种方法其实存在一定的弊端,不是太安全,例如:

创建一个叫wangwu的新用户
在这里插入图片描述

借王五作为跳板,切换root身份
在这里插入图片描述
这种情况可以利用pam验证模块,限制切换root用户
在这里插入图片描述
在这里插入图片描述

验证
在这里插入图片描述
开启“最大验证次数6次”的服务
在这里插入图片描述
验证发现输错三次密码后就被踢出,并不是六次
在这里插入图片描述
在这里插入图片描述

由此可以得出结论:默认尝试连接次数为3次,最大尝试次数为6次

● AllowUsers 白名单:仅允许某些用户,拒绝所有人 安全性场合高

● DenyUsers 黑名单:仅拒绝某些用户,允许所有人 安全性场合低

这两个功能在配置文件中没有,需要手动添加,例:

在这里插入图片描述

将zhangsan、wangwu添加到白名单后,尝试在客户端用lisi账号登录
在这里插入图片描述
打开第三个终端,名称为chen03,IP地址192.168.100.8,在这个终端尝试使用wangwu用户登录

在这里插入图片描述
开启三条指令
在这里插入图片描述
在客户端chen02新建caiwu用户,切换到caiwu用户

在这里插入图片描述
生成密钥对

在这里插入图片描述
在这里插入图片描述
把公钥复制给wangwu用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这时候在客户端登录服务端的wangwu用户需要输入的不再是wangwu的密码而是密钥的密码
在这里插入图片描述
但是,实际中每次登录输入密码太麻烦,可以添加免交互密码,使再次登录服务器的时候可以不用输入密码

在这里插入图片描述

1.3、scp命令-远程安全复制

scp复制文件命令分为两种:
scp user@host:file1 file2      #从服务端复制文件到客户端
scp file1 user@host:file2      #从客户端复制文件到服务端
参数 -r        #递归复制

在这里插入图片描述
在传来的文件中加一句话
在这里插入图片描述
客户端再传递给服务端

在这里插入图片描述
服务器端看到了修改后的传来的文件
在这里插入图片描述

1.4、sftp命令-安全ftp上下载

在这里插入图片描述
在这里插入图片描述
远程下载成功
在这里插入图片描述
修改文件,然后客户端再上传给服务端
在这里插入图片描述
服务端接收到了文件
在这里插入图片描述

二、TCP Wrappers

2.1、TCP Wrappers概述

2.1.1、保护原理

在这里插入图片描述

2.1.2、保护机制的实现方式

方式1:通过tcpd程序对其他服务程序进行包装

方式2:由其他服务程序调用libwrap.so. *链接库

2.1.3、访问控制策略的配置文件

●/etc/hosts. allow

●/etc/hosts.deny

2.2、TCP Wrappers策略应用

2.2.1、设置访问控制策略

策略格式
服务列表:客户机地址列表
服务程序列表
多个服务以逗号分隔,ALL表示所有服务
客户端地址列表
多个地址以逗号分隔,ALL表示所有服务
允许使用通配符*和?
网段地址,如192.168.1 或者 192.168.1.0/255.255.255.0
区域地址,如.benet.com

2.2.2、策略的应用顺序

先检查hosts.allow,找到匹配则允许访问

再检查hosts.deny,找到则拒绝访问

若两个文件中均无匹配策略,则默认允许访问

2.2.3、访问策略的配置文件(先白后黑)

(1)白名单允许

配置文件:/etc/hosts.allow

[root@tes02 ~]# vim /etc/hosts.allow 
sshd:192.168.60.*,20.0.0.20 ####允许192.168.60网段所有以及20.0.0.20主机远程登录

(2)黑名单拒绝

配置文件:/etc/hosts.deny

[root@tes02 ~]# vim /etc/hosts.deny 
sshd:ALL(禁止所有进行远程登录)

猜你喜欢

转载自blog.csdn.net/weixin_47151650/article/details/107232933
今日推荐