• Nenhum resultado encontrado

Pos-Unipac

N/A
N/A
Protected

Academic year: 2021

Share "Pos-Unipac"

Copied!
30
0
0

Texto

(1)

Prof. Davis Anderson Figueiredo

O Linux na rede

- Configuração da interface de rede.

1º - Identificar pôr meio do fabricante, fontes do kernel ou Internet um modelo compatível de NIC para o sistema

2º - Definir o modulo (driver) mais adequado a nossa interface de rede. O modulo pode estar no sistema ou ser fornecido pelo fabricante. O modulo deve ser suportado pelo kernel.

OBS: Para dispositivos plug-and-play suportados pelo Linux, não há necessidade de configurações para os módulos. Pois este já estará sendo carregado e parametrizado automaticamente na inicialização do

sistema.

3º - Módulos mais comuns

Modelo Modulo

Realtek 8139 8139too.o / rtl8139.o Davicom dmfe.o Sis900 sis900.o Ne2000(ISA) ne.o Ne2000(PCI) ne2kpci.o 3Com3c59x 3c59x.o 3Com3c501 3c501.o 3Com3c503 3c503.o 3Com3c505 3c505.o

4º - Para dispositivos não plug-and-play, é necessário à parametrização correta através de informações do IRQ e I/O.

5º - Para ativação e parametrização dos módulos de rede são utilizado os seguintes comandos. # insmod modulo irq=<> io=<>

ou

#modprobe modulo irq=<> io=<> Ex: insmod ne.o irq=5 io=0x300

OBS: Estas configuração são dinâmicas e serão perdidos no próximo restart do sistema.

6º - Para configuração definitiva, utilizaremos o arquivo /etc/modules.conf. Este arquivo é lido toda vez que o sistema é iniciado e os módulos nele definidos são carregados durante o boot.

# vi /etc/modprobe.conf Lay-out do arquivo

Alias device_alias nome_driver Optionsnome_drivers opção= opção= Ex: alias eth0 ne

Options ne irq=5 io=0x300

7º - Para dispositivos PCI a configuração é mais simplificada, basta ser indicado o modulo da interface de rede.

(2)

Dinamicamente

# insmod 8139too.o # modprobe dmfe.o

Definitivamente

# vi /etc/modprobe.conf alias eth0 8139too

OBS: Para interfaces de rede, o device lógico correspondente é o “eth” padrão Ethernet, com um valor numérico seqüencial de acordo com o n.º de interfaces instalados eth0, eth1, eth2 e assim sucessivamente. - Configuração do Protocolo TCP/IP

Módulo Manual

Configuração de um endereçamento IP individual e estático para cada host ou interface de rede, feito de maneira manual.

1º - A configuração de endereçamento IP esta definida no arquivo /etc/sysconfig/network-scripts/ifcfg-ethN, de acordo com o nº da placa de rede.

Ex: # vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=”eth0” (device de rede correspondente) BOOTPROTO=”’nome” (não utilizar configuração dinâmica) ONBOOT=”yes” (ativar durante o boot)

IPADDR=”192.168.1.100” (endereço IP da interface de rede) NETMASK=”255.255.255.0” (mascara de sub-rede)

Módulo Automático

Obtenção de um endereçamento IP a partir de um Servidor DHCP (Dynamic Host Configuration Proticol ). 1º - Como na manual, a configuração da solicitação de um endereçamento IP através de um Servidor DHCP também é feito no arquivo /etc/sysconfig/network-scripts/ifcfg-eth0.

Ex: # vi /etc/sysconfig/network-scripts/igcfg-eth0

DEVICE=”eth0” (device de rede correspondente) BOOTPROTO=”’dhcp” (utilizar configuração dinâmica) ONBOOT=”yes” (ativar durante o boot)

Outros arquivos importantes

Alem das configurações IP especificas da interface de rede a outro arquivo que armazena informações importantes para a configuração de um host na rede.

O arquivo /etc/sysconfig/network tas as seguintes configuações: NETWORKING=yes (se esta ativo na rede)

FORWARD=false (se vai repassar pacotes para outra rede) HOSTNAME=nome.localdomain (nome da maquina + domínio)

(3)

GATEWAYDEV=device (por onde vai sair)

Comandos para configurar endereçamento IP

# ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up (configuração dinâmica)

Daemon da rede

# cd /etc/rc.d/init.d

(4)

Roteador Linux

O que é roteador e roteamento?

Dispositivo utilizado para realizar a transferência de pacotes de uma rede para outra. È uma função do protocolo IP que permite que pacotes sejam passados entre redes de IP através da camada de rede do modelo TCP/IP.

Rede A Roteador Rede B

O Linux como Roteador.

Embora existam dispositivos dedicados a função de roteador, um microcomputador com o mínimo de hardware e com o Linux instalado e devidamente configurado, pode executar essa função perfeitamente. No Linux essa função é muito explorada devido ao baixo custo, boa funcionalidade, boa performance, simples configuração e reaproveitamento de equipamentos sucateados.

Configuração do Roteador Linux.

Um roteador Linux tem sempre no mínimo 2 interfaces de rede, que se comunicam com 2 redes ou sub-redes distintas. Não faz sentido configurar 2 interfaces de rede para atender o mesmo

endereçamento IP.

Tabela de Roteamento.

No servidor ou roteador Linux, as rotas ou caminhos a serem tomados por um pacote que se destina a um host ou rede, é definido pela tabela de roteamento, que traz as informações dos rota

conhecidas pelo servidor.

Internet NET 200. 200.216.198.44 (gateway) eth3 Rede A Rede B 10.0.0.0 172.16.0.0 eth0 eth1 eth2 Rede C 192.168.0.0

(5)

