TCP / IP-Ports, die für den CIFS / SMB-Betrieb erforderlich sind

44

Wenn ich Windows-Netzwerklaufwerke zwischen zwei Firewall-Computern zulassen möchte, muss ich die Ports 137-139 öffnen oder ist Port 445 ausreichend? Ich muss ein Formular einreichen und die Genehmigung zum Öffnen von Firewall-Ports einholen, und ich möchte nicht mehr offene Ports anfordern, als ich benötige. Alle Maschinen hier sind Windows XP oder höher.

Hinweis: Wenn ich "Windows-Netzwerklaufwerke" sage, bin ich mir nicht ganz sicher, ob ich mich auf SMB oder CIFS beziehe, und mir ist der Unterschied zwischen den beiden Protokollen nicht ganz klar.

Jonathan
quelle

Antworten:

58

Die Ports 137-139 dienen der NetBios / Namensauflösung. Ohne sie müssen Sie auf Computer über eine IP-Adresse zugreifen, die nicht dem NetBIOS-Namen entspricht. Beispiel im \\192.168.1.100\share_nameGegensatz zu\\my_file_server\share_name

Port 445 reicht also aus, wenn Sie nur mit IP-Adressen arbeiten können.

Tim
quelle
Bei mir sind NetBIOS-Namen immer dieselben wie DNS-Namen. Wenn ich also nach Hostnamen auf Computer verweise, kann Windows den Computer dann über DNS finden, ohne NetBIOS zu verwenden?
Jonathan
5
Solange Sie über funktionsfähiges DNS verfügen, sollte dies ausreichen.
Tim
1
Funktioniert das auch mit öffentlichen IP-Adressen? Reicht es aus, Port 445 in der Firewall des ADSL-Modems / Routers zu öffnen?
Hrqls
11
@Hrqls Theoretisch ja, aber AFAIK, um Ihr SMB für die ganze Welt zu öffnen, ist eine sehr schlechte Idee.
Samuel Harmer
@ Styne666, stimme vollkommen zu. Darüber hinaus ist es in der Regel eine schlechte Idee, dem gesamten Internet etwas zu öffnen, das keine ausreichende Sicherheitsunterstützung bietet. Ich würde empfehlen, den IPSec-Transportmodus zu verwenden, um ihn zumindest zu schützen.
Dess
7

Diese Konfiguration hat bei mir funktioniert: 137 / UDP, 138 / UDP, 139 / TCP und 445 / TCP. Quelle und zusätzliche Informationen unter: http://www.icir.org/gregor/tools/ms-smb-protocols.html .

Das sind also die iptables-Regeln für meinen Samba-Server:

# The router doesn't need SMB access.
-A INPUT -s 192.168.1.1 -p udp --dport 137 -j REJECT
-A INPUT -s 192.168.1.1 -p udp --dport 138 -j REJECT
-A INPUT -s 192.168.1.1 -p tcp --dport 139 -j REJECT
-A INPUT -s 192.168.1.1 -p tcp --dport 445 -j REJECT

# Actual Samba ports
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 137 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 138 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT
Juan
quelle
4
Angesichts der Tatsache, dass das OP nach Windows-Computern gefragt hat und ihr Verständnis von iptables völlig unbekannt ist, wäre dies besser auszudrücken als die Konfigurationsdatei eines völlig anderen Systems.
DarkMoon
1
Im Klartext UDP 137 und 138, TCP 139 und 445
Arlen Beiler