• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

iptables und Samba

Frankie777

Advanced Hacker
Hallo,

ich habe noch ein Problem mit meinem Paketfilter und Samba Server, Samba Client:

zum sendet lo mit der IP meines Servers an lo
kernel: REJECT UDP: IN= OUT=lo SRC=192.168.2.55 DST=127.0.0.1 LEN=96 TOS=0x00 PREC=0x00 TTL=64 ID=18 DF PROTO=UDP SPT=137 DPT=137 LEN=76


dann mußte ich out-Verbindungen, die ich standardmäßig nur von sport=high-ports zugelassen habe Ausnamen machen:

UDP/138 sport= 138 und dport =138
und
UDP sport=138 auf Broadcast

Gibt es irgendwo noch eine genaue Doko wie Samba bzgl. eines Paketfilters zu konfigurieren ist?
 
A

Anonymous

Gast
OUTPUT kannst du grundsätzlich offen zulassen, lediglich INPUT sollte als policy DROP haben, und dann eben alle benötigten Ports freischalten, zb würde ich per
iptables -A INPUT -s xxx.xxx.xxx.xxx -m mac --mac-source XX:XX:XX:XX:XX:XX .-j ACCEPT
alle Verbindungen von deinem client zulassen, dann haste trotzdem noch ein geschlossenes und trotzdem offenes Netzwerk.
 

oc2pus

Ultimate Guru
Code:
ACTION   SOURCE   DEST   PROTO    DEST PORT(S)   SOURCE
#                                                 PORT(S)
ACCEPT    fw       loc    udp      137:139
ACCEPT    fw       loc    tcp      137,139,445
ACCEPT    fw       loc    udp      1024:          137
ACCEPT    loc      fw     udp      137:139
ACCEPT    loc      fw     tcp      137,139,445
ACCEPT    loc      fw     udp      1024:          137

das sind die Sampa Prts und Protokolle
fw steht für firewall
loc local network
 
OP
Frankie777

Frankie777

Advanced Hacker
Bist Du sicher?

SMB ist

UDP/137
UDP/138
TCP/139
TCP/445


in Deiner Liste r fehlt UDP/138, dazu gibt es bei Dir TCP/137 oder sind das Tippfehler? Oder benutzt Linux-SMB mehr Ports, kann eigentlich nicht sein..

Boradcast 138 - 138 zu Broadcast hast Du nicht extra aufgeführt, weil Du Broadcast allgemein durchläßt?

evtl. eine Quelle für eine Doko dazu...
 

oc2pus

Ultimate Guru
das sind die guten alten Standard-Regeln des shorewall (www.shorewall.net)

Ein altgedienter, kampferprobter, einfach zu konfigurierender (webmin-modul auch vorhanden, aber wer nutzt das schon) und sehr guter Firewall :)

die Syntax 137:139 bedeutet 137, 138 und 139
 
OP
Frankie777

Frankie777

Advanced Hacker
leider ist die Zusammenstellung trotzdem falsch und bringt mich nicht weiter.
Entweder werde ich Internet noch was finden oder ich muß weiter testen. Das meiste habe ich eh schon raus...
 
OP
Frankie777

Frankie777

Advanced Hacker
@rm -rf /

Ich möchte auch die Output Seite kontrollieren und nur vorher geplanten Verkehr erlauben, ansonsten will ich einen LogFile Eintrag sehen um die Ursache analysieren zu können...

Die MAC-Adresse schützt nicht wirklich , da kann ich auch mein LAN Subnet nehmen. Wenn ich meinem LAN-Subnet nicht vertrauen kann ist irgendwas anderes falsch..
 

oc2pus

Ultimate Guru
Frankie777 schrieb:
leider ist die Zusammenstellung trotzdem falsch und bringt mich nicht weiter.
welch böse Worte ... und wenn du dich auf den Kopf stellst, sie ist nicht falsch. Aber mit solchen "schlauen" Bemerkungen erlischt meine Lust dir weiter zu helfen ;)
 
OP
Frankie777

Frankie777

Advanced Hacker
Die Liste gibt mehr frei als notwendig. Ich habe noch nie auf TCP 137 ein Paket für Samba gesehen.
TCP/137 ist auch bei MS nicht dokumentiert

http://support.microsoft.com/default.aspx?scid=kb;de;832017

Deswegen ist die Liste falsch und wenn das so ist, dann schreibe ich es auch so.
Alles andere ist Interpretation.
 

oc2pus

Ultimate Guru
Frankie777 schrieb:
Die Liste gibt mehr frei als notwendig. Ich habe noch nie auf TCP 137 ein Paket für Samba gesehen.
TCP/137 ist auch bei MS nicht dokumentiert

http://support.microsoft.com/default.aspx?scid=kb;de;832017

Deswegen ist die Liste falsch und wenn das so ist, dann schreibe ich es auch so.
Alles andere ist Interpretation.
hihi, wenn was bei MS nicht dokumentiert ist, ist es immer richtig ROFL ...

aber ok hier ein paar Fakten für den superschlauen Frankie777
http://www.pro-linux.de/work/server/samba_installation.html
Für den Samba-Dienst müssen jetzt noch Netzwerk-Ports zur Verfügung gestellt werden. Ist dies noch nicht geschehen, so müssen folgende Zeilen in die Datei /etc/services eingetragen werden:
# NETBIOS-Services
netbios-ns 137/tcp
# NETBIOS name service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS datagram
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session
netbios-ssn 139/udp

