Fedora 25 e desativando o que estiver escutando na porta 111

9

Eu tenho uma estação de trabalho autônoma Fedora 25 x86_64. Algo está escutando na porta 111 (identificada com uma varredura 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

Desativei a engrenagem Sun na porta com os seguintes comandos:

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

Após a reinicialização, a porta ainda está aberta.

Parece que algo diferente do equipamento Sun quer ouvir na porta 111. Ou talvez systemdnão esteja respeitando meus desejos de desativar o serviço não utilizado. Ou talvez algo mais ...

Como determino o que está tentando escutar na porta e como desabilitá-la?


De baixo:

$ 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

fonte

Respostas:

8

Quando você executa sudo systemctl disable rpcbindem Fedora 25que eu acho que há um aviso:

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

Então você pode tentar o seguinte:

sudo systemctl stop rpcbind.socket
sudo systemctl disable rpcbind.socket
taliezin
fonte
1
Eu não vi essa mensagem quando a estava testando. Eu acho que o problema é rpcbind.service não está ativado ou iniciado em primeiro lugar (por padrão, e a menos que seja ativado)? Portanto, ele vê que o serviço já está desativado e termina antes de chegar à mensagem. Provavelmente deve ser melhorado.
sourcejedi
Correção: não vi essa mensagem porque apenas corri disable. A mensagem aparece apenas stop(e aparece se o serviço já estiver parado). Ainda posso ter empatia, mas não tenho certeza de qual seria a melhor maneira de melhorar essa experiência.
sourcejedi
8

É ativação do soquete :). E você estava certo em suspeitar.

Você precisa desativar rpcbind.socket. Desativar rpcbind.service- que é o que systemctl disable rpcbindassume - não tem efeito.

Além disso, o disableaqui afetará apenas o que acontece no momento da inicialização. Portanto, se você deseja ver uma alteração imediata, também deseja executar systemctl stop rpcbind.socket.

Edição: Esta pergunta parece muito semelhante a mim. Jeff Schaller aponta que você pode usar o comando systemctl list-socketspara ver as portas e serviços para os quais systemdestá implementando a ativação do soquete.


Voltei e dei uma olhada Fedora-Workstation-Live-x86_64-25-1.3.iso.

O status do rpcbind.service é exibido indirect; vendor preset; disabled. (Também Active: inactive (dead)). Portanto, é claro que desativar (ou parar) novamente não mudaria nada.

Acho que indirectaqui está uma dica para procurar outras unidades que ativam essa (incluindo, mas não se limitando, às unidades de soquete). Quando a unidade de soquete também é parada, ela muda de indirectpara disabled.

A parte estranha é que a unidade de soquete mostra como enabled; vendor preset: disabled. Isso significa que algo ativou o rpcbind.socket na imagem do Fedora 25, mas não foi ativado por /lib/systemd/system-preset/80-workstation.presetou 90-default.preset. Isso parece ir contra a política (atual) em https://fedoraproject.org/wiki/Packaging:DefaultServices, que está vinculada a 90-default.preset -

Se o serviço deve ser ativado por padrão, ele deve ser adicionado a um dos arquivos de predefinições de distribuição.

Isso foi resolvido em algum momento. rpcbind.socketnão está mais ativado no Fedora-Workstation-Live-x86_64-28-1.1.iso.

(Isso não significa que o rpcbind / port 111 seja automaticamente acessível a partir da rede nos sistemas instalados a partir de um disco do Fedora 25. A instalação também inclui um firewall que não permite a porta 111)

sourcejedi
fonte
Obrigado @sourcejedi. Desativando sunrpce rpcbindnão parou o ouvinte.
@jww você precisa desativar rpcbind.socket. Desabilitar o rpcbind.service não faz nada.
precisa saber é o seguinte
Obrigado @sourcejedi. Tenho que trabalhar, para não ter tempo de aprofundar isso agora. Você recebeu meu voto. Por que as pessoas acho que é uma boa idéia para quebrar processos simples que já existem há anos e sempre "apenas trabalharam" ... xkcd.com/927
2
Ou xkcd.com/1172
gsc,
1
@jww A ativação do soquete é um dos meus recursos menos favoráveis ​​do systemd; na verdade, faz muito sentido. (O que não faz sentido é que eles sejam classificados separadamente aos serviços normais)
user253751
4

A porta 111 está vinculada ao portmap . Se você usa o NFS, provavelmente precisará dele. Você pode usar systemctl -a | grep -E "rpc|port"para ver o nome do serviço correspondente e desativá-lo (não tenho acesso a uma caixa do Fedora no momento).

Schaiba
fonte
1
Meio barulhento de se olhar - 13 linhas de saída, e a saída sofre por não poder acessar o tty diretamente.
precisa saber é o seguinte
0

Essa porta é ativada pelo nfsserviço, instalado a partir do nfs-utilspacote. Se você não precisar, é melhor desinstalá-lo. nfs-utilse iscsi-initiator-utilsgeralmente são instalados como dependências do libvirtpacote. Ambos os pacotes ativam diversos serviços e soquetes que você talvez não desejasse. Estes comandos podem ser usados ​​para desativar nfse iscsi-initiator-utilsserviços.

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
fonte