Tabela de roteamento. 10.0.0.0 255.0.0.0 172.16.0.0 255.255.0.0 192.168.0.0 255.255.255.0 0.0.0.0 200.216.198.44

Os comandos no Linux para se listar a tabela de roteamento são os: # netstat –rn

ou

# route –n

Processo de roteamento

O processo de roteamento é muito simples: um datagrama (pacote IP) é recebido, o endereço de destino (para quem ele é) é examinado e comparado com cada item da tabela de roteamento. O item que mais corresponder com o endereço é selecionado e o datagrama é direcionado a interface especificada.

Se o campo _gateway_ estiver preenchido, então o datagrama é direcionado para aquele computador pela interface especificada, caso contrário o endereço de destino é assumido sendo uma rede suportada pela interface.

Enviando um pacote.

Ao se enviar um pacote, ele faz um acesso a tabela de roteamento para que possa atingir o destino na seguinte ordem de procura:

1º host destino.

2º endereço de rede do host destino.

(6)

Exemplo de configuração:

Vamos configurar um servidor Linux para cumprir a função de um roteador para atender 2 redes com endereços IP distintos.

Rede A Rede B

End de rede 10.0.0.0 End de rede 192.168.0.0

Mascara 255.0.0.0 Mascara 255.255.255.0

Rota 10.0.0.0 Rota 192.168.0.0

Configurando o Servidor

1º Configurando as interfaces de rede.

# ifconfig eth0 10.0.0.1 netmask 255.0.0.0 up (Servidor A)

# ifconfig eth1 192.168.0.1 netmask 255.255.255.0 up (Servidor B) 2º Habilitando o repasse de pacotes.

# echo 1 > /proc/sys/net/ipv4/ip_forward (Servidor A e B) 3º Habilitando as rotas para as respectivas redes

# route add –net “rede B” netmask 255.255.255.0 dev eth0 (Servidor A) # route add –net “rede A” netmask 255.0.0.0 dev eth0 (Servidor B)

Configurando o cliente

1º Configurando as interfaces de rede.

# ifconfig eth0 10.0.0.2 netmask 255.0.0.0 up (rede A)

# ifconfig eth0 192.168.0.2 netmask 255.255.255.0 up (rede B) 2º Desabilitando o repasse de pacotes.

# echo 0 > /proc/sys/net/ipv4/ip_forward 3º Definindo o default gateway.

# route add default gw 10.0.0.1 eth0 (rede A) # route add default gw 192.168.0.1 eth0 (rede B)

Testando o Servidor

Com um cliente da rede A tente pingar um cliente da rede B. Cliente A # ping 192.168.0.2

(7)

Servidor DHCP

Comparação entre endereçamento IP Estático ou Dinâmico

Todo computador conectado a redes IP precisa, para se comunicar, de uma identificação numérica. Esta identificação é conhecida como endereço IP.

O endereço IP pode ser atribuído de forma estática ou dinâmica.

Endereços IP atribuídos estaticamente possuem algumas desvantagens.

- Esforço para manutenção da rede. Quanto maior a rede mais esforço. - Configuração de endereçamento IP errados ou repetidos.

- Mudança de endereço IP em um servidor implica em mudança na configuração de cada host.

- Flexibilidade baixa na rede. - Envolvimento do usuário.

Endereços IP atribuídos dinamicamente possuem ao contrario dos estáticos algumas vantagens.

- Esforço para manutenção da rede é baixo.

- Configuração de endereçamento IP errado ou repetido e nula.

- Centralização das informações de endereçamento de recursos da rede. - Flexibilidade alta na rede.

- Pouco ou nenhum envolvimento do usuário.

Conceitos do Servidor DHCP

A atribuição dinâmica ou automática de endereços IP é feita através do protocolo DHCP (Dynamic Host Configuration Protocol). É um serviço hierárquico, seu uso e configuração e feito, tanto do lado do cliente como do servidor.

Quando um IP é cedido pelo Servidor DHCP a um cliente DHCP, esse processo é chamando de “Leasing”. Ou seja, é feito um aluguel de um IP para o cliente. E esse processo acontece da seguinte forma.

- Para encontrar o Servidor o cliente dispara um Mac Broadcast (DHCPDISCOVERY). - O cliente então respondera apenas a primeira mensagem de um servidor que o alcançar (DHCPOFFER).

- Uma requisição (DHCPREQUEST) do um endereço IP para cliente será feita ao 1º Servidor que enviou a mensagem DHCPOFFER.

- O Servidor DHCP, após receber o DHCPREQUEST, envia uma mensagem de

confirmação (DHCPACK) pela qual o “leasing” está então estabelecido e o cliente pode iniciar seus serviços TCP/IP.

Servidor DHCP Cliente

DHCP DHCPDISCOVERY

(8)

Obs:

- O DHCP utiliza o UDP como protocolo de transporte. - O cliente envia mensagens para o servidor na porta 67. - O servidor envia mensagens para o cliente na porta 68.

Configuração do Servidor

Pacote

dhcp-*.i386

Arquivos de Configuração

“/etc/dhcpd.conf” – É o principal arquivo, de Configuração do Servidor DHCP. Nele são definidas todas as informações da rede e opções de endereços que serão liberados para os clientes DHCP.

“/var/state/dhcp/dhcpd.leases” – Base de dados dos endereços alugados aos clientes.

Servidor DHCP Cliente

DHCP DHCPREQUEST

(9)

Exemplo de Configuração do Servidor

Editar o arquivo /etc/dhcpd.conf

server-identifier master; Identificação do Servidor ddns-update-style interim ou ad-hoc;

default-lease-time 600; Tempo padrão de empréstimo de um IP ao cliente max-lease-time 7200; Tempo máximo de empréstimo de um IP ao cliente option domain-name "teste.com.br"; Nome do domínio da rede option domain-name-servers 192.168.1.2; Servidor DNS

