É seguro que um único diretório / arquivo seja servido por dois daemons separados do samba simultaneamente?

3

A situação é esta:

  • Eu tenho um servidor Debian que funciona como um servidor web / mail e também Gateway de Internet para um pequeno escritório. Todos os disponíveis externamente serviços executados em ambientes virtuais OpenVZ.
  • Eu tenho um requisito para fornecer acesso externo a um diretório (por um designer) compartilhada com os funcionários dentro do escritório. O diretório deve ser acessível via SMB, então eu configurei o OpenVPN para fornecer segurança acesso ao Samba pela internet.
  • Para segurança adicional, não quero dar aos usuários remotos do OpenVPN (que pode haver mais no futuro) acesso total ao rede da empresa, então eu pretendo configurar um daemon do Samba em um Virtual Ambiente, ouvindo apenas a interface virtual do OpenVPN, e um separar o daemon do Samba na máquina física, ouvindo apenas a interface da rede interna. Os daemons serviriam o mesmo diretório localizado dentro da árvore raiz do VE (e acessível ao sistema operacional da máquina física).

A questão principal é esta: Não haverá conflitos (problemas de bloqueio de arquivos, etc.) quando os arquivos forem acessados simultaneamente da rede interna e externa (o que é provável, pois essa configuração é para colaboração do Adobe InDesign / InCopy) ? Se sim, qual seria a melhor configuração nessa situação? Outra alternativa que estou pensando é tornar o daemon interno do Samba acessível na interface do OpenVPN através do encaminhamento de porta. Novamente, não quero que os clientes do OpenVPN tenham acesso total real à rede da empresa, apenas quero que os compartilhamentos do Samba funcionem na Internet (o que o fluxo de trabalho planejado exige).

Se alguém tiver alguma experiência com uma configuração semelhante, eu ficaria muito grato se você compartilhasse suas ideias.

Editar - esclarecimentos: Eu uso o OpenVPN com uma VPN em ponte (uma interface de toque), como eu entendo que é a escolha certa para o Samba (seria mesmo trabalhar em uma VPN roteada? Não exigiria configuração de encaminhamento / encaminhamento elaborada? ) No entanto, eu não quero interligar a VPN com a interface do servidor físico por 3 motivos: evite perturbar a rede da empresa enquanto a interface é ativada e desativada; Evite conceder acesso a clientes externos a toda a rede interna; Como regra de política, evite executar serviços públicos na máquina física.

Atualmente, pretendo usar a opção 1:

  • opção 1: executando o OpenVPN e o Samba em um VE para os clientes externos e um segunda instância do Samba no servidor principal para os funcionários (que não precisa de VPN). No entanto, eu me preocupo com duas instâncias do Samba servindo os mesmos arquivos e colidindo (daí a pergunta original formulação).
  • A opção 2 seria executar apenas o OpenVPN no VE e encaminhar o Portas do Samba para a máquina física (ou Nó de Hardware no OpenVZ termos).
  • A opção 3 seria não se incomodar com VEs para este serviço (como é essencialmente não público) e apenas executar o OpenVPN no nó de hardware com uma interface de toque (bridge), mas NOT na verdade a conecta com um interface física, faça a única instância do Samba ouvir no interface de rede interna & a interface de toque (para clientes VPN) e NÃO escute na interface externa.

Assim, a pergunta atualizada seria: a opção 3 seria menos segura que as duas primeiras? Se não, eu implementaria como parece ser o mais simples e mais robusto.

Desculpe, não consegui expressar em menos palavras :) Obrigado por ler e responder.

    
por odemarken 29.09.2011 / 13:50

1 resposta

1

Eu apenas usaria um firewall para controlar o acesso. Para fazer isso funcionar, você teria que ter a configuração do OpenVPN para usar uma interface tun e direcionar o tráfego através de um firewall. Depois disso, você tem algumas opções para limitar o acesso. Você pode atribuir um endereço IP estático ao contratado usando a diretiva client-config-dir e, em seguida, restringir o que esse endereço IP pode acessar. Se você mantiver os endereços IP estaticamente atribuídos em um bloco de IPs que pode ser descrito usando um CIDR diferente dos usuários (funcionários) do OpenVPN DHCP, então você pode escrever regras de firewall facilmente para direcionar cada tipo de usuário. A outra opção que eu prefiro, acima de tudo, acho mais fácil de gerenciar é configurar dois servidores OpenVPN diferentes em portas diferentes usando sub-redes diferentes para os clientes e usar um para acesso de funcionários e outro para acesso de contratado. Então você pode aplicar quaisquer restrições que você gostaria em qualquer grupo baseado na sub-rede sem ter que lidar com endereços IP individuais.

No lado do SAMBA, você pode simplesmente confiar nas permissões dos arquivos para restringir o que ele vê. Mas se você não quiser, ou não puder, expor todas as ações normais ao contratado b / c, elas podem divulgar informações como lista de clientes / projetos, então você pode usar a opção invalid users = <username> nas ações que você não deseja ver. E adicione uma parte apenas para o contratado usando a diretiva valid users = <username> . Outra opção seria usar as diretivas include = /somepath/%G.smb.conf ou include = /somepath/%u.smb.conf para fazer por grupo primário ou por diretivas de configuração do usuário.

    
por 29.09.2011 / 17:02