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
  • 只可使用秘钥登录
相关推荐
咬_咬7 分钟前
C++仿muduo库高并发服务器项目:Channel模块
linux·c++·channel·1024程序员节·muduo·高并发服务器
csdn_aspnet10 分钟前
如何在 Ubuntu 24.04/22.04/20.04 上安装 MySQL 8.0
linux·mysql·ubuntu
Yyyy48210 分钟前
Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群
linux·服务器·ceph
北城笑笑38 分钟前
Server 15 ,VMware ESXi 实战指南:Ubuntu 20.04.6 版本虚拟机静态 IP 配置、分辨率固定及远程访问实践
linux·运维·ubuntu·1024程序员节
汪汪大队u1 小时前
IPv4与IPv6的对比
运维·网络·智能路由器
苹果醋31 小时前
学习札记-Java8系列-1-Java8新特性简介&为什么要学习Java8
java·运维·spring boot·mysql·nginx
or77iu_N1 小时前
Linux 查找文件
linux·运维·服务器
笑洋仟1 小时前
nvm切换node版本-jenkins上编译
运维·jenkins
zz-zjx1 小时前
MySQL 索引深度指南:原理 · 实践 · 运维(适配 MySQL 8.4 LTS)
运维·数据库·mysql
JavaOpsPro1 小时前
审计 jenkins获取构建历史,生成excel
运维·jenkins·excel