option host-name "dns"; Nome do servidor DNS option log-servers 192.168.1.6; Servidor de Log

option lpr-servers 168.168.1.7; Servidor de Impressão

option netbios-name-servers 192.168.1.4; Servidor de Netbios option netbios-node-type 0x4; Tipo de Servidor de Netbios

option nis-domain unibh; Dominio NIS

option nis-servers 192.168.1.3; Servidor NIS

option routers 192.168.1.1; Roteador ou Gatware option subnet-mask 255.255.255.0; Mascara de Sub-Rede option time-servers 192.168.1.8; Servidor de Tempo

subnet 192.168.1.0 netmask 255.255.255.0{ Definição da rede e IPs disponíveis range 192.168.1.10 192.168.1.50;

}

Pode-se ainda definir endereços IP's específicos para cada máquina na rede, para fazer essa configuração é necessário a utilização dos endereços ethernet das mesmas, por exemplo: host cliente1 { hardware ethernet 08:00:2b:4c:59:23; fixed-address 192.168.1.222; }

(10)

Servidor DNS (bind)

O DNS (Domain Name System) é um serviço que tem como função principal à conversão de nomes de hosts e/ou domínios em endereço IP, e endereço IP em nome e/ou domínio. È um serviço

hierárquico, cliente/servidor. O cliente é conhecido como “resolver” e o servidor como “name server”. O cliente tem a função de passar as consultas das aplicações para o servidor e de repassar a resposta novamente a aplicação. Já o servidor é responsável pela consulta de uma base de

referências entre IP’s e nomes de hosts e/ou domínio e enviar o resultado ao solicitante. A comunicação entre eles acontece através da porta 53 do protocolo UDP.

Estrutura hierárquica de nomes de domínios

A estrutura de nomes de domínios é muito parecida com a estrutura dos arquivos do Linux, onde o "/" é o raiz e contém todos os diretórios, é que estes vão se ramificando e formando todos os subdiretórios do sistema.

No DNS, as informações sobre os nomes são distribuídas, ou seja, cada servidor de nomes sabe onde encontrar os seus subdomínios. Os servidores “root-level domain” ou “raiz”, estão no nível mais alto da hierarquia, são responsáveis pelo label "." ou " ". Só existem cerca de 13 no mundo. Sabem onde ficam os “top-level domain” representados por códigos conhecidos como DPN (domínios de primeiro nível) as siglas (.com, .br, .gov, .net .edu, .org). E por ultimo estão os “second-level domains” representados pelos nomes de domínios seguidos ou não dos nomes de hosts.

Ex: WWW. LINUX.COM.BR

Root-level domain ( ) Top-levl domain (.com.br)

Hostname + second-level domain (www.linux)

Tipos de Servidor DNS

Primário: é o servidor DNS onde conterá os arquivos originais da zona, ou seja, onde o domínio

está registrado.

Secundário: é o servidor DNS é responsável por manter uma replica dos arquivos de zona do

servidor principal e também pode ser consultado pelos clientes em caso de indisponibilidade do servidor primário.

(11)

Processo de resolução www.linux.com.br Pacotes bind-utils-* bind-9* Configuração do servidor

- O Primeiro arquivo de configuração, é o que fará a associação de nomes aos endereços IP. Entre no diretório /var/named e crie o arquivo "teste.net"

# touch teste.net

As linhas começadas com “;”não serão lidas pelo servidor. Não use a opção “$TTL” se estiver usando um bind mais antigo que o 8.2.

ServidorDNS Root-level (“ ”) ServidorDNS Top-level (.com.br) ServidorDNS Second-level (www.linux) ServidorDNS Local Cliente DNS 1 8 2 3 4 5 6 7

(12)

Ex:

$TTL 43200

@ IN SOA servidor.teste.net. hostmaster.servidor.teste.net. ( 2003032501 ; serial 1H ; refresh 15M ; retry 14D ; expire 12H ; default_ttl ) @ IN MX 5 servidor.teste.net. @ IN NS servidor.teste.net. @ IN A 192.168.1.100 servidor IN A 192.168.1.100 cliente1 IN A 192.168.1.200 cliente2 IN A 192.168.1.201 www IN A 192.168.1.2

- O Seguindo arquivo de configuração, é o que fará a associação de endereços IP para nomes. Entre no diretório /var/named e crie o arquivo "192.168.1"

# touch 192.168.1

As linhas começadas com “;”não serão lidas pelo servidor. Não use a opção “$TTL” se estiver usando um bind mais antigo que o 8.2.

Ex:

$TTL 43200

@ IN SOA servidor.teste.net. hostmaster.servidor.teste.net. ( 2003032501 ; serial 1H ; refresh 15M ; retry 14D ; expire 12H ; default_ttl ) @ IN NS servidor.teste.net. 100 IN PTR servidor.teste.net. 200 IN PTR cliente1.teste.net. 2 IN PTR www.teste.net. 201 IN PTR cliente2.teste.net.

serial – versão do arquivo.

refresh – tempo de sincronização do

servidor primário com secundário.

retry – nova tentativa de conectar

com o primário caso refresh falhe.

expire – tempo máximo que o servidor

secundário pode fica sem se comunicar com o primário.

defaut_ttl – tempo para resposta

negativa.

NS – Name Server Record.

A – Mapeamento IP para nome de Host. MX – Servidores de Correio do Domínio. CNAME – Apelido de host

SOA – Inicio da zona de autoridade do

server. Parâmetros do servidor.

PTR – endereço inverso na zona

(13)

- O Terceiro arquivo de configuração, é o arquivo que guardara as “zonas de DNS”, ou seja, o arquivo que responderá pelos domínios que seu servidor vai atender.

