Fedora 25 e desabilitando o que estiver escutando na porta 111

9

Eu tenho uma estação de trabalho independente 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 do Sol 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 estará aberta.

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

Como faço para determinar o que está tentando escutar na porta e como desabilitá-lo?

Abaixo:

$ 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
    
por jww 08.06.2017 / 12:23

3 respostas

8

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

Você precisa desabilitar rpcbind.socket . Desabilitar o rpcbind.service (que é o que o systemctl disable rpcbind assume) não tem efeito.

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

EDIT: Esta questão parece muito parecido comigo. Jeff Schaller aponta que você pode usar o comando systemctl list-sockets , para ver as portas e serviços que systemd está implementando a ativação do soquete.

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

O status de rpcbind.service mostra indirect; vendor preset; disabled . (Também Active: inactive (dead) ). Então é claro que desabilitar (ou parar) de novo não mudaria nada.

Eu acho que o indirect aqui é uma dica para procurar outras unidades que ativam este (incluindo mas não se limitando a unidades de soquete). Depois que a unidade de soquete também é interrompida, ela muda de indirect para disabled .

A parte estranha é que a unidade socket é mostrada 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.preset ou 90-default.preset . Isso parece ir contra a política (atual) no link que está vinculado a partir de 90-default.preset -

If the service should be enabled by default, it must be added to one of the distribution presets files.

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

(Isto 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)

    
por 08.06.2017 / 12:48
7

Quando você executa sudo systemctl disable rpcbind on Fedora 25 , acho que há um aviso:

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

Então você pode tentar seguir:

sudo systemctl stop rpcbind.socket
sudo systemctl disable rpcbind.socket
    
por 08.06.2017 / 12:46
4

A porta 111 está vinculada ao portmap . Se você usar as chances do NFS, precisará delas. 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).

    
por 08.06.2017 / 12:37