<Linux> 《SUSE Linux 中SSH安全加固》

news2024/11/25 7:21:58

《SUSE Linux 中SSH安全加固》

  • 1 说明
  • 2 安全加固
    • 2.1 更改 ssh 默认端口
    • 2.2 限制 ROOT 远程登陆
    • 2.3 修改默认登录时间
    • 2.4 升级旧版本
    • 2.5 当用户处于非活动时断线
    • 2.6 修改加密协议版本
    • 2.7 限制 IP 登录
    • 2.8 允许或禁止指定用户和组登录
    • 2.9 限制监听 IP
    • 2.10 最后修改配置文件的属性,防止非授权用户修改配置文件

1 说明

在用 ssh 登陆远程主机 (suse linux 系统) 的时候,出现下列问题:
ssh_exchange_identification: Connection closed by remote host,如图:

在这里插入图片描述

这个问题是因 SSH 的安全限制造成的。虽然很好解决,但是需要去机房现场 (因安全规定没有开 VNC)。具体解决办法:修改 /etc/hosts.allow 文件,加入 sshd:ALL:ALLOW,然后 wq 保存并重启 sshd 服务即可。

2 安全加固

注:以下配置项都是在 /etc/ssh/sshd_config 文件中修改

2.1 更改 ssh 默认端口

在 /etc/ssh/sshd_config 文件中查找下面这样的行:
Port 22
将 22 端口更改成其它端口,如:10326 。
保存后,重启 SSHD 服务:service sshd restart
建议改成 10000 以上。这样别人扫描到端口的机率会大大下降。

2.2 限制 ROOT 远程登陆

在 /etc/ssh/sshd_config 文件中查找下面这样的行:
PermitRootLogin yes
将 yes 改为 no.
保存后,重启 SSHD 服务:service sshd restart
当你启用这一选项后,你只能用普通用户登录,然后再用 su 切换到 root 帐户。

2.3 修改默认登录时间

在 /etc/ssh/sshd_config 文件中查找下面这样的行:
LoginGraceTime 2m
当你连接到 SSH 后,默认是提供 2 分钟的时间让你输入帐户和密码来进行登录,你可以修改这个时间为 1 分钟或 30 秒。

2.4 升级旧版本

升级陈旧的 Openssh 版本,因为早期的 Openssh 版本,存在安全漏洞。对于一个新配置的 Openssh 服务器来说使用最新稳定版本是最明智的选择。可以在其官网 http://www.openssh.com 下载源代码进行编译。

2.5 当用户处于非活动时断线

在 /etc/ssh/sshd_config 文件中查找下面这样的行:
ClientAliveCountMax 3
ClientAliveInterval 0
进行如下修改:

ClientAliveInterval 600
ClientAliveCountMax 0
ClientAliveCountMax 600:当用户在 10 分钟内处于非活动状态的话,就自动断线。

ClientAliveCountMax:默认为 3 ,表示当 SSH 没有任何活动时, SSH Server 会发送三次检查是否在线 (checkalive) 的消息。

ClientAliveCountMax:默认为 0,表示当过了几秒后,SSH Server 会发送消息要求用户响应 (0 的话表示永远不发送),否则就断线。

2.6 修改加密协议版本

在 /etc/ssh/sshd_config 文件中查找下面这样的行:
#Protocol 2,1
默认是 1 和 2 都可以,将其改为 Protocol 2
保存后,重启 SSHD 服务:service sshd restart

与 version 1 不同的是,在 version 2 当中将不再产生 server key 了,所以当 Client 端联机到 Server 端时,两者将藉由 Diffie-Hellman key 的演算方式来产生一个分享的 Key ,之后两者将藉由类似 Blowfish 的演算方式进行同步解密的动作!

2.7 限制 IP 登录

如果你以固定 IP 方式连接你的服务器,那么你可以设置只允许某个特定的 IP 登录服务器。例如我是通过特定堡垒机登录到服务器。设置如下:
编辑 /etc/hosts.allow
vi /etc/hosts.allow
例如只允许 124.45.67.52 登录
sshd:124.45.67.52:ALLOW
保存后,重启 SSHD 服务:service sshd restart

