RPC Port 111 offen - wie man ihn schließt
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