4Linux - 452 Linux Network Servers

4Linux - 452 Linux Network Servers

(Parte 1 de 3)

Linux Network Servers 452

Sumário

Ajustes Iniciais8
1.1. Objetivos8
1.2. Introdução teórica8
1.3. Confgurando a rede9
1.4. Confgurando a resolução de nomes9
1.5. Confguração do hostname10
1.6. Confgurando o repositório de rede10
1.7. Remover serviços desnecessários1
1.8. Defnindo variáveis e alias de sistemas12
1.9. Funcionamento do Sistema13
1.10. Exercícios Teóricos15
1.1. Laboratório15

Capítulo 1

PAM16
2.1. Objetivos16
2.2. Introdução teórica16
2.3. Módulos17
2.4. Controles17
2.5. Prática dirigida18
2.6. Exercícios Teóricos21
2.7. Laboratório21

Capítulo 2

RAID2
3.1. Objetivos2
3.2. Introdução teórica2
3.2.1. Níveis de RAID23
3.3. Prática dirigida26
3.4. Criando o RAID26
3.5. Verifcando o funcionamento do RAID:27
3.6. Administrando o RAID28
3.7. Exercícios Teóricos29
3.8. Laboratório30

Capítulo 3 Capítulo 4

LVM31
4.1. Objetivos31
4.2. Introdução teórica31
4.3. Como funciona o LVM32
4.4. Defnindo as Partições3
4.5. Prática Dirigida34
4.6. Usando o LVM36
4.7. Administrando o LVM37
4.8. Troubleshooting38
4.9. Exercícios Teóricos40
4.10. Laboratório41
DHCP42
5.1. Objetivos42
5.2. Introdução teórica42
5.3. Prática dirigida4
5.3.1. Confgurando um servidor DHCP4
5.3.2. Principais diretrizes do arquivo de confguração45
5.4. Confgurando os clientes DHCP45
5.5. Fixar IP via DHCP46
5.6. Exercícios teóricos48
5.7. Laboratório48

Capítulo 5

FTP49
6.1. Objetivos49
6.2. Introdução teórica49
6.3. Prática dirigida50
6.3.1. Servidor FTP50
6.4. Conectando-se a um servidor FTP como cliente52
6.5. Comandos FTP54
6.6. Exercícios teóricos56
6.7. Laboratório56

Capítulo 6

NFS57
7.1. Objetivos57
7.2. Introdução teórica57
7.3.1. Instalação e confguração do NFS58
7.4. Exercícios teóricos62
7.5. Laboratório62
Servidor SAMBA63
8.1. Objetivos63
8.2. Introdução teórica63
8.3. Prática Dirigida64
8.4. Samba como controlador de Domínio Primário67
8.5. Cadastrando usuários no PDC70
8.6. Exercícios Teóricos71
8.7. Laboratório71

Capítulo 8

Domain Name System72
9.1. Objetivos72
9.2. Introdução teórica72
9.2.1. Características73
9.3. Resolução74
9.3.1. Resolução Recursiva75
9.3.2. Resolução Iterativa7
9.4. Arquivo /etc/hosts7
9.5. Ferramentas de consulta78
9.6. Prática dirigida79
9.7. BIND981
9.8. Servidor cache82
9.9. Restringindo consultas84
9.10. Servidor de zonas85
9.10.1. Tipos de zonas e Registros86
9.1. Confguração do Servidor Bind98
9.12. Exercícios teóricos93
9.13. Laboratório94

Capítulo 9

Apache95
10.1. Objetivos95
10.2. Introdução teórica95
10.3. MPM Worker e MPM PreFork96
10.3.2. MPM Worker96
10.4. Prática dirigida97
10.4.1. Instalação do Apache 297
10.5. Ajustes do módulo Worker e PreFork9
10.6. Segurança100
10.7. Suporte a PHP101
10.8. Domínios virtuais102
10.9. Suporte a HTTPS104
10.10. Exercício teórico107
10.1. Laboratório107
Postfx108
1.1. Objetivos108
1.2. Introdução teórica108
1.3. Características do Postfx109
1.4. Prática dirigida10
1.5. SMTP12
1.6. Courier POP3 e Courier IMAP13
1.6.1. Criando caixas postais:14
1.7. Criando alias no Postfx16
1.8. Exercícios teóricos17
1.9. Laboratório17

Capítulo 1

