Fedora 25 및 포트 111에서 수신 대기중인 모든 기능 비활성화


9

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

재부팅 후에도 포트는 여전히 열려 있습니다.

썬 기어가 포트 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

답변:


8

당신이 실행하는 경우 sudo systemctl disable rpcbindFedora 25I 경고가 생각 :

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

따라서 다음을 시도해 볼 수 있습니다.

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

1
직접 테스트 할 때 해당 메시지를 보지 못했습니다. 문제는 rpcbind.service가 처음에 활성화되거나 시작되지 않은 것입니다 (기본적으로 활성화되지 않은 경우)? 따라서 서비스가 이미 비활성화 된 것을 확인하고 메시지에 도달하기 전에 종료됩니다. 아마 개선되어야합니다.
sourcejedi

수정 : 만 실행했기 때문에 해당 메시지가 표시되지 않았습니다 disable. 메시지 만 표시되며 stop서비스가 이미 중지 된 경우에도 나타납니다. 여전히 공감할 수는 있지만이 경험을 향상시키는 가장 좋은 방법은 무엇인지 잘 모르겠습니다.
sourcejedi

8

소켓 활성화입니다 :). 그리고 당신은 의심 할 권리가있었습니다.

비활성화해야합니다 rpcbind.socket. 비활성화 rpcbind.service- 무엇을하는 systemctl disable rpcbind가정하는 것은 - 아무 효과가 없습니다.

또한 disable여기서는 부팅시 발생하는 작업에만 영향을줍니다. 당신이 즉각적인 변화를 볼하려는 경우, 당신은 또한 실행하려는 systemctl stop rpcbind.socket.

편집 : 이 질문 은 나에게 매우 비슷해 보입니다. Jeff Schaller 는 소켓 활성화를 구현 systemctl list-sockets하는 포트 및 서비스를 보려면 명령을 사용할 수 있다고 지적합니다 systemd.


나는 돌아가서 살펴 보았다 Fedora-Workstation-Live-x86_64-25-1.3.iso.

rpcbind.service의 상태가 표시 indirect; vendor preset; disabled됩니다. (또한 Active: inactive (dead)). 따라서 다시 비활성화하거나 중지하면 아무것도 변경되지 않습니다.

indirect여기 에이 장치를 활성화시키는 다른 장치 (소켓 장치를 포함하지만 이에 국한되지 않음)를 찾을 수있는 힌트가 있다고 생각합니다 . 소켓 장치도 정지되면에서 indirect로 변경 됩니다 disabled.

이상한 부분은 소켓 장치가로 표시 된다는 것 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에서 연결된다 -

서비스가 기본적으로 활성화되어 있으면 배포 사전 설정 파일 중 하나에 추가해야합니다.

이것은 어느 시점에서 해결되었습니다. rpcbind.socket에서 더 이상 사용할 수 없습니다 Fedora-Workstation-Live-x86_64-28-1.1.iso.

(이것은 Fedora 25 디스크에서 설치된 시스템의 네트워크에서 rpcbind / 포트 111에 자동으로 액세스 할 수 있다는 의미는 아닙니다. 설치에는 포트 111을 허용하지 않는 방화벽 도 포함됩니다 )


감사합니다 @sourcejedi. 리스너를 비활성화 sunrpc하고 rpcbind중지하지 않았습니다.

@jww rpcbind.socket 을 비활성화해야합니다. rpcbind.service를 비활성화하면 아무 작업도 수행되지 않습니다.
sourcejedi

감사합니다 @sourcejedi. 나는 일을해야해서 지금은 더 깊이 파헤칠 시간이 없다. 당신은 내 공감대를 얻었다. 사람들은 왜 해 동안 항상 "다만 일"한 간단한 프로세스를 중단하는 그것의 좋은 아이디어 ... 생각 xkcd.com/927

2
또는 xkcd.com/1172
gsc

1
@jww 소켓 활성화는 제가 가장 좋아하지 않는 시스템 기능 중 하나입니다. 실제로 많은 의미가 있습니다. (이치에 맞지 않는 것은 일반 서비스와 별도로 분류하는 것입니다)
user253751

4

포트 111은 포트 맵에 연결됩니다 . NFS 기회를 사용하면 필요합니다. 당신은 사용할 수 있습니다 systemctl -a | grep -E "rpc|port"(필자는 시간에 페도라 상자에 액세스 할 수없는) 해당 서비스의 이름을보고 비활성화 할 수 있습니다.


1
시끄러운 종류의 출력-13 줄의 출력으로 인해 출력은 tty에 직접 액세스 할 수 없습니다.
sourcejedi

0

이 포트는 패키지 nfs에서 설치된 서비스에 의해 활성화됩니다 nfs-utils. 필요하지 않으면 제거하는 것이 좋습니다. nfs-utils그리고 iscsi-initiator-utils보통의 종속으로 설치되어있는 libvirt패키지. 두 패키지 모두 원하지 않는 많은 서비스와 소켓을 활성화합니다. 이 명령은 비활성화 nfsiscsi-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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.