SMB - Server Message Block. O protocolo SMB é usado pelo MS Windows 3.11, NT e 95 para compartilhar...

Post on 18-Apr-2015

123 views 11 download

Transcript of SMB - Server Message Block. O protocolo SMB é usado pelo MS Windows 3.11, NT e 95 para compartilhar...

SMB - Server Message Block.

O protocolo SMB é usado pelo MS Windows 3.11, NT e 95 para compartilhar discos e impressoras.

Andrew Tridgell criou o SAMBA, para que o unix/linux pudesse compartilhar discos e impressoras com servidores Windows.

Ocupa entre 600 e 800K de memória por usuário.

Configuração Samba Smb.conf – (dividido em [seções] e parâmetros)

[global] nesta seção todo o parâmetro configurado serve para todas as seções, salvo configuração específica.

[home] conexões com diretórios de trabalho e pessoais.

Arquivo smb.conf# Global parameters

[global]# Nome do Servidor atribuído no NetBiosnetbios name = LINUX# Num. IP da Interface do Servidorinterfaces = 192.168.1.100/255.255.255.0# Nome do Servidor SAMBAserver string = LINUX %v %h# Utiliza senha criptografadasencrypt passwords = yes

...arquivo smb.conf# Arquivo onde as senhas do SAMBA irão ser gravadassmb passwd file = /etc/smbpasswd# Informa que o update da senha será criptografadoupdate encrypted = yes# Aceita senha vazianull passwords = yes# Arquivo de logs do SAMBAlog file = /var/log/samba/log.%m# Tamanho máximo do arquivo de log em Kilobytesmax log size = 50

...arquivo smb.conf# Verifica o estado da conexão.keepalive = 20# Esta opçao incrementa o velocidade de acessosocket options = TCP_NODELAY SO_RCVBUF=8192

SO_SNDBUF=8192# Arquivos onde se encontram as definições das impressorasprintcap name = /etc/printcap# O nivel de eleição do servidor de dominio. Default e' 20os level = 20# Nao utiliza DNS com servidor proxydns proxy = No# Suporte para utilizar servidores WINSwins support = nohosts allow = 192.168.1. 192.168.2. 127.

...arquivo smb.conf# Modo compartilhado de arquivosshare modes = yes# Tipo de Autenticaçãosecurity = user# Preserva o nome dos arquivospreserve case = yes# Sincroniza a senha com o LINUXunix password sync = no# Indica qual o programa que ira autenticar as senhaspasswd program = /usr/bin/passwd# Nome do grupo do ambiente Windowsworkgroup = curso# Este parametro e' somente usado com security=share, o valor

default e' nevermap to guest = never

...arquivo smb.conf#Faz a combinaçao entre maiusculas e minusculas da senha ate

n caracteres.password level = 32# Elege um servidor para nmbd, caso utilize servidor de senha

NT coloque este item como yespreferred master = yes# Utilizado para configurar um expecifico dominio, somente

utilizado para que o SAMBA autentique os usuarios no NTdomain master = yes

...arquivo smb.conf# Dominio master esta localizado no Linuxlocal master = yes# Auto-desconexaodead time = 0# Sincroniza a data/hora do Servidor e dos clientestime server = True# Nivel de debug do sistemadebug level = 0# Carrega as Impressorasload printers = yes

...Exemplo arquivo smb.conf

Smb.conf

Mapeamentos No diretório /home/netlogon, adicionar o arquivo %U.bat.

Net time \\linux /set /yes. Net use y: \\linux\projetos. . . .

Variáveis de substituição Variável Descrição

%S Nome do serviço (compartilhamento) atual. %u Nome do usuário. %g Nome do grupo. %H Nome do diretório pessoal do usuário (HOME). %m Nome da máquina utilizada pelo usuário (ex.

pc1001). %L Nome do servidor NetBIOS. %M Nome Internet da máquina cliente. %a Nome do sistema operacional da máquina do

cliente (ex.wfw, win95,WinNT). %I Número IP da máquina cliente. %T Data e horário.

Parâmetros Admin users (S)

Usuários que terão privilégios de administração do compartilhamento, com poderes de superusuário no samba. Exemplo:

admin user = l.linux, d.linux announce as (G)

Especifica Servidor de Nomes NetBIOS que será divulgado na rede. O padrão é igual a Windows NT. As opções válidas são "NT", "NT Server", "NT Workstation", "Win95". Exemplo:

