SMB-Freigaben mit SuSEfirewall2

Aus Linupedia.org
Wechseln zu: Navigation, Suche

Dies ist die Zusammenfügung des Threades - Anmerkung s.u.: http://www.linux-club.de/viewtopic.php?t=48926 (Der Beitrag sollte vielleicht noch mal überarbeitet werden)


Hier die vorgehensweise zum Konfigurieren der SuSEfirewall2 um auf smb:/ - Freigaben zurückgreifen zu können:

Im Yast2 - Menü unter "Security & Users" -> Firewall auswählen und nach start der Konfigurationsoberfläche im Bereich "Start" die Firewall stoppen. Danach den Bereich "Erlaubte Dienste" aufrufen, dann die Zone auswählen (Standard: "externe Zone") und danach auf "Erweitert" klicken.

Nun unter TCP-Ports UND UDP-Ports folgende Ports angeben:

microsoft-ds netbios-ns netbios-ssn


Danach auf OK klicken, danach auf Weiter und zum Schluss auf Übernehmen klicken.

Jetzt kommt der etwas schwierigere Bereich, den nun muss man mit Root-Rechten (su) im Verzeichnis "/etc/sysconfig/" die Datei "SuSEfirewall2" editieren. Dann nach der Zeichenkette "FW_ALLOW_INCOMING_HIGHPORTS_UDP" suchen und diese umwandeln in:

FW_ALLOW_INCOMING_HIGHPORTS_UDP="yes"


Dann nur noch speichern und die Firewall neu starten. Empfohlen wird aber ein Neustart des kompletten Systems, da es vorkommen kann, das der Konquerer keine Netzwerke oder Rechner anzeigt.

ein paar Anmerkungen dazu:

Für den Zugriff von Linux auf den Win-Rechner mittels smb://IPdesWinRechners ist es NICHT erforderlich das Samba smbd oder nmbd läuft. Ebenfalls braucht man dafür KEINE Ports in der Firewall EDIT INPUT chain EDIT zu öffnen. (Samba sollte aber installiert sein, oder bringt KDE eigene Programme zum Zugriff mit????)

Will man
smb://NetBiosNameWinRechner
benutzen muß der nmbd laufen.
Die Firewall sollte eingehend folgende Pakete EDIT ausschließlich aus dem LAN EDIT annehmen:
UDP/137
UDP/138
Eigentlich sollte bei Installation von Samba über Yast die Firewall richtig eingestellt werden.

Will man das Win-Rechner auf Samba-Shares zugreifen, muß der smbd laufen und eingehend TCP/445 geöffnet sein. EDIT nur aus dem LAN EDIT
TCP/139 braucht man nicht für XP, Win2k und Win2003


Ein Neustart des Rechners ist bei Linux nicht erforderlich. Ein Neustart der Dienste, wenn überhaupt erforderlich, ist vollkommen ausreichend. Das es manchmal so lange dauert liegt am Protokoll und ist kein Samba-Problem, 15 min Wartezeit bis die Windowse sich meldet ist möglich. Abhilfe schafft hier ein WINS-Server, entweder Samba oder für mehrere 100 EUR einen Windows-Server kaufen.

Das ist so auch nicht ganz richtig, denn wenn man IN und OUT Traffic blockiert, muss man die Ports freigeben!

Ich musste für den Zugriff auf meine Windows Rechner in der SuSEfirewall wie beschrieben vorgehen, ansonsten erhält man im Konqueror eine Fehlermeldung das die Firewall evtl. den Zugriff blockiert. Zumindest ist das unter SuSE Linux OSS so [wohlgemerkt Standard installation]! Zu überprüfen wenn man die Firewall deaktiviert funktioniert der Zugriff!

Dazu vielleicht auch mal hier reinschauen, da wird dieses Problem auch für SuSE Linux 10 OSS beschrieben (mehrere URLs gibts hier im Forum, einfach mal danach suchen). Ich benutze SuSE Linux 10.x Alpha! Ohne Konfig blockiert die Firewall alle Ports von innen und außen, wenn man den Adapter auf "extern" stellt!

In der OUTPUT chain filtert man normalerweise nicht, also ist da auch nichts zu öffnen. Es würde mich wundern, wenn die Suse Firewall da rumfiltert. INPUT öffnet man nur für die von mir genannten Ports und ausschließlich für Pakete aus dem LAN. Du meinst wahrscheinlich FORWARD, da hat ein Samba Server aber nichts zu suchen. Samba ist ausschließlich für ein LAN konzipiert.

WIr liegen doch gar nicht so weit entfernt mit unseren Beschreibungen:

Zitat: "Für den Zugriff von Linux auf den Win-Rechner mittels smb://IPdesWinRechners ist es NICHT erforderlich das Samba smbd oder nmbd läuft. Ebenfalls braucht man dafür KEINE Ports in der Firewall EDIT INPUT chain EDIT zu öffnen." (Samba sollte aber installiert sein, oder bringt KDE eigene Programme zum Zugriff mit????)


