Anzeige:
Ergebnis 1 bis 10 von 10

Thema: rpcbind - Offenen Portmapper schließen

  1. #1
    Registrierter Benutzer
    Registriert seit
    Jul 2008
    Beiträge
    145

    rpcbind - Offenen Portmapper schließen

    Hallo

    auf meinem Rootserver (Ubuntu 14.04 LTS) habe ich von meinem Provider eine automatische Mitteilung erhalten, dass ich einen offenen Portmapper (auf Port 111) unterhalte. Der sei von außen erreichbar.
    Ich habe dann gleich geschaut und gesehen, dass ich rpcbind auf dem Server laufen habe, den ich vermutlich gar nicht brauche und mal mit dem nfs-common Paket installiert hatte, das ich vermutlich mal installiert hatte.
    rpcbind hat bei mir aber keine Konfiguration, es wird über init.d gestartet wo ich ff. lese:

    Code:
    #!/bin/sh
    #
    # start/stop rpcbind daemon.
    
    ### BEGIN INIT INFO
    # Provides:          rpcbind
    # Required-Start:    $network $local_fs
    # Required-Stop:     $network $local_fs
    # Default-Start:     S
    # Default-Stop:      0 1 6
    # Short-Description: RPC portmapper replacement
    # Description:       rpcbind is a server that converts RPC (Remote
    #                    Procedure Call) program numbers into DARPA
    #                    protocol port numbers. It must be running in
    #                    order to make RPC calls. Services that use
    #                    RPC include NFS and NIS.
    ### END INIT INFO
    
    test -f /sbin/rpcbind || exit 0
    
    . /lib/lsb/init-functions
    
    OPTIONS="-w"
    STATEDIR=/run/rpcbind
    PIDFILE=/run/rpcbind.pid
    
    if [ -f /etc/default/rpcbind ]
    then
        . /etc/default/rpcbind
    elif [ -f /etc/rpcbind.conf ]
    then
        . /etc/rpcbind.conf
    fi
    
    start ()
    {
        if [ ! -d $STATEDIR ] ; then
            mkdir $STATEDIR
        fi
        if [ ! -O $STATEDIR ] ; then
            log_begin_msg "$STATEDIR not owned by root"
            log_end_msg 1
            exit 1
        fi
        if [ ! -f $STATEDIR/rpcbind.xdr ]
        then
            touch $STATEDIR/rpcbind.xdr
        fi
        if [ ! -f $STATEDIR/portmap.xdr ]
        then
            touch $STATEDIR/portmap.xdr
        fi
        [ -x /sbin/restorecon ] && /sbin/restorecon $STATEDIR/*.xdr
        pid=$( pidofproc /sbin/rpcbind )
        if [ -n "$pid" ]
        then
            log_action_msg "Already running: rcpbind"
            exit 0
        fi
        log_begin_msg "Starting rpcbind daemon..."
        start-stop-daemon --start --quiet --oknodo --exec /sbin/rpcbind -- "$@"
        pid=$( pidofproc /sbin/rpcbind )
        echo -n "$pid" >"$PIDFILE"
        # /run/sendsigs.omit.d is created by /etc/init.d/mountkernfs.sh
        ln -sf "$PIDFILE" /run/sendsigs.omit.d/rpcbind
        log_end_msg $?
    
    }
    
    stop ()
    {
        log_begin_msg "Stopping rpcbind daemon..."
        start-stop-daemon --stop --quiet --oknodo --exec /sbin/rpcbind
        rm -f "$PIDFILE"
        log_end_msg $?
    }
    
    case "$1" in
        start)
            if init_is_upstart; then
                exit 1
            fi
            start $OPTIONS
            ;;
        stop)
            if init_is_upstart; then
                exit 0
            fi
            stop
            ;;
        restart|force-reload)
            if init_is_upstart; then
                exit 1
            fi
            stop
            start $OPTIONS
            ;;
        status)
            status_of_proc /sbin/rpcbind rpcbind && exit 0 || exit $?
            ;;
        *)
            log_success_msg "Usage: /etc/init.d/rpcbind {start|stop|force-reload|restart|status}"
            exit 1
            ;;
    esac
    
    exit 0
    Weder /etc/rpcbind.conf noch /etc/default/rpcbind sind vorhanden.

    Da ich nicht mehr weiß, warum das wirklich installiert wurde (das /var/log/apt/history hat den Eintrag der Installation schon raus rotiert) und ich nicht experimentieren will, was danach nicht mehr geht, würde ich gerne rpcbind auf lokale Anfragen beschränken, statt es komplett zu deinstallieren.

    Wie geht das?

    Danke

    franc
    Geändert von franc (22.05.17 um 10:21 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.046
    https://www.google.de/search?q=rpcbind+localhost+only meint, die Options-Zeile wäre Dein Freund.
    Ich bin root - ich darf das.

  3. #3
    Elefantenversteher Avatar von florian0285
    Registriert seit
    Jun 2016
    Beiträge
    1.054
    Zitat Zitat von franc Beitrag anzeigen
    Code:
    if [ -f /etc/default/rpcbind ]
    then
        . /etc/default/rpcbind
    elif [ -f /etc/rpcbind.conf ]
    then
        . /etc/rpcbind.conf
    fi
    Weder /etc/rpcbind.conf noch /etc/default/rpcbind sind vorhanden.
    Ich würde sie dann einfach erstellen, immerhin wird das "vorhanden sein" geprüft.

    Dort dann

    Code:
    Options='blabla'
    eintragen.

    Das Init-Script als "Konfigurationsdatei" missbrauchen kann man machen, soll man aber nicht.

    Options: https://linux.die.net/man/8/rpcbind
    Matthäus 7:3 Was siehst du aber den Splitter in deines Bruders Auge, und wirst nicht gewahr des Balkens in deinem Auge?

  4. #4
    Registrierter Benutzer
    Registriert seit
    Jul 2008
    Beiträge
    145
    Das habe ich auch schon gelesen aber keine passende Option gefunden.
    Das -h gilt ja nur für UDP Verbindungen.

    Ich habe schon eine Weile im Netz gesucht, so ist es nicht
    Z.B.
    https://access.redhat.com/solutions/106563
    Ohne Lösung.
    Geändert von franc (22.05.17 um 11:24 Uhr)

  5. #5
    Elefantenversteher Avatar von florian0285
    Registriert seit
    Jun 2016
    Beiträge
    1.054
    Auch wenn sich das aus der Man-Page nicht ergibt soll ein

    Code:
    Options="-i 127.0.0.1"
    geholfen haben.

    https://forum.ubuntuusers.de/post/2008572/

    Da würde ich aber nochmal prüfen ob der dann wirklich nur auf localhost läuft.

    Nachtrag:
    Steht unter 5.13.2 und es wird auf die Datei "portmap" verwisen:
    https://www.debian.org/doc/manuals/s....de.html#s-rpc


    Unter Systemd würde das ganze relativ einfach funktionieren:

    Code:
    rcpbind.socket
    #ListenStream=127.0.0.1:111
    ListenStream=0.0.0.0:111
    #ListenDatagram=127.0.0.1:111
    ListenDatagram=0.0.0.0:111
    Vielleicht solltest du da auch mal xinetd unter die Lupe nehmen.
    Geändert von florian0285 (22.05.17 um 13:47 Uhr)
    Matthäus 7:3 Was siehst du aber den Splitter in deines Bruders Auge, und wirst nicht gewahr des Balkens in deinem Auge?

  6. #6
    Registrierter Benutzer
    Registriert seit
    Jul 2008
    Beiträge
    145
    Zitat Zitat von florian0285 Beitrag anzeigen
    Auch wenn sich das aus der Man-Page nicht ergibt soll ein

    Code:
    Options="-i 127.0.0.1"
    ...
    Vielleicht solltest du da auch mal xinetd unter die Lupe nehmen.
    Das hilft nichts, danach ist rpcbind immer noch auf 0.0.0.0 lauschend.
    xinetd habe ich gar nicht installiert.

    Ich habe mittlerweile rausgefunden, warum ich das Paket damals installiert hatte.
    Es ist für einen Cloudspeicher von netcup, den sogenannten storagespace.
    Damit ich den als dauerhaftes Laufwerk einbinden kann musste ich das folgende tun:

    Code:
    apt-get install nfs-common
    mkdir /mnt/storagespace
    mount -t nfs 1.2.3.4:/vol-12345-1 /mnt/storagespace
    und in /etc/fstab eintragen:
    Code:
    ...
    1.2.3.4:/vol-12345-1      /mnt/storagespace       nfs     defaults        0       0
    Wie ich das verstehe, brauche ich sozusagen nur den Client von rpcbind und nicht den Server.
    Aber wie kriege ich den Server weg?
    Geändert von franc (22.05.17 um 15:00 Uhr)

  7. #7
    Elefantenversteher Avatar von florian0285
    Registriert seit
    Jun 2016
    Beiträge
    1.054
    So wie es aussieht zieht sich das schon seit 2007 durch die Weltgeschichte:

    https://bugs.launchpad.net/ubuntu/+s...d/+bug/1430181

    Zumindest sollte das Problem gelöst sein, wenn du mal auf systemd migrierst

    Im Zweifelsfall kannst du den Dienst ja auch einfach deaktivieren oder Firewall Regen setzen.
    Matthäus 7:3 Was siehst du aber den Splitter in deines Bruders Auge, und wirst nicht gewahr des Balkens in deinem Auge?

  8. #8
    Registrierter Benutzer
    Registriert seit
    Jul 2008
    Beiträge
    145
    Also ich habe mit iptables gesperrt wie mir im netcup Forum empfohlen wurde.
    Jetzt ist der 111 nicht mehr offen und rpcbind überhaupt nicht mehr von außen aufrufbar.

  9. #9
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.810
    Schön, dass du die Lösung gelinkt hast und guter Service vom Provider.
    Merke einfach mal ab und an checken, wer wo lauscht oder besser noch schreien, wenn was unerwartetst lauscht
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  10. #10
    Registrierter Benutzer
    Registriert seit
    Jul 2008
    Beiträge
    145
    Anscheinend fliegt die Regel aber immer wieder raus, ich habe fail2ban im Verdacht, der da auch munter rein schreibt.
    Wie kann ich so eine Regel dauerhaft halten?
    EDIT: nach ein bisschen nachlesen muss ich erkennen, dass das normal ist und ich z.B. iptables-persistent verwenden kann, mit:

    Code:
    *filter
    -A INPUT -s 1.2.3.4/32 -p tcp -m tcp --dport 111 -j ACCEPT
    -A INPUT -s 127.0.0.1/32 -p tcp -m tcp --dport 111 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 111 -j REJECT
    -A INPUT -p udp -m udp --dport 111 -j DROP
    COMMIT
    in die /etc/iptables/rules.v4
    Beim Booten ist das dann als einziges Regelwerk drin.
    Geändert von franc (12.09.17 um 07:25 Uhr)

Ähnliche Themen

  1. rpcbind für was?
    Von timmbo im Forum Linux als Server
    Antworten: 3
    Letzter Beitrag: 30.10.09, 23:27
  2. Samba hat Tag der offenen Tür
    Von Robert1962 im Forum Linux in heterogenen Netzen
    Antworten: 1
    Letzter Beitrag: 19.11.05, 21:21
  3. portmapper
    Von larsb im Forum Sicherheit
    Antworten: 4
    Letzter Beitrag: 15.08.03, 14:42
  4. Portmapper
    Von NeoR7 im Forum Linux in heterogenen Netzen
    Antworten: 15
    Letzter Beitrag: 29.05.02, 19:20
  5. rpc-portmapper
    Von Netguru im Forum Linux als Server
    Antworten: 4
    Letzter Beitrag: 06.03.00, 19:09

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •