3.8. Restricting Access by Remote Hosts (xinetd)
Problem
You want only particular remote hosts to access a TCP service via xinetd .
Solution
Use xinetd.conf
’s
only_from
and no_access
keywords:
service ftp { only_from = 192.168.1.107 ... } service smtp { no_access = haxor.evil.org ... }
Then reset xinetd so your changes take effect. [Recipe 3.3]
Discussion
This is perhaps the simplest way to specify access control per service. But of course it works only for services launched by xinetd.
only_from
and no_access
can
appear multiple times in a service entry:
{ no_access = haxor.evil.org deny a particular host no_access += 128.220. deny all hosts in a network ... }
If a connecting host is found in both the
only_from
and no_access
lists, xinetd takes one of the following actions:
If the host matches entries in both lists, but one match is more specific than the other, the more specific match prevails. For example, 128.220.13.6 is more specific than 128.220.13.
If the host matches equally specific entries in both lists, xinetd considers this a configuration error and will not start the requested service.
So in this example:
service whatever { no_access = 128.220. haxor.evil.org client.example.com only_from = 128.220.10. .evil.org client.example.com }
connections from 128.220.10.3 are allowed, but those from 128.220.11.2 are denied. Likewise, haxor.evil.org cannot connect, but any other hosts in evil.org can. client.example.com is incorrectly configured, so its connection requests will be refused. ...
Get Linux Security Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.