web-dev-qa-db-ja.com

Fedora 25とポート111でリッスンしているものをすべて無効にする

Fedora 25 x86_64スタンドアロンワークステーションを持っています。何かがポート111でリッスンしています(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

次のコマンドを使用して、ポートのSunギアを無効にしました。

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

再起動後もポートは開いたままです。

Sunのギア以外がポート111でリッスンすることを望んでいるようです。あるいは、systemdが未使用のサービスを無効にしたいという私の希望を尊重していない可能性があります。または多分何か...

ポートで何をリッスンしようとしているのかをどのように判断し、どのようにしてそれを無効にしますか?


下から:

$ 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
9
user56041

それはソケットの活性化です:)。そして、あなたは疑わしいことは正しかった。

_rpcbind.socket_を無効にする必要があります。 _rpcbind.service_を無効にしても、これは_systemctl disable rpcbind_が想定していることですが、効果はありません。

また、ここでのdisableは、起動時の動作にのみ影響します。したがって、すぐに変更を確認したい場合は、また_systemctl stop rpcbind.socket_を実行する必要があります。

編集: この質問 は私に非常に似ています。 Jeff Schallerは、_systemdがソケットのアクティブ化を実装しているポートとサービスを確認するために、コマンド_systemctl list-sockets_を使用できることを指摘しています。


私は戻って_Fedora-Workstation-Live-x86_64-25-1.3.iso_を見ました。

Rpcbind.serviceのステータスは_indirect; vendor preset; disabled_を示します。 (また、Active: inactive (dead))。したがって、無効化(または停止)しても、何も変更されないことは明らかです。

ここでindirectは、これをアクティブにする他のユニット(ソケットユニットを含むがこれに限定されない)を探すためのヒントだと思います。ソケットユニットも停止すると、indirectからdisabledに変わります。

奇妙な部分は、socketユニットが_enabled; vendor preset: disabled_と表示されることです。これは、Fedora 25イメージで何かがrpcbind.socketを有効にしたが、_/lib/systemd/system-preset/80-workstation.preset_または_90-default.preset_によって有効にされなかったことを意味します。これは https://fedoraproject.org/wiki/Packaging:DefaultServices の(現在の)ポリシーに違反しているようです。これは90-default.presetからリンクされています-

サービスをデフォルトで有効にする必要がある場合は、配布プリセットファイルの1つに追加する必要があります。

これはある時点で解決されました。 _rpcbind.socket_で_Fedora-Workstation-Live-x86_64-28-1.1.iso_が無効になりました。

(これは、Fedora 25ディスクからインストールされたシステムのネットワークからrpcbind /ポート111に自動的にアクセスできることを意味しません。インストールには、ポート111を許可しない firewall も含まれます)

8
sourcejedi

このポートは、nfs-utilsパッケージからインストールされたnfsサービスによってアクティブ化されます。必要ない場合は、アンインストールすることをお勧めします。 nfs-utilsおよびiscsi-initiator-utilsは通常、libvirtパッケージの依存関係としてインストールされます。どちらのパッケージも、必要のないサービスやソケットをたくさんアクティブにします。このコマンドは、nfsおよびiscsi-initiator-utilsサービスを無効にするために使用できます。

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
0
user3766846