网络服务第三章OPENSSH远程控制与TCP Wrappers安全防护

一、ssh简介

ssh是一种安全通道协议、主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据进行加密处理其中包括用户登陆时输入的用户口令与早期的TELNET(远程登录)、RSH远程执行命令、RCP远程复制等应用相比ssh协议提供了更好的安全性。

ssh默认监听端口 22

二、OpenSSH配置

BS和CS架构

BS 浏览器/服务器端

CS 客户端/服务器端

image.png

1、监听选项

[root@splitdns ~]# vim /etc/ssh/sshd_config

#Port 22 监听端口22

#ListenAddress 0.0.0.0 监听地址默认监听0.0.0.0

UseDNS no 禁用DNS反向解析加快连接速度

2、用户登录空控制

ssh服务默认允许root用户登录,这样的作法是非常不安全的,在生产环境中一般做法是禁用root用户登录以普通用户登录,等用户进入安全的shell环境在切换root用户进行操作。

[root@splitdns ~]# vim /etc/ssh/sshd_config

#LoginGraceTime 2m #登录验证时间

#PermitRootLogin yes #禁止root用户登录

#MaxAuthTries 6 #最大重试次数

#PermitEmptyPasswords no #禁止空密码用户登录

OPENSSH服务访问控制

AllowUsers 仅允许用户登录

DenyUsers 仅禁止用户登录

注意

1)AllowUsers和DenyUsers不要同时使用

2)当服务器在网络上,控制包含IP地址应是公司公网地址

AllowUsers linyu@192.168.9.66 #仅允许 linyu 等用户登录

服务器一般有四块网卡 em1-4

3、登录验证方式

1)、ssh验证方式

密码验证

image.png

密钥对验证

image.png

image.png

AuthorizedKeysFile .ssh/authorized_keys #公钥存放位置、对方家目录下的位置

三、 ssh的使用客户端程序

image.png

1、ssh命令的使用

ssh root@192.168.9.66 touch /tmp/a.txt

不仅可以远程登录还可以远程执行命令

2、scp远程复制

scp 192.168.9.10:/etc/hosts /etc/hosts

scp -r 目录加r

3、sftp命令

格式 sftp ip地址

get 下载

put 上传

lcd 切换目录

4、windows

finalshell

putty

四、构建密钥对验证的SSH体系

1、验证过程包含四步

image.png

image.png

2、在客户端创建密钥对(创建的密钥对存放在对方家目录下的/home/.ssh)

在Linux客户端通过ssh-keygen命令工具为当前登录用户创建密钥对文件,可用的加密算法:

ECDSA、RSA、DSA,可通过 -t 选项指定,默认算法RSA

3、将公钥上传至服务器

4、服务器端导入公钥文本

image.png

image.png

非交互生成密钥对

[root@localhost ~]# ssh-keygen -t ecdsa -P "" -f .ssh/id_ecdsa

image.png

windows生成密钥对

点击Xshell工具选项卡–>新建用户密钥生成向导

image.png

image.png

image.png

image.png

image.png

image.png

五、TCP Wrappers

在Linux系统中,许多网络服务针对客户端提供了访问控制

1、tcp wrappers 保护原理

image.png

2、保护机制的实现方式

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

方式2、由其他服务程序调用libwrap.so 连接库

3、保护条件

1)、必须是TCP协议的服务

2)、函数库必须含libwrap.so.0 (共享链接库)、大多数服务通过这种服务

ldd命令详解

ldd本身不是一个程序,而仅是一个shell脚本:ldd可以列出一个程序所需要得动态链接库(so)

`[root@www ~]# ldd /usr/sbin/sshd | grep libwrap

libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f3a9e0f7000)

[root@www ~]# ldd /usr/sbin/vsftpd | grep libwrap

libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f37a748a000)`

TCPWRAP原理

/etc/hosts.allow #允许

/etc/hosts.deny #拒绝

访问控制策略

image.png

由此可见/etc/host.allow文件的优先级更高,若同一IP地址存在hosts.allow中,也存在hosts.deny中

则该IP地址将被接受。

5、配置格式

1)格式

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

image.png

注意网段不能写192.168.9.0/24

2)、配置实例

实验要求仅允许IP地址为192.168.200.100~192.168.200.199的主机访问sshd服务,禁止其他地址的访问。

[root@localhost ~]# vim /etc/hosts.allow

sshd,vfstpd:192.168.200.1??

[root@localhost ~]# vim /etc/hosts.deny

sshd:ALL

公网服务器配置案例:

image.png

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享