The manual for smb.conf says:
For name service it causes nmbd to bind to ports 137 and
138 on the interfaces listed in the interfaces
parameter. nmbd also binds to the "all addresses"
interface (0.0.0.0) on ports 137 and 138 for the
purposes of reading broadcast messages. If this option
is not set then nmbd will service name requests on all
of these sockets. If bind interfaces only is set then
nmbd will check the source address of any packets coming
in on the broadcast sockets and discard any that don't
match the broadcast addresses of the interfaces in the
interfaces parameter list.

http://www.flatmtn.com/computer/Linux-Samba.html#Samba-4
Setting up Samba Kapitel 4
...
4) Setup firewall ports

Allow access to ports 137, 138, 139, and 443 on tcp and udp.

When you are first setting this up and testing it, ie before the real users get to it, I recommend disabling firewalling all together. No use trying to figure out what appears to be a samba problem when it is your firewall.

bei Bedarf mehr *fg*
 
OP
Frankie777

Frankie777

Advanced Hacker
danke,
ich habe schon verstanden, daß es Quellen gibt, die die Ports bei SMB weiter fassen, ebenso habe ich hier im Forum Scripte gefunden, die noch weiter gehen. Auch vertraue ich nicht jeder Quelle, aber zur Zeit gehe ich aus folgenden Gründen nicht davon aus, daß TCP137 für Samba verwendet wird:

a.) SMB Protokoll kommt von MS
b.) die MS Doko kennt keinen Port TCP/137 für smb
c.) In der XP oder Win2003 Firewall wird bei Datei und Druckfreigabe kein Port TCP/137 freigegeben
d.) ich habe noch nie ein Paket TCP/137im Netzwerk für smb Verkehr gesehen
e.) wenn man per ipsec/psecmd WinClients oder WinServer oder Samba Server den TCP/137 abstellt, gibt es keine Funktionsprobleme
f.) es wäre nicht das erste Mal das einer falsch von anderen abschreibt und zum Schluß alle glauben, daß es richtig ist.

Grund genug es weiter zu untersuchen und mal eine richtige Beschreibung für smb und iptables zu erstellen.
Da es open source ist, wird sich dieses auch ermitteln lassen.
 
OP
Frankie777

Frankie777

Advanced Hacker
Es bleibt dabei, die meisten Dokos zu Samba sind bzgl. der Ports ungenau. Ursache kann dafür eigentlich nur die IANA-Port Liste sein, die ist umfassender, als wie es von MS oder dem Samba Team implemetiert ist. Der Rest ist, denke ich mal, durch abschreiben entstanden.

Das ist meiner Ansicht nach eine korrekte Dokumentation:
http://wlug.org.nz/SambaNotes
daraus: "Firewalling SMB/CIFS
If you wish to firewall out all smb/cifs traffic (from either samba or windows pc's) you will need to firewall the following ports:
UDP/137 - used by nmbd
UDP/138 - used by nmbd
TCP/139 - used by smbd
TCP/445 - used by smbd
The last one is important as many older firewall setups may not be aware of it, given that this port was only added to the protocol in recent years."

Erläuterungen zur Historie und zur Funktion, was/wann:
http://www.petri.co.il/what_is_port_445_in_w2kxp.htm

Ich werde jetzt noch mal weiter die Funktionsweise untersuchen und wenn fertig als kleine Übersicht hier einstellen.
 
OP
Frankie777

Frankie777

Advanced Hacker
nein, MS hat NTFS und Samba sicher dokumentiert, nur eben nicht öffentlich ohne NDA und/oder deftige Lizenzgebühr.
Aber wenn MS auf seinen Rechnen den Port 137/TCP in der Firewall für den Zugriff von außen schließt, ist ja wohl nicht davon auszugehen, daß MS ihn verwendet?
Wozu soll ich den dann TCP/137 an einem Linux Client öffnen, wenn er am Win Client geschlossen ist. MS Doko stimmt, 137/TCPwird für smb oder nmb wird nicht verwendet.



bitte lese Dir auch mal durch was o2pus zitiert hat:

"Setting up Samba Kapitel 4
Zitat:
... 4) Setup firewall ports

Allow access to ports 137, 138, 139, and 443 on tcp and udp. "

Port 443 ist ja nun ganz falsch, 445 ist richtig. Es gibt im Internet etliche falsche Infos zu den Ports, das hier ist ein weiteres Beispiel.
Die durch Tests gegengeprüfte und mit der MS Spec. angestimmte Portliste habe ich mit Link gepostet.
 
OP
Frankie777

Frankie777

Advanced Hacker
Eine Dokumentation, die grobe Fehler enthält, ist eben nicht zuverlässig und vertrauenswürdig. Das sollte einem auch klar sein

Aber vielleicht kannst Du ja inhaltlich begründen weswegen man auf einem Linux Client Port 137/138 TCP eingehende Verbindungen erlauben soll, wogegen das auf einem Windows Client per default geschlossen ist.

In entsprechender Umgebung kannst Du sogar TCP/139 schließen ohne Funkionseinbußen. (siehe auch man smb)

hier übrigens noch eine richtige Quelle für die smb-Ports
http://www.fli4l.de/german/extern/doku/unstable219/node14_ct.html

Selbst die SMB Developer Dokumentation in aktueller Version hat den Teil über die falschen Ports rausgeworfen. Es gibt alte Dokos die beschreiben einen Port TCP 137 für NT 3.5, bzw NT 4, aber nie einen Port TCP138.
Für aktuelle Konfigurationen ist TCP 445 und UDP 137 und UDP 138 ausreichend.
 
Oben