3.提高SSH服务安全
问题
本案例要求提高Linux主机上SSH服务端的安全性,完成以下任务:
1)配置基本安全策略(禁止root、禁止空口令)
2)针对SSH访问采用仅允许的策略,未明确列出的用户一概拒绝登录
3)实现密钥验证登录(私钥口令)、免密码登入(无私钥口令)
4)确认密钥验证使用正常后,禁用口令验证
方案
使用两台RHEL6虚拟机,其中svr5作为OpenSSH服务器,另一台pc205或svr5本机都可以作为测试用的客户机,如图-2所示。
图-2
步骤
实现此案例需要按照如下步骤进行。
步骤一:配置基本安全策略
1)调整sshd服务配置,并重载服务
[root@svr5 ~]# vim /etc/ssh/sshd_config
… …
Protocol 2 //去掉SSH协议V1
PermitRootLogin no //禁止root用户登录
PermitEmptyPasswords no //禁止密码为空的用户登录
… …
[root@svr5 ~]# service sshd reload
重新载入 sshd: [确定]
2)测试基本安全策略
尝试以root用户SSH登录,失败:
[root@svr5 ~]# ssh root@192.168.4.5
root@192.168.4.5’s password:
Permission denied, please try again.
将服务器上用户kate的密码设为空,尝试SSH登录,也会失败:
[root@svr5 ~]# passwd -d kate //清空用户口令
清除用户的密码 kate。
passwd: 操作成功
[root@svr5 ~]# ssh kate@192.168.4.5
kate@192.168.4.5’s password:
Permission denied, please try again.
步骤二:针对SSH访问采用仅允许的策略,未明确列出的用户一概拒绝登录
1)调整sshd服务配置,添加AllowUsers策略,仅允许用户zengye、john、ugadm,其中ugadm只能从网段192.168.4.0/24登录。
[root@svr5 ~]# vim /etc/ssh/sshd_config
… …
AllowUsers zengye john