對於諸如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
2.2 限制只允許192.168.220.129 192.168.220.130可telnet本機
telnet配置文件/etc/xinetd.d/telnet默認內容如下:
在disable行后新建一行,加入以下內容:
only_from = 192.168.220.129 192.168.220.130
修改后的/etc/xinetd.d/telnet內容如下:
2.3 重啟xinetd確認白名單生效
service xinetd restart netstat -anp | grep xinetd telnet 127.0.0.1
確認本機不可telnet:
確認192.168.220.129可telnet:
由此可說明telnet白名單配置生效,在自己具體操作時將only_from值修改為自己想要的IP即可。
如果是要配置黑名單,將only_from改成no_access同樣賦值即可。
如果是要配置其他托管於xinetd的服務,那找到其對應配置文件,類似操作即可。