Announce as = Win95 browseable (S)

Controla se o compartilhamento será visualizado na lista de recursos disponíveis.

browseable = Yes

...Parâmetros comment (S)

Contém o texto que será visualizado pelo usuário quando solicita uma lista de recursos disponíveis na rede. Exemplo:

comment = Servidor Linux

copy (S) Permite que a seção atual seja uma cópia de qualquer

seção anterior. Exemplo: Copy = home

create mode (S) Define as permissões que serão utilizadas na criação de arquivos

no recurso compartilhado. Exemplo: create mode = 0775

...Parâmetros guest account (S)

Define o nome do usuário usado para acessar os compartilhamentos definidos com o parâmetro guest ok'.Exemplo:

guest account = tatu

guest ok (S) Caso yes', não solicita senha ao usuário. Os privilégios

serão iguais aos determinados para a conta "guest account“. Exemplo:

guest ok = yes

hosts deny (S) Hosts sem permissão de acesso. Exemplo:

hosts deny = 150.203.5. máquina.domínio.com.br

...Parâmetros hosts allow (S)

Hosts com permissão de acesso. hosts allow = 192.168.1. EXCEPT 192.168.1.60 allow hosts = 192.168.1.

load printers (G) Determina se as impressoras definidas no printcap

serão disponibilizadas na lista padrão de recursos. Exemplo:

load printers = yes max connections (S)

Número máximo de conexões simultâneas a um determinado serviço. Exemplo:

max connections = 10

...Parâmetros path (S)

Caminho do Diretório de acesso. Exemplo: path = /home/arquivos

printer (S) Nome da impressora para a qual os serviços de impressão serão

enviados. Exemplo: printer name = laserwriter

workgroup (G) Grupo de trabalho do servidor ou domínio quando

"security=domain". Exemplo: workgroup = Linux

...Parâmetros security (G)

Forma de Autenticação. opções: "security=share": senhas por recurso compartilhado. "security=user": senha por usuário. "security=server": validação em um server SMB ex. NT. "security=domain": somente se num dominio NT. Exemplo:

security = USER

...Parâmetros writeable (S)

Permitida a criação ou modificação de arquivos no diretório compartilhado. Exemplos:

read only = no writeable = yes write ok = yes

Utilizando o Samba Testparm. Smbclient –L host. (ver compart.)

Smbclient //host/share passwd (usar share)

Usuários e senhas smbpasswd [opções] [nome do usuário]

Cadastrar usuários no SAMBA smbpasswd –a [nomedousuario]

Deletar usuários no SAMBA smbpasswd –x [nomedousuario]

Habilitar usuários no SAMBA smbpasswd –e [nomedousuario]

Desabilitar usuários no SAMBA smbpasswd –e [nomedousuario]

Configuração estação win

... Configuração estação win

Adm via Web Swat. (instalar)

Inetd.conf liberar swat. Verificar se a porta 901 está

configurada no arquivo services. http://host:901/.

Samba – Pré-requisitos Rede deve estar corretamente instalada e configurada.

As estações Windows® devem utilizar o protocolo TCP/IP.

samba linuxconf-samba samba-clients (opcional) samba-swat (opcional)

Samba - Configuração Smb.conf Este arquivo determina os recursos

compartilhados e restrições do sistema. Este arquivo é constituído de sessões com cabeçalhos.

[global][homes][printers]... A seção [global] define variáveis que Samba usará para

definir o compartilhamento de todos os recursos. A seção [homes] permite aos usuários remotos acessar

seus diretórios home na máquina Linux.

O que pode ser feito com SAMBA

1. Compartilhar uma unidade de Linux com máquinas Windows.

2. Compartilhar uma unidade de Windows com máquinas Linux.

3. Compartilhar uma impressora de Linux com máquinas Windows.

4. Compartilhar uma impressora de Windows com máquinas Linux.

Opções de serviço Configuração Base.

Gerenciador de contas do SMB. Descrição do Servidor. Grupo de trabalho. Nome do NetBios(opc). Apelidos do NetBios(opc).

...Opções do serviço Senhas.

Modo de Autenticação. Mapear para guest. Servidor de Senha. Nivel de senha. Programa Password.

Acesso Permite/proíbe máquinas.

...Opções do acesso Colocando em rede.

Nível de OS. Anúncio remoto. Navegadores remotos síncronos. Servidor Wins. Interfaces. Ordem de resolução de nomes.

...Opções do serviço Contas automáticas.