Web Proxy com Squid118
12.1. Objetivos118
12.2. Introdução Teórica118
12.3. Funcionamento de um Web Proxy119
12.4. Proxy Manualmente Confgurado119
12.5. Proxy Transparente120
12.6. Access Control Lists121
12.7. Tipos comuns de ACL's121
12.7.1. Sintaxe das ACLS122
12.8. ACL's de origem122
12.9. ACL's de destino122
12.10. ACL's de horário123
12.1. Filtros123
12.12. Prática Dirigida124
12.14. Filtrando acessos com Squid126
12.15. Blacklist e Whitelist128
12.16. Autenticação NCSA129
12.17. Auditoria de acesso com SARG130
12.18. Exercícios Teóricos131
12.19. Laboratório131
OpenLDAP132
13.1. Objetivos132
13.2. Introdução teórica132
13.3. Prática dirigida133
13.4. Confgurando um cliente LDAP141
13.5. Acessando o OpenLDAP via Browser com PhpLdapAdmin144
13.6. Autenticando o Squid na base de usuários LDAP145
13.7. Exercício teórico145
13.8. Laboratório146

Capítulo 13

Firewall147
14.1. Objetivos147
14.2. Introdução teórica147
14.3. Compreendendo as políticas BÁSICAS e o conceito das EXCEÇÕES148
14.4. Prática dirigida149
14.5. Firewall como gateway de rede153
14.6. Script de frewall155
14.7. Exercícios teóricos157
14.8. Laboratório158

Capítulo 14

OpenVPN159
15.1. Objetivos159
15.2. Introdução Teórica159
15.3. Prática Dirigida160
15.3.1. Confgurando o servidor160
15.4. Confgurando o cliente161

Capítulo 15

BIBLIOGRÁFICAS163
System Imager - 4Linux164
O que é164
Instalando o programa164
15.4.1. Backup ao fnal de cada aula165
15.4.2. Restore antes de cada aula165

Capítulo 1 Ajustes Iniciais - 7 Índice de tabelas

Índice de Figuras

Capítulo 1 Ajustes Iniciais - 8 Capítulo 1

Ajustes Iniciais

•Confgurar a rede; • Confgurar resolução de nomes;

• Confgurar hostname;

• Desativar Serviços desnecessários;

•Confgurar repositório de rede.

1.2. Introdução teórica

Antes de iniciar o trabalho de instalação e confguração de serviços, é necessário checar se algumas confgurações são válidas. Utilize o comando:

# si_cliente

Baixar uma imagem padrão com Debian Lenny e Gnome instalado direto do servidor, por favor não troque a senha padrão 123456 que utilizamos, para que o pessoal do suporte possa sempre ajudar em caso de problemas.

Para saber mais sobre o System Imager, que é o sistema de salvamento de imagens, acesse:

http://wiki.systemimager.org

Capítulo 1 Ajustes Iniciais - 9 1.3. Confgurando a rede

Vamos nos certifcar que o arquivo /etc/network/interfaces está corretamente confgurado:

# vim /etc/network/interfaces

8address192.168.200.X
9netmask255.255.255.0
10network192.168.200.0
1broadcast 192.168.200.255
12gateway192.168.200.254

Red Hat: # vim /etc/sysconfg/network/ifcfg-eth0

1.4. Confgurando a resolução de nomes

1) Edite o arquivo /etc/resolv.conf: # vim

2) Adicione o endereço IP do servidor DNS da Embratel: nameserver 200.176.2.10

Capítulo 1 Ajustes Iniciais - 10 1.5. Confguração do hostname

Em um servidor, a confguração correta do hostname e do arquivo hosts é essencial para eliminar problemas em serviços de rede. Abra o arquivo /etc/hostname, adicione o nome, x é o número de sua máquina (caso esteja errado):

# vim /etc/hostname microX

1) Edite o arquivo de /etc/hosts: # vim /etc/hosts

127.0.0.1 localhost.localdomain localhost 192.168.200.X microX.microx.com.br microX

1.6. Confgurando o repositório de rede

Para instalar programas no Debian GNU/Linux, é necessário que o repositório de rede corretamente confgurado. Vamos confgurá-lo para buscar os softwares em um repositório interno da 4linux.

1) Abra o arquivo responsável pela confguração do repositório: # vim /etc/apt/sources.list

2) Edite-o apontando para o repositório interno da 4Linux: deb http://192.168.1.1/debian lenny main contrib non-free

Capítulo 1 Ajustes Iniciais - 1

3) Depois de confgurado, faça o update do banco de dados do aptitude:

# aptitude update

4) Agora, vamos instalar e confgurar o nosso editor de textos habilitando destaque de sintaxe e linhas numeradas:

# aptitude install vim # echo "syntax on" >> /etc/vim/vimrc

# echo "set number" >> /etc/vim/vimrc

