Centos 7 SSH服务安全加固

2023-05-16

描述

禁止SSH空密码用户登录,限制可登录用户及来源地址

加固建议

编辑文件/etc/ssh/sshd_config,将一应配置修改

具体操作命令和步骤

1、编辑文件/etc/ssh/sshd_config

vim /etc/ssh/sshd_config

2、修改配置

Port = *** --修改默认端口

AllowUsers 用户名1@1.1.1.1 用户名2@2.2.2.2 --设置允许登录用户,多个用户可空格添加

AllowGroup *** --设置允许登录用户组

ListenAddress 0.0.0.0 --设置SSH指定的本地地址

Protocol 2 --强制使用 V2安全协议 ,SSH1存在漏洞与缺陷

MaxAuthTries = 3 --修改允许密码错误次数

PermitRootLogin no --禁止使用root远程登录

RSAAuthentication yes --设置用户密钥登录,只针对SSH1,此功能另开一篇记录

PubkeyAuthentication yes --设置是否开启公钥验证

ClientAliveInterval 300 --设置SSH空闲超时退出时间,单位:秒

ClientAliveCountMax 0 --设置允许超时的次数 0即表示不允许超时

LogLevel INFO – 开通登录日志的详细记录

AllowAgentForwarding no

AllowTcpForwarding no --设置是否允许允许tcp端口转发,保护其他的tcp连接

UseDNS no --设置不使用dns反向解析

MaxStartups 5 --设置同时允许5尚未登入的联机,当用户连上ssh但并未输入密码即为所谓的联机

MaxAuthTries 3 设置最大失败尝试登陆次数为3

3、记录所有用户的登录和操作日志

通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查。vim /etc/profile修改配置文件,在配置文件中输入以下内容:

history
 USER=`whoami`
 USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
 if [ "$USER_IP" = "" ]; then
 USER_IP=`hostname`
 fi
 if [ ! -d /var/log/history ]; then
 mkdir /var/log/history
 chmod 777 /var/log/history
 fi
 if [ ! -d /var/log/history/${LOGNAME} ]; then
 mkdir /var/log/history/${LOGNAME}
 chmod 300 /var/log/history/${LOGNAME}
 fi
 export HISTSIZE=4096
 DT=`date +"%Y%m%d_%H:%M:%S"`
 export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
 chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null

PS1:记得执行命令:source /etc/profile 让配置生效

PS2:/var/log/history是日志记录位置,可自定义。

通过上述脚本,可以在 /var/log/history 目录下以每个用户为名新建一个文件夹,每次用户退出后都会产生以用户名、登录IP、时间的日志文件,包含此用户本次的所有操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Centos 7 SSH服务安全加固 的相关文章

