Asi bude nejlépe říci si, jak to je... Takže sdílení, neboli protokol SMB je u Win11(10) SMB 3.1.1, povinné šifrování, digitální podpis. Od 24H2 výše je u Win11 navíc nastaveno aktivní odmítání nešifrované komunikace. U Win7 je SMB 2.1 a možnost šifrování (ve výchozím vypnutá) a digitální podpis. U XP SMB 1.0 bez podpisu a šifrování. nyní zkusím naprosto laicky popsat, co se děje při navazování spojení a vyjednávání protokolů. Prosím uvědomte si, že to co bude následovat je popis v LAN síti. U WiFi je komunikace šifrována vždy!
Situace W11 server (nabízí adresář), W7 se připojuje (klient):
W7 -> W11: Ahoj, chci se připojit na tvoje sdílení.
W11 -> W7: OK, nabízím šifrování a SMB 3.1.1
W7 -> W11: šifrovat umím, ale jen SMB 2.1
W11 -> W7: OK. s 2.1 souhlasím, připoj se.
A nyní naopak. Win7 nabízí adresář (server) a chci se připojit s Win11 (klient). Win11 je 24H2, nebo novější:
W11 -> W7: Ahoj, chci se připojit na tvoje sdílení.
W7 -> W11: OK, nabízím žádné šifrování a SMB 2.1 /výchozí nastavení Win7
W11 -> W7: Odmítám /bezpečnostní politika Win11 24H2 a novější.
Uvedená vlastnost lze řešit, a to zapnutím povinného šifrování u Win7. U pro a výše to lze pomocí editoru systémových politik (gpedit), u home přímo zápisem do registrů u klíčů lanman server a client. Tím se u W7 nastaví povinné šifrování jako výchozí a začne sdílení fungovat. Tedy pokud si to ještě pamatuju. Gůgl snad poradí, kdyby ne, musel bych pohledat. Co jsme přešli na doménu, tak veškerou politiku řeší doména, a tohle už neřešíme.
U sdílení s Win7 tedy není nutno zapínat SMB 1.0, jak tu kdosi psal. A proberem si i SMB 1.0 a SMB 2.1:
U SMB 1.0 byla veškerá ochrana pouze jméno a heslo. Heslo se při přihlašování ani nešifruje, ani nepřenáší. Systémy si vyměňují jeho hash. Tohle fungovalo do doby, než se objevil útok MITM (snad wannacry? pokud si to pamatuju) - man in the middle. Ten probíhá tak, že se mezi dva komunikující počítače vetře třetí. Tento zachytává pakety od odesílatele, zkopíruje si je a pošle je příjemci. Tímto odpadá nutnost zjistit přístupové údaje. Jak jsem již uvedl výše, stačí správný hash. Takto si ten třetí počítač zajistí, že veškerá data jdou přes něj. A protože v SMB 1.0 se nešifruje, třetí počítač se tak dostane k datům (a nemusí znát přístupové údaje).
U SMB 2.1 je možnost šifrování (výchozí vypnutá) a digitální podpis. Představme si proudící data, jako jednotlivé strany dokumentu. U SMB 2.1 je nutno každou stranu podepsat, příjemce si pak podpis zkontroluje podle vzoru. Tento podpis je ovšem speciálním inkoustem, který zmizí, když se osvítí. V momentě, jak si třetí počítač zkopíruje data, podpis zmizí, či se změní. A tak cílový počítač komunikaci odmítne. A proto taky bylo šifrování vypnuté (každé šifrování zabírá čas). Proti útoku MITM byla ochrana dostatečná.
Ovšem pokud vše ponechám na výchozím nastavení, pak můžu přijít, vyměnit switch za hub, připojit svůj počítač k hubu, nastavit kartu do promiskuitního režimu a data jsou moje. A ony dva počítače vůbec nic netuší. ve výchozím nastavení Win7 tedy SMB 2.1 nenabízí kromě ochrany před MITM z hlediska bezpečnosti nic. Tudíž tvrzení, že "přes SMB 1.0 chodí breberky" plyne z neznalosti a nepochopení problematiky. Sám musím kvůli starším věcem provozovat síť se SMB 1.0 a za dodržení bezpečnostních podmínek po ní žádné breberky nechodí. A vím, o čem mluvím, protože právě kvůli bezpečnosti je komunikace přísně logována, tudíž kontrolována a jakákoli anomálie by se hned objevila. Funguje to tak už přes 15 let. Dříve samozřejmě taky, ale to se ještě o mitm nevědělo

. Nicméně pro sdílení mezi W7 a W11 SMB 1.0 opravdu nepotřebuješ.
Pár obecných rad:
- musí fungovat vzájemný ping
- typ sítě nesmí být nastaven na veřejná. Musí být domácí (podniková).
- ve firewallu nesmí být zablokován port 445
- ve Win7 nastavit povinné šifrování ve výchozím stavu
- ke sdílení se vždy přihlašuje jménem a heslem => heslo NESMÍ být prázdné! V takovém případě wokna spojení zablokují.
Pokud tohle všechno sedí, pak (tohle je příklad, uprav dle své skutečnosti):
Na PC1 IP: 192.168.1.105 nasdílíme adresář C:\test (pravoklik na složku test, vlastnosti, sdílení). Ověříme v příkazovém řádku "net share", příkaz vypíše všechna sdílení.
Na PC2 192.168.1.108 připojíme adresář jako síťový disk. Tohle dělám v totalcommanderu Síť/Připojit síťovou jednotku. V dialogu zaškrtnu "Připojit pomocí jiných pověření", do řádku složka pak "\\192.168.1.105\test", písmeno disku si zvolím jaké chci. Po odklepnutí si vyžádá přístupové údaje k účtu v PC1 192.168.1.105. A pokud se disk připojí, mám vyhráno.
Na PC2 IP: 192.168.1.108
Pokud jsem na nic nezpomněl, mělo by to fungovat. Ostřílené síťaře a odborníky prosím o laskavé přimhouření zraku nad mým "hokynářským" způsobem vysvětlování - jak už mi tu bylo řečeno. Bohužel to jinak neumím. Děkuji za shovívavost.
Doplnění: Pokud všechny pokusy selžou, případně mi to z nějakého důvodu nevyhovuje, nabízí se FTP (File Transfer Protocol). Tento protokol je z roku 1971 a umožňuje přesně to, co nabízí - přenos souborů. Samotný protokol nemá žádné zabezpečení, tedy jak jméno, tak heslo i data jsou přenášeny v otevřené podobě. Ve vnitřní síti to nevadí, ale pokud má fungovat i v internetu, je nutné ho zabezpečit např. pomocí SSL.
Každopádně ve vnitřních sítích ho používám, protože umožňuje sdílení a výměnu souborů napříč všemi systémy. Je úplně jedno, jestli jde o wokna, linux, mac a úplně jedno jaké verze. osobně používám
XlightFTP . Je free pokud stačí max. 5 připojení - což v domácí síti většinou stačí. Jako klienta používám totalcommander ve woknech a filezillu v linuchu.