2.8 允许或禁止指定用户和组登录

仅允许指定用户和组登录

AllowUsers john jason 指定用户
AllowGroups sysadmin dba 指定组

禁止指定的用户或组登录

DenyUsers corn apath 指定用户
DenyGroups devers qa 指定组

保存后,重启 SSHD 服务:service sshd restart

注:Allow 和 Deny 可以组合使用,它们的处理顺序是:DenyUsers, AllowUsers, DenyGroups, AllowGroups

2.9 限制监听 IP

如果你的服务器上有多个网卡及 IP ,那么你可以限制某些 IP 不监听 SSH,只允许通过某些 IP 来登录。

比如你有四个网卡

eth0 – 192.168.10.200
eth1 – 192.168.10.201
eth2 – 192.168.10.202
eth3 – 192.168.10.203

你只想让用户通过 200, 202 这两个 IP 来登录,那么做以下设定
在 /etc/ssh/sshd_config 文件中查找下面这样的行:
#ListenAddress 0.0.0.0,进行如下修改

ListenAddress 192.168.10.200
ListenAddress 192.168.10.202

2.10 最后修改配置文件的属性,防止非授权用户修改配置文件

#chmod 644 /etc/ssh/sshd_config
另外注意 /etc/ssh 下的文件不能设为 777 的权限,因为 ssh 本来就是一个安全登陆的模式,如果设成 777(所有人可以任意访问修改),那还有什么安全性可言呢?

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

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

相关文章

【JVM 监控工具】JVisualVM的使用

文章目录 前言二、启动JVisualVM三、安装插件四、使用 前言 JVisualVM是一个Java虚拟机的监控工具,要是需要对JVM的性能进行监控可以使用这个工具哦 使用这个工具,你就可以监控到java虚拟机的gc过程了 那么,这么强大的工具怎么下载呢&…

【HBZ分享】FactoryBean的应用 与 BeanFactroyPostProcessor的应用 与 BeanPostProcesser的应用

FactoryBean的应用实战 需要写一个A类来实现FactoryBean实现FactoryBean的3个方法,即getOject(), getObjectType(), isSingleton()注意:在通过xml的【 】标签或者通过注解方式将A类注入容器的时候,返回的实例不是A类,而是T类&…

HTML 基础

目录 HTML 结构 1.认识 HTML 标签 HTML 文件基本结构 标签层次结构 HTML 常见标签 注释标签 标题标签: h1-h6 段落标签: p 换行标签: br 格式化标签 图片标签: img 关于目录结构: 超链接标签: a 链接的几种形式: 表格标签 合并单元格 列表标签 表单标签 form …

【头歌-Python】Python第九章作业(初级)第 1、2、4 关

第1关:绘制温度曲线 任务描述 附件中是某月每天的最高温度和最低温度数据,请绘制本月的高温曲线(红色、圆点标记坐标)和低温曲线(蓝色、星号标记坐标),线型、刻度如输出示例所示,线…

Rust每日一练(Leetday0031) 解码方法、复原 IP 地址

目录 91. 解码方法 Decode Ways 🌟🌟 93. 复原 IP 地址 Restore IP Addresses 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 91. …

chatgpt赋能python:Python如何求平均

Python如何求平均 Python是一种非常流行的编程语言,它被广泛应用于各种领域,包括科学计算、数据分析、Web开发等。在这篇文章中,我们将介绍如何使用Python求平均值。 什么是平均数 平均数,也称为均值,是指一组数据的…

chatgpt赋能python:Python怎么求平均值?全面解析平均值计算方法

Python怎么求平均值?全面解析平均值计算方法 作为一种简洁易用的计算机编程语言,Python的应用范围已经越来越广泛。在Python中,我们可以轻松地进行各种统计和计算工作,其中求平均值是最常见的计算之一。在本文中,我们…

Redis过期策略

Redis 使用的过期删除策略是什么? Redis 是可以对 key 设置过期时间的,因此需要有相应的机制将已过期的键值对删除,而做这个工作的就是过期键值删除策略。 每当我们对一个 key 设置了过期时间时,Redis 会把该 key 带上过期时间存…

Redis 持久化-RDB和 持久化-AOF 的详细介绍以及区别

Redis 持久化-RDB 官方资料 在线文档: https://redis.io/topics/persistence 持久化方案 RDB(Redis DataBase) AOF(Append Of File) RDB 是什么? 在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就Snapsh…

java中获取配置文件路径中含有中文,出现乱码的情况解决方案

问题背景:读取配置文件,但是读到的目录信息是中文乱码的。 第一步: 参考代码如上截图,方法即:读取jdbc配置,获取了配置文件(jdbc.properties)地址,然后加载这个文件读取…

chatgpt赋能python:Python中如何消除空格:从基础操作到高级技巧

Python中如何消除空格:从基础操作到高级技巧 Python是一种广泛使用的编程语言,深受许多工程师和开发者的喜爱。其中一个有用的技巧是如何消除字符串中的空格,特别是在处理和分析文本时。在本文中,我们将介绍三种不同的方法来解决…

springboot+vue+java学生选课成绩系统awwm9

主要内容: (1) 系统用户由三类组成:教师、学生和管理员 (2) 管理员负责的主要功能: 1. 用户进入登录界面,输入用户名,密码,选择管理员用户类型,然后点击“登录”按钮,后台验证…

Linux系统:stress-ng测压工具

目录 一、理论 1.stress工具简介与安装 2.语法及参数 3.具体安装 二、实验 1.运行8 cpu, 4 fork, 5 hdd, 4 io, 50 vm, 10小时 2.CPU测试 3.内存测试 4.IO测试 5.磁盘及I/O测试 三、问题 1. -bash: ./configure: 没有那个文件或目录 2. 下载yum源报错:未…

读发布!设计与部署稳定的分布式系统(第2版)笔记03_让系统稳定运行

1. 概念 1.1. 事务 1.1.1. 系统处理的抽象工作单元 1.1.1.1. 与数据库事务不同 1.1.1.2. 单个工作单元可能包含许多数据库事务 1.1.2. 系统存在的原因 1.1.2.1. 如果一个系统只能处理一种事务,那么它就是专用系统 1.1.2.2. 混合工作负载是系统能处理的不同事…

从 Google 删库,到蚂蚁跑路,Care 与 Fear 点燃的 Flare

Bytebase 第一次完成融资后写了一篇文章,主要讲了从行业层面做 Bytebase 的逻辑。一年过去了,这一年我们所处的开源/infra/数据库/企业服务赛道从热点归于平静,尤其在国内,又习惯性地反应过度,直接降到冰点。但从全球来…

学习PLC时为什么要学习上位机?

PLC是一种常用于工业自动化控制系统的设备。它用于监控和控制各种机器和过程,以实现自动化和优化生产。 学习PLC的过程中,了解和学习上位机是非常重要的。上位机是与PLC连接的计算机,它可以通过特定的软件与PLC进行通信、监控和控制。 以下…

【RabbitMQ教程】第七章 —— RabbitMQ - 发布确认高级

💧 【 R a b b i t M Q 教程】第七章—— R a b b i t M Q − 发布确认高级 \color{#FF1493}{【RabbitMQ教程】第七章 —— RabbitMQ - 发布确认高级} 【RabbitMQ教程】第七章——RabbitMQ−发布确认高级💧 🌷 仰望天空&#xff0c…

分布式ID解决方案

常用的分布式 ID 的设计方案有哪些?Snowflake 是否受冬令时切换影响? 典型回答 首先,我们需要明确通常的分布式 ID 定义,基本的要求包括: 全局唯一,区别于单点系统的唯一,全局是要求分布式系…

NLP——Information Extraction信息提取

文章目录 Information Extraction 步骤Named Entity Recognition (NER)Typical Entity Tags 典型实体标签IO taggingIOB tagging神经网络做 NER Relation ExtractionRule-basedSupervised Relation ExtractionSemi-supervisedSemantic Drift 语义漂移Distant supervision 远程监…