Kritische Samba Sicherheitslücke (CVE-2021-44142) und EOL NAS / smb.conf

  • Hallo Leute,


    Aufgrund der erst kürzliche bekannt gewordenen kritischen Sicherheitslücke in Samba (CVE-2021-44142) gehe ich davon aus, dass es für die meisten NAS bald neue Firmware geben wird.

    Allerdings wird das wohl für viele Geräte, die noch gut laufen aber EOL sind, wohl nicht zutreffen.

    Wirklich wegwerfen will ich mein TS-669Pro deswegen aber nicht - als Online-Backup ist das schon noch wirklich praktisch.


    Nun ist aber die Empfehlung, bei Geräten bei denen ein Update nicht möglich ist, in der smb.conf Änderungen wie folgt vorzunehmen:


    Falls ein Update noch nicht möglich ist, hilft temporär das Entfernen von fruit aus der Liste der konfigurierten Module in jedweder vfs objects-Zeile in der smb.conf, schreiben die Samba-Entwickler. Im Anschluss an die Änderung muss der Dienst neu gestartet werden, um die neue Konfiguration zu aktivieren.


    Diese Einstellung optimiert wohl den SMB Zugriff für Apple Geräte - nachdem bei mir aber auch keine Apple Geräte (eigentlich nur Mac's - oder auch iOS Geräte?) wirklich auf dieses NAS zugreifen müssen, sollten sich eventuelle Nebeneffekte nicht zu dramatisch auswirken.


    Wenn ich jetzt aber via ssh auf das NAS zugreife, finde ich gleich 3 smb.conf Einträge:



    /mnt/HDA_ROOT/.config/smb.conf

    /etc/default_config/smb.conf

    /etc/smb.conf



    Welche muss ich da nun anpassen um das entsprechend und dauerhaft umzusetzen?


    Gibt es irgendwelche Bedenken das zu tun oder habe ich sonst etwas übersehen?

    Wie geht ihr damit um?


    Vielen lieben Dank!

  • Welche muss ich da nun anpassen um das entsprechend und dauerhaft umzusetzen?

    /mnt/HDA_ROOT/.config/smb.conf

    Die /etc/smb.conf ist ein Link auf obige und die /etc/default_config/smb.conf ist nicht zu ändern, da sie bei jedem Start mit dem RAMFS neu aus dem Flash geladen wird. Sie spielt im laufenden Betrieb aber auch keine Rolle soweit ich das weiß.

  • /mnt/HDA_ROOT/.config/smb.conf


    Hat jemand schon praktische Erfahrung mit dem Editieren von dieser Datei...?

    Geht das ev. nur wenn die SMB Dienste gestoppt sind (d.h. "Enable file service for Microsoft networking" deaktiviert)?


    Sie weigert sich derzeit recht hartnäckig geändert zu werden, ich kann mir weder im /mnt/HDA_ROOT/.config/ eine Backup Datei anlegen, noch kann ich die editierte Datei speichern (auch nicht mit :w!).


    Nachdem ich aber auch eine /mnt/HDA_ROOT/.config/smb.conf.cksum gefunden habe - frage ich mich ob das womöglich noch ein zusätzlicher Schutz ist um Änderungen an der smb.conf zu verhindern.


    Ich will mir das System mit der Aktion auch nicht zerschießen... =O



    Edit 1:


    Mit dem originalen Admin geht das Erstellen von Sicherheitskopien (habe jetzt von smb* jeweils eine Kopie erstellt) und das Bearbeiten der smb.conf.

    Das System startet gerade neu...


    Edit 2:


    Nach dem Neustart ist die Änderung in der smb.conf wieder Rückgängig gemacht worden. ||


    Hat irgendwer da eine Idee...?

    2 Mal editiert, zuletzt von eyetap ()

  • Seufz. Gerade habe ich am Arbeitsplatz noch mit Befriedigung festgestellt, dass keine unserer Samba-Installationen fruit in den VFS Objects stehen hat - und jetzt erwischt mich der CVE privat doch noch.

  • Die lässt sich dann nur per autorun.sh modifizieren.

    Wie diese erstellt wird, kannst du unteranderem hier nachlesen autorun.sh: Wie realisieren (bzw. welche Methode ist aktuell)


    Phewwww... das ist für mich echt harter Tobak - auf diesem Level hatte ich mit Linux noch nie etwas zu tun.

    Ich fürchte, da werde ich noch einiges an Hilfe benötigen....


    Aber ganz grob hab ich verstanden, dass ich die /mnt/HDA_ROOT/.config/.autorun/autorun.sh wie von dir hier angeführt erstellen sollte, dann zB ein /mnt/HDA_ROOT/.config/.autorun/FixSamba.sh erstellen sollte, das durch deine autorun.sh aufgerufen wird (der Stop Teil scheint ja in dem Fall nicht relevant zu sein).


    In der FixSMB.sh sollte dann wohl


    1.) gewartet werden bis der Samba Dienst gestartet wurde (noch keine Ahnung wie ich das machen soll) - Alternative wäre wohl einfach 3 Min oder so zu warten

    2.) der Samba Dienst gestoppt werden

    3.) /mnt/HDA_ROOT/.config/smb.conf durch eine vorbereitete /mnt/HDA_ROOT/.config/smbTemplate.conf ersetzt werden

    4.) der Samba Dienst gestartet werden


    Habe ich das prinzipiell richtig verstanden?



    ==== EDIT =====



    Nach einer langen Nacht und reichlich Haare raufen, scheint es so, als hätte ich einen Weg gefunden die erforderlichen Änderungen "neustartfest" umzusetzen - ohne die verschiedenen Beiträge, insbesondere von dr_mike, hätte ich das nie geschafft.


    Nachdem aber ev. auch andere vor diesem Problem stehen, möchte ich meine Erfahrung hier zusammenfassen:


    Wie oben bereits geschrieben ist es, aufgrund von CVE-2021-44142 bei nicht patchbaren Systemen geraten in der smb.conf aus vfs objects-Zeilen "fruit" zu entfernen.


    Die smb.conf wird aber bei jedem Start bzw Neustart des SMB Dienstes neu geschrieben - offenbar unter Verwendung der

    /etc/init.d/smb.sh - womit dieses Skript adaptiert werden muss.

    (Siehe auch diesen Post)


    Leider wird aber auch die /etc/init.d/smb.sh mit jedem Neustart neu erstellt - d.h. es muss eine autorun Funktionalität geschaffen werden um die erforderlichen Änderungen bei einem Neustart automatisiert vorzunehmen.


    High Level hat bei mir dieser Weg zum Ziel geführt:


    1.) Ziel-Verzeichnis erstellen und hineinwechseln (/mnt/HDA_ROOT/.config/.autorun)

    2.) Korrigierte Hilfsdatei für smb.sh erstellen (/mnt/HDA_ROOT/.config/.autorun/smb.sh.fix)

    3.) Fixing Script (smb_auto_fix.sh) zum Austausch von /etc/init.d/smb.sh mit /mnt/HDA_ROOT/.config/.autorun/smb.sh.fix und Neustart des SMB Dienstes erstellen

    4.) Erstellen der "User" autorun.sh (/mnt/HDA_ROOT/.config/.autorun/autorun.sh) (entsprechend diesem Post von dr_mike )

    5.) Erstellen der "System" autorun.sh (entsprechend dieser Anleitung und diesem Post)

    6.) Testen



    Nachdem ich aber selber daran ewig herum gemurkst getan habe, hier die einzelnen Schritte im Detail:


    1.) Ziel-Verzeichnis erstellen und hineinwechseln (/mnt/HDA_ROOT/.config/.autorun)


    Code
    cd /mnt/HDA_ROOT/.config/
    mkdir .autorun
    cd .autorun


    2.) Korrigierte Hilfsdatei für smb.sh erstellen (/mnt/HDA_ROOT/.config/.autorun/smb.sh.fix)


    Code
    cp /etc/init.d/smb.sh ./smb.sh.fix
    vi /smb.sh.fix

    Erforderliche Änderungen:


    vfs objects = acl_xattr catia fruit qnap_macea streams_depot


    :arrow:


    vfs objects = acl_xattr catia qnap_macea streams_depot


    3.) Fixing Script zum Austausch von /etc/init.d/smb.sh mit /mnt/HDA_ROOT/.config/.autorun/smb.sh.fix und Neustart des SMB Dienstes erstellen



    4.) Erstellen der "User" autorun.sh (/mnt/HDA_ROOT/.config/.autorun/autorun.sh) (entsprechend diesem Post von dr_mike )



    5.) Erstellen der "System" autorun.sh (entsprechend dieser Anleitung und diesem Post von dr_mike )




    6.) Testen


    Für die Kontrolle ob die "SYSTEM"- autorun.sh ausgeführt schreibt das Script von dr_mike ins Kernel- Log(?) (siehe Code Punkt5)


    cat /etc/logs/kmsg


    Zum Verifizieren ob "fruit" in keinem Eintrag der "vfs_module_list" in der smb.sh mehr vorkommt:


    cat /etc/init.d/smb.sh | grep "vfs_module_list" | grep fruit

    (Es sollte kein Eintrag gefunden werden)


    Zum Verifizieren ob "fruit" in keinem Eintrag der "vfsobjects" in der smb.conf mehr vorkommt:


    cat /mnt/HDA_ROOT/.config/smb.conf | grep "vfs objects" | grep fruit

    (Es sollte kein Eintrag gefunden werden)


    Zum Verifizieren ob die Sicherheitskopie von smb.sh richtig erstellt wurde:


    cat /mnt/HDA_ROOT/.config/.autorun/smb.sh.org | grep "vfs_module_list" | grep fruit

    (Hier SOLLTE ein Eintrag gefunden werden)


    Last but not least hilft es natürlich auch das Filedatum der beteiligten Dateien im Auge zu behalten:


    ls -lt /etc/init.d/smb*

    ls -lt /mnt/HDA_ROOT/.config/smb*

    ls -lt /mnt/HDA_ROOT/.config/.autorun/smb*

    Das Entfernen der entsprechenden Einträge und der Restart des SMB Dienstes dauert aber ein paar Minuten!


    Sollte diese Funktionalität deaktiviert werden müssen, sollte es reichen /mnt/HDA_ROOT/.config/.autorun/smb_auto_fix.sh umzubenennen.


    Ich hoffe das wars und es hilft ev. Kollegen hier - und man verzeiht mir - im Sinne einer möglichst vollständigen Darstellung - ev. nicht ganz Etikette-konformes einfügen von fremdem Code, ohne den ich das nie geschafft hätte.


    Ach ja - die Übernahme meiner Vorgehensweise erfolgt auf eignes Risiko - No Na.... ;)


    Für Verbesserungsvorschläge bin ich natürlich dankbar!

    2 Mal editiert, zuletzt von eyetap ()

  • und jetzt erwischt mich der CVE privat doch noch.

    Wenn es privat ist, ist die Lücke idR. nicht kritisch, es sei denn, man ist so doof und gibt den SMB-Port offen ins Internet frei.


    Um die Lücke ausnutzen zu können, muss man Zugriff auf den SMB-Port haben, genauer man muss auf irgendeine Dateifreigabe zugreifen können. Das heißt fast immer, man muss im gleichen LAN sein wie der SMB-Server.


    In privaten Umgebungen ist wenig zu befürchten, dass da jemand die Lücke ausnutzen will. Da dürfte zu den anderen Teilnehmern im LAN genug Vertrauen bestehen.


    Kritisch ist die Lücke in Firmenumgebungen, wo gelangweilte Angestellte versuchen könnten, darüber in ein System zu kommen und Dokumente der Geschäftsführung und des Personalwesens einzusehen.

  • … oder irgendeine Ransomware kombiniert irgendwann das Ausnutzen dieser Lücke mit eine Lücke in einer FritzBox. Die Kombination FritzBox QNap dürfte ausreichend verbreitet sein, damit sich das lohnt.


    Mich lässt das zumindest darüber nachdenken, zwischen FritzBox und LAN noch eine zweite Linie zu ziehen, bevor ich davon ausgehe, dass mein LAN sicher ist.

  • Mod: Unnötiges Volltext-/Direktzitat entfernt! :handbuch::arrow: Forenregeln beachten und Die Zitat Funktion des Forums richtig nutzen

    Wie oben bereits geschrieben ist es, aufgrund von CVE-2021-44142 bei nicht patchbaren Systemen geraten in der smb.conf aus vfs objects-Zeilen "fruit" zu entfernen.


    Dass der SMB Fix fix rauskam war ja auch zu erwarten - daher ist die Übung mit dem manuellen Workaround - wie auch angemerkt - nur bei Systemen sinnvoll, für die es keine Updates mehr gibt.

    Dort denke ich aber doch, dass es kein Fehler ist, das Procedere auf sich zu nehmen...


    Wie du aber auch geschrieben hast, ist das Gefahrenpotential im privaten, abgeschotteten Bereich sicher nicht übermäßig hoch - daher war es sicher sinnvoll auf ein Update zu warten, welches die Lücke gleich mitbereinigt.


    Ich für meinen Teil hoffe derzeit noch auf ein Update in der 4.5.4.x Reihe....

  • Natürlich überleben Einträge in der autorun.sh ein FW Update.

    Wäre schlimm wenn nicht.

    Eine andere Frage ist, ob dieser Eintrag noch notwendig ist oder durch die neue FW schon der Fehler behoben wurde.


    Gruss