Entre no diretório /etc e crie ou edite o arquivo "named.conf" # touch named.conf Ex: options { directory "/var/named"; }; zone "." { type hint; file "named.ca"; }; zone "teste.net" { type master; file "teste.net"; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "127.0.0"; }; zone "1.168.192.IN-ADDR.ARPA" { type master; file "192.168.1"; };

- Feito isso, é só editar o arquivo /etc/resolv.conf , (que é o cliente DNS) do servidor e de todas as máquinas da rede, e incluir a seguinte linha:

nameserver 192.168.1.100

- E então iniciar o servidor named. # cds

#./named start

- Para testar execute o comando no servidor: # nslookup teste.net

# dig teste.net

(14)

Servidor DNS Secundário

O DNS secundário é o servidor que serve como um backup do principal, é responsável por manter uma replica dos arquivos de zona do servidor principal e também pode ser consultado pelos clientes em caso de indisponibilidade do servidor primário.

Obs: O DNS secundário não pode ser também o servidor primário. Os equipamentos devem ser

distintos.

Para criar um servidor DNS secundário (escravo) entre no diretório /etc e crie ou edite o arquivo "named.conf" options { directory "/var/named"; }; zone "." { type hint; file "root.cache"; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "127.0.0"; }; zone "teste.net" { type slave; file "sec/teste.net"; masters{ 192.168.1.100; }; };

- Feito isso, é só editar o arquivo /etc/resolv.conf, (que é o cliente DNS) do servidor e de todas as máquinas da rede, e incluir a seguinte linha:

nameserver 192.168.1.100 (Primário) nameserver 192.168.1.200 (Secundário) Crie o diretório /var/named/sec

# mkdir /var/named/sec

E então iniciar o servidor named para que o servidor secundário possa ser sincronizado com o primário.

# cds

#./named start

- Para testar execute o comando no servidor secundário: # nslookup teste.net

# dig teste.net

(15)

Servidor SSH (Security Shell)

O serviço de “sshd” permite fazer o acesso remoto de terminal (console) de sua máquina, a partir de uma outra máquina. Este serviço veio substituir o “telnet”, “rlogin” e “rsh”. A principal diferença com relação ao serviço “telnet” padrão, “rlogin” e “rsh” é que toda a comunicação entre

cliente/servidor é feita de forma encriptada usando chaves públicas/privadas RSA para criptografia garantindo uma transferência segura de dados.

A velocidade do console remoto conectado via Internet é excelente (melhor que a obtida pelo “telnet” e serviços r*) dando a impressão de uma conexão em tempo real mesmo em links discados de 9.600 KB/s, a compactação dos dados também pode ser ativada para elevar ainda mais a velocidade entre cliente-servidor ssh. Além do serviço de acesso remoto, o “scp” possibilita a transferência/recepção segura de arquivos (substituindo o “rcp”).

Em conexões sem criptografia (telnet, rsh, rlogin) os dados trafegam de forma desprotegida e caso exista algum sniffer instalado em sua rota com a máquina destino, todo o que fizer poderá ser capturado (incluindo senhas).

Na primeira conexão, uma chave pública do servidor remoto será gravada em “~/.ssh/know_hosts”, e essa chave publica é verificada compatibilizando-se com a privada a cada conexão. Esse procedimento serve como checagem de segurança, para se certificar que o servidor não foi alvo de qualquer ataque ou modificação não autorizada das chaves. Pacotes oenssh-* oenssh-clients* oenssh-server* Arquivo de Configuração

O principal arquivo de configuração do servidor sshd é o /etc/ssh/sshd_config. Este arquivo define todas as características que serão suportadas pelo servidor. Ele é dividido em varia diretivas de configuração com funções individuais. As principais são:

Servidor sshd Cliente ssh Porta 22 Porta 22 ok Ativa Conexão ssh Solicitação de conexão Transferência da chave publica

(16)

# Porta padrão usada pelo servidor sshd. Múltiplas portas podem ser especifica. Port 22

# Especifica o endereço IP das interfaces de rede que o servidor sshd servirá requisições. Múltiplos endereços podem ser especificados.

ListenAddress 0.0.0.0

# Protocolos aceitos pelo servidor, primeiro será verificado se o cliente é compatível com a versão 2 e depois a versão 1.

Protocol 2,1

# As 4 opções abaixo controlam o acesso de usuários/grupos no sistema. Por padrão o acesso a todos é garantido (exceto o acesso root se PermitRootLogin for "no"). AllowUsers e AllowGroups definem uma lista de usuários/grupos que poderão ter acesso ao sistema. Os coringas"*" e "?" podem ser especificados. Somente NOMES são válidos, UID e GID não podem ser especificados. As diretivas Allow são processadas primeiro e depois Deny.O usuário deverá TER acesso via AllowUsers e AllowGroups e NÃO ser bloqueado por DenyUsers e DenyGroups para ter acesso ao sistema. Se uma das diretivas não for especificada, "*" é assumido como padrão.

AllowUsers *

DenyUsers root adm AllowGroups users DenyGroups root adm bin

# Permite (yes) ou não (no) o login do usuário root PermitRootLogin no

# Chaves privadas do servidor (as chaves públicas possuem um ".pub" adicionado # no final do arquivo.

HostKey /etc/ssh/ssh_host_key HostKey /etc/ssh/ssh_host_dsa_key # Tamanho da chave. 768 bits é o padrão ServerKeyBits 768

# Tempo máximo para login no sistema antes da conexão ser fechada LoginGraceTime 600

# Tempo para geração de nova chave do servidor (segundos). O padrão é # 3600 segundos (1 hora).

KeyRegenerationInterval 3600

