SUSE12 SP5系统使用TCP Wrappers实现限制SSH访问控制

2021-09-24 18:03:41 浏览数 (1)

SUSE Linux Enterprise 12 (SLES12) SP5系统使用TCP Wrappers实现SSH访问控制

之前有写过在CentOS7系统上使用TCP Wrappers实现SSH访问控制

利用tcp_wrapper实现SSH登录的IP访问控制

再结合网上收集的文件作为参考

代码语言:javascript复制
https://blog.csdn.net/cwg_xiaoguizi/article/details/81124054

准备套用在SLES12 SP5的系统上

(图片可点击放大查看)

1、SLES12 SP5测试环境搭建

SLES12 SP5的系统 192.168.31.11

(图片可点击放大查看)

(图片可点击放大查看)

代码语言:javascript复制
cat /etc/os-release

which sshd

ldd /usr/sbin/sshd | grep -i libwrap

2、配置/etc/hosts.allow和/etc/hosts.deny

代码语言:javascript复制
vi /etc/hosts.allow
添加允许访问SLES12SP5的IP 192.168.31.47
sshd : 192.168.31.47 :ALLOW

(图片可点击放大查看)

代码语言:javascript复制
vi /etc/hosts.deny 
sshd  : ALL EXCEPT LOCAL 
拒绝所有IP访问SSH

(图片可点击放大查看)

3、准备验证效果

192.168.31.47可以正常登录

(图片可点击放大查看)

192.168.31.105也可以正常登录SLES12 SP5系统(192.168.31.11)的SSH

(图片可点击放大查看)

这下翻车了,啪啪打脸,访问控制居然不生效

4、搜索引擎开始求证

配置反复检查也没有问题

搜索了很多SUSE官方论坛的话题,各种说法都有

链接如下

代码语言:javascript复制
https://www.tecmint.com/secure-linux-tcp-wrappers-hosts-allow-deny-restrict-access/
https://www.oreilly.com/library/view/linux-security-cookbook/0596003919/ch03s13.html
https://forums.opensuse.org/showthread.php/505226-Is-file-etc-hosts-deny-disabled-on-OpensSuse-13-2
https://forums.opensuse.org/showthread.php/508618-openSUSE-13-2-sshd-bypass-hosts-allow-file
https://blog.csdn.net/cwg_xiaoguizi/article/details/81124054

hosts.allow has been deprecated and is no longer used. 这个说法差点我就信了

正准备放弃时,准备替代方案

例如/etc/ssh/sshd_config 配置文件中加入限制AllowUsers root@192.168.31.47 突然发现#UseTCPWrappers yes这个参数

(图片可点击放大查看)

感觉有戏了

代码语言:javascript复制
vi /etc/ssh/sshd_config
取消注释
UseTCPWrappers yes
systemctl restart sshd

(图片可点击放大查看)

(图片可点击放大查看)

5、这时验证效果

访问控制生效,问题解决

(图片可点击放大查看)

6、优化:加入日志打印

代码语言:javascript复制
vi /etc/hosts.deny
修改成如下
sshd  : ALL EXCEPT LOCAL :  spawn echo `date` login attempt from %c to %s ,the host is %h .PID is %p >> /var/log/tcpwrapper.log

(图片可点击放大查看)

再验证效果 ,系统正常打印拒绝时的日志

(图片可点击放大查看)

问题解决!

7、总结

结论:大胆假设,小心求证!(八字箴言送给大家)

0 人点赞