志不强者智不达,言不信者行不果。这篇文章主要讲述总结sshd服务常用参数相关的知识,希望能为你提供帮助。
上篇ssh中我们提到了/etc/ssh目录下有两个配置文件,ssh_config是ssh客户端的,另一个sshd_config的就是ssh服务器端的,也就是本篇sshd服务要用到的。关于sshd服务的相关说明,执行 ?man 5 sshd_config? 命令可以查看??(如下图)??。
此篇重点看一下sshd_config配置文件,生产过程中,我们还需结合配置文件中的相关参数来进行修改,以保证服务器的安全性。
上一篇说到ssh客户端通过指定端口远程登录主机提到了这一点,如果企业使用的是内网,端口号改不改无所谓,如果走的是外网,最好将端口号改为其他的,并且最好做到不定期更改,以防止遭受到攻*击。
密*码确认部分默认的选项是yes,即客户端可以通过服务器ip和密*码来进行登录。上一篇说到了基于key验证的方法,这种方法设置好后,可以跳过密*码验证环节,企业也可在完成基于key验证后,将此部分改为no,即不可通过密*码来登录主机。
【总结sshd服务常用参数】
sshd_config文件中有两项可能会导致ssh连接比较缓慢,如果“UseDNS”和“GSSAPIAuthentication”默认的是yes,可以都改成no。
有时我们远程到远程主机后会忘了退出来,长时间的登录远程主机会产生安全隐患,这时我们在配置文件中设置超时自动断开。这一项在“ClientAliveInterval”部分修改,默认的是0,我们可以改为30,即每30秒发送一次信号;“ClientAliveCountMax”表示发送信号次数统计,系统默认的为3,笔者这边改成了2,即每30秒向服务器发送一次信号,如果累计2次也就是60秒还无操作,将自动断开连接。
Ubuntu默认是不允许root用户进行远程登录的,我们可以将/etc/ssh/sshd_config文件中的“PermitRootLogin prohibit-password”注释掉,另起一行添加“PermitRootLogin yes”,这样我们就可通过root来远程登录了。
以上主要为常用的一些修改设置,结合实际生产需要,sshd服务还可修改其他参数来完善性能,笔者在此就不一一列举了,在修改配置文件后,记得执行
?systemctl restart sshd? 命令重启sshd服务,否则无法生效。
以下主要为ssh服务在生产环境中的最佳实验,部分笔者有提到,没提到的,各位也可根据自己的需求来进行变动:
①建议使用非默认端口;
②禁止使用protocol version 1;
③限制可登录用户;
④设定空闲会话超时时长;
⑤利用防火墙设置ssh访问策略;
⑥仅监听特定的IP地址;
⑦基于口令认证时,使用强密*码策略,比如:tr -dc A-Za-z0-9_ <
/dev/urandom | head -c 12| xargs;
⑧使用基于密钥的认证;
⑨禁止使用空密*码;
⑩禁止root用户直接登录;
?限制ssh的访问频度和并发在线数;
?经常分析日志。
推荐阅读
- Netgate发布pfSense2.6.0和Plus 22.01
- 华为万兆光猫P812E更换记录
- Mysql数据库——MMM架构
- 搭建DHCP服务,实现ip地址申请分发
- pfSense配置基于TLS协议的DNS(DoT)
- 运维小白成长记——第八周
- #yyds干货盘点#Prometheus 最佳实践原则
- #yyds干货盘点#怎样使用cfssl为etcd颁发SSL证书
- OPNsense重定向DNS请求到本地DNS解析器