Procedimentos de Pós Instalação, conhecidos também como Hardening, são assuntos discutidos no treinamento de Segurança 415 – ISO27002.

1.7. Remover serviços desnecessários

Todo Administrador de Sistemas tem, ou deveria ter ciência de que um servidor deve executar somente os softwares necessários, eliminando assim riscos de segurança e ajudando a melhorar a performance.

Para que isso seja feito, precisamos antes verifcar quais serviços de rede estão habilitados e aceitando conexões.

1) Verifcando serviços de rede com netstat: # netstat -nltup

2) Encerrando os serviços encontrados:

# invoke-rc.d exim4 stop # invoke-rc.d nfs-common stop

# invoke-rc.d portmap stop

# invoke-rc.d openbsd-inetd stop

Capítulo 1 Ajustes Iniciais - 12

3) Removendo serviços da inicialização:

# update-rc.d -f exim4 remove # update-rc.d -f nfs-common remove

# update-rc.d -f portmap remove

# update-rc.d -f openbsd-inetd remove

Red Hat:

# chkconfg --list # chkconfg --level 2345 portmap stop

O comando runlevel, mostra qual é o nível de inicialização que nos encontramos.

Você também pode habilitar os serviços, com o programas sysv-rc-conf e com o rcconf, que foram utilizados no treinamamento 451:

# aptitude install rcconf sysv-rc-conf # rcconf

#sysv-rc-conf

1.8. Defnindo variáveis e alias de sistemas

O Sistema Operacional vem habilitado por padrão sem alias e somente as variavéis essenciais ao seu funcionamento. Então iremos confgurar nosso GNU/Linux.

1) Agora vamos colocar as variáveis e alias, para isso, edite o arquivo: # vim /etc/profile

Capítulo 1 Ajustes Iniciais - 13

2) Vamos inserir estas opções no fnal do arquivo:

alias ls='ls –color' alias lsl='ls -l' TMOUT=1200 HISTSIZE=1000

3) Para validar as mudanças no disco, execute: # source /etc/profile

Os comandos set e env, vão ser cobrados na prova do LPI, eles são uteis para listarem as variavéis globais e locais.

1.9. Funcionamento do Sistema

Todos os itens que veremos agora já conhecemos, mas são cobrados na LPI.

1) Para identifcar a versão do kernel instalado e distribuição:

# uname -r # cat /pro/version

2) O kernel fca carregado na memória RAM, este é seu arquivo:

# cd /boot # file vmlinuz-2.6.26-2-686

# du -sh vmlinuz-2.6.26-2-686

3) Logo que o kernel é carregado em memória, logo inicia-se os processos:

# cd /proc # ls

# ps aux

# cat cpuinfo

Capítulo 1 Ajustes Iniciais - 14

4) Os arquivos do diretório /etc, são lidos, onde são montados os dispositivos e a inicialização dos serviços:

# cat /etc/fstab # cat /etc/mtab

5) Repare o que está montado no sistema:

# cat /proc/mounts # cat /proc/partitions

# df -h

6) Os dipositivos fcam /dev, e seu sistema de arquivos é o udev. # ls -l /dev

Veja novamente estes tópicos no 450 e no 451.

7) Os módulos carregados no sistema:

# ls -l /lib/modules # lsmod

# modprobe -l

# cat /proc/modules

8) Para exibir todas bibliotecas do sistema:

# ldconfig -p # ls /lib

# cat /etc/ld.so.conf

Fique atento, porque tudo que estudamos no primeiro capítulo, irão cair no exame da LPI, estude as apostilas da formação. Para informações acesse: http://www.lpibrasil.com.br/

Capítulo 1 Ajustes Iniciais - 15 1.10. Exercícios Teóricos

1) Qual a importância dos procedimentos de pós-instalação? _

2) Qual é o diretório menos importante fazer backup no Ssitema? (FHS) _

3) Como eu consigo verifcar quais arquivos tem permissões “especiais” habilitadas de SGUID e SUID?

4) Qual a máscara padrão do sistemas para criação de arquivos e diretórios, qual arquivo ela fca armazenada?

5) Como fcaria as permissões de arquivos e diretórios, se a umask do sistema fosse 23 e 65?

_ 6) Quais diretórios tem stick bit ativado? _

1.Instale o htop para gerênciar os processos; 2.Desabilite o gdm do runlevel padrão, utilizando sysv-rc-rconf.

Capítulo 2 PAM - 16 Capítulo 2

•Entender a confguração do PAM; •Conhecer seus módulos;

•Entender seus controles;

•Impedir login de super usuário via console.

