构建安全的SSH服务体系

news2025/1/17 16:23:20

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在任何主机中均无法登录除了网管工作站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1348550.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端:html+css+js实现CSDN首页

提前说一下,只实现了部分片段哈!如下: 前端:htmlcssjs实现CSDN首页 1. 实现效果2. 需要了解的前端知识3. 固定定位的使用4. js 监听的使用4. 参考代码和运行结果 1. 实现效果 我的实现效果为: 原界面如下,网址为&…

按照故障码类型分类的API接口

随着汽车的普及,车辆故障也成为了一个不可忽视的问题。对于车主来说,及时了解故障码的含义以及解决方案十分重要。挖数据平台为解决这一问题,提供了一套按照故障码类型分类的API接口,用于查询车辆故障、故障码适用品牌以及提供相应…

托管在亚马逊云科技的向量数据库MyScale如何借助AWS基础设施构建稳定高效的云数据库

MyScale是一款完全托管于亚马逊云科技,支持SQL的高效向量数据库。MyScale的优势在于,它在提供与专用向量数据库相匹敌甚至优于的性能的同时,还支持完整的SQL语法。以下内容,将阐述MyScale是如何借助亚马逊云科技的基础设施&#x…

打破数据孤岛:ChatGPT如何打通金融大数据的任督二脉?

文章目录 一、引言二、ChatGPT与金融大数据分析的融合三、实践应用:ChatGPT在金融大数据分析中的优势与挑战四、案例分析:ChatGPT在金融大数据分析中的应用案例五、前景展望:ChatGPT在金融大数据分析领域的未来发展《AI时代Python金融大数据分…

git上传代码到github远程仓库

1、添加SSH公钥 为了把本地的仓库传到github,还需要配置ssh key,说白了就是为了把本地的代码上传到github。 1、前置准备 本地需要安装git:Git - Downloads。安装成功后本地右键鼠标会多出一些git选项。 2、添加SSH Key 首先在本地创建s…

DVWA靶场中的xss-反射型xss、存储型xss的low、medium、high的详细通关方法

目录 1.DVWA反射型xss (1)Low: (2)Medium: (3)Heigh 2.xss存储型 (1)Low: (2)Medium (3)He…

2024年【黑龙江省安全员C证】考试及黑龙江省安全员C证找解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年黑龙江省安全员C证考试为正在备考黑龙江省安全员C证操作证的学员准备的理论考试专题,每个月更新的黑龙江省安全员C证找解析祝您顺利通过黑龙江省安全员C证考试。 1、【多选题】下列属于编制安全检查…

Docker 从入门到实践:Docker介绍

前言 在当今的软件开发和部署领域,Docker已经成为了一个不可或缺的工具。Docker以其轻量级、可移植性和标准化等特点,使得应用程序的部署和管理变得前所未有的简单。无论您是一名开发者、系统管理员,还是IT架构师,理解并掌握Dock…

论文阅读:神经 MCMC 的深度内卷生成模型 Deep Involutive Generative Models for Neural MCMC

文章总结:本文提出了使用一种生成式的模型作为MCMC算法中的建议方式,并通过GAN进行优化。 原文:Deep Involutive Generative Models for Neural MCMC 我们引入了深度内卷生成模型(一种深度生成建模的新架构)&#xff…

PHP特性知识点扫盲 - 下篇

概述 在实际的生产环境中遇到了实际需要解决的问题,需要把服务部署的方式梳理出来,在同一个服务器中部署多个PHP环境,架构图如下: 架构方案 在工作实践中遇到的很多问题的普遍性都是相通的,公司运行的可新项目都是版…

第四部分 一维连续型随机变量

目录 温馨提示: 已知fx(X)求概率 方法: 例1 例2 求fx(X)中的未知数 方法: 例3 已知 fx(X)求F 方法: 例4 求F中的未知数 方法: 例5 已知F求f 方法: 例6 已知f求f 方法: 普通求法: 公…

CRM客户关系管理系统

系统开发环境以及版本 操作系统: Windows_7集成开发工具: Eclipse EE_4.7编译环境:JDK_1.8Web服务器:Tomcat_9.0数据库:MySQL_5.7.23 系统框架 spring框架springmvc框架mybatis框架Logback日志框架安全验证框架maven框…

26、web攻防——通用漏洞SQL注入SqlmapOracleMongodbDB2

文章目录 OracleMongoDBsqlmap SQL注入课程体系; 数据库注入:access、mysql、mssql、oracle、mongodb、postgresql等数据类型注入:数字型、字符型、搜索型、加密型(base63 json)等提交方式注入:get、post、…

VS2019+OpenCV4.7.0+OpenCV_contrib4.7.0+CUDA安装+配置视频硬解码保姆级别教程

在算法开发过程中,涉及基于opencv的rtsp流硬解码,这里设计结合当前所有的资料,实现了现有opengl相关的所有跟视频硬解码相关的功能,下面对opencv4.7.0的编译流程进行说明: 一、准备工作 下载opencv :open…

gem5学习(8):创建一个简单的缓存对象--Creating a simple cache object

目录 一、SimpleCache SimObject 二、Implementing the SimpleCache 1、getSlavePort() 2、handleRequest() 3、AccessEvent() 4、accessTiming() (1)缓存命中:sendResponse() (2)缓存未命中: 三、…

Easy Rules规则引擎实战

文章目录 简介pom 规则抽象规则Rule基础规则BasicRule事实类Facts:map条件接口动作接口 四种规则定义方式注解方式RuleBuilder 链式Mvel和Spel表达式Yml配置 常用规则类DefaultRuleSpELRule(Spring的表达式注入) 组合规则UnitRuleGroup 规则引…

读书笔记1-C++ Primer Plus

C是在C语言基础上开发的一种集面向对象编程(OOP)、通用编程和传统的过程化编程于一体的编程语言。本书是根据2003年的ISO/ANSI C标准编写的,通过大量短小精悍的程序详细而全面地阐述了C的基本概念和技术。 全书分17章和10个附录,分…

【Spring】AOP原来如此

AOP概述 什么是AOP的技术? 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程AOP是一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构AOP最早由AOP联盟的组织提出的,制定了一套…

如何在VSCode搭建ESP-IDF开发ESP32

文章目录 概要安装VScode安装ESP-IDF插件使用官方例程小结 概要 ESP-IDF(Espressif IoT Development Framework) 即乐鑫物联网开发框架,它基于 C/C 语言提供了一个自给自足的 SDK,可为在 Windows、Linux 和 macOS 系统平台上开发 ESP32 应用程序提供工具…

【单片机项目实战】温度控制系统

本项目的主要作用是实现温度调控,通过设定一个预定的温度值,实现实时检测外界温度,当外界温度小于预定值时,电机正转,实现降温效果;当外界温度大于预定值时,电机反转,实现升温效果&a…