Fedora 25 und Deaktivieren von allem, was auf Port 111 empfangsbereit ist


9

Ich habe eine eigenständige Fedora 25 x86_64-Workstation. Auf Port 111 (identifiziert mit einem nmap-Scan) lauscht etwas:

$ sudo lsof -i :111
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
systemd   1 root   36u  IPv4  15170      0t0  TCP *:sunrpc (LISTEN)
systemd   1 root   37u  IPv4  15171      0t0  UDP *:sunrpc
systemd   1 root   38u  IPv6  15172      0t0  TCP *:sunrpc (LISTEN)
systemd   1 root   39u  IPv6  15173      0t0  UDP *:sunrpc

Ich habe das Sun-Getriebe am Port mit den folgenden Befehlen deaktiviert:

$ sudo systemctl disable rpcbind
$ sudo systemctl disable sunrpc
Failed to disable unit: No such file or directory

Nach dem Neustart ist der Port noch offen.

Es sieht so aus, als ob etwas anderes als Sun Gear auf Port 111 lauschen möchte. Oder systemdrespektiert vielleicht nicht meine Wünsche, den nicht genutzten Dienst zu deaktivieren. Oder vielleicht etwas anderes ...

Wie bestimme ich, was versucht, den Port abzuhören, und wie deaktiviere ich ihn?


Von unten:

$ sudo systemctl -a | grep -E "rpc|port"
  var-lib-nfs-rpc_pipefs.mount          loaded    active   mounted   RPC Pipe File System
  abrtd.service                         loaded    active   running   ABRT Automated Bug Reporting Tool
  auth-rpcgss-module.service            loaded    inactive dead      Kernel Module supporting RPCSEC_GSS
  fedora-import-state.service           loaded    active   exited    Import network configuration from initramfs
  fedora-readonly.service               loaded    active   exited    Configure read-only root support
  rpc-gssd.service                      loaded    inactive dead      RPC security service for NFS client and server
  rpc-statd-notify.service              loaded    inactive dead      Notify NFS peers of a restart
  rpc-statd.service                     loaded    inactive dead      NFS status monitor for NFSv2/3 locking.
● rpc-svcgssd.service                   not-found inactive dead      rpc-svcgssd.service
  rpcbind.service                       loaded    inactive dead      RPC Bind
  rpcbind.socket                        loaded    active   listening RPCbind Server Activation Socket
  rpc_pipefs.target                     loaded    active   active    rpc_pipefs.target
  rpcbind.target                        loaded    active   active    RPC Port Mapper

Antworten:


8

Es ist Socket-Aktivierung :). Und Sie hatten Recht, misstrauisch zu sein.

Sie müssen deaktivieren rpcbind.socket. Das Deaktivieren rpcbind.service- was systemctl disable rpcbindvorausgesetzt wird - hat keine Auswirkung.

Außerdem wirkt sich das disablehier nur darauf aus, was beim Booten passiert. Wenn Sie also eine sofortige Änderung sehen möchten, möchten Sie auch ausführen systemctl stop rpcbind.socket.

EDIT: Diese Frage sieht mir sehr ähnlich. Jeff Schaller weist darauf hin, dass Sie den Befehl verwenden können systemctl list-sockets, um die Ports und Dienste systemdanzuzeigen, für die die Socket-Aktivierung implementiert wird.


Ich ging zurück und schaute mich um Fedora-Workstation-Live-x86_64-25-1.3.iso.

Der Status von rpcbind.service wird angezeigt indirect; vendor preset; disabled. (Auch Active: inactive (dead)). Es ist also klar, dass das Deaktivieren (oder Stoppen) nichts ändern würde.

Ich denke, das indirecthier ist ein Hinweis, um nach anderen Einheiten Ausschau zu halten, die diese aktivieren (einschließlich, aber nicht beschränkt auf Socket-Einheiten). Sobald die Steckdoseneinheit ebenfalls gestoppt ist, wechselt sie von indirectzu disabled.

Der seltsame Teil ist, dass die Steckdoseneinheit als zeigt enabled; vendor preset: disabled. Dies bedeutet, dass etwas rpcbind.socket im Fedora 25-Image aktiviert hat, aber nicht von /lib/systemd/system-preset/80-workstation.presetoder aktiviert wurde 90-default.preset. Dies scheint gegen die (aktuelle) Richtlinie unter https://fedoraproject.org/wiki/Packaging:DefaultServices zu verstoßen, auf die von 90-default.preset - verwiesen wird.

