Menü Schließen

Debian RPC Port 111 offen

Unix Shell

Ein Bekannter hat eine E-Mai vom BSI (Bundesamt für Sicherheit in der Informationstechnik) erhalten. In dieser wurde er über den offenen RPC Port 111 auf seinem Server hingewiesen. Seine Fragen dazu:

  • Was hat es damit auf sich?
  • Habe ich ein Sicherheitsproblem auf meinem Server?
  • Muss ich reagieren?
  • Was muss ich auf meinem Server machen, damit der Port geschlossen bzw. gesichert wird?

Nachfolgend versuche ich diese grob zu beantworten.

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.

Wie kann ich den RPC Port 111 schließen?

Das schließe des Port 111 ist relativ einfach. Voher sollte jedoch jeder für sich prüfen, ob er z.B. die oben genannten Dienste nicht braucht und nachfolgende Schritte ggf. nicht ausführen. Sprich, wenn du NIS und oder NFS von deinem Server über RPC ins Internet frei gibst, weil du es für deine Anwendungen brauchst, dann sollte der Port 111 auch weiterhin offen bleiben. ! Allerdings solle er abgesichert werden. ! Dies kann z.B. durch eine Firewall, VPN oder IPTables erfolgen.

Prüfen ob der Port auf dem Server offen ist

# rpcinfo -p
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 RPC Port 111 aus dem Internet erreichbar ist

Debian Netcat scan nach offenen Ports

Das Ergebnis könnte wie folgt aussehen: # nc: IP-Adresse 111 open

RPC Port 111 mittels IP-Tables erlauben

Möchte man RPC im internen Netzwerk nutzen aber von außen verbieten, dann kann man dies wei nachfolgend mittels iptables umsetzen: Der RPC Port 111 wird für localhost dem gesamten LAN 192.168.0.0/24 erlaubt, jedoch für alle anderen ohne Rückmeldung verworfen = DROP:

bis Debian Wheezy (Unterschied Ausrufezeichen):

# iptables -A INPUT -p tcp -s! 192.168.0.0/24 --dport 111 -j DROP

für IPv6 entsprechend:

# ip6tables -A INPUT -p tcp -s! IPv6-Adresse --dport 111 -j DROP
# ip6tables -A INPUT -p tcp -s IPv6-Adresse --dport 111 -j ACCEPT

und für UDP

# iptables -A INPUT -p udp -s! 192.168.0.0/24 --dport 111 -j DROP
# ip6tables -A INPUT -p udp -s! IPv6-Adresse --dport 111 -j DROP

ab Debian Jessie (Unterschied Ausrufezeichen):
# iptables -A INPUT -p tcp !-s 127.0.0.1 --dport 111 -j DROP

für IPv6 entsprechend:

# ip6tables -A INPUT -p tcp ! -s IPv6-Adresse --dport 111 -j DROP
# ip6tables -A INPUT -p tcp -s IPv6-Adresse --dport 111 -j ACCEPT

und für UDP

# iptables -A INPUT -p udp ! -s 192.168.0.0/24 --dport 111 -j DROP
# ip6tables -A INPUT -p udp -s! IPv6-Adresse --dport 111 -j DROP

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: # apt-get remove rpcbind

Danach sieht die RPC Protanfrage auf 111 wie folgt aus:

nc: cannot connect to IP-Adresse 111: Verbindungsaufbau abgelehnt
nc: unable to connect to address IP-Adresse, service 111

E-Mail BSI als Hinweis und Information zum offenen RPC Port 111

Sehr geehrte Damen und Herren,

der Portmapper-Dienst (portmap, rpcbind) wird bentigt, um RPC-Anfragen
(Remote Procedure Calls) dem korrekten Dienst zuzuordnen. Der Portmapper-
Dienst wird u.a. fr Netzwerkfreigaben ber das Network File System (NFS)
bentigt. 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 darber Informationen
ber das Netzwerk erlangen, wie z.B. laufende RPC-Dienste oder vorhandene
Netzwerkfreigaben.

In den letzten Monaten wurden Systeme, welche Anfragen aus dem Internet
an den Portmapper-Dienst beantworten, zunehmend zur Durchfhrung von
DDoS-Reflection/Amplification-Angriffen missbraucht [2].

Im Rahmen des Shadowserver ‚Open Portmapper Scanning Projects‘ werden
Systeme identifiziert, welche Anfragen an den Portmapper-Dienst aus dem
Internet beantworten. Diese Systeme knnen fr DDoS-Angriffe missbraucht
werden, sofern keine anderen Gegenmanahmen implementiert wurden.

CERT-Bund erhlt von Shadowserver die Testergebnisse fr IP-Adressen in
Deutschland, um betroffene Systembetreiber benachrichtigen zu knnen.
Weitere Informationen zu den von Shadowserver durchgefhrten Tests
finden Sie unter [3].

Nachfolgend senden wir Ihnen eine Liste betroffener Systeme in Ihrem
Netzbereich. Der Zeitstempel gibt an, wann das System geprft wurde und
eine Anfrage an den Portmapper-Dienst aus dem Internet beantwortet hat.

Wir mchten Sie bitten, den Sachverhalt zu prfen und Manahmen zur
Absicherung der Portmapper-Dienste auf den betroffenen Systemen zu
ergreifen bzw. Ihre Kunden entsprechend zu informieren.

Falls Sie krzlich bereits Gegenmanahmen getroffen haben und diese
Benachrichtigung erneut erhalten, beachten Sie bitten den angegebenen
Zeitstempel. Wurde die Gegenmanahme erfolgreich umgesetzt, sollten
Sie keine Benachrichtigung mit einem Zeitstempel nach der Umsetzung
mehr erhalten.

4 Kommentare

  1. dean2k8

    iptables -A INPUT -p tcp -s! 192.168.0.0/24 –dport 111 -j DROP
    Bad argument `192.168.0.0/24′
    Try `iptables -h‘ or ‚iptables –help‘ for more information.

    debian jessie

    wie löse ich das ?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert