ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SSH和TCP wrappers

2021-12-09 09:06:21  阅读:143  来源: 互联网

标签:wrappers 登录 验证 192.168 TCP etc yum SSH


目录

一. SSH 远程管理

  ①配置Open SSH 服务端

②sshd 支持的登陆验证方式

③使用 SSH 客户端程序

二.密钥对验证的 SSH 体系

 ①配置密钥对验证的步骤

三.TCP Wrapper 访问控制

①TCP Wrapper 概述

②TCP Wrapper 保护机制

③TCP Wrapper 配置格式

⑤TCP Wrapper 配置步骤

四. YUM

①YUM 概述

② 准备安装源

五.YUM工具概述

六.YUM常用命令大全


. SSH 远程管理

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

 ①配置Open SSH 服务端

  • SSH服务端的配置文件:/etc/ssh/sshd_config
  • 服务监听选项:端口(默认Tcp的22号端口)、地址、协议版本和DNS反向解析等
vim /etc/ssh/sshd_config               #服务端配置文件
#Port 22                               #监听端口为 22
#AddressFamily any                     #监听地址为任意网卡,也可以指定 Openssh 服务器的具体 ip
#LoginGraceTime 2m                     #登录验证时间为2分钟
#PermitRootLogin yes                   #禁止 root 用户登录
#MaxAuthTries 6                        #最大重试次数为 6
#PermitEmptyPasswords no               #禁止空密码用户登录
#UseDNS no                             #禁用 DNS 反向解析,以提高服务器的响应速度
----------------------------------------------------------------------------------
配置允许和禁止用户登录:加@表示限制ip,注意允许和禁止不要同时使用!!
AllowUsers zhangsan                    #允许 zhangsan 登录
AllowUsers zhangsan@192.168.80.80      #只允许 zhangsan 通过 192.168.80.80 登录
DenyUsers lisi                         #禁止 lisi 登录

 例:只允许zhangsang、lisi、wangwu用户登录,且其中lisi用户仅能够从IP地址为192.168.80.80的主机远程登录。

1 vim /etc/ssh/sshd_config                                 #修改服务端配置文件
2 -------------------------------------------------------    
3 AllowUsers zhangsan lisi@192.168.80.80  wangwu           #这里为添加的配置
4 -------------------------------------------------------
5 systemctl reload sshd                                    #修改完记得重新加载