Wenn der Dienst standardmäßig aktiviert sein soll, muss er einer der Distributionsvoreinstellungsdateien hinzugefügt werden.

Dies wurde irgendwann behoben. rpcbind.socketist in nicht mehr aktiviert Fedora-Workstation-Live-x86_64-28-1.1.iso.

(Dies bedeutet nicht, dass auf Systemen, die von einer Fedora 25-Festplatte installiert wurden, automatisch über das Netzwerk auf rpcbind / port 111 zugegriffen werden kann. Die Installation enthält auch eine Firewall, die Port 111 nicht zulässt.)


Danke @sourcejedi. Deaktivieren sunrpcund rpcbindstoppte den Listener nicht.

@jww Sie müssen rpcbind.socket deaktivieren. Das Deaktivieren von rpcbind.service bewirkt nichts.
Sourcejedi

Danke @sourcejedi. Ich muss mich an die Arbeit machen, damit ich im Moment keine Zeit habe, mich tiefer damit zu beschäftigen. Du hast meine Gegenstimme bekommen. Warum halten die Leute es für eine gute Idee, einfache Prozesse zu brechen, die es schon seit Jahren gibt und die immer "nur funktioniert" haben ... xkcd.com/927

2

1
@jww Socket-Aktivierung ist eine meiner am wenigsten bevorzugten Systemfunktionen. es macht tatsächlich sehr viel Sinn. (Was keinen Sinn macht, ist, dass sie getrennt von normalen Diensten klassifiziert werden)
user253751

7

Wenn Sie laufen sudo systemctl disable rpcbindauf Fedora 25Ich denke , es ist eine Warnung:

Warning: Stopping rpcbind.service, but it can still be activated by:
rpcbind.socket

Sie können also Folgendes versuchen:

sudo systemctl stop rpcbind.socket
sudo systemctl disable rpcbind.socket

1
Ich habe diese Nachricht nicht gesehen, als ich sie selbst getestet habe. Ich denke, das Problem ist, dass rpcbind.service nicht aktiviert oder überhaupt erst gestartet wurde (standardmäßig und sofern es nicht aktiviert wird)? Der Dienst ist also bereits deaktiviert und wird vor Erreichen der Nachricht beendet. Sollte wahrscheinlich verbessert werden.
Sourcejedi

Korrektur: Ich habe diese Nachricht nicht gesehen, weil ich nur gelaufen bin disable. Die Meldung wird nur am angezeigt stop(und sie wird angezeigt , wenn der Dienst bereits gestoppt wurde). Ich kann mich immer noch einfühlen, bin mir aber nicht sicher, wie ich diese Erfahrung am besten verbessern kann.
Sourcejedi

4

Port 111 ist mit Portmap verbunden . Wenn Sie NFS verwenden, werden Sie es wahrscheinlich brauchen. Sie können systemctl -a | grep -E "rpc|port"den Namen des entsprechenden Dienstes anzeigen und deaktivieren (ich habe derzeit keinen Zugriff auf eine Fedora-Box).


1
Durchsichtiges Durchsehen - 13 Ausgabezeilen, und die Ausgabe leidet darunter, dass sie nicht direkt auf die tty zugreifen kann.
Sourcejedi

0

Dieser Port wird vom nfsDienst aktiviert , der über das nfs-utilsPaket installiert wurde . Wenn Sie es nicht benötigen, deinstallieren Sie es besser. nfs-utilsund iscsi-initiator-utilswerden normalerweise als Abhängigkeiten des libvirtPakets installiert . Beide Pakete aktivieren eine Vielzahl von Diensten und Sockets, die Sie möglicherweise nicht gewünscht haben. Diese Befehle können zum Deaktivieren nfsund für iscsi-initiator-utilsDienste verwendet werden.

systemctl disable nfs-client.target
systemctl stop nfs-client.target
systemctl disable rpcbind.socket
systemctl stop rpcbind.socket
systemctl stop rpc_pipefs.target
systemctl stop rpcbind.target
systemctl stop rpcbind.service
systemctl disable rpcbind.service
systemctl stop var-lib-nfs-rpc_pipefs.mount
systemctl stop proc-fs-nfsd.mount 
systemctl disable gssproxy.service
systemctl stop gssproxy.service
modprobe -r sunrpc
systemctl disable iscsid.socket
systemctl stop iscsid.socket
systemctl disable iscsiuio.socket
systemctl stop iscsiuio.socket
systemctl disable iscsid.service
systemctl stop iscsid.service
systemctl disable iscsiuio.service
systemctl stop iscsiuio.service
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.