
Eu sei que ao se comunicar via HTTP, a fonte deve ser baixada primeiro para ser visualizada no navegador. Mas qual mecanismo está realmente em jogo ao usar o compartilhamento de arquivos do Windows (tanto ao compartilhar através de um roteador de rede quanto ao compartilhar diretamente, por exemplo, um cabo LAN do PC-1 para o PC-2)?
- É enviada uma solicitação ao servidor, que passa a transmitir dados em uma determinada porta para serem recebidos pelo cliente?
- O cliente acessa a unidade do servidor como uma unidade convencional, lê os dados e os copia para sua própria unidade?
- O servidor copia o arquivo para o disco rígido do cliente?
Responder1
Como o compartilhamento de arquivos do Windows realmente funciona?
Autenticação de protocolo SMB da Microsoft
O modelo de segurança usado no Microsoft SMB Protocol é idêntico ao usado por outras variantes do SMB e consiste em dois níveis de segurança: usuário e compartilhamento. Um compartilhamento é um arquivo, diretório ou impressora que pode ser acessado por clientes do protocolo Microsoft SMB.
A autenticação em nível de usuário indica que o cliente que tenta acessar um compartilhamento em um servidor deve fornecer um nome de usuário e uma senha. Quando autenticado, o usuário poderá acessar todos os compartilhamentos em um servidor que também não esteja protegido pela segurança em nível de compartilhamento. Este nível de segurança permite que os administradores do sistema determinem especificamente quais usuários e grupos podem acessar um compartilhamento.
A autenticação em nível de compartilhamento indica que o acesso a um compartilhamento é controlado por uma senha atribuída somente a esse compartilhamento. Diferentemente da segurança em nível de usuário, esse nível de segurança não exige um nome de usuário para autenticação e nenhuma identidade de usuário é estabelecida.
Em ambos os níveis de segurança, a senha é criptografada antes de ser enviada ao servidor. A criptografia NTLM e a criptografia LAN Manager (LM) mais antiga são suportadas pelo protocolo Microsoft SMB. Ambos os métodos de criptografia usam autenticação de desafio-resposta, onde o servidor envia ao cliente uma sequência aleatória e o cliente retorna uma sequência de resposta computada que prova que o cliente possui credenciais suficientes para acesso.
Visão geral do protocolo Microsoft SMB e do protocolo CIFS
O protocolo Server Message Block (SMB) é um protocolo de compartilhamento de arquivos de rede e, conforme implementado no Microsoft Windows, é conhecido como protocolo Microsoft SMB. O conjunto de pacotes de mensagens que define uma versão específica do protocolo é chamado de dialeto. O protocolo Common Internet File System (CIFS) é um dialeto do SMB. Tanto o SMB quanto o CIFS também estão disponíveis no VMS, em diversas versões do Unix e em outros sistemas operacionais.
A referência técnica para CIFS está disponível na Microsoft Corporation emProtocolo de acesso a arquivos do Common Internet File System (CIFS).
Embora seu objetivo principal seja o compartilhamento de arquivos, a funcionalidade adicional do protocolo SMB da Microsoft inclui o seguinte:
- Negociação de dialeto
- Determinar outros servidores Microsoft SMB Protocol na rede ou navegar na rede
- Imprimindo em uma rede
- Autenticação de acesso a arquivos, diretórios e compartilhamentos
- Bloqueio de arquivos e registros
- Notificação de alteração de arquivo e diretório
- Manipulação estendida de atributos de arquivo
- Suporte Unicode
- Bloqueios oportunistas
No modelo de rede OSI, o protocolo Microsoft SMB é mais frequentemente usado como uma camada de aplicativo ou um protocolo de camada de apresentação e depende de protocolos de nível inferior para transporte. O protocolo da camada de transporte com o qual o protocolo SMB da Microsoft é usado com mais frequência é o NetBIOS sobre TCP/IP (NBT). No entanto, o protocolo Microsoft SMB também pode ser usado sem um protocolo de transporte separado – a combinação Microsoft SMB Protocol/NBT geralmente é usada para compatibilidade com versões anteriores.
O protocolo Microsoft SMB é uma implementação cliente-servidor e consiste em um conjunto de pacotes de dados, cada um contendo uma solicitação enviada pelo cliente ou uma resposta enviada pelo servidor. Esses pacotes podem ser amplamente classificados da seguinte forma:
- Pacotes de controle de sessão — Estabelece e interrompe uma conexão com recursos de servidor compartilhados.
- Pacotes de acesso a arquivos — acessa e manipula arquivos e diretórios no servidor remoto.
- Pacotes de mensagens gerais — Envia dados para filas de impressão, mailslots e pipes nomeados e fornece dados sobre o status das filas de impressão.
Alguns pacotes de mensagens podem ser agrupados e enviados em uma transmissão para reduzir a latência de resposta e aumentar a largura de banda da rede. Isso é chamado de "lote". OCenário de troca de pacotes do protocolo Microsoft SMB A seção descreve um exemplo de uma sessão do protocolo SMB da Microsoft que usa lotes de pacotes.
Tema: Dialetos do protocolo SMB da Microsoft
- Descrição:Para estabelecer uma conexão entre um cliente e um servidor usando o protocolo SMB da Microsoft, você deve primeiro determinar o dialeto com o nível mais alto de funcionalidade suportado pelo cliente e pelo servidor.
Tema: Autenticação de protocolo SMB da Microsoft
- Descrição:O modelo de segurança usado no Microsoft SMB Protocol é idêntico ao usado por outras variantes do SMB e consiste em dois níveis de segurança: usuário e compartilhamento. Um compartilhamento é um arquivo, diretório ou impressora que pode ser acessado por clientes do protocolo Microsoft SMB.
Tema: Cenário de troca de pacotes do protocolo Microsoft SMB
- Descrição:Exemplo de troca de pacotes do protocolo Microsoft SMB entre um cliente e um servidor.
Esclarecimento de comentários
Pacotes de acesso a arquivos — acessa e manipula arquivos e diretórios no servidor remoto.' Como isso acontece? Onde está o pacote de resposta para fornecer os dados solicitados ao cliente? Kraken
Cada pacote é normalmente uma solicitação básica de algum tipo, como abrir arquivo, fechar arquivo ou ler arquivo. O servidor então recebe o pacote, verifica se a solicitação é legal, verifica se o cliente tem as permissões de arquivo apropriadas e, finalmente, executa a solicitação e retorna um pacote de resposta ao cliente. O cliente então analisa o pacote de resposta e pode determinar se a solicitação inicial foi bem-sucedida ou não.
Recursos adicionais
Um diagrama e uma explicação dos aspectos de autenticação envolvidos no estabelecimento de uma sessão cliente-servidor com o protocolo.
Leia para obter mais detalhes sobre SMB.