对于诸如telnet等托管于xinetd的服务,当请求到来时由于是通过xinetd进行通知,所以可以直接在xinetd上配置白名单允许和拒绝哪些ip连接服务。

本文主要参考xinetd.conf的man手册,该手册对配置项有较清楚说明。

 

一、总体配置方法

xinetd配置白名单–通过only_from项进行配置,only_from项的值为允许连接服务的IP;多个IP之间使用空格进行分隔。

xinetd配置黑名单–通过no_access项进行配置,no_access项的值为禁止连接服务的IP;多个IP之间使用空格进行分隔。

xinetd黑白名单冲突–当某个IP同时配置于only_from和no_access时,以no_access为准禁止该IP连接服务。(与/etc/hosts.allow和/etc/hosts.deny正好相反)

IP写法示例–具体IP(192.168.220.128)、网段(192.168.220.0)、同网段某些主机(192.168.220.{128,130})、配置于/etc/networks的网段名、域名(xinetd靠/etc/hosts或DNS解析成IP)、子网掩码(192.168.220.0/23)

 

二、配置示例

下面以telnet配置白名单为例进行演示,确认第一点中的说法可行。

2.1 确认当前本机可telnet本机

telnet 127.0.0.1

 xinetd黑/白名单配置教程(以telnet为例)-风君雪科技博客

2.2 限制只允许192.168.220.129 192.168.220.130可telnet本机

 telnet配置文件/etc/xinetd.d/telnet默认内容如下:

xinetd黑/白名单配置教程(以telnet为例)-风君雪科技博客

在disable行后新建一行,加入以下内容:

only_from       = 192.168.220.129 192.168.220.130

修改后的/etc/xinetd.d/telnet内容如下:

xinetd黑/白名单配置教程(以telnet为例)-风君雪科技博客

2.3 重启xinetd确认白名单生效

service xinetd restart
netstat -anp | grep xinetd
telnet 127.0.0.1

确认本机不可telnet:

xinetd黑/白名单配置教程(以telnet为例)-风君雪科技博客

确认192.168.220.129可telnet:

xinetd黑/白名单配置教程(以telnet为例)-风君雪科技博客

由此可说明telnet白名单配置生效,在自己具体操作时将only_from值修改为自己想要的IP即可。

如果是要配置黑名单,将only_from改成no_access同样赋值即可。

如果是要配置其他托管于xinetd的服务,那找到其对应配置文件,类似操作即可。