inetd / xinetd

xinetd ist ein sicherer Ersatz für das veraltete inetd. Er ist ein sog. Superserver (-dienst) und kümmert sich um den Start (oft kleinerer) Dienste die er bei Bedarf startet. Das spart einerseits Systemressourcen und andererseits kann man Limitierungen vornehmen und Verteidigungsmaßnahmen ergreifen.

Konfiguriert wird xinetd durch Textdateien im Verzeichnis /etc/xinet.d/ die die jeweilige Konfiguration für die Dienste enthalten.

Hier ein Beispiel für einen rsync-Dienst

  service rsync
    {
        disable         = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
    }

Man kann auch durch andere Optionen wie (Bind = 127.0.0.1 für ausschließlich lokale Verbindungen)

  1. socket_type: Socket-Typ, bei TCP: stream, bei UDP: dgramm; ansonsten ist noch raw und rdm möglich.
  2. protocoll: tcp oder udp; für RPC-Dienste: rpc/tcp oder rpc/udp
  3. user: root
  4. server: Voller Pfad zum Dienst/Daemon
  5. server_args: Die Argumente des Aufrufs des Dienstes/Daemons