3.3. Enabling/Disabling a Service (xinetd)

Problem

You want to prevent a specific TCP service from being invoked on your system by xinetd .

Solution

If the service’s name is “myservice,” locate its configuration in /etc/xinetd.d/myservice or /etc/xinetd.conf and add:

disable = yes

to its parameters. For example, to disable telnet , edit /etc/xinetd.d/telnet:

service telnet
{
        ...
        disable = yes
}

Then inform xinetd by signal to pick up your changes:

# kill -USR2 `pidof xinetd`

To permit access, remove the disable line and resend the SIGUSR2 signal.

Discussion

Instead of disabling the service, you could delete its xinetd configuration file (e.g., /etc/xinetd.d/telnet), or even delete the service’s executable from the machine, but such deletions are harder to undo. (Don’t remove the executable and leave the service enabled, or xinetd will still try to run it and will complain.)

Alternatively use ipchains or iptables [Recipe 2.7] if you want to keep the service runnable but restrict the network source addresses allowed to invoke it. Specific services might also have their own, program-level controls for restricting allowed client addresses.

See Also

xinetd(8). The xinetd home page is http://www.synack.net/xinetd.

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.