2.2. Introdução teórica

A cada dia, mais e mais mecanismos de autenticação diferentes surgem no mercado. Imagine que para cada método de autenticação, fosse necessário rescrever aplicações como FTP, apache, ssh e o sistema de login console e gráfco do Linux?

Foi pensando neste tipo de esforço que foi criado o mecanismo de autenticação PAM ou Pluggable Authentication Modules, que oferece uma camada de abstração para autenticação em sistemas Unix. Assim, se quisermos adicionar um novo modelo de autenticação via leitor de digitais, por exemplo, basta apenas instalar o módulo PAM que ofereça essas funcionalidades e confgurar as aplicações para trabalhar com este módulo, sem a necessidade de recriar ou reimplementar funções no aplicativo.

Além disso, com o PAM é possível controlar horários e terminais disponíveis para logins, quais serão os usuários que podem efetuar um su no sistema operacional, autenticar em bases de dados diferentes, além de outros módulos que

Capítulo 2 PAM - 17 estão disponíveis no seguinte endereço:

http://www.kernel.org/pub/linux/libs/pam

O PAM trabalha com módulos e controles, e cada tipo de módulo provem uma funcionalidade diferente dentro do sistema. Vamos comentar primeiro os módulos:

•account: Verifca se a conta é valida no sistema, se a password do usuário expirou e se o usuário realmente tem direitos de acessar aquele serviço.

•authentication: Verifca questões de autenticação, seja por senhas ou impressões digitais (quando falamos de biometria). É o módulo authentication que oferece a fexibilidade do PAM, já que, para cada método de autenticação criado, existe uma biblioteca que será adicionada à este módulo.

•password: Este módulo é responsável por cuidar dos aspectos relacionados a tarefas envolvendo senhas, como atualização e solicitação de nova senha de acesso no caso da troca da mesma.

•session: Responsável por tarefas pós autenticação, como montar um compartilhamento de arquivos remotos que contém o diretório /home do usuário em questão, por exemplo.

Além dos módulos, existem também os controles, os quais comentaremos agora:

•required: Checa a existência do módulo solicitado, caso esse módulo falhe, somente depois de verifcar todos os módulos do mesmo tipo disponíveis é que o usuário será avisado.

•requisite: Checa a existência do módulo solicitado e avisa o usuário imediatamente caso este módulo falhe.

Capítulo 2 PAM - 18

•sufcient: Somente a verifcação do módulo é sufciente para a autenticação, desde que nenhum módulo marcado como required falhe.

•optional: O sucesso ou a falha deste módulo não interfere no processo de autenticação.

A maioria das distribuições trabalham com o PAM, as únicas distribuições que não trabalham com PAM são as baseadas em Slackware.

2.5. Prática dirigida

1) Vamos verifcar quais módulos do PAM já estão instalados em nosso sistema:

# ls /lib/security/

2) Vamos olhar dentro do diretório do PAM procurando por arquivos de confguração para os programas instalados:

# ls /etc/pam.d

3) Para entendermos como o PAM funciona, vamos ativar um módulo simples que serve para bloquear usuários comuns. Edite o arquivo /etc/pam.d/login e visualize o módulo pam_nologin.so:

# vim /etc/pam.d/login auth requisite pam_nologin.so

4) Para esse plugin funcionar ele necessita que o arquivo nologin esteja criado dentro do diretório /etc. Crie o arquivo nologin dentro do diretório /etc:

# touch /etc/nologin

Com isso tente logar com um usuário comum em outro terminal

Repare que a partir do momento que o plugin está ativado no programa

Capítulo 2 PAM - 19 login e o arquivo necessário está criado, os usuários comuns não conseguem mais logar, somente o usuário root. Isso não é muito viável mas serve de exemplo para entendermos como o PAM funciona.

Uma maneira prática de usar o PAM é fazermos com que o usuário root não tenha acesso direto ao login, forçando a logar com usuário comum e depois fazer um su para virar root.

5) Para isso aconter, editamos o arquivo e visualizamos a regra: # vim /etc/pam.d/login account requisite pam_time.so

6) Edite o arquivo time.conf dentro de /etc/security e acrescente na última linha:

# vim /etc/security/time.conf login;*;root;!Al0000-2359

Os campos acima são: •login - Serviço que irá ser controlado

•* - Terminal

•root - Usuário

•Al0000-2359 - Dias e horários de fltragem.

Efetue login com o usuário root em outro terminal e veja que não será possível efetuar o login.

Capítulo 2 PAM - 20

Com o PAM, podemos limitar quais usuários poderão ter acesso a utilizar o comando su. Para isso, crie um grupo chamado admins para os usuários que poderão ter acesso a fazer o su.

