Esse artigo tem por objetivo mostrar como implementar um servidor de arquivos compartilhados seguro usando Linux + Samba. Assim como eu, muitos administradores trabalham em redes mistas (Windows e Linux). Então mãos a obra!
Por: Milton Caetano Filho
Cenário para implantação
Vamos primeiramente identificar o cenário, ou seja, a topologia de nossa rede.
1. É necessário um servidor Linux, nesse caso usei a distro Debian 5.0.
2. Clientes que acessarão o serviço. Podem ser arquitetura Unix, Linux e Microsoft. Nesse caso específico estamos usando estações Windows, pois a maioria dos funcionários não têm o conhecimento necessário para usar Linux por "N" motivos, desde falta de treinamento ou até mesmo o software no qual trabalham não ter similar para Linux.
Instalação dos pacotes.
# apt-get install samba
Configuração do arquivo /etc/samba/smb.conf.
Renomeie o arquivo /etc/samba/smb.conf:
# cd /etc/samba
# mv smb.conf smb.conf.bkp
Vamos criar um novo arquivo com o mesmo nome:
# touch smb.conf
Feito isso adicionaremos o seguinte conteúdo ao arquivo smb.conf. No prompt de comando use seu editor de preferência, neste caso usei o vim:
# vim smb.conf
Neste caso estamos criando duas pastas compartilhadas:
* Software - /home/software
* programacao - /home/programacao
A pasta software será usada pela equipe de TI para fazer atualizações em estações de trabalho. A pasta programacao também será usada pela equipe de TI, porém apenas o pessoal de programação terá acesso.
Nesse ponto da configuração do sistema nosso servidor Samba permitirá acesso às pastas sem requisição de senha. É altamente recomendável adicionarmos uma senha para esses diretórios.
Configurando acesso ao Samba
Primeiro criaremos os usuários e senhas para que o acesso fique mais seguro. No prompt de comando digite:
# adduser --disabled-login --no-create-home teste
Assim criamos uma espécie de usuário fantasma que existe e pode acessar arquivos do sistema (de acordo com as permissões de acesso), mas que, por outro lado, não pode fazer login (nem localmente, nem remotamente via SSH), nem possui diretório home.
Cadastrando o usuário criado no Samba:
# smbpasswd -a teste
Feito isso nosso sistema já está apto para receber conexões autenticadas.
Para garantir que tudo as configurações sejam aplicadas reiniciaremos o serviço do Samba:
# /etc/init.d.samba restart
Configurando permissão na pasta de acesso
Agora que já adicionamos o usuário teste, setaremos as permissões necessárias para que este usuário possa incluir, excluir e modificar o conteúdo da pasta.
# chmod 777 /home/software
Obs.: As permissões podem e devem variar de acordo com a necessidade específica de cada caso. Para fins didáticos e primeiro acesso à pasta configurei permissão total para o usuário teste.
Configurando estações de trabalho Windows para acessar servidor Samba
Agora iremos configurar as estações de trabalho para que acessem os recursos de rede compartilhados pelo servidor Samba.
Obs.: existem diversas maneiras de se fazer tal configuração, estou optando pela mais prática e funcional possível para o administrador de redes.
1. Sistema cliente utilizado Windows XP com service pack 3.
Vamos criar um script para automatizar a tarefa, permitindo que toda vez em que a estação de trabalho seja reiniciada o script seja executado.
Clique no Menu Iniciar > Executar
Dentro do executar digite notepad.
Dentro do notepad (bloco de notas) cole o seguinte conteúdo.
Obs.: "\\seu_servidor\sua_pasta" deve ser substituído pelo endereço ip e pasta definida por você no seu servidor. No meu caso ficou assim: \\192.168.56.12\software.
Após inserir o conteúdo no notepad (bloco de notas), clique em Arquivo > Salvar como. Na guia "Salvar Como" salve o documento com o nome "mapdrive.vbs", na opção abaixo "Salvar tipo como", selecione "Todos os arquivos".
Obs: Salve seu arquivo na raiz do sistema em c:\.
Editando o registro do Windows
Agora que quase tudo já está pronto, iremos para a etapa final que é manipular o registro do Windows XP para executar o comando toda vez que o sistema operacional for inicializado.
Mão na massa!
Clique no menu iniciar > executar.
Dentro de executar digite > regedit
Logo após digitar o comando aparecerá a tela do editor de registros do Windows.
No editor de registros no menu ao lado esquerdo aparecerá uma lista de pastas do sistema. Navegue pela seguinte sequência.
Meu computador\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\W indows\CurrentVersion\Run
Dentro da pasta Run, ao lado direito, clicaremos com o botão direito do mouse, aparecerá a guia Novo, dentro de Novo teremos "Novo valor de sequência", coloque o seguinte nome: "MAPEAR UNIDADE DE REDE".
Feito isso clicamos com o botão direito do mouse em cima no novo item criado "MAPEAR UNIDADE DE REDE", aparecerá a guia modificar, selecione esta guia.
Na caixa "Editar Sequência" que será aberta, dentro da campo "Dados do Valor" digite dentro das aspas duplas "" a localização do nosso arquivo "c:\mapdrive.vbs", assim como na imagem abaixo.
Agora toda vez que o PC for inicializado será carregado junto com sua inicialização o nosso arquivo "mapdrive.vbs", que tem por finalidade mapear o compartilhamento do nosso servidor Samba Linux.
Criando shell script para deletar arquivos com extensões maliciosas
Como nem tudo é perfeito nessa vida, e para piorar estamos trabalhando em uma rede onde temos estações Windows que são comumente atacadas por vírus, nós administradores temos que bolar uma saída eficaz para amenizar este problema.
Como no mundo *IX Unix, Linux e suas variantes não costuma-se ter esse tipo de problemas, não teria a necessidade da criação desse script, mas no mundo Windows esse problema é crônico e temos que agir, senão nosso Linux passa a agir como um hospedeiro de programas maliciosos.
Criando o arquivo:
# touch deleta_virus.sh
Editando o arquivo:
# vim deleta_virus.sh
Coloque este conteúdo no arquivo:
Vamos utilizar o cron para que o arquivo seja executado de um em um minuto no sistema:
Feito isso nosso servidor Linux está apto a excluir todos os arquivos que contém as expressões acima. Os arquivos que contém tais expressões normalmente acarretam algum tipo de problema no sistema Windows. Utilizando esse shell script estaremos impedindo a propagação desses conteúdos em nossa rede.
Conclusão
Procurei fazer da maneira mais simples e objetiva possível esse artigo! Com certeza existem várias outras maneiras de se configurar um servidor Samba em estações Windows. Optei por uma configuração que utilizo a mais de dois anos com total sucesso.
Inicialmente utilizava um servidor Windows 2003 por motivos de força maior. Mas devido a constantes quedas e instabilidade não aguentei mais e migrei de plataforma.
Desde de que foi implantando esse servidor com o Linux assumindo a tarefa não tive mais problemas, com a adição do shell script que monitora e deleta a existência dos arquivos com a extensões pré-definidas o servidor se tornou um excelente, senão a melhor solução para tal necessidade.
Obs.: Se você utiliza estações Windows em sua rede, tenha um bom antivírus de preferência pago, pois seu servidor Linux estará sempre 100%, já não posso garantir o mesmo da suas estações de trabalho, pois o Windows esta presente.
Espero ter ajudado.
Fontes externas :
* Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
* Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Fonte: vivaoLinux
Postado Por: RedDeviL
Por: Milton Caetano Filho
Cenário para implantação
Vamos primeiramente identificar o cenário, ou seja, a topologia de nossa rede.
1. É necessário um servidor Linux, nesse caso usei a distro Debian 5.0.
2. Clientes que acessarão o serviço. Podem ser arquitetura Unix, Linux e Microsoft. Nesse caso específico estamos usando estações Windows, pois a maioria dos funcionários não têm o conhecimento necessário para usar Linux por "N" motivos, desde falta de treinamento ou até mesmo o software no qual trabalham não ter similar para Linux.
Instalação dos pacotes.
# apt-get install samba
Configuração do arquivo /etc/samba/smb.conf.
Renomeie o arquivo /etc/samba/smb.conf:
# cd /etc/samba
# mv smb.conf smb.conf.bkp
Vamos criar um novo arquivo com o mesmo nome:
# touch smb.conf
Feito isso adicionaremos o seguinte conteúdo ao arquivo smb.conf. No prompt de comando use seu editor de preferência, neste caso usei o vim:
# vim smb.conf
Código:
[global] # Substituir xxxxxx pelo nome do domínio desejado caso necessário workgroup = linux # Substituir xxxxxx pelo nome do servidor caso necessário netbios name = debmirror server string = Samba domain master = yes preferred master = yes local master = yes domain logons = no logon path = %systemroot%\%u #logon script = todos.bat security = user @root encrypt passwords = yes os level = 200 time server = yes unix charset = iso8859-1 display charset = cp850 ##Arquivo de log log file = /var/log/samba/%m.log max log size = 5000 debug level = 2 ##Encrypta as senhas digitadas na rede, porém não funciona em estações## Windows 95 e Windows 3.11 smb passwd file = /etc/samba/smbpasswd username map = /etc/samba/smbusers ##Garantir melhor desempenho do servidor socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 ##Permite a utilização de impressoras compartilhas em estações Linux load printers=yes printing=lprng printcap name = /etc/printcap [Software] path = /home/software guest ok = yes browseable = no public = yes writable = yes read only = no [programacao] path = /home/programacao guest ok = no browseable = yes public = no writable = yes read only = no
* Software - /home/software
* programacao - /home/programacao
A pasta software será usada pela equipe de TI para fazer atualizações em estações de trabalho. A pasta programacao também será usada pela equipe de TI, porém apenas o pessoal de programação terá acesso.
Nesse ponto da configuração do sistema nosso servidor Samba permitirá acesso às pastas sem requisição de senha. É altamente recomendável adicionarmos uma senha para esses diretórios.
Configurando acesso ao Samba
Primeiro criaremos os usuários e senhas para que o acesso fique mais seguro. No prompt de comando digite:
# adduser --disabled-login --no-create-home teste
Assim criamos uma espécie de usuário fantasma que existe e pode acessar arquivos do sistema (de acordo com as permissões de acesso), mas que, por outro lado, não pode fazer login (nem localmente, nem remotamente via SSH), nem possui diretório home.
Cadastrando o usuário criado no Samba:
# smbpasswd -a teste
Feito isso nosso sistema já está apto para receber conexões autenticadas.
Para garantir que tudo as configurações sejam aplicadas reiniciaremos o serviço do Samba:
# /etc/init.d.samba restart
Configurando permissão na pasta de acesso
Agora que já adicionamos o usuário teste, setaremos as permissões necessárias para que este usuário possa incluir, excluir e modificar o conteúdo da pasta.
# chmod 777 /home/software
Obs.: As permissões podem e devem variar de acordo com a necessidade específica de cada caso. Para fins didáticos e primeiro acesso à pasta configurei permissão total para o usuário teste.
Configurando estações de trabalho Windows para acessar servidor Samba
Agora iremos configurar as estações de trabalho para que acessem os recursos de rede compartilhados pelo servidor Samba.
Obs.: existem diversas maneiras de se fazer tal configuração, estou optando pela mais prática e funcional possível para o administrador de redes.
1. Sistema cliente utilizado Windows XP com service pack 3.
Vamos criar um script para automatizar a tarefa, permitindo que toda vez em que a estação de trabalho seja reiniciada o script seja executado.
Clique no Menu Iniciar > Executar
Dentro do executar digite notepad.
Dentro do notepad (bloco de notas) cole o seguinte conteúdo.
Código:
set net = createobject("wscript.network") Set FSODrive= CreateObject("Scripting.FileSystemObject") If not FSODrive.DriveExists("H:") Then Set NW = CreateObject("WScript.Network") NW.MapNetworkDrive "H:", "\\seu_servidor\sua_pasta", False End If
Após inserir o conteúdo no notepad (bloco de notas), clique em Arquivo > Salvar como. Na guia "Salvar Como" salve o documento com o nome "mapdrive.vbs", na opção abaixo "Salvar tipo como", selecione "Todos os arquivos".
Obs: Salve seu arquivo na raiz do sistema em c:\.
Editando o registro do Windows
Agora que quase tudo já está pronto, iremos para a etapa final que é manipular o registro do Windows XP para executar o comando toda vez que o sistema operacional for inicializado.
Mão na massa!
Clique no menu iniciar > executar.
Dentro de executar digite > regedit
Logo após digitar o comando aparecerá a tela do editor de registros do Windows.
No editor de registros no menu ao lado esquerdo aparecerá uma lista de pastas do sistema. Navegue pela seguinte sequência.
Meu computador\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\W indows\CurrentVersion\Run
Dentro da pasta Run, ao lado direito, clicaremos com o botão direito do mouse, aparecerá a guia Novo, dentro de Novo teremos "Novo valor de sequência", coloque o seguinte nome: "MAPEAR UNIDADE DE REDE".
Feito isso clicamos com o botão direito do mouse em cima no novo item criado "MAPEAR UNIDADE DE REDE", aparecerá a guia modificar, selecione esta guia.
Na caixa "Editar Sequência" que será aberta, dentro da campo "Dados do Valor" digite dentro das aspas duplas "" a localização do nosso arquivo "c:\mapdrive.vbs", assim como na imagem abaixo.
Agora toda vez que o PC for inicializado será carregado junto com sua inicialização o nosso arquivo "mapdrive.vbs", que tem por finalidade mapear o compartilhamento do nosso servidor Samba Linux.
Criando shell script para deletar arquivos com extensões maliciosas
Como nem tudo é perfeito nessa vida, e para piorar estamos trabalhando em uma rede onde temos estações Windows que são comumente atacadas por vírus, nós administradores temos que bolar uma saída eficaz para amenizar este problema.
Como no mundo *IX Unix, Linux e suas variantes não costuma-se ter esse tipo de problemas, não teria a necessidade da criação desse script, mas no mundo Windows esse problema é crônico e temos que agir, senão nosso Linux passa a agir como um hospedeiro de programas maliciosos.
Criando o arquivo:
# touch deleta_virus.sh
Editando o arquivo:
# vim deleta_virus.sh
Coloque este conteúdo no arquivo:
Código:
#!/bin/bash
#Arquivo criado para deletar arquivos com a extensão .exe .cmd .bat .pif .aa .js .vbs .src .inf
#Criado por Milton Caetano Filho
deleta_software()
{
cd /home/software;
rm -f [a-zA-Z0-9]*.exe *.cmd *.bat *.pif *.inf *.com *.src *.vbs *.js *.aa;
}
deleta_programacao()
{
cd /home/programacao;
rm -f [a-zA-Z0-9]*.exe *.cmd *.bat *.pif *.inf *.com *.src *.vbs *.js *.aa;
}
deleta_software
deleta_programacao
Código:
0-59/1 * * * * root /bin/deleta_virus.sh
Conclusão
Procurei fazer da maneira mais simples e objetiva possível esse artigo! Com certeza existem várias outras maneiras de se configurar um servidor Samba em estações Windows. Optei por uma configuração que utilizo a mais de dois anos com total sucesso.
Inicialmente utilizava um servidor Windows 2003 por motivos de força maior. Mas devido a constantes quedas e instabilidade não aguentei mais e migrei de plataforma.
Desde de que foi implantando esse servidor com o Linux assumindo a tarefa não tive mais problemas, com a adição do shell script que monitora e deleta a existência dos arquivos com a extensões pré-definidas o servidor se tornou um excelente, senão a melhor solução para tal necessidade.
Obs.: Se você utiliza estações Windows em sua rede, tenha um bom antivírus de preferência pago, pois seu servidor Linux estará sempre 100%, já não posso garantir o mesmo da suas estações de trabalho, pois o Windows esta presente.
Espero ter ajudado.
Fontes externas :
* Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
* Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Fonte: vivaoLinux
Postado Por: RedDeviL
Comment