Adiciona script do usuário. Apaga script do usuário.

Características. Conta convidado. Tempo limite de inatividade. Nível de depuração. Serviço padrão. Comando WinPopup

FIREWALL

Iptables

Roteamento dinâmico Estabelecido quando existe uma máquina

entre 2 ou mais sub-redes diferentes, e há livre passagem de pacotes entre elas, quando necessário.

Roteamento dinâmico

1) Quantas sub-redes?

2) Quem é o roteador?

3) Qual a utilidade do gw?

Roteador/gateway

? – qual é o endereço gateway do host 10.0.0.2?? - Quando pode acontecer icmp echo request e não icmp echo reply?

Roteamento dinâmico Requisitos: Micro com 2 placas de rede.

Configurar cada placa conforme subredes. Definir o gateway em todas as máquinas das subredes (incluindo

windows). Ativar roteamento dinâmico via kernel.

Denifição do gateway nos clientes

/etc/sysconfig/network. GATEWAY = ip_do_gateway.

No Win em propriedades do TCP/IP, opção gateway.

Roteamento via kernel echo 1 > /proc/sys/net/ipv4/ip_forward Será perdido se ./network restart. Como ativar pernamentemente?

Rc.local inserir a regra no final. Ativa quando reiniciada a máquina.

net.ipv4.ip_forward = 1 (/etc/sysctl.conf) Testar roteamento (progressivamente).

router_local,router_remoto,outra sub-rede

Considerações - firewall Máquina capaz de tomar decisões

em relação ao tráfego de rede. Roteamento controlado por regras

de análise de cabeçalho IP (filtro de pacotes). Filtros existentes:

Ipfwadm – kernel 2.0.x Ipchains – kernel 2.2.x Iptables – kernel 2.4.x

Funcionamento - firewall Mediante regras estabelecidas.

Todos os pacotes entram no kernel, que verifica o destino e decide qual chain fará o tratamento (roteamento interno).

Tipos de chains (cadeia) – depende da tabela. Filter: default, INPUT-OUTPUT-FORWARD NAT: rede_privada->internet, PREROUTING-

OUTPUT-FORWARD

Tabela Filter

CHAINS INPUT.

Quando o destino final é o firewall. OUTPUT.

Pacotes gerados pelo firewall. FORWARD.

Pacotes que atravessam o firewall.

Regras Iptables [-t tabela][opção][chain][dados] –j

[ação] Exemplo:

Iptables –A FORWARD –d 192.168.1.1 –j DROP Opções:

-P = Policy (política). Iptables –P FORWARD DROP Iptables –P INPUT ACCEPT

-A = Append, tem prioridade sobre o –P. Iptables –A OUTPUT –d 172.20.5.10 –j ACCEPT Iptables –A FORWARD –s 10.0.0.1 –j ACCEPT Iptables –A FORWARD –d www.haha.com.br -j DROP

Regras -D = Delete.

Iptables –D OUTPUT –d 172.20.5.10 –j ACCEPT Iptables –D FORWARD –s 10.0.0.1 –j DROP Iptables –D FORWARD –d www.haha.com.br -j

DROP Iptables –D FORWARD 4

-L = List Iptables –L FORWARD

-F = Flush (esvaziar) Iptables –F Iptables –F FORWARD

Regras Dados

-s = source -s 172.20.0.0/255.255.255.0 -s 172.20.0.10/255.255.255.255

Máscara default . -s 172.20.0.0/24 -s www.haha.com.br -s 0/0 ou 0.0.0.0/0.0.0.0

Regras - dados -d = Destination.

Idem –s. -p = Protocol (udp, tcp, icmp).

-p icmp ! = exclusão, utilizado com –s, -d, -p, -i –o

-s ! 10.0.0.1 -p ! Tcp

Regras Retorno.

Deve-se prever o retorno. Iptables –P FORWARD DROP Iptables –A FORWARD –s 10.0.0.0/8 –d 172.20.0.0/16 –j

ACCEPT Não será possível a resposta.

Regras Previsão de retorno.

Iptables –P FORWARD DROP Iptables –A FORWARD –s 10.0.0.0/8 –d

172.20.0.0/16 –j ACCEPT Iptables –A FORWARD –d 172.20.0.0/16 –s

10.0.0.0/8 –j ACCEPT

Quando há envolvimento de mais de uma sub-rede, o roteamento dinâmico deve ser ativado.