# Ignora (yes) ou não (no) os arquivos ~/.ssh/known_hosts quando for usado para a opção RhostsRSAAuthentication. Se você não confia neste mecanismo ajuste esta opção para yes. IgnoreUserKnownHosts no

# Checa por permissões de dono dos arquivos e diretório de usuário antes de fazer o login. É muito recomendável para evitar riscos de segurança com arquivos lidos por todos os usuários.

StrictModes yes

# Permite (yes) ou não (no) o redirecionamento de conexões X11. X11Forwarding yes

# Especifica o número do primeiro display que será usado para o redirecionamento X11 do ssh. Por padrão é usado o display 10 como inicial para evitar conflito com display X locais

X11DisplayOffset 10

# Mostra (yes) ou não (no) a mensagem em /etc/motd no login. O padrão é "no". PrintMotd no

(17)

PrintLastLog no

# Permite (yes) ou não (no) o envio de pacotes keepalive (para verificar se o cliente responde). Isto é bom para fechar conexões que não respondem.

KeepAlive yes

# Facilidade e nível das mensagens do sshd que aparecerão no syslogd SyslogFacility AUTH

LogLevel INFO

# Especifica se somente a autenticação via arquivos ~/.rhosts e /etc/hosts.equiv é suficiente para entrar no sistema. Não é muito bom usar "yes" aqui.

RhostsAuthentication no

# Mesmo que o acima com o acréscimo que o arquivo /etc/ssh/ssh_known_hosts também é verificado. Também evite usar "yes" aqui.

RhostsRSAAuthentication no

# Especifica se a autenticação via RSA é permitida (só usado na versão 1 do protocolo ssh). Por padrão "yes".

RSAAuthentication yes

# Permite autenticação usando senhas (serve para ambas as versões 1 e 2 do ssh).O padrão é "yes". PasswordAuthentication yes

# Se a PasswordAuthentication for usada, permite (yes) ou não (no) login sem senha. O padrão é "no". PermitEmptyPasswords no

# Especifica se o programa login é usado para controlar a seções de Shell interativo. O padrão é "no". UseLogin no

# Mostra uma mensagem antes do nome de usuário/senha Banner /etc/issue.net

# Ativa o subsistema de ftp seguro. Para desabilitar comente a linha abaixo Subsystemsftp /usr/lib/sftp-server

Após a configuração do arquivo /etc/ssh/sshd.conf, deve ser iniciado o daemon correspondente:

# cds

# ./sshd start ou service sshd start

Aplicativos Cliente

Os aplicativos cliente que utilizam os recursos do servidor são: ssh , scp e o sftp.

Cliente ssh: esse comando é utilizado para se estabelecer uma conexão de um terminal

(console) em uma maquina remota.

ssh usuario@ip/nome_do_servidor_ssh Exemplos de conexão:

ssh davis@192.168.1.100

(18)

ssh 192.168.1.100

Conecta-se ao servidor remoto usando compactação e o login davis ssh 192.168.1.100 -C -l davis

ou

ssh john@ftp.sshserver.org -C

OBS: No Windows pode ser usado o programa “putty” como cliente ssh.

Cliente scp: Permite a cópia de arquivos entre o cliente/servidor ssh. scp origem destino

Exemplos de copias:

scp -C /teste/arq-01 davis@192.168.1.100:~/ scp -C davis@192.168.1.100:~/arq-02 /pub/teste

scp -C –r davis@192.168.1.1:~/arq davis@192.168.1.2:~/

OBS: No Windows pode ser usado o programa “pscp” como cliente scp.

Cliente sftp: Permite realizar transferência de arquivos com segurança através do

protocolo ssh. A conexão e transferências são realizadas através da porta 22 (ainda não é possível modificar a porta padrão).

sftp usuário@ip/nome_do _servidor Exemplos de transferência :

sftp davis@192.168.1.200 > get nome_do_arquivo

(19)

Servidor Proxy (Squid)

Proxy é um servidor que tem o objetivo de acelerar e também filtrar o acesso a um determinado conteúdo e/ou documento Web. Essa aceleração é feita com a criação de um cache local, para onde são enviadas copias dos conteúdos e/ou documentos acessados. Dessa forma quando o mesmo conteúdo é solicitado novamente, o proxy vai ao cache e fornece uma copia atualizada ao cliente solicitante. Tornando assim a consulta mais rápida e eficiente.

Já a filtragem de conteúdo e feita através de ACL’s, (Lista de Controle de Aceso) que são regres definidas para monitorar o acesso à Internet das estações clientes, esse tipo de implementação é chamado de proxy firewall.

Processo Proxy Cache

Servidor Proxy Cache Cliente 1 Cliente 2 Internet Cache 1 www.? 2 3 4 5 Servidor Proxy Cache Cliente 1 Cliente 2 Internet Cache 1 www.? 2 3

(20)

Processo Proxy Firewall

Pré-requisitos

- Acesso a internet no servidor.

- Boa quantidade de memória (512MB). - Se possível disco scsi.

Pacotes

squid-* squid-auth-*

Configuração do Servidor Proxy Cachê

A configuração do proxy é feita através do arquivo /etc/squid/squid.conf. Esse arquivo é

responsável por todas as configurações do servidor proxy, tanto para o cachê como para o firewall. Esse arquivo é bem comentado com explicações para cada diretiva de configuração. A configuração é feita, removendo-se o comentário das diretivas que serão usadas pelo proxy.

Principais diretivas a serem utilizadas para o proxy cache:

Edite o arquivo /etc/squid/squid.conf e descomente e configure as seguintes diretivas. # http_port 3128 (porta de comunicação entre o proxy e os clientes)

# icp_port 3130 (porta de comunicação entre os servidores proxy de uma mesma rede)

