RPC Port 111 offen - wie man ihn schließt

Aus Glaskugel
Zur Navigation springen Zur Suche springen

Allgemein / Das Problem

Das BSI versendet in letzter Zeit E-Mails an Anbieter und Besitzer von Servern, bei denen ein offener Port 111 festgestellt wird:

Sehr geehrte Damen und Herren,
der Portmapper-Dienst (portmap, rpcbind) wird benötigt, um RPC-Anfragen
(Remote Procedure Calls) dem korrekten Dienst zuzuordnen. Der Portmapper-
Dienst wird u.a. für Netzwerkfreigaben über das Network File System (NFS)
benötigt. Der Portmapper-Dienst verwendet Port 111 tcp/udp [1].
Ein aus dem Internet erreichbarer offener Portmapper-Dienst kann von einem
Angreifer zur Durchfhrung von DDoS-Reflection/Amplification-Angriffen
missbraucht werden. Weiterhin kann ein Angreifer darüber Informationen
über das Netzwerk erlangen, wie z.B. laufende RPC-Dienste oder vorhandene
Netzwerkfreigaben. [...]

Woher kommt die Information das mein RPC Port 111 offen ist?

Die Shadowserver Foundation (https://portmapperscan.shadowserver.org/) ist ein Projekt das nach dem offenen RPC Port 111 auf Servern im Internet schaut. Der Port 111 wird meistens über das Protokoll UDP für DDoS (Distributed Denial of Service) Angriffe genutzt. Leider ist er deshalb etwas in Verruf geraten, denn eigentlich hat er einen realen Nutzen.

Wofür wird der RPC Port 111 genutzt?

Der RPC Port 111 wird u.a. für die dynamische Portverwaltung der Dienste für remote Anfragen verwendet. Die bekanntesten Dienste die den RPC nutzen sind NFS (Network-File-System) und NIS (Network Information Service). Diese werden auf den meisten Servern jedoch gar nicht verwendet bzw. schon gar nicht nach außen ins Internet publiziert. Der Port lauscht zudem auf Netzwerkprotokollen TCP und UDP Anfragen von außen.

Prüfen ob der Port auf dem Server offen ist

rpcinfo -p

Output könnte wie folgt aussehen:

program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 33945 status
100024 1 tcp 34786 status

Prüfen ob der Port 111 aus dem Internet erreichbar ist

Hier als Beispiel für den Server "anna.estugo.de"

nmap -sT -p 111 anna.estugo.de

Möglicher Output (bei Filterung durch IP-Tables/Firewall):

Starting Nmap 6.40 ( http://nmap.org ) at 2019-03-06 12:04 CET
Nmap scan report for anna.estugo.de (37.218.252.113)
Host is up (0.000098s latency).
PORT STATE SERVICE
111/tcp filtered rpcbind

oder auch (bei Deaktiviertem Service):

Starting Nmap 6.40 ( http://nmap.org ) at 2019-03-06 12:05 CET
Nmap scan report for anna.estugo.de (37.218.252.113)
Host is up (0.00018s latency).
PORT STATE SERVICE
111/tcp closed rpcbind

Beenden und ausschalten des RPC Port 111

Wer den Dienst gar nicht braucht, der kann ihn stoppen / beenden des RPC Port 111:

service rpcbind stop

und ausschalten, damit er nach dem nächsten Reboot nicht automatisch startet:

systemctl disable rpcbind

Er kann, sofern nicht benötigt, auch deinstalliert werden:

yum remove rpcbind