Echo 1> /proc/sys/net/ipv4/ip_forward ou /etc/sysctl.conf net.ipv4.ip_forward = 1

Regras Salvamento e Recuperação.

Iptables-save > arquivo Iptables < arquivo

Exemplo no /etc/rc.d/rc.local Echo 1 >/proc/sys/net/ipv4/ip_forward Iptables < /etc/firewall

Tabela NAT (Network Address Translator)

Recursos que utilizam NAT. Mascaramento (masquerading). Redirecionamento de portas (port forwarding). Redirecionamento de servidores (forwarding). Proxy Transparente (transparent proxy (squid)). Balanceamento de carga (load balance).

Tabela NAT

NAT SNAT.

Altera endereço de origem do pacote. POSTROUTING, (mascaramento).

DNAT. Altera o endereço destino do pacote. PREROUTING e

OUTPUT, (redirecionamento de porta, redirecionamento de servidor, load balance, proxy transparente).

NAT CHAINS.

PREROUTING. Analisa pacotes que entram no kernel.

POSTROUTING. Analisa pacotes que saem do kernel.

OUTPUT. Analisa pacotes que são gerados na

máquina.

NAT Opções.

-A = Append. -D = Delete.

Dados. -t table = tabela a ser utilizada.

Iptables –t nat –A. --to = define IP e porta destino (DNAT), ou

origem (SNAT). Utilizado após –j action. -j DNAT --to 10.0.0.2 -j DNAT –to 10.0.0.2:80 -j SNAT –to 172.20.0.2

NAT --dport = porta de destino. Utilizado

antes do –j action. -d 127.20.0.1 –p tcp –dport 80 –j DNAT –

to 10.0.0.2. --sport = porta origem.

NAT Ações.

SNAT. Utilizado com POSTROUTING para mascaramento da

origem. DNAT.

Utilizado com PREROUTING e OUTPUT para redirecionamento de portas e servidores, balanceamento de carga e proxy transparente.

MASQUERADE. Faz mascaramento na saida de dados.

REDIRECT. Redireciona uma requisição para uma porta local do

firewall.

NAT Exemplo 1:

Echo 1 > /proc/sys/net/ipv4/ip_forward

Modprobe iptable_nat Iptables –t nat –A POSTROUTING –s

10.0.0.0/8 –o eth0 –j MASQUERADE Como fazer para liberar somente

alguns hosts para a internet?

NAT Exemplo 2:

Echo 1 > /proc/sys/net/ipv4/ip_forward Modprobe iptable_nat Iptables –t nat –A POSTROUTING –o eth0 –j SNAT --to

200.135.252.15 Todos os pacotes que saem pela eth0 terão o endereço origem alterado para

200.135.252.15.

Iptables –t nat –A POSTROUTING –s 192.168.1.0/24 –o eth0 –j SNAT 200.20.5.0/24.

SERVIDOR DNS

Domain Name System

Introdução O que é DNS.

mapeamento é uma associação entre duas informações. (nome/ip-ip/nome).

Ele é um banco de dados distribuído, uma seção gerenciada localmente pode estar para todo o mundo.

Estrutura semelhante a uma árvore invertida. Cada domínio tem um nome que é dividido em duas partes. A sua

relação ao domínio pai e o nome do domínio, que identifica sua posição no banco de dados.

Resolução de Nomes

Domínios e Servidor Primário unoescsmo.edu.br pode ser domínio de mais de uma

máquina?

DOMÍNIOS DE PRIMEIRO NÍVEL (DPNs) com – edu – gov – mil – net – org. Inglaterra: co.uk = comercial, ac.uk = inst. acadêmicas. Brasil: com.br = comercial, eti = especialistas em ti, psi =

provedores... Mais informações na FAPESP.

Implementação Pacotes necessários:

Bind.(9.1.2) Linuxconf-dnsconf.

Configuração: A) Rede/Tarefas do Servidor/DNS – servidor de nomes de

domínio. Nome do domínio. Servidor principal. (máquina que vai controlar + domínio.) E-mail do adm. Servidores NS. (primários + secundários) Servidores MX.. Ips Padrao. Funcionalidades.

...Implementação Rede/Tarefas de servidor->DNS .../Informações de máquinas por

domínio. Secundários.

SERVIDOR DE E-MAIL

Postfix + Procmail

SERVIDOR FTP

Wu-ftp

SERVIDOR WEB

Apache

KERNEL

CompilaçãoVersão 2.4.18