# cache_mem 8 MB (tamanho do cache do servidor em memória RAM. Quanto mais melhor .) # maximum_object_size 4096 KB (tamanho máximo que um objeto pode ter para ser armazenado no cache de disco) Servidor Proxy Firewall Cliente Internet ACL’s 1 www.sexo.com 2 3 Acesso Negado

(21)

# minimum_object_size 0 KB (tamanho mínimo que um objeto pode ter para ser armazenado no cachê de disco)

# maximum_object_size_in_memory 8 KB (tamanho máximo que um objeto pode ter para ser armazenado no cache de memória)

# cache_dir ufs /var/cache/squid 100 16 256 (padrão) usf – padrão de armazenamento do cachê.

/var/cachê/squid – localização do diretoria cachê

100 – tamanho em MB do cachê em disco (quanto mais melhor) 16 – diretórios de 1º nível (melhor 64)

256 – diretórios de 2º nível (melhor 64)

# cache_dir ufs /var/cache/squid 300 64 64 (ideal)

# cache_access_log /var/log/squid/access.log (arquivo de logs de acesso)

# cache_log /var/log/squid/cache.log (arquivo de logs de mensagens administrativas do servisor) # cache_store_log /var/log/squid/store.log (arquivo de logs de armazenamento)

# pid_filename /var/run/squid.pid (arquivo que guarda o pid do processo Squid em execução) #reply_body_max_size 0 MB (tamanho máximo do corpo do documento) “download”. # request_body_max_size 1 MB (tamanho máximo do corpo do documento) “upload”. # http_access deny all (padrão) (bloqueia o acesso de toda a rede)

# http_access deny allow (ideal) (libera o acesso a toda rede)

Ativando o Servidor Proxy

# service squid start # /etc/init.d/squid start ou

# squid -D

ACL (Listas de Controle de Acesso) do squid.

As ACL’s permitem especificar endereços de origem ou destino, domínios, horários, usuários, portas ou métodos de conexão ao Proxy, que servirão de base para permitir ou negar o acesso baseando-se em conjuntos dessas ACL's. Isto permite uma grande flexibilidade na configuração do SQUID: podemos, por exemplo, especificar quais endereços podem ser acessados, quais não podem ser acessados, que certo endereço somente pode ser acessado em determinado horário, que um usuário somente pode acessar, que um protocolo pode ou não ser utilizado, ou qualquer combinação dessas permissões/restrições.

(22)

A regras de controle de acesso são criada dentro do arquivo /etc/squid/squid.conf. A sua criação segue a seguinte estrutura.

acl nome_da_acl tipo_da_acl string ou arquivo Ex: acl rede src 192.168.1.0/255.255.255.0

Isto cria uma ACL de nome rede do tipo src (IP de origem) sendo sua especificação 192.168.1.0/255.255.255.0 uma rede classe C.

Tipos de acl’s mais utilizados: src -IP de origem

dst – IP de destino

srcdomain – domínio de origem dstdomain – domínio de destino url_regex – URL ou palavras port – porta de comunicação proto – protocolo de comunicação proxy_auth – autenticação do usuário arp – endereço MEC da placa de rede

Para negar (deny) ou permitir (allow) uma ACL é necessário defini-la na diretiva “http_access”

Ex: acl rede 192.168.1.0/255.255.255.0 http_access allow rede

Primeiro define a ACL, e em segundo lugar a sua permissão.

Sempre inicie as regras que têm o parâmetro allow, as de autorização, em seguida as de proibição deny.

Bloquear site:

acl site url_regex “/etc/squiud/sites” http_access deny site

Onde sites é o arquivo que será criado e editado as palavras ou url’s que serão filtradas pelo proxy. Sexo SEXO sexo Jogos Games Mp3 Chat www.jogos.com.br

(23)

Tipos de arquivos:

acl mp3 url_regex –i .*\.mp3$ acl exe url_regex –i .*\.exe$ acl mpeg url_regex –i .*\.mpeg$ http_access deny mp3

http_access deny exe http_access deny mpeg

Horário

acl rede src 192.168.1.0/255.255.255.0

acl almoço time MTWHF 12:00-14:00 (M -Monday, -Tuesday,etc...) http_access allow rede almoco

http_access deny rede

Por IP

acl rede src 192.168.1.0/255.255.255.0

acl diretoria src 192.168.1.1 192.168.1.2 192.168.1.3 acl site url_regex “/etc/squiud/sites”

http_access allow diretoria site http_access deny rede

Autenticando usuários

É um recurso bem interessante para controle pessoal de usuários. Isso permite que você crie ACLs individuais de acesso a intenrt.

Editando o squid.conf:

Procure pela diretiva “auth_param basic program” e “auth_param basic” e descomente as linhas: auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/senha

auth_param basic 5

Criando uma acl para autenticação dos usuários: acl usuario proxy_auth REQUIRED http_access allow usuario

O arquivo /etc/squid/senha não existe por padrão. Para cria-lo: # touch /etc/squid/senha

Para adicionar novos usuários basta fazer: # htpasswd /etc/squid/senha USUARIO

(24)

OBS: Dependendo da sua distribuição, o ncsa_auth pode estar em vários lugares, como /usr/bin,

/usr/sbin e assim por diante! Verifique onde está a sua e coloque as linhas acima de acordo!

Transparent Proxy

Esse recurso é muito útil para evitar que seus usuários "burlem" o proxy removendo as

configurações do browser. Eles serão obrigados a passar pelo proxy, mesmo que as máquinas não estejam configuradas para tal, redirecionando a porta 80 para 3128. Recomendado, principalmente em casos de bloqueio de sites.

Edite o arquivo /etc/squid/squid.conf, e descomentar as seguintes diretivas: httpd_accel_host virtual (deve ser criada)