②sshd 支持的登陆验证方式

 sshd服务支持登录验证方式有:密码验证和密钥对验证,可以设置只使用其中一种,也可以都启用。

  • 密码验证:

    以服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户机角度来看,正在连接的服务器有可能被假冒,从服务器角度来看,当遭遇密码暴力破解攻击时防御能力比较弱。

  • 密钥对验证:

    要求提供相匹配的密钥信息才能通过验证,通常先在客户机中创建一对密钥文件(公钥和私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,增强了远程管理的安全性。

  • 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密;
  • 不能根据一个密码来推算出另一个密钥;
  • 公钥对外公开,私钥只有私钥的持有人才知道。
  • 公钥和私钥要配对使用,如果用公钥对数据进行加密,只有用相对应的私钥才能解密;如果用私钥对数据进行加密,那么只有对应的公钥才能解密。
  • 当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。对于安全性要求较高的服务器,建议将密码验证方式禁用,只允许启用密码对验证方式;若没有特殊要求,则两种方式都可以。

③使用 SSH 客户端程序

  • SSH客户端的配置文件:/etc/ssh/ssh_config
  • 通过 ssh 命令可以远程登录 sshd 服务,为用户提供一个安全的 Shell 环境,以便于对服务器进行管理和维护。
  • 命令行格式:
1 ssh [选项] zhangsan@192.168.80.77    #指定登录用户、目标主机地址作为参数
2 ssh -p 20 zhangsan@192.168.80.77    #-p为指定端口
  • 当用户第一次登录 SSH 服务器时,必须接受服务器发来的 RSA 密钥(需要根据提示输入:yes)后才能继续验证,接受的密钥信息将保存到 ~/.ssh/known_hosts 文件中,密码验证成功以后,就登录到目标服务器的命令行环境中了。如下:
1 The authenticity of host '192.168.80.77 (192.168.80.77)' can't be established.
2 ECDSA key fingerprint is SHA256:sRKz60ZIwaIjOXejXaNdZp69M/aygMdkunCMR7a3u+4.
3 ECDSA key fingerprint is MD5:be:42:dd:a7:be:d9:96:f3:9d:8a:0c:20:b6:65:c9:2e.
4 Are you sure you want to continue connecting (yes/no)? yes         #接受密钥
5 root@192.168.80.77's password:                                     #输入密码
  • 如果 sshd 服务器使用了非默认的端口号(如:1234),则在登录时必须通过 -p 选项指定端口号:
1 ssh -p 1234 root@192.168.80.77             #指定端口
2 root@192.168.80.77's password:             #输入密码

二.密钥对验证的 SSH 体系

 ①配置密钥对验证的步骤

(1)在客户端创建密钥对:
(2) 将公钥文件上传至服务器:
(3) 在服务器中导入公钥文本:
(4) 在服务端验证并设置ssh 代理功能,实现免交互登录:

三.TCP Wrapper 访问控制

①TCP Wrapper 概述

  • TCP Wrappers (TCP封套)
  • 将 TCP 服务程序“包裹”起来,代为监听 TCP 服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。
  • 大多数 Linux 发行版,TCP Wrappers 是默认提供的功能。rpm -q tcp_ wrappers 查看是否安装程序。
  • TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。
  • 对应的两个策略文件为 /etc/hosts.allow 和 /etc/hosts.deny,分别用来设置允许和拒绝的策略。

②TCP Wrapper 保护机制

  (1)TCP Wrappers保护机制的两种实现方式:

  • 直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd程序。
  • 由其他网络服务程序调用libwrap.so. 链接库,不需要运行tcpd程序。此方式的应用更加广泛,也更有效率。
  • 使用ldd命令可以查看程序的libwrap.so. 链接库;
  • 命令:ldd $ (which ssh)


③TCP Wrapper 配置格式

    (1)命令行格式:<服务程序列表> : <客户端地址列表>

    (2)服务程序列表:

  • ALL:代表所有的服务。
  • 单个服务程序:如“vsftpd"。
  • 多个服务程序组成的列表:如“vsftpd, sshd”。

    (3)客户端地址列表:

  • ALL:代表任何客户端地址。
  • LOCAL:代表本机地址。
  • 多个地址以逗号分隔。
  • 允许使用通配符 “*” 和 "?” ,前者代表任意长度字符,后者仅代表一个字符。
  • 网段地址,如"192. 168.80.”或者192. 168.80.0/255.255.255.0。
  • 区域地址,如". benet . com"匹配benet.com 域中的所有主机。

④TCP Wrapper 访问机制

  (1)查看策略:

  • 首先检查 /etc/hosts.allow 文件,如果找到相匹配的策略,则允许访问;
  • 否则继续检查 /etc/hosts.deny 文件, 如果找到相匹配的策略,则拒绝访问;
  • 如果检查上述两个文件都找不到相匹配的策略,则允许访问。

  (2)“允许所有,拒绝个别”

  • 只需在 /etc/hosts.deny 文件中添加相应的拒绝策略。

  (3)“允许个别,拒绝所有”

  • 除了在 /etc/hosts.allow 中添加允许策略之外,还需要在 /etc/hosts.deny 文件中设置 "ALL : ALL" 的拒绝策略。

⑤TCP Wrapper 配置步骤

例:只希望从IP地址为192.168.80.80的主机访问sshd服务,其他地址被拒绝。
(1) 主机1(192.168.80.77)的/etc/ hosts.allow配置文件内增加192.168.80.80主机2的ip;
(2) 主机1(192.168.80.77)的/etc/ hosts.deny配置文件内增加拒绝所有的配置;
(3) 主机2(192.168.80.80)可以正常远程登录到主机1上;
(4) 主机2(192.168.80.78)被拒绝登录到主机1上。


四. YUM

①YUM 概述

  • 基于 RPM 包构建的软件更新机制
  • 可以自动解决依赖关系
  • 所有软件包由集中的 YUM 软件仓库提供

② 准备安装源

(1)软件仓库的提供方式:

  • FTP 服务:ftp://......
  • HTTP 服务:http://......
  • 本地目录:file://......

(2)RPM 软件包的来源

  • CentOS 发布的 RPM 包集合
  • 第三方组织发布的 RPM 包集合
  • 用户自定义的 RPM 包集合

(3)构建CentOS 7 软件仓库

  • RPM 包来自 CentOS 7 DVD 光盘
  • 通过 FTP 方式提供给客户机
1 [root@localhost~]# mkdir -p /var/ftp/centos7
2 [root@localhost~]# cp -rf /media/cdrom/* /var/ftp/centos7
3 [root@localhost~]# rpm -ivh /madia/cdrom/Packages/vsftpd-3.0.2.21.el7.x86_64.rpm
4 [root@localhost~]# systemctl start vsftpd
5 [root@localhost~]# systemctl enable vsftpd

(4)在软件仓库中加入非官方 RPM 包组

  • 包括存在以来关系的所有 RPM 包
  • 使用 createrepo 工具建立仓库数据文件
1 [root@localhost~]# mkdir /var/ftp/other
2 [root@localhost~]# cd /var/ftp/other          # 非官方的 RPM 文件要先放入此目录中
3 [root@localhost other]# createrepo -g /media/cdrom/repodata/repomd.xml ./ 

五.YUM工具概述

①关于YUM命令

  • 由软件包yum-3.4.3-150.el7.centos.noarch提供
  • 用来访问YUM仓库,查询,下载及安装,卸载软件包

yum的配置文件

  • 基本设置: /etc/yum.conf
  • 仓库设置:/etc/yum.repos.d/*.repo
  • 日志文件:/var/log/yum.log

YUM缓存目录

  • 存放下载的软件包,仓库信息等数据
yum clean all && yum makecache

六.YUM常用命令大全

yum -y install 软件名                # ——安装、升级软件包,“-y”选项表示自动确认
yum -y remove 软件名                    # ——卸载软件包,可自动解决其依赖关系
yum groupremove                          # ——卸载软件 
yum -y update 软件名                    # ——升级软件包
 
yum list                            # ——查询软件包列表
yum list installed                    # ——查询系统中已安装的软件包
yum list available                    # ——查询仓库中尚未安装的软件包
yum list updates                    #  ——查询可以升级版本的软件包
 
yum info 软件名                        #    ——查询软件包的描述信息
yum info httpd
 
yum search [all] 关键词                # ——根据某个关键词来查找相关的软件包
yum search all httpd
 
yum whatprovides 命令                # ——查询命令属于哪个软件包
yum whatprovides netstat
yum grouplist 【包组名】                    #查询软件包组
yum groupinfo <包组名>

标签:wrappers,登录,验证,192.168,TCP,etc,yum,SSH
来源: https://blog.csdn.net/Csl981107/article/details/121805411

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有