Samba MUSS NICHT installiert werden, sondern die libsmbclient. Dann kann Konqueror jede smb-Share finden, wenn die Ports konfiguriert sind.

Zitat: "Will man
smb://NetBiosNameWinRechner
benutzen muß der nmbd laufen.
Die Firewall sollte eingehend folgende Pakete EDIT ausschließlich aus dem LAN EDIT annehmen:
UDP/137
UDP/138
Eigentlich sollte bei Installation von Samba über Yast die Firewall richtig eingestellt werden."

Will man das Win-Rechner auf Samba-Shares zugreifen, muß der smbd laufen und eingehend TCP/445 geöffnet sein.
EDIT nur aus dem LAN EDIT
TCP/139 braucht man nicht für XP, Win2k und Win2003


So ähnlich habe ich das doch auch geschrieben, nur das die Netzwerkkarte auf EXTERN geschaltet ist und somit jeden nicht freigegebenen Verkehr abblockt. Will man dann aber mit Konqueror erfolgreich auf die Shares zugreifen, muss man aber die von mir angegebenen Ports öffnen, sowie die Ports > 1024 von außen zulassen, da ein zufälliger Port für die Übertragung genutzt wird.

Warum man alle Ports auf UDP & TCP freigeben muss, bleibt wohl ein geheimnis, da laut Ethereal nur UDP 137 und TCP 445 und ein zufälliger Port > 1024 benutzt werden.

Mit IN und OUT meinte ich nur den Eigehenden und Ausgehenden Traffic, und gute Firewalls können beides erledigen, damit kann man nämlich riguros die Viren- und Trojaner-Verbreitung stoppen. Hier ist auch noch ein link der es so ähnlich beschreibt.

Kde greift auf die libsmbclient zurück, siehe auch man libsmbclient libsmbclient ist Teil im Paket samba-client enthalten

Samba Ports sind wie schon zuvor geschrieben:
UDP/137, UDP/138 und TCP/445

UDP 138 wird für das browsen benötigt, das kann man nicht weglassen.

Weiteres wird nicht benötigt.
TCP/137 und TCP/138 stammt aus uralten MS Dokos die Du findest, wenn Du danach sucht. KEINE Relevanz für > win2k und Samba 3.

Davon abweichende Einstellungen in den Firewall Regeln sind falsch, bzw. unnötig.

Wenn nach Installieren von Samba und konfigurieren der Firewall durch die Suse-GUI smb:/ im Konquerer nicht geht ist irgendwas/irgendwo kaputt.


Ob für Samba zur Zeit Sicherheitslücken vorhanden sind weiß ich nicht, aber ich halte es für falsch in der SuSe Firewall rumzuclicken und damit evtl. den Samba-Server ins Internet zu stellen ohne dieses vorher im Detail geprüft zu haben.

Wer Servies (WEB, FTP, SAMBA, ...) im Internet anbietet sollte schon sehr genau wissen was er tut. SAMBA im Internet halte ich fuer extrem unklug - ausser man benutzt VPNs.

Zur Ursache des Problems siehe:

http://www.linux-club.de/viewtopic.php?t=49021


Man sollte auch noch mal rausstellen, dass es das "Problem" mit libsmbclient bei mehr als einer Netzwerke und spezieller Konfiguration der smb.conf gibt.

https://bugzilla.samba.org/show_bug.cgi?id=3336

Und evtl. noch ein Problem bei Suse 10.? bei der Erzeugung der iptables Befehle durch die Suse-Firewall.

http://www.linux-club.de/viewtopic.php?p=276700#276700

Was mich total verrückt macht ist folgende und bessere/sicherere Konfiguration der SuSEFirewall2 (/etc/sysconfig/SuSEfirewall2):

FW_TRUSTED_NETS="x.x.x.x" (für x.x.x.x die IP Adresse des Windows Rechners angeben, verfeinert kann das mit dem freigeben der IP und den zugelassenen Protokollen/Ports)

Ansonsten keine anderen Änderungen vornehmen!

Danach funktioniert aber NICHT NUR der Zugriff auf den angegebenen Rechner, sondern auf das komplette Subnetz!

Das ist für mich definitiv ein BUG!

Dies ist erst mal die erste Zusammenfassung des Beitrages, und wird von mir noch mal nachgearbeitet. In dem Thread können Verbesserungsvorschläge und Ergänzungen eingebracht werden: http://www.linux-club.de/viewtopic.php?t=48926

Ein weiterer Tipp wäre: http://www.oreilly.de/german/freebooks/samba2ger/ch02.html#951107

Beteiligt waren an dem Beitrag: Panzerfather, Frankie777, framp (Ich mache darauf aufmerksam, dass der Thread von mir nicht verfasst, sondern editiert wurde, und der letzt Link zu Oreilly Buch von mir stammt)--Yehudi 08:32, 18. Aug 2006 (CEST)


Quellen und weiterführende Links


zurück zu Samba