ssh安全优化配置

配置文件 /etc/ssh/sshd_config

/etc/ssh/sshd_config 
Port 22 //如果改了端口号,重启服务,已有的连接不会断开
UseDNS yes 不去把ip地址解析成名称 //建议改成 no
GSSAPIAuthentication yes 身份验证相关的,平时不用 //建议改成 no 
ListenAddress ip //监听的地址,默认监听在所有的ip上
	只是希望内部的人访问,把地址绑定在内网的ip上
HostKey /etc/ssh/ssh_host_rsa_key 私钥文件
SyslogFacility AUTHPRIV 日志设施(类型),对应的文件 /var/log/secure 
LoginGraceTime 2m //用户登陆前输入口令,如果迟迟不输口令,给2分钟,2分钟之后还不输口令就断开连接
PermitRootLogin yes //远程用root登陆是可以的
	ubuntu系统默认不让root远程登陆
	ubuntu ip地址配置文件 /etc/netplan/01-netcfg.yaml 
	ubuntu让配置文件生效 netplay apply
StrictModes yes 检查.ssh/文件的所有者,权限等
MaxAuthTries 6 //每一个连接允许尝试的最大次数,按一半算,也就是3次
MaxSessions 10 同一连接最大会话数
PasswordAuthentication yes  //允许用户名密码方式验证
PermitEmptyPassword no //不允许空密码登陆
ClientAliveInterval //多长时间发一个请求看看客户端是否是非活动连接
	非活动连接:连上去不做任何操作
ClientAliveInterval 0 //表示不间隔
ClientAliveCountMax  3 //如果客户端是非活动连接,服务器检测到,会通知客户端最多3次,否则就断开连接
客户端在某个时间内如果不做任何操作,服务器就会主动断开连接

// 客户端在10s内,没有做任何操作,只要有1次就断开 
ClientAliveINterval 10
ClientAliveCountMax 0

MaxStartup //防止DOS攻击的
客户端发起大量的连接请求,将服务器的资源耗尽

MaxStartup 10:30:100 
当并发连接数达到一定值的时候,可以立即启用安全策略
并发连接数10个以下的时候,不受控制
当达到10个以上的时候,就开始由选择性地拒绝一些用户的连接,就以30%机率拒绝
当并发连接数超过100的时候,就会100%拒绝

GatewayPorts no // 没有启用网关功能
Banner /path/file //用户登陆提示信息

限制可登陆用户的办法:
	AllowUsers user1 user2 user3 
	DenyUsers
	AllowGroups
	DenyGroups
有了白名单,白名单以外的都是拒绝的
如果白名单和黑名单都有,那就拒绝

ssh 服务的最佳实践

  1. 建议使用非默认端口
  2. 禁止使用protocol version 1
  3. 限制可登录用户
  4. 设定空闲会话超时时长
  5. 利用防火墙设置ssh访问策略
  6. 仅监听特定的IP地址
  7. 基于口令认证时,使用强密码策略
    tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12| xargs
  8. 使用基于密钥的认证
  9. 禁止使用空密码
  10. 禁止root用户直接登录
  11. 限制ssh的访问频度和并发在线数
  12. 经常分析日志
发布了75 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/studywinwin/article/details/104393661