httpd_accel_port 80

httpd_accel_with_proxy on httpd_accel_uses_host_header on

Para redirecionar as portar do proxy de 80 para 3128, é necessário à utilização de uma regra no firewall iptable. Edite o arquivo /etc/rc.d/rc.local, e no final desse arquivo inclua a seguinte linha. iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

OBS: agora tudo que chegar para porta 80 será direcionado para porta 3128. Para que o proxy

transparente funcione corretamente, e necessário que a máquina que faz o serviço de proxy, seja a máquina que tenha o link direto com a internet em sua rede.

Tags da seção auth_param

Uma das principais mudanças do Squid 2.4.x para o 2.5.x foi o sistema de autenticação. Todas as opções referentes a isso estão agoras sujeitas a opção auth_param. Vamos ver abaixo como ela funciona.

Formato geral

auth_param esquema parâmetro [opções]

program

Especifica o programa utilizado para autenticação. Tal programa irá ler uma linha

contendo "usuário senha" e responder ao squid com um "OK" para sucesso ou um "ERR" para falha. Para utilizar um autenticador, é necessário uma acl do tipo proxy_auth. Por padrão, utiliza-se o sistema de autenticação básico.

auth_param basic program /path/do/programa /path/do/arquivo/senhas

children

Número de processos filhos que o programa de autenticação poderá conter. auth_param basic children número

realm

Texto que irá aparecer na caixa de diálogo de login. Não é necessário configurar, mas confere uma certa personalização ao servidor.

auth_param basic realm Texto de login

credentialsttl

Especifica por quanto tempo o Squid irá assumir que uma autenticação bem sucedida continuará válida.

(25)

Servidor Samba

O Samba é um conjunto de programas que funciona de forma integrada para possibilitar o acesso de clientes Windows a recursos remotos em um servidor Linux/Unix, para armazenamento de arquivos e serviços de impressão por meio do protocolo SMB (Server Message Block). Além do Linux o Samba já pode ser executado em plataformas Netware, VMS e OS/2.

Características do Samba

O Samba consiste de dois programas-chaves:

Smbd - É o daemon servidor que provê compartilhamento de arquivos e serviços de impressão

para clientes Windows usando o protocolo SMB (ou CIFS - Common Internet File System).

Nmbd - É o servidor que entende e pode responder a requisições de serviços de nomes de

nomes NetBIOS sobre IP. Ele também participa de browsing protocolos.

Os dois juntos fornecem os serviços básicos de SMB ou CIFS (Common Internet File System) que são:

- Compartilhamento de arquivos e impressão; - Autenticação e autorização de acesso; - Resolução de nomes;

- Visualização dos recursos disponíveis na rede.

Windows NT / 2000 Windows 9x Desktop Linux Hub Servido Samba Impressora Impressora

(26)

Pacotes do Samba Samba-* Samba-common-* Samba-clients-* Samba-Swat-* Arquivo de Configuração

Toda a configuração do SAMBA é centralizada no arquivo “smb.conf”, que deve ser guardado no diretório /etc. Nele são descritos os compartilhamentos, permissões de acesso, impressoras, dentre outras configurações disponíveis.

O smb.conf é dividido basicamente em duas partes:

- A configuração do servidor SAMBA “Global Settings”(parâmetros na seção [global]). - A configuração dos diretórios, pastas pessoais dos usuários, impressoras “Share

Definitions” (parâmetros na seção [homes], [public], [printers], [tmp], etc) e as demais seções que correspondem aos diretórios compartilhados.

Cada seção é representada entre colchetes [teste], e os parâmetros são seguidos do sinal de igual (=) e o valor ou termo correspondente.

Exemplo: [global]

comment = Servidor SAMBA workgroup = rh

security = share [homes]

comment = Pastas dos Usuarios public = no

browseable = yes writeable = yes

[printers]

comment = Impressoras Linux public = no

browseable = yes printable = yes read only = yes

(27)

Criando usuários para acesso ao Servidor Samba

Primeiramente deve ser criar um grupo em comum para todos os usuários samba, e também um usuário no sistema Linux associado ao grupo samba.

# groupadd samba

# adduser –g samba davis

# passwd davis (não é obrigatório)

Para que seu usuário funcione no samba, é necessário que ele seja criando também para o servidor Samba:

# smbpasswd -a <nomedousuário_samba>

Configurando o servidor para autenticar os usuários

Edite o arquivo /etc/samba/smb.conf e configure os parâmetros globais do servidor com as seguintes opções:

#======================= Global Settings=============================== [global]

workgroup = intranet

server string = Servidor Samba netbios name = Linux

printing = lprng

log file = /var/log/samba/log.%m max log size = 50

debug level = 2 security = user password level = 8 username level = 8 encrypt passwords = yes

smb passwd file = /etc/smbpasswd

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 local master = yes

os level = 200 dns proxy = no

Compartilhar diretório /home dos usuários, impressora e diretório publico

Primeiro crie o diretório “publico” e de permissões total. # mkdir /publico

(28)

Edite o arquivo /etc/smb.conf e configure os parâmetros de compartilhamento do servidor com as seguintes opções:

#============================ Share Definitions ======================== [homes]

comment = diretorio home browseable = no writable = yes [printers] comment = Impressoras path = /var/spool/samba browseable = yes public = yes guest ok = no writable = no printable = yes [publico]

comment = diretorio publico path = /publico

public = yes writable = yes printable = no only guest = yes

Visualizando e montando compartilhamentos no Windows

Listar os compartilhamentos acessíveis:

# smbclient -L <nome_netbios_do_servidor> Password: (Em branco)

Montar os compartilhamentos no Linux: # mkdir /mnt/samba

