Fedora 25 et désactiver tout ce qui écoute sur le port 111

9

J'ai un poste de travail autonome Fedora 25 x86_64. Quelque chose écoute sur le port 111 (identifié par un scan nmap):

$ 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

J'ai désactivé l'engrenage Sun sur le port avec les commandes suivantes:

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

Après le redémarrage, le port est toujours ouvert.

Il semble que quelque chose d'autre que Sun Gear souhaite écouter sur le port 111. Ou peut systemd- être ne respecte-t-il pas mes souhaits de désactiver le service inutilisé. Ou peut-être autre chose ...

Comment déterminer ce qui essaie d'écouter sur le port et comment le désactiver?


Par le bas:

$ 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

la source

Réponses:

8

Lorsque vous courez sudo systemctl disable rpcbind, Fedora 25je pense qu'il y a un avertissement:

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

Vous pouvez donc essayer de suivre:

sudo systemctl stop rpcbind.socket
sudo systemctl disable rpcbind.socket
taliezin
la source
1
Je n'ai pas vu ce message lorsque je l'ai testé moi-même. Je pense que le problème est rpcbind.service n'est pas activé ou démarré en premier lieu (par défaut, et à moins qu'il ne soit activé)? Il voit donc que le service est déjà désactivé et se termine avant d'atteindre le message. Devrait probablement être amélioré.
sourcejedi
Correction: je n'ai pas vu ce message car j'ai seulement couru disable. Le message apparaît uniquement stop(et il apparaît si le service est déjà arrêté). Je peux toujours faire preuve d'empathie, mais je ne sais pas quelle serait la meilleure façon d'améliorer cette expérience.
sourcejedi
8

C'est l'activation du socket :). Et tu avais raison de te méfier.

Vous devez désactiver rpcbind.socket. La désactivation rpcbind.service- ce qui systemctl disable rpcbindsuppose - n'a aucun effet.

De plus, l' disableici n'affectera que ce qui se passe au démarrage. Donc, si vous souhaitez voir un changement immédiat, vous devez également exécuter systemctl stop rpcbind.socket.

EDIT: Cette question me ressemble beaucoup. Jeff Schaller souligne que vous pouvez utiliser la commande systemctl list-socketspour voir les ports et les services qui systemdimplémentent l'activation de socket.


Je suis retourné et j'ai regardé Fedora-Workstation-Live-x86_64-25-1.3.iso.

L'état de rpcbind.service s'affiche indirect; vendor preset; disabled. (Aussi Active: inactive (dead)). Il est donc clair que la désactivation (ou l'arrêt) ne changerait rien.

Je suppose que l' indirectici est un indice pour rechercher d'autres unités qui activent celle-ci (y compris, mais sans s'y limiter, les unités de prise). Une fois que la prise est également arrêtée, elle passe de indirectà disabled.

La partie étrange est que l' unité de prise apparaît comme enabled; vendor preset: disabled. Cela signifie que quelque chose a activé rpcbind.socket dans l'image Fedora 25, mais il n'a pas été activé par /lib/systemd/system-preset/80-workstation.presetou 90-default.preset. Cela semble aller à l'encontre de la politique (actuelle) sur https://fedoraproject.org/wiki/Packaging:DefaultServices qui est liée à 90-default.preset -

Si le service doit être activé par défaut, il doit être ajouté à l'un des fichiers de préconfigurations de distribution.

Cela a été résolu à un moment donné. rpcbind.socketn'est plus activé dans Fedora-Workstation-Live-x86_64-28-1.1.iso.

(Cela ne signifie pas que rpcbind / port 111 est automatiquement accessible depuis le réseau sur les systèmes installés à partir d'un disque Fedora 25. L'installation comprend également un pare - feu qui n'autorise pas le port 111)

sourcejedi
la source
Merci @sourcejedi. Désactivation sunrpcet rpcbindn'a pas arrêté l'auditeur.
@jww Vous devez désactiver rpcbind.socket. La désactivation de rpcbind.service ne fait rien.
sourcejedi
Merci @sourcejedi. Je dois me mettre au travail donc je n'ai pas le temps de creuser plus profondément en ce moment. Vous avez obtenu mon vote positif. Pourquoi les gens pensent-ils que c'est une bonne idée de casser des processus simples qui existent
2
Ou xkcd.com/1172
gsc
1
L'activation de @jww Socket est l'une de mes fonctionnalités système les moins défavorisées; cela fait beaucoup de sens. (Ce qui n'a pas de sens, c'est qu'ils soient classés séparément des services normaux)
user253751
4

Le port 111 est lié à portmap . Si vous utilisez NFS, vous en aurez probablement besoin. Vous pouvez utiliser systemctl -a | grep -E "rpc|port"pour voir le nom du service correspondant et le désactiver (je n'ai pas accès à une boîte Fedora à l'époque).

Schaiba
la source
1
Un peu bruyant à regarder - 13 lignes de sortie, et la sortie souffre de ne pas pouvoir accéder directement au tty.
sourcejedi
0

Ce port est activé par le nfsservice, installé à partir du nfs-utilspackage. Si vous n'en avez pas besoin, vous feriez mieux de le désinstaller. nfs-utilset iscsi-initiator-utilssont généralement installés en tant que dépendances du libvirtpackage. Les deux packages activent de nombreux services et sockets que vous n'auriez peut-être pas souhaités. Ces commandes peuvent être utilisées afin de désactiver nfset de iscsi-initiator-utilsservices.

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
user3766846
la source