随机推荐

  • 基于TextRank的关键词、短语、摘要提取

    基于TextRank的关键词 短语 摘要提取 原创 2016年09月08日 18 20 59 标签 xff1a TextRank scala 自动文摘 3946 关于自动文摘 利用计算机将大量的文本进行处理 xff0c 产生简洁 精炼内容的
  • XCode9: iPhone is busy: Preparing debugger support for iPhone

    XCode9 iPhone is busy Preparing debugger support for iPhone Click on Window menuSelect Device and SimulatorsSelect your
  • 你会写开发文档吗

    你会写软件开发文档吗 xff1f 如今 xff0c 软件开发越来越复杂 xff0c 软件的功能也越来越丰富 而几乎所有成熟的商业软件 xff0c 都是一个开发团队齐心协力的血汗结晶 罗马不是一天建成的 xff0c 当我们震撼于Microso
  • Xcode创建子工程以及工程依赖

    Xcode创建子工程以及工程依赖 背景 由于创建一个app的时候需要引入大量的依赖三方库或者自己写的工具类 所以 考虑新建一个公共工程 每次新建项目 只需要依赖这个工程就可以了 其实说白了这个公共工程就是个静态库 开始开发 1 创建iosL
  • iOS常用第三方库

    iOS常用第三方库 转载 2017年06月13日 17 46 43 下拉刷新 EGOTableViewPullRefresh 最早的下拉刷新控件 SVPullToRefresh 下拉刷新控件 MJRefresh 仅需一行代码就可以为UITa
  • 公务员考试152分上岸经验,你同样可以复制

    公务员考试152分上岸经验 你同样可以复制 xff08 2018公考必看 xff09 来源 xff1a 步知资讯 时间 xff1a 09 26 点击 xff1a 4171261 分享 下载此文章 打印 增大字体 减小字体 单位入职培训都结束
  • 工业机器人理论图谱

    工业机器人分类 xff1a 工业机器人是应用于工业环境下的一类机器人分支 xff08 下文中的 机器人 均指 工业机器人 xff09 xff0c 从结构上可以分为 串联机器人 并联机器人 串联机器人最典型的有 平面2连杆 xff08 实际没
  • HTTP协议

    HTTP协议 常用的HTTP方法HTTP请求报文与响应报文格式常见的HTTP相应状态码常见HTTP首部字段GET方法与POST方法的区别HTTP的缺点与HTTPSHTTP优化 HTTP xff08 超文本传输协议 xff09 是一个基于请求
  • debian10安装apache2 php ftp(网站服务器)

    debian安装网站服务 debian最小安装后重启机器 设置语言 dpkg reconfigure locales 选择en US UTF 8 UTF 8 xff08 其它都不选 xff09 重启机器 修改软件安装源文件 xff08 如果
  • 正则表达式(转载)

    正则表达式的基本语法 开始和结尾位置声明 表示字符串的开始 xff0c 要匹配 本身需要使用 例如 xff1a Yao 表示字符串以 Yao 开头 表示字符串的结尾 xff0c 要匹配 本身需要使用 例如 xff1a Yao 表示字符串以
  • apache2网站设置

    apache2网站设置 我们访问一个网址是先解析成对应的IP的80端口开始的 打开apache2网站配置文件 nano etc apache2 sites available 000 default conf 可以看到 lt Virtual
  • apache用户名和密码验证

    apache用户名和密码验证 之前建立的www soft com这个网站我们给他加个访问验证 修改 etc apache2 apache2 conf nano etc apache2 apache2 conf 把 lt Directory
  • php安装swoole插件

    swoole插件 安装wget apt install wget 安装openssl apt install openssl xff08 https要用到 安装phpize apt install php7 3 dev 安装make apt
  • 五:debian安装,附加审批系统

    如果你还没读第一篇和第二篇请阅读第一篇Debian 安装和第二篇Debian 服务器安装 服务器开始安装审批系统 wget c https jiaozhiguan 1258621244 cos ap guangzhou myqcloud c
  • SpringBoot项目的出现java.io.FileNotFoundException: (系统找不到指定的路径。)

    项目场景 xff1a SpringBoot项目的出现java io FileNotFoundException 系统找不到指定的路径 项目场景 xff1a Springboot用到文件上传下载功能 问题描述 xff1a 问题 xff1a j
  • mysql创建用户报错[Err] 1396 - Operation CREATE USER failed for ‘用户名‘@‘%‘的解决方法

    项目场景 xff1a 执行mysql创建用户语句CREATE USER test IDENTIFIED BY 用户名 问题描述 xff1a 执行mysql创建用户语句CREATE USER test IDENTIFIED BY 39 用户名
  • 解决nginx提示:(code=exited, status=203/EXEC)的错误

    项目场景 xff1a 在centos7上启动nginx1 19 安装过程省略 问题描述 xff1a 编译安装一切顺利 xff0c 使用systemctl start nginx时提示如下内容 xff1a span class token p
  • You don‘t have permission to access this resource.

    项目场景 xff1a 访问自己的搭建的网站时apache报错You don t have permission to access this resource 原因分析 遇到如标题那个问题 xff0c 无法进行远程HTTP请求 解决方案 x
  • cmd下windows批处理bat,获取当前系统时间,生成日志文件名

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 目录 Window系统一 范例二 方法详解1 获取日期2 获取时间3 详解 总结更多 关于Linux的写法 Window系统 常用的Win
  • Centos 7 SSH服务安全加固

    描述 禁止SSH空密码用户登录 xff0c 限制可登录用户及来源地址 加固建议 编辑文件 etc ssh sshd config xff0c 将一应配置修改 具体操作命令和步骤 1 编辑文件 etc ssh sshd config vim