#smbmount //<nome_da_máquina(netbios)>/<compartilhamento> /<ponto de montagem> Desmontando o compartilhamento

#umount /<ponto de montagem> Inicie o servidor

# cds

(29)

O Samba como um Servidor WINS

O que é um servidor WINS?

No protocolo NetBIOS/SMB padrão, a resolução de nomes é feita com pacotes de broadcast. É uma solução simples e dispensa configuração, porém não e atende a inter-redes (diversas inter-redes locais, integradas por roteadores).

No WINS, cada máquina, ao ser ligada, REGISTRA seu nome, função e endereço IP junto ao servidor WINS. Se todas as máquinas fizerem isso, o servidor WINS terá uma lista de nomes e endereços de todas as máquinas da rede.

Esse registro independe do workgroup ou domínio a que pertença a máquina. Deve haver apenas um servidor WINS em toda a inter-rede.Quando um computador precisa descobrir o endereço IP de outro, não precisa ficar procurando com broadcasts; consulta diretamente o servidor WINS.

Note que o servidor WINS não trata de nenhum aspecto referente a grupos de trabalho ou domínios. A única coisa que ele sabe fazer é traduzir nomes SMB para endereços IP. Quando for configurar o Samba e sua rede usar WINS, você deve especificar exclusivamente uma ou outra das seguintes opções (nunca as duas ao mesmo tempo). No arquivo /etc/smb.conf

wins support = yes #diz que o próprio Samba é o servidor WINS da rede

wins server = <endereço IP> # indica que o servidor WINS está no <endereço IP>

Configurando as estações clientes WINS (Windows)

1. Clique com o botão direito em Ambiente de Rede - Propriedades 2. Entre na sessão TCP/IP da sua placa de rede - Propriedades 3. Entre em Configuração WINS

4. Habilite a Opção Ativar configuração WINS 5. Inclua o End.IP do Servidor WINS

6. Adicionar - Ok

7. Reiniciar

Samba com um Servidor PDC

O que é um servidor PDC?

PDC - Primary domain controller - controlador primário de domínio. Ele é responsável pelas informações e validação de todos os usuários do domínio.O banco de dados SAM (Banco de dados + protocolo de gerenciamento de domínios) mantido pelo Servidor PDC é o que vale para todo o domínio.

Configurações [global] do arquivo /etc/samba/smb.conf para o servidor Samba fazer o papel de PDC da rede.

(30)

#======================= Global Settings ============================== [global]

workgroup = intranet

server string = Servidor Samba netbios name = Linux

printcap name = /etc/printcap load printers = yes

printing = lprng

log file = /var/log/samba/log.%m max log size = 50

debug level = 2 security = user password level = 8 username level = 8 encrypt passwords = yes

smb passwd file = /etc/smbpasswd

unix password sync = Yes (Sincroniza senhas Linux e Windows) socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 local master = yes (Será o Domain Master Browser da rede local) os level = 200

domain master = yes (Será o Domain Master Browser da rede inteira) preferred master = yes (Força a eleição do SAMBA como Master Browser) domain logons = yes (Permite Win9x/Nt acessarem um domínio como NT) dns proxy = no

Configurando as estações clientes PDC (Windows)

1. Clique com o botão direito em Ambiente de Rede - Propriedades 2. Entre na sessão Clientes para Redes Microsoft

3. Habilite a Opção Efetuar Logon no Domínio do Windows NT

4. em Domínio do Windows NT, coloque o nome do grupo de trabalho definido em smb.conf (Workgroup)

5. habilite a opção: Efetuar Logon e restaurar as conexões da rede 6. Reiniciar

Ferramenta de administração do Samba via Web

O SWAT (Samba Web Administrator Tool) é uma ferramenta baseada na Web e que pode ser utilizada para realizar as manipulações necessárias no arquivo /etc/smb.conf remotamente. Configurando o SWAT

Alterar o arquivo /etc/xinetd/swat a seguinte linha referente ou serviço SWAT:

desable = no

Salve o arquivo e ative o serviço Xinet. # /etc/init.d/xinetd start

# ./xinet start

Para testar o SWAT, basta abrir um browser em qualquer máquina de sua rede e chamar o endereço IP do Servidor Samba:a porta de comunicação

Referências

Documentos relacionados

MULTI-PROCESSORS Multiprocessadores Máquina UMA Espaço de Endereçamento Proc Cache Interconexão Memória Principal Proc Cache I/O Proc Cache Proc Cache Proc Cache Proc

(2014) apresenta três aplicações reais de domínios diferentes que utilizam o Chiron e exploram os dados coletados pela proveniência para avaliar a configuração de

A expressão para o ângulo de torção /unidade de comprimento pode ser obtida por métodos energéticos, fora do âmbito deste texto, o seu resultado são as expressões (5.41) e

Máximo de memória para cache do segmento Columnstore por instância do Mecanismo de Banco de Dados do SQL Server. Memória

i) Exponha as razões pelas quais além da RAM as máquinas atuais fazem uso de memória cache e, em muitos casos, de vários níveis e tipos de memória cache. Explique como isto evoluiu

ROTAÇÃO 7200 RPM; PROCESSADOR COM 3MB DE CACHE L2, FREQUÊNCIA DE 2.10 GHZ COM 2 NÚCLEOS E 4 THREADS; MEMÓRIA: TIPO DDR3 VOLUME DE 4096 MB E VELOCIDADE 1333MHZ OU SUPERIOR;

E assim é que estou hoje com muito prazer na Sessão Solene de Abertura do Ano Letivo da Faculdade de Arquitetura, cerimónia que representa uma excelente oportunidade para

da aprendizagem, portanto, para ele, o sujeito somente se apropria do conhecimento por meio das relações reais e afetivas dele com o ambiente. Durante o período de