Fedora 25 i wyłączanie wszystkiego, co nasłuchuje na porcie 111


9

Mam samodzielną stację roboczą Fedora 25 x86_64. Coś nasłuchuje na porcie 111 (identyfikowanym przez skanowanie 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

Wyłączyłem sprzęt Sun na porcie za pomocą następujących poleceń:

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

Po ponownym uruchomieniu port jest nadal otwarty.

Wygląda na to, że inny sprzęt niż Sun chce nasłuchiwać na porcie 111. A może systemdnie szanuje moich życzeń wyłączenia nieużywanej usługi. A może coś innego ...

Jak określić, co próbuje nasłuchiwać na porcie i jak to wyłączyć?


Od dołu:

$ 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

Odpowiedzi:


8

Kiedy biegniesz sudo systemctl disable rpcbinddalej Fedora 25, myślę, że jest ostrzeżenie:

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

Możesz więc spróbować:

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

1
Nie widziałem tego komunikatu, kiedy sam go testowałem. Myślę, że problem polega na tym, że rpcbind.service nie jest włączony lub uruchomiony w pierwszej kolejności (domyślnie i chyba że zostanie aktywowany)? Widzi więc, że usługa jest już wyłączona i kończy się przed dotarciem do wiadomości. Prawdopodobnie powinien zostać poprawiony.
sourcejedi

Korekta: Nie widziałem tej wiadomości, ponieważ tylko biegłem disable. Komunikat pojawia się tylko na stop(i pojawia się, jeśli usługa jest już zatrzymana). Nadal potrafię wczuć się, ale nie jestem pewien, jaki byłby najlepszy sposób na poprawę tego doświadczenia.
sourcejedi

8

To aktywacja gniazda :). I miałeś rację, że jesteś podejrzliwy.

Musisz wyłączyć rpcbind.socket. Wyłączenie rpcbind.service- co systemctl disable rpcbindzakłada - nie ma żadnego efektu.

Tutaj również disablebędzie miało wpływ tylko to, co dzieje się w czasie uruchamiania. Więc jeśli chcesz zobaczyć natychmiastową zmianę, również chcesz uruchomić systemctl stop rpcbind.socket.

EDYCJA: To pytanie wygląda bardzo podobnie do mnie. Jeff Schaller wskazuje, że możesz użyć tego polecenia systemctl list-sockets, aby zobaczyć porty i usługi, które systemdimplementują aktywację gniazd.


Wróciłem i spojrzałem Fedora-Workstation-Live-x86_64-25-1.3.iso.

Status rpcbind.service pokazuje indirect; vendor preset; disabled. (Również Active: inactive (dead)). Jest więc jasne, że wyłączenie (lub zatrzymanie) ponownie niczego nie zmieni.

Myślę, że indirecttutaj jest wskazówka, aby szukać innych jednostek, które aktywują tę (w tym między innymi jednostki gniazd). Po zatrzymaniu gniazda również zmienia się z indirectna disabled.

Dziwne jest to, że jednostka gniazda pokazuje jako enabled; vendor preset: disabled. Oznacza to, że coś włączyło rpcbind.socket w obrazie Fedory 25, ale nie zostało włączone przez /lib/systemd/system-preset/80-workstation.presetlub 90-default.preset. Wygląda to na sprzeczne z (obecną) polityką na https://fedoraproject.org/wiki/Packaging:DefaultServices, do której prowadzi link z 90-default.preset -

Jeśli usługa powinna być domyślnie włączona, należy ją dodać do jednego z plików predefiniowanych dystrybucji.

W pewnym momencie problem został rozwiązany. rpcbind.socketnie jest już włączony w Fedora-Workstation-Live-x86_64-28-1.1.iso.

(Nie oznacza to, że rpcbind / port 111 jest automatycznie dostępny z sieci w systemach zainstalowanych z dysku Fedory 25. Instalacja obejmuje również zaporę ogniową, która nie zezwala na port 111)


Dzięki @sourcejedi. Wyłączenie sunrpci rpcbindnie zatrzymało nasłuchującego.

@jww Musisz wyłączyć rpcbind.socket. Wyłączenie rpcbind.service nic nie robi.
sourcejedi

Dzięki @sourcejedi. Muszę zabrać się do pracy, więc nie mam teraz czasu, aby zagłębić się w to głębiej. Masz moje poparcie. Dlaczego ludzie myślą, że dobrym pomysłem jest przełamywanie prostych procesów, które istnieją od lat i zawsze „po prostu działały” ... xkcd.com/927


1
@jww Aktywacja gniazda jest jedną z moich najmniej uprzywilejowanych funkcji systemowych; to naprawdę ma sens. (Nie ma sensu klasyfikować ich oddzielnie do normalnych usług)
user253751

4

Port 111 jest połączony z portmap . Jeśli wykorzystasz szanse NFS, będziesz go potrzebować. Możesz użyć, systemctl -a | grep -E "rpc|port"aby zobaczyć nazwę odpowiedniej usługi i wyłączyć ją (nie mam wtedy dostępu do skrzynki Fedory).


1
Niby hałaśliwe do przejrzenia - 13 linii wyjściowych, a wyjście cierpi z powodu niemożności bezpośredniego dostępu do tty.
sourcejedi

0

Ten port jest aktywowany przez nfsusługę zainstalowaną z nfs-utilspakietu. Jeśli nie potrzebujesz, lepiej go odinstaluj. nfs-utilsi iscsi-initiator-utilszwykle są instalowane jako zależności libvirtpakietu. Oba pakiety aktywują wiele usług i gniazd, których być może nie chciałeś. Tych poleceń można używać do wyłączania nfsi iscsi-initiator-utilsusług.

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.