构建安全的SSH服务体系

1、配置OpenSSH服务端

        在CentOS7.3系统中,OpenSSH服务由openssh、openssh-server等软件包提供(默认已安装),并已将sshd添加为标准的系统服务。执行"systemctl start sshd"命令即可启动sshd服务。ssh服务的配置文件默认位于/etc/ssh/sshd_config目录下

1)服务监听选项

        ssh服务使用的默认端口号为22,必要时建议修改此端口号,并指定监听服务的具体IP地址,以提高在网络中的隐蔽性。SSH协议的版本选用V2比V1的安全性要更好。

2)用户登录控制

        sshd 服务默认允许root用户登录,但在Internet中使用时是非常不安全的。普遍的做法如下:先以普通用户远程登入,进入安全Shell环境后,根据实际需要使用su命令切换为root用户。
        关于sshd服务的用户登录控制,通常应禁止root用户或密码为空的用户登录。另外,可以限制登录验证的时间(默认为2分钟)及最大重试次数,若超过限制后仍未能登录则断开连接。

         当只允许或禁止某些用户登录时,可以使用AllowUsers或DenyUsers配置。

例如:只允许jacky和root用户登录

3)登录验证方式

        sshd服务支持两种验证方式——密码验证、密钥对验证,可以设置只使用其中一种方式,也可以两种方式都启用。

        当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。

2、实验案例 

1、实验环境

        某公司的电子商务站点由专门的网站管理员进行配置和维护,并需要随时从Internet进行远程管理。考虑到易用性和灵活性,在Web服务器上启用OpenSSH 服务,同时基于安全性考虑,需要对
SSH登录进行严格的控制。

实验以三台虚拟机用于操作,两台linux虚拟机、一台win10。

 2、需求描述

1、允许网站管理员 wzadm通过笔记本电脑远程登录Web服务器,笔记本电脑的IP地址并不
是固定的,采用密钥对验证方式以提高安全性。
2、允许用户jacky远程登录Web服务器,但仅限于从网管工作站192.168.3.110访问。
3、禁止其他用户通过SSH方式远程登录Web服务器。

3、实验步骤

1)确认sshd服务是否开启

[root@localhost ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since 三 2023-12-27 10:02:08 CST; 2s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 9375 (sshd)

 2)修改配置文件/etc/ssh/sshd_config,只允许用户jacky和wzadm分别使用192.168.154.132和192.168.154.134IP地址访问。

3)连接网关服务器并创建密钥对然后发送给Web服务器

##创建密钥对
[root@yang ~]# ssh-keygen -t ecdsa

##将本地的公钥远程复制给对方
[root@yang ~]# scp .ssh/id_ecdsa.pub root@192.168.154.133:/tmp
root@192.168.154.133's password: 
id_ecdsa.pub 

4)配置网关服务器

##创建.ssh目录
[root@localhost ~]# mkdir /home/wzadm/.ssh/

##将公钥复制到.ssh目录下并命名为authorized_keys
[root@localhost ~]# cat /tmp/id_ecdsa.pub >> /home/wzadm/.ssh/authorized_keys

开启密钥对验证并重启服务 

[root@localhost ~]# systemctl restart  sshd

3、测试实验结果

1)使用用户jacky并以win10虚拟机连接Web服务器

2)使用物理机连接网关服务器然后使用用户wzadm并以密钥验证方式连接Web服务器

[root@yang ~]# ssh wzadm@192.168.154.133
Last login: Wed Dec 27 10:26:18 2023 from 192.168.154.134
[wzadm@localhost ~]$ 

3)root用户无法登录Web服务器,且wzadm在任何主机中均无法登录除了网管工作站

相关推荐

  1. 构建数据安全体系:详解数据治理建设思路

    2023-12-28 16:00:04       12 阅读
  2. 数据治理:构建高效、安全数据管理体系

    2023-12-28 16:00:04       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-28 16:00:04       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-28 16:00:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-28 16:00:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-28 16:00:04       20 阅读

热门阅读

  1. Vue 修饰符有哪些

    2023-12-28 16:00:04       42 阅读
  2. SpringBoot ElasticSearch 聚合统计

    2023-12-28 16:00:04       33 阅读
  3. OpenCV - 小技巧

    2023-12-28 16:00:04       38 阅读
  4. Spring Security

    2023-12-28 16:00:04       36 阅读
  5. 数组和字符串

    2023-12-28 16:00:04       32 阅读
  6. 学习中的零碎的记录

    2023-12-28 16:00:04       41 阅读
  7. EsayExcel读取合并单元格

    2023-12-28 16:00:04       37 阅读