7) Adicione o grupo onde os usuários que poderam fazer o su: # groupadd admins

8) Agora vamos adicionar o usuário aluno ao grupo admins: # adduser aluno admins

9) Crie uma política que não possibilite o uso de su, exceto pelos usuários do grupo admins:

# vim /etc/pam.d/su auth requiredpam_wheel.so group=admins

Para fazer o teste, logue-se como o usuário que pertence ao grupo admins e tente virar root usando o su.

10) Em seguida tente com um usuário que não pertence ao grupo admins:

$ su -

1) No fnal dos arquivos possibilite ssh no horário das 7:30 às 19:0. Para isso insira o módulo pam_time.so no arquivo do ssh em /etc/pam.d:

# aptitude install ssh

# vim /etc/pam.d/ssh account required pam_time.so

Capítulo 2 PAM - 21

12) Em seguida coloque a regra no time.conf: # vim /etc/security/time.conf sshd;*;*;Al0730-1900

2.6. Exercícios Teóricos

1) Qual é a função do PAM e como ele trabalha? _

2) Quais aplicações podem ser integradas com o PAM? _

3) Qual a diferença do required para o requisite nas diretivas do PAM? _

2.7. Laboratório

1.Permita o login de root apenas no tty6;

2.Crie o usuário "manutencao" faça com ele efetua login ssh apenas de segunda a sexta feira, das 8:0 as 18:0.

Capítulo 3 RAID - 2 Capítulo 3

•Entender os principais níveis de RAID; •Confgurar RAID-1;

•Verifcar o estado do RAID;

•Simular falhas no RAID.

3.2. Introdução teórica

O RAID (Redundant Array of Inexpensive Disks) foi desenvolvido em 1988 como uma solução barata para garantir a disponibilidade da informação armazenada em discos, utilizando para isso uma confguração especial de discos rígidos, que podem oferecer redundância em caso de falhas e ganho de performance em escrita ou leitura, dependendo da confguração do conjunto RAID.

Como principais vantagens, o RAID oferece: •Ganho de desempenho no acesso para leitura ou gravação;

•Redundância em caso de falha em um dos discos;

•Uso múltiplo de várias unidades de discos;

•Facilidade em recuperação de conteúdo perdido.

Capítulo 3 RAID - 23 Existem duas formas de criarmos um RAID.

•Via Software: Feito por aplicativos e módulos do sistema operacional, o RAID via software só entra em funcionamento depois que o Kernel é carregado na memória do computador. A principal vantagem é a facilidade de confguração e a fexibilidade, já que podemos trabalhar com vários discos diferentes. A principal desvantagem é a dependência da correta confguração do sistema operacional.

•Via Hardware: Feito por uma placa controladora que conecta um disco ao outro. A principal vantagem é o desempenho, já que um RAID via hardware é mais rápido e independe do sistema operacional. A principal desvantagem, é que a placa controladora se torna um SPOF (Single Point of Failure), ou seja, é necessário ter uma controladora de discos igual ou compatível com a que você possui para o caso de falhas neste hardware.

Os principais níveis de RAID utilizados hoje no mercado são os níveis 0,1, 5, e suas derivações, como por exemplo, o RAID 10. Vamos entendê-los:

•RAID 0: Este é o único nível de RAID que não implementa redundância. Sua fnalidade é aumentar o desempenho de leitura e gravação, uma vez que ao gravar, divide os dados em partes iguais e armazena cada fragmento em um disco diferente simultaneamente. Por isso, com dois discos, a velocidade de leitura praticamente dobra. Com três discos, triplica. E assim por diante. Sua desvantagem é que se qualquer um dos disco falhar, o sistema operacional para de funcionar, além de ocasionar perda dos dados. São necessários ao menos dois discos para implementar RAID 0, e eles podem ser de tamanhos diferentes.

•RAID 1: O nível mais largamente utilizado. Sua principal fnalidade é garantir redundância dos dados. A redundância é garantida pela duplicação dos discos que são igual e simultaneamente gravados em cada par de discos, logo, se um deles falhar, o outro continuará operando , até que a substituição do disco defeituoso seja feita. O ganho de desempenho está na leitura, uma vez que os

Capítulo 3 RAID - 24 dados são lidos em partes iguais e simultaneamente de todos os discos.A desvantagem desse nível é que só metade do volume total de armazenamento nos discos utilizados fcará disponível para o sistema operacional. É preciso no mínimo dois discos para implementar RAID 1, sempre em pares.

(Parte 1 de 3)

Comentários