Fedora 25 e disabilitando tutto ciò che è in ascolto sulla porta 111


9

Ho una workstation autonoma Fedora 25 x86_64. Qualcosa è in ascolto sulla porta 111 (identificato con una scansione 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

Ho disabilitato l'attrezzatura Sun sulla porta con i seguenti comandi:

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

Dopo il riavvio, la porta è ancora aperta.

Sembra che qualcosa di diverso da Sun Gear voglia ascoltare sulla porta 111. O forse systemdnon rispetta i miei desideri di disabilitare il servizio inutilizzato. O forse qualcos'altro ...

Come faccio a determinare cosa sta provando ad ascoltare sulla porta e come posso disabilitarlo?


Da sotto:

$ 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

Risposte:


8

Quando si esegue sudo systemctl disable rpcbindsu Fedora 25penso che ci sia un avvertimento:

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

Quindi puoi provare a seguire:

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

1
Non ho visto quel messaggio mentre lo stavo testando da solo. Penso che il problema sia rpcbind.service non è abilitato o avviato in primo luogo (per impostazione predefinita e a meno che non venga attivato)? Quindi vede che il servizio è già disabilitato e termina prima di raggiungere il messaggio. Probabilmente dovrebbe essere migliorato.
sourcejedi

Correzione: non ho visto quel messaggio perché ho solo eseguito disable. Il messaggio appare solo su stop(e appare se il servizio è già stato arrestato). Posso ancora entrare in empatia, ma non sono sicuro di quale sarebbe il modo migliore per migliorare questa esperienza.
sourcejedi

8

È l'attivazione socket :). E avevi ragione a essere sospettoso.

Devi disabilitare rpcbind.socket. La disabilitazione rpcbind.service- che è ciò che systemctl disable rpcbindpresuppone - non ha alcun effetto.

Inoltre, disablequi influirà solo su ciò che accade all'avvio. Quindi, se vuoi vedere un cambiamento immediato, vuoi anche correre systemctl stop rpcbind.socket.

EDIT: Questa domanda è molto simile a me. Jeff Schaller sottolinea che è possibile utilizzare il comando systemctl list-socketsper visualizzare le porte e i servizi per i quali systemdè in corso l'attivazione del socket.


Sono tornato e ho dato un'occhiata Fedora-Workstation-Live-x86_64-25-1.3.iso.

Lo stato di rpcbind.service mostra indirect; vendor preset; disabled. (Anche Active: inactive (dead)). Quindi è chiaro che disabilitando (o arrestando) di nuovo non cambierebbe nulla.

Immagino che indirectqui sia un suggerimento per cercare altre unità che attivano questa (incluse ma non limitate alle unità socket). Una volta arrestata anche l'unità presa, cambia da indirecta disabled.

La parte strana è che l' unità presa mostra come enabled; vendor preset: disabled. Questo significa che qualcosa ha abilitato rpcbind.socket nell'immagine Fedora 25, ma non è stato abilitato da /lib/systemd/system-preset/80-workstation.preseto 90-default.preset. Questo sembra andare contro la (corrente) politica su https://fedoraproject.org/wiki/Packaging:DefaultServices a cui è collegato da 90-default.preset -

Se il servizio deve essere abilitato per impostazione predefinita, deve essere aggiunto a uno dei file delle preimpostazioni di distribuzione.

Questo è stato risolto ad un certo punto. rpcbind.socketnon è più abilitato in Fedora-Workstation-Live-x86_64-28-1.1.iso.

(Ciò non significa che rpcbind / port 111 sia automaticamente accessibile dalla rete su sistemi installati da un disco Fedora 25. L'installazione include anche un firewall che non consente la porta 111)


Grazie @sourcejedi. Disabilitando sunrpce rpcbindnon ha fermato l'ascoltatore.

@jww Devi disabilitare rpcbind.socket. La disabilitazione di rpcbind.service non fa nulla.
sourcejedi

Grazie @sourcejedi. Devo andare al lavoro, quindi non ho tempo di scavare in questo più profondo adesso. Hai ottenuto il mio voto. Perché le persone pensano che sia una buona idea rompere i processi semplici che sono in circolazione da anni e hanno sempre "appena funzionato" ... xkcd.com/927

2
Oppure xkcd.com/1172
gsc

1
@jww L'attivazione di Socket è una delle mie funzionalità di systemd meno sfavorevoli; in realtà ha molto senso. (Ciò che non ha senso è che siano classificati separatamente ai normali servizi)
user253751

4

La porta 111 è collegata alla portmap . Se usi le possibilità di NFS, ne avrai bisogno. Puoi usare systemctl -a | grep -E "rpc|port"per vedere il nome del servizio corrispondente e disabilitarlo (al momento non ho accesso a una casella Fedora).


1
Un po 'rumoroso da guardare - 13 righe di output, e l'output soffre di non essere in grado di accedere direttamente a tty.
sourcejedi

0

Questa porta è attivata dal nfsservizio, installata dal nfs-utilspacchetto. Se non ti serve, è meglio disinstallarlo. nfs-utilse di iscsi-initiator-utilssolito sono installati come dipendenze del libvirtpacchetto. Entrambi i pacchetti attivano numerosi servizi e socket che potresti non desiderare. Questi comandi possono essere utilizzati per disabilitare nfse iscsi-initiator-utilsservizi.

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.