linux安全加固

安全加固

编辑配置

  • vim /etc/ssh/sshed_conifg
  • set nu显示行号

1、端口保护

  • /port
  • 找到port,修改为不常用的端口
  • 保存并退出
  • 建立连接时,若端口不一致,则连接失败

2、登录验证总耗时:1分钟

  • /LoginGraceTime 1m
  • 找到登录验证时间,改为1分钟
  • 保存并退出
  • 登录时1分钟之内未登录成功,则断开连接

3、禁止root用户远程连接

  • /PermitRootLogin
  • 找到root远程登录,yes改为no
  • 保存并退出
  • 禁止root用户远程登录登录

4、密码最大试错次数

  • /MaxAuthTries
  • 空白处添加一条MaxAuthTries 2
  • 保存并退出
  • 密码最大试错次数为2

5、允许用户登录

  • /AllowUsers(白名单) 服务器用户@远程主机地址
  • 空白处添加一条白名单
  • 保存并退出
  • 白名单:只允许名单内的用户远程连接服务器
  • 黑名单:名单内的用户不允许远程连接服务器

重启ssh

  • /etc/init.d/ssh restart

命令行超时限制

  • 超时退出时间设为30秒
  • vim /etc/profile
  • 在第三行添加export TMOUT=30

设置用户密码的使用期限:

针对于所有用户1

  • 编辑vim /etc/login.defs
  • /PASS_MAX_DAYS 密码最长使用天数
    针对单个用户
  • chage -M 天数 用户名 密码最大使用期限
  • chage -l 用户名 查看用户密码使用期限

为了防止密码被破坏,需要秘钥来加密

  • 私钥加密公钥解,公钥加密私钥解

用moba执行

  • 先将本地旧文件删除
  • rm -rf .ssh/*
  • 创建新秘钥
  • ssh-keygen
  • 查看.ssh
  • ls .ssh
  • id_rsa(私钥)id_rsa.pub(公钥)
  • 将公钥上传到服务器
  • ssh-copy-id root@服务器地址
  • 使用私钥进行连接,不用再输入密码

或者cmd命令行执行

  • 查看文件
  • dir .ssh
  • 然后找到文件所在地,删除旧文件
  • 生成新秘钥
  • ssh-keygen
  • 将id_rsa.pub文件上传到目标主机
  • scp .ssh/id_rsa.pub root@主机地址:~/.ssh/authorized_keys
  • 使用秘钥登录

禁用密码认证方式,避免密码暴力破解

  • vim /etc/ssh/sshd_config
  • 找到密码认证
  • /PasswordAuthentication 去掉"#","yes"改成"no"
  • 保存并退出
  • 重启ssh服务
  • /etc/init.d/ssh restart
  • 只可使用秘钥登录
相关推荐
Flynt1 小时前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
戴为沐2 小时前
Linux内存扩容指南
linux
zylyehuo12 小时前
Linux 彻底且安全地删除文件
linux
用户805533698031 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297911 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF1 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者3 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo3 天前
Linux系统中网线与USB网络共享冲突
linux
荣--3 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森3 天前
动手实战学 Docker — 从零到集群编排完全指南
运维