在Linux或者Unix上使用tcpd(TCPWrapper)限制SSH访问
时间:2020-01-09 10:43:16 来源:igfitidea点击:
如何在Linux上使用tcpd限制ssh访问?
tcpd用于访问Internet服务的访问控制工具。
可以将tcpd程序设置为监视对telnet,finger,ftp,exec,rsh,rlogin,tftp,sshd和其他具有一对一映射到可执行文件的服务的传入请求。
您的sshd服务器必须正在配置(编译)以支持tcpd。
您可以使用以下命令轻松找到tcpd(tcpwrapper)支持:
# strings $(which sshd)| grep libwrap
输出示例:
libwrap.so.0 libwrap refuse returns
如果将libwrap视为输出(如上所示),则可以按以下方式使用tcpd监视传入的ssh请求。
配置
使用文本编辑器(例如vi)打开或者编辑文件/etc/hosts.deny
。
该文件列出了不允许访问系统的主机或者IP。
在此示例中,您将为所选IP阻止sshd服务器TCP端口22。
例子
假设您要拒绝访问IP 192.54.1.20 64.66.44.22 64.66.44.25:
# vi /etc/hosts.deny
添加/添加以下行:
sshd: 192.54.1.20 64.66.44.22 64.66.44.25
保存并关闭文件。
接下来,确保您的规则正确,并使用以下命令运行语法检查:
# tcpdchk -v
输出示例:
Using network configuration file: /etc/inetd.conf >>> Rule /etc/hosts.deny line 20: daemons: sshd clients: 192.54.1.20 64.66.44.22 64.66.44.25 access: denied