trab linux+sarg

Download Trab linux+sarg

Post on 05-Jul-2015

1.509 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

  • 1. SAMBA PDC PROXY SERVER SQUID ANALISE DE LOGS VIA SARGBy: Adauto Amaral, Anderson Lago, Andr Ximenes Maio 2009

2. Introduo Samba um software utilizado em sistemas operacionais do tipo UNIX, que possibilita uma interoperabilidade entre redes mistas LINUX(UNIX) e Windows, atuando no gerenciamento e compartilhamento de arquivos. Sendo um software livre licenciado sob a GNU - General Public License , o projeto samba um membro da Software Freedom Conservancy. Desde 1992, o Samba proporcionou servios seguros, estveis e rpidos para todos os clientes que usam o protocolo de SMB/CIFS, tal como todas as verses do DOS e o Windows, o OS/2, o linux e muitos outros. O Samba um componente importante para integrar servidores linux/Unix e os Desktops em ambientes Active Directory. Na verso 3, o Samba no s prov arquivos e servios de impresso para vrios Clientes Windows, como pode tambm integrar-se com Windows Server Domain, tanto como Primary Domain Controller (PDC) ou como um Domain Member. Pode fazer parte tambm de um Active Directory Domain.1. Objetivo Configurao de um PDC Samba em conjunto com o Proxy Server Squid, realizando autenticao de usurios, e analise de logs via SARG.2. Visualizando o ambiente PDC Samba PLANETASGRUPO DE USUARIOSDiretoria Funcionarios- marcos- nelson- jose- luis COMPARTILHAMENTOSDiretoriaFuncionarios Publica 3. 3. Sugesto de requisitos de Hardware e Software do sistema. Software: Utilizaremos como base para implementao de nosso PDC Samba, a distribuio Linux CentOS verso 5.4. As estaes clientes sero baseadas na plataforma WindowsXP. Hardware: Do ponto de vista de Hardware necessrio instalao, devemos levar em conta capacidade de processamento, memria de execuo e espao para armazenamento dos compartilhamentos, afinal esse ltimo nosso foco principal. CPU 1.0 Ghz. Mem. RAM 512 MB. HD 80 GB4. Pacotes necessrios instalao. - samba - samba-client - samba-common - httpd Servidor Web (Necessrio a implementao do Sarg) - squid Servidor de Cache-Proxy - sarg Gerenciador de Logs do Squid5. Obteno e instalao do pacotes. Inicialmente considerando um ambiente Linux CentOS 5.4 instalado, adotaremos a instalao automtica dos pacotes atravs dos repositrios do prprio CentOS. Isso garante que sero instalados os pacotes mais recentes disponiveis para sua distribuio. Obs1: Lembre-se que o simbolo # determina que voc est logado como root. Obs2: Para evitar problemas de acesso, caso na ps-insatalao do CentOS 5.4 voc no tenha configurado o firewall do servidor para liberar acesso ao samba, execute como root este comando #service iptables stop Isso ira desabilitar o servio do iptables temporariamente. Para que o servio no reinicie no poximo boot execute o comando ntsysv desmarque a opco iptables e de OK . 4. Como root execute os comandos Verifica se algum pacote do Samba est instalado. #rpm -qa samba* Caso no estejam execute: #yum install samba Verifica se algum pacote do Servidor Web est instalado. #rpm -qa httpd* Caso no estejam execute: #yum install httpd Verifica se algum pacote do Proxy Server est instalado. #rpm -qa squid* Caso no estejam execute: #yum install squid Verifica se algum pacote do Sarg est instalado. #rpm -qa sarg* Caso no estejam execute: #wget http://dag.wieers.com/rpm/packages/sarg/sarg-2.2.3.1-1.el5.rf.i386.rpm #rpm -ivh sarg-2.2.3.1-1.el5.rf.i386.rpm6. Configurando Usuarios e Grupos Como root execute os comandos Adiciona os Grupos #groupadd diretoria #groupadd funcionarios Obs: Sendo os Usuarios em questo membros de um dominio no interessante permitir o login local no servidor. Por motivos de segurana utilizamos o shell /bin/false. Adiciona os Usuarios Exemplo de sintaxe utilizada #adduser -c Nome Completo -g grupo_primario -G grupo_secundario -s /bin/false usuario #adduser -c Marcos da Silva -g diretoria -G funcionarios -s /bin/false marcos #adduser -c Jos da Cunha -g diretoria -G funcionarios -s /bin/false jose #adduser -c Nelson Rodrigues -g funcionarios -s /bin/false nelson #adduser -c Luis de Souza -g funcionarios -s /bin/false luis 5. 7. Criando e configurando os Compartilhamentos Como root execute os comandos obs: Vamos adotar o diretorio /home como base para criar os compartilhamentos, alem dos homes dos usuarios que o sistema criou quando foram adicionados. #cd /home #mkdir Diretoria #mkdir Funcionarios #mkdir Publica Agora vamos setar as permisses locais de acesso aos compartilhamentos. Permisso de leitura, escrita e execuo para o Dono e Grupo, e nenhuma para Outros. #chmod 770 Diretoria #chmod 770 Funcionarios Alterando o grupo dos diretorios Diretoria e Funcionarios. #chgrp diretoria Diretoria/ #chgrp funcionarios Funcionarios/ Para que as permisses do grupo se propaguem dentro do diretorio utilizamos o SGID. Assim qualquer arquivo ou diretorio que venham a ser criados, herdam as permisses de Grupo setadas em Diretoria ou Funcionarios. #chmod g+s Diretoria #chmod g+s Funcionarios Permisso de leitura, escrita e execuo para o Dono, Grupo e Outros. #chmod 777 Publica Sendo um compartilhamento publico, para que um usuario nao apague indevidamente arquivos de outros usuarios utilizamos o STICKY BIT. #chmod o+t Publica8. Mapeando Grupos no samba Como root execute os comandos Vamos listar os grupos mapeados pelo sistema # net groupmap list Caso receba algo parecido com.... Domain Admins (S-1-5-21-2345678901-0987654321-2314567890-1001) -> root 6. Isso quer dizer que os usuarios do grupo root tero permisso de Administrador no Dominio. Obs: No aconselhavel que um usuario comum tenha permisses administrativas no dominio. Caso Domain Admins exista mas est mapeando outro grupo, modifique: # net groupmap modify ntgroup="Domain Admins" unixgroup=root type=d Caso Domain Admins no exista, temos que criar. Execute o comando #net groupmap add ntgroup="Domain Admins" unixgroup=root type=d Aps mapear Domain Admins podemos ento partir para confirgurao dos grupos dos usuarios do domnio. Vamos agora mapear o "Domain Users" . Como criamos dois grupos, diretoria e funcionarios, devemos incluir os dois. #net groupmap add ntgroup="Domain Users" unixgroup=diretoria type=d #net groupmap add ntgroup="Domain Users" unixgroup=funcionarios type=d Listando os grupos mapeados devemos receber algo como.... # net groupmap list Domain Admins (S-1-5-21-2345678901-0987654321-2314567890-1001) -> root Domain Users (S-1-5-21-2515407768-3015396816-253187376-1007) -> funcionarios Domain Users (S-1-5-21-2515407768-3015396816-253187376-1006) -> diretoria9. Entendendo e configurando o smb.conf Antes de qualquer coisa devemos efetuar um backup de segurana do arquivo de configurao do samba, smb.conf. Como root execute os comandos #cp -a /etc/samba/smb.conf /etc/samba/smb.conf_original Feito o backup, podemos brincar sem medo.... Como root crie o diretorio que vamos utilizar como compartilhamento padro dos Scripts de configurao dos usuarios. #cd /etc/samba #mkdir netlogon 7. O smb.conf o principal arquivo de configurao do SAMBA. Podemos efetuar 3tipos basicos de configuraes, PDC, DM e STAND-ALONE, no entanto o nossoobjetivo a configurao do samba como PDC Controlador de Domnio Primario.O SAMBA se utiliza de variaveis internas que facilitam sua configurao. Segueabaixo uma lista de algumas delas (mais significativas). Descrio Varivel Nome da mquina (host)%h Mostra a verso do samba%v Nome do servio (compartihamento) atual.%S Nome do usurio %u Nome do grupo.%g Nome do diretrio pessoal do usurio. %H Nome da mquina cliente fornecido pelo NetBIOS. %m Nome do servidor NetBIOS. %L Nome Internet da mquina cliente. %M Sistema operacional da mquina remota.%a O endereo IP da mquina cliente. %i Data e horrio. %tTendo conhecimento das variaveis, podemos comear a configurar o smb.confSegue abaixo um exemplo de configurao do smb.conf, comentado, utilizado comobase para implementao de nosso servidor SAMBA.O smb.conf se divide em duas partes distintas.[global]Configuraes gerais do Servidor[public][homes] Compartilhamentos[printers] 8. ##### EXEMPLO DE CONFIGURAO SMB.CONF #### INICIO #######[global]#Dominio utilizado no exemploworkgroup = PLANETAS#Nome netbios do Servidor(nome da maquina)netbios name = saturno#Descrio do Servidor que aparecer nos compartilhamentos e unidades mapeadasserver string = %h server (Samba, Ubuntu)#Tipo de Banco de Dados de senhas que iremos utilizarpassdb backend = tdbsam#Tipo de Autenticaosecurity = user#username map = /etc/samba/smbusers#Define qual o servio de nomes em que ordem devem ser usados para resolver hosts#em IP.name resolve order = wins bcast hosts#Define se o Servidor pode autenticar usuarios.domain logons = yes#Atua como Servidor de Dominio Primariopreferred master = yes#Habilita Suporte ao servio de nomes do Windowswins support = yes# Configurao do CUPS para impressorasload printers = yesprintcap name = CUPSprinting = CUPS;printer admin = @lpadmin 9. # Logon Padro#Determina a letra H para mapeamento das homes dos usuarioslogon drive = H:#Nome do Script padro que ser iniciado quando o usuario se logar nas maquinas#clientes do dominio. No exemplo utilizamos a variavel %G de grupos para#determinar cada grupo tem um Script especifico.logon script = %G.bat#Utilizada para determinar o profile de cada usuario. Em nosso servidor profile movel.#logon path = server1profile%Ulogon path =# Script para adcionar computadores automaticamenteadd user script = /usr/sbin/adduser --quiet --disabled- password --gecos "" %udelete user script = /usr/sbin/userdel -r %uadd group script = /usr/sbin/groupadd %gdelete group script = /usr/sbin/groupdel %gadd user to group script = /usr/sbin/usernod -G %g %uadd machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %uidmap uid = 15000-20000idmap gid = 15000-20000template shell = /bin/bash 10. # Sincronismo das senha locais com as do SAMBApasswd program = /usr/bin/passwd %upasswd chat = *EntersnewsUNIXspassword:* %nn*RetypesnewsUNIXspassword:* %nn *passwordsupdatedssuccessfully* .passwd chat debug = yesunix password sync