Gleydson Mazioli da Silva<gleydson@guiafoca.org>
Versão 6.42 - terça, 27 de novembro de 2007
Resumo
Este documento tem por objetivo ser uma referência ao aprendizado do usuário e um guia de consulta, operação e configuração de sistemas Linux (e outros tipos de *ix). A última ver- são deste guia pode ser encontrada na Página Oficial do Foca GNU/Linux (http://www.
guiafoca.org). Novas versões são lançadas com uma freqüência mensal e você pode rece- ber avisos de novos lançamentos deste guia preenchendo um formulário na página Web.
Copyright © 1999-2007 - Gleydson Mazioli da Silva.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled “GNU Free Do- cumentation License”.
Sumário
1 Introdução 1
1.1 Considerações sobre o nível Avançado . . . . 3
1.2 Pré-requisitos para a utilização deste guia . . . . 4
1.3 O Linux. . . . 4
1.3.1 Algumas Características do Linux . . . . 5
2 Explicações Básicas 9 2.1 Monitorando os logs . . . . 9
2.1.1 Destruindo arquivos/partições de forma segura . . . . 9
2.2 Curingas . . . 10
3 Hardware 13 3.1 Placa de expansão . . . 13
3.2 Nomes de dispositivos . . . 14
3.3 Configuração de Hardware . . . 14
3.3.1 IRQ - Requisição de Interrupção . . . 15
3.3.2 DMA - Acesso Direto a Memória . . . 17
3.3.3 I/O - Porta de Entrada/Saída . . . 18
3.4 Hardwares configuráveis por jumpers, dip-switches, jumperless e Plug-and-Play. 19 3.4.1 Jumpers . . . 19
3.4.2 Dip-Switches . . . 20
3.4.3 Jumperless (sem jumper) . . . 20
3.4.4 Plug-and-Play . . . 20
3.5 Listando as placas e outros hardwares em um computador . . . 21
3.6 Conflitos de hardware . . . 21
3.7 Barramento . . . 21
3.8 Placas on-board / off-board . . . 23
3.9 Hardwares específicos ou “For Windows” . . . 24
3.10 Dispositivos específicos para GNU/Linux . . . 25
3.11 Configurações de Dispositivos . . . 25
3.11.1 Configurando uma placa de rede . . . 25
3.11.2 Configurando uma placa de SOM no Linux . . . 26
3.11.3 Configurando um gravador de CD/DVD no Linux . . . 27
3.11.4 Configurando o gerenciamento de energia usando o APM . . . 29
3.11.5 Configurando o gerenciamento de energia usando ACPI . . . 30
3.11.6 Ativando WakeUP on Lan . . . 30
3.12 Aterramento . . . 31
3.12.1 Condutores de eletricidade . . . 32
3.13 Tomadas . . . 32
3.14 Descargas estáticas . . . 33
3.15 Melhoria de performance . . . 33
3.15.1 Particionamento . . . 33
3.15.2 Spindles . . . 34
3.15.3 Fazendo ajustes finos de performance do disco . . . 34
3.15.4 Data de acesso a arquivos/diretórios . . . 37
3.16 Periféricos SATA . . . 38
3.17 Periféricos SCSI . . . 38
3.17.1 Configurando uma SCSI ID e terminação . . . 39
4 Rede 41 4.1 O que é uma rede . . . 41
4.2 Protocolo de Rede . . . 42
4.3 Endereço IP . . . 42
4.3.1 Classes de Rede IP . . . 43
4.3.2 Referência rápida de máscara de redes. . . 43
4.3.3 Para instalar uma máquina usando o Linux em uma rede existente . . . . 44
4.3.4 Endereços reservados para uso em uma rede Privada . . . 44
4.4 Interface de rede. . . 45
4.4.1 A interface loopback . . . 45
4.4.2 Atribuindo um endereço de rede a uma interface (ifconfig) . . . 46
4.5 Roteamento . . . 46
4.5.1 Configurando uma rota no Linux. . . 47
4.6 Resolvedor de nomes (DNS) . . . 48
4.6.1 O que é um nome? . . . 49
4.6.2 Arquivos de configuração usados na resolução de nomes . . . 49
4.6.3 Executando um servidor de nomes. . . 52
4.7 Serviços de Rede . . . 52
4.7.1 Serviços iniciados como Daemons de rede . . . 52
4.7.2 Serviços iniciados através do inetd . . . 52
4.8 Segurança da Rede e controle de Acesso . . . 55
4.8.1 /etc/ftpusers . . . 55
4.8.2 /etc/securetty. . . 56
4.8.3 O mecanismo de controle de acessos tcpd . . . 56
4.8.4 Firewall . . . 60
4.9 Outros arquivos de configuração relacionados com a rede. . . 61
4.9.1 /etc/services . . . 61
4.9.2 /etc/protocols . . . 61
4.10 Camadas de Rede . . . 62
4.11 RFCs de referência sobre protocolos de rede. . . 62
5 Configurações especiais de Rede 63 5.1 IP Alias . . . 63
5.2 Bridge. . . 65
5.2.1 Requerimentos para a Instalação . . . 65
5.2.2 Configuração da bridge . . . 65
5.2.3 Configurações mais avançadas de bridge . . . 66
5.2.4 Configuração manual da bridge . . . 67
5.2.5 Usando o iptables para construir um firewall na máquina da bridge . . . 68
5.2.6 Filtrando pacotes não IP na bridge . . . 68
5.3 Conectando dois computadores usando a porta paralela . . . 68
5.3.1 Construindo um cabo LapLink Paralelo . . . 70
5.4 Conectando dois computadores usando a porta serial . . . 71
5.4.1 Construindo um cabo LapLink Serial . . . 72
6 Arquivos e daemons de Log 75 6.1 Formato do arquivo de log . . . 75
6.2 Daemons de log do sistema . . . 76
6.2.1 syslogd. . . 76
6.2.2 klogd . . . 80
6.3 logger . . . 80
6.4 Programas úteis para monitoração e gerenciamento de arquivos de logs . . . 81
6.4.1 logcheck . . . 81
6.4.2 logrotate . . . 81
6.5 Configurando um servidor de logs . . . 84
7 A distribuição Debian GNU/Linux 87 7.1 Como obter a Debian . . . 87
7.2 Programas de configuração . . . 87
7.3 Arquivos de inicialização . . . 88
7.4 Níveis de Execução . . . 89
7.4.1 Entendendo o funcionamento dos níveis de execução do sistema (runle- vels) . . . 89
7.5 Rede no sistema Debian . . . 90
7.6 Bug tracking system . . . 90
7.7 Onde encontrar a Debian para Download? . . . 91
8 Personalização do Sistema 93 8.1 Variáveis de Ambientes . . . 93
8.2 Modificando o Idioma usado em seu sistema . . . 93
8.3 alias . . . 95
8.4 Arquivo/etc/profile. . . 95
8.5 Arquivo.bash_profile . . . 96
8.6 Arquivo.bashrc. . . 96
8.7 Arquivo.hushlogin . . . 96
8.8 Arquivo/etc/environment . . . 96
8.9 Diretório/etc/skel. . . 97
9 Impressão 99 9.1 Portas de impressora . . . 99
9.2 Imprimindo diretamente para a porta de impressora . . . 99
9.3 Imprimindo via spool. . . 100
9.4 Impressão em modo gráfico . . . 101
9.4.1 Ghost Script . . . 101
9.5 Magic Filter . . . 103
9.5.1 Instalação e configuração do Magic Filter . . . 103
9.5.2 Outros detalhes técnicos sobre o Magic Filter . . . 103
9.6 Impressão remota . . . 105
9.6.1 Dando permissão para impresão remota via lpd/lprng . . . 105
9.6.2 Impressão via rlpr . . . 105
9.6.3 Impressão via printcap. . . 106
10 Firewall iptables 107 10.1 Introdução . . . 107
10.1.1 Versão . . . 108
10.1.2 Um resumo da história do iptables . . . 108
10.1.3 Características do firewall iptables . . . 108
10.1.4 Ficha técnica . . . 109
10.1.5 Requerimentos . . . 109
10.1.6 Arquivos de logs criados pelo iptables . . . 110
10.1.7 Instalação . . . 110
10.1.8 Enviando Correções/Contribuindo com o projeto . . . 110
10.1.9 O que aconteceu com oipchainseipfwadm? . . . 110
10.1.10 Tipos de firewalls . . . 110
10.1.11 O que proteger? . . . 111
10.1.12 O que são regras? . . . 112
10.1.13 O que são chains? . . . 112
10.1.14 O que são tabelas? . . . 112
10.1.15 Habilitando o suporte ao iptables no kernel . . . 113
10.1.16 Ligando sua rede interna a Internet . . . 114
10.2 Manipulando chains . . . 115
10.2.1 Adicionando regras - A . . . 115
10.2.2 Listando regras - L . . . 116
10.2.3 Apagando uma regra - D . . . 117
10.2.4 Inserindo uma regra - I. . . 118
10.2.5 Substituindo uma regra - R . . . 118
10.2.6 Criando um novo chain - N . . . 118
10.2.7 Renomeando um chain criado pelo usuário - E . . . 120
10.2.8 Listando os nomes de todas as tabelas atuais . . . 120
10.2.9 Limpando as regras de um chain - F . . . 120
10.2.10 Apagando um chain criado pelo usuário - X . . . 121
10.2.11 Zerando contador de bytes dos chains - Z . . . 121
10.2.12 Especificando o policiamento padrão de um chain - P . . . 121
10.3 Outras opções do iptables . . . 122
10.3.1 Especificando um endereço de origem/destino. . . 122
10.3.2 Especificando a interface de origem/destino . . . 123
10.3.3 Especificando um protocolo . . . 124
10.3.4 Especificando fragmentos . . . 127
10.3.5 Especificando uma exceção . . . 127
10.3.6 Especificando um alvo . . . 128
10.3.7 Salvando e Restaurando regras . . . 132
10.4 A tabela nat (Network Address Translation) - fazendo nat. . . 132
10.4.1 Criando um novo chain na tabela NAT . . . 133
10.4.2 Fazendo IP masquerading (para os apressados) . . . 133
10.4.3 Fazendo SNAT . . . 134
10.4.4 Fazendo DNAT . . . 136
10.4.5 Monitorando conexões feitas na tabela nat . . . 137
10.5 A tabela mangle . . . 137
10.5.1 Especificando o tipo de serviço . . . 137
10.6 Outros módulos do iptables . . . 139
10.6.1 Conferindo de acordo com o estado da conexão . . . 139
10.6.2 Limitando o número de vezes que a regra confere . . . 139
10.6.3 Proteção contra ping da morte . . . 140
10.6.4 Proteção contra syn flood . . . 140
10.6.5 Proteção contra IP spoofing . . . 141
10.6.6 Especificando múltiplas portas de origem/destino. . . 141
10.6.7 Especificando o endereço MAC da interface . . . 142
10.6.8 Conferindo com quem criou o pacote . . . 142
10.6.9 Conferindo com o conteúdo do pacote . . . 143
10.6.10 Conferindo com o tempo de vida do pacote . . . 143
10.6.11 Conferindo com números RPC . . . 144
10.6.12 Conferindo com tipo de pacote . . . 144
10.6.13 Conferindo com o tamanho do pacote . . . 145
10.7 Caminho percorrido pelos pacotes nas tabelas e chains . . . 145
10.7.1 Ping de 192.168.1.1 para 192.168.1.1 . . . 145
10.7.2 Conexão FTP de 192.168.1.1 para 192.168.1.1 . . . 146
10.7.3 Conexão FTP de 192.168.1.1 para 192.168.1.4 . . . 147
10.7.4 Conexão FTP de 200.217.29.67 para a máquina ftp.debian.org.br . . . 148
10.7.5 Ping de 192.168.1.4 para 192.168.1.1 . . . 149
10.7.6 Conexão FTP de 192.168.1.4 para 192.168.1.1 . . . 150
10.7.7 Conexão FTP de 192.168.1.4 para ftp.debian.org.br . . . 150
10.7.8 Conexão FTP de 200.198.129.162 para 200.217.29.167. . . 152
10.7.9 Gráfico geral da passagem dos pacotes . . . 152
10.8 Exemplos de configurações do iptables. . . 153
10.8.1 Bloqueando conexões de fora para sua máquina . . . 153
10.8.2 Monitorando tentativa de conexão de trojans em sua máquina . . . 154
10.8.3 Conectando sua rede interna a Internet . . . 154
10.8.4 Um exemplo de firewall simples . . . 155
11 Gerenciamento de contas e cuidados para a proteção de senhas 159 11.1 Introdução . . . 159
11.2 Criação, monitoramento e segurança de contas . . . 160
11.2.1 Definindo valores padrões de restrição . . . 161
11.2.2 Senhas fáceis de adivinhar e escolha de boas senhas . . . 162
11.2.3 Atualização de senhas de múltiplas contas . . . 163
11.2.4 A senha do usuário root . . . 163
11.3 Tipos de ataques mais comuns para se conseguir uma senha. . . . 164
11.3.1 Dedução . . . 164
11.3.2 Engenharia Social . . . 164
11.3.3 Ataques por dicionário. . . 165
11.3.4 Brute Force . . . 166
11.3.5 Monitoramento de toques do teclado . . . 166
11.3.6 Login falso. . . 166
11.4 Melhorando a segurança das senhas armazenadas em seu sistema . . . 167
11.4.1 Shadow Passwords . . . 167
11.4.2 Senhas MD5 . . . 167
12 Apache 169 12.1 Introdução . . . 169
12.1.1 Versão . . . 169
12.1.2 Um resumo da História do Apache. . . 170
12.1.3 Enviando Correções/Contribuindo com o projeto . . . 170
12.1.4 Características do Apache . . . 170
12.1.5 Ficha técnica . . . 171
12.1.6 Requerimentos . . . 172
12.1.7 Arquivos de log criados pelo Apache . . . 172
12.1.8 Instalação . . . 172
12.1.9 Iniciando o servidor/reiniciando/recarregando a configuração . . . 172
12.1.10 Opções de linha de comando . . . 173
12.2 Configurando a porta padrão do Apache . . . 174
12.3 Adicionando uma página no Apache. . . 174
12.4 Configurando as interfaces que o Apache atenderá . . . 175
12.5 Especificando endereços/portas adicionais (a diretivaListen) . . . 176
12.6 Especificando opções/permissões para as páginas . . . 176
12.7 Restrições de Acesso . . . 180
12.7.1 Autorização . . . 181
12.7.2 Autenticação . . . 185
12.7.3 Usando autorização e autenticação juntos . . . 189
12.7.4 O arquivo.htaccess . . . 191
12.7.5 Usando a diretiva SetEnvIf com Allow e Deny . . . 193
12.7.6 A diretiva <Limit> . . . 194
12.7.7 Diretiva <LimitExcept> . . . 194
12.8 Definindo documentos de erro personalizados . . . 195
12.9 Módulos DSO . . . 195
12.10Sistema de Log do Apache . . . 197
12.10.1 AgentLog . . . 198
12.10.2 ErrorLog . . . 198
12.10.3 CustomLog . . . 198
12.10.4 RefererLog. . . 198
12.10.5 RewriteLog . . . 199
12.10.6 RewriteLogLevel . . . 199
12.10.7 ScriptLog . . . 199
12.10.8 ScriptLogBuffer . . . 199
12.10.9 ScriptLogLength . . . 200
12.10.10LogFormat. . . 200
12.10.11TransferLog . . . 201
12.10.12LogLevel . . . 201
12.10.13Anonymous_LogEmail . . . 201
12.10.14CookieLog . . . 202
12.10.15Relatório gráfico de acesso ao sistema . . . 202
12.11Configurando o Apache como servidor proxy. . . 202
12.11.1 Controlando o acesso ao servidor proxy . . . 204
12.11.2 Redirecionamento de conexões no Apache . . . 205
12.12Virtual Hosts. . . 205
12.12.1 Virtual hosts baseados em IP . . . 206
12.12.2 Virtual hosts baseados em nome . . . 207
12.12.3 Segurança no uso de IP’s em Virtual Hosts . . . 209
12.13Uso de criptografia SSL. . . 210
12.13.1 Servidor apache com suporte a ssl . . . 210
12.13.2 Instalando o suporte a módulo SSL no Apache . . . 210
12.13.3 Gerando um certificado digital . . . 211
12.13.4 Exemplo de configuração do módulo mod-ssl . . . 211
12.13.5 Autorizando acesso somente a conexões SSL . . . 213
12.13.6 Iniciando o servidor Web com suporte a SSL . . . 213
12.14Exemplo comentado de um arquivo de configuração do Apache . . . 214
12.14.1 httpd.conf . . . 214
12.14.2 srm.conf . . . 223
12.14.3 access.conf . . . 232
12.15Códigos HTTP. . . 236
13 Servidor ident 239 13.1 Introdução . . . 239
13.1.1 Versão . . . 239
13.1.2 Contribuindo . . . 240
13.1.3 Características. . . 240
13.1.4 Ficha técnica . . . 240
13.1.5 Requerimentos de Hardware . . . 241
13.1.6 Arquivos de log criados pelo Ident . . . 241
13.1.7 Instalação . . . 241
13.1.8 Instalação via Inetd . . . 241
13.1.9 Usando tcpwrappers com oidentd . . . 242
13.1.10 Iniciando o servidor/reiniciando/recarregando a configuração . . . 242
13.1.11 Opções de linha de comando . . . 242
13.1.12 Exemplos . . . 243
14 Servidor telnet 245 14.1 Introdução . . . 245
14.1.1 Versão . . . 245
14.1.2 Características. . . 245
14.1.3 Ficha técnica . . . 246
14.1.4 Requerimentos de Hardware . . . 246
14.1.5 Arquivos de log criados pelo servidor telnet . . . 246
14.1.6 Instalação . . . 246
14.1.7 Iniciando o servidor/reiniciando/recarregando a configuração . . . 247
14.1.8 Opções de linha de comando . . . 247
14.2 Controle de acesso . . . 247
14.3 Recomendações . . . 247
14.4 Fazendo conexões ao servidor telnet . . . 248
15 Servidor ssh 249 15.1 Introdução . . . 249
15.1.1 Versão . . . 250
15.1.2 História . . . 250
15.1.3 Contribuindo . . . 250
15.1.4 Características. . . 250
15.1.5 Ficha técnica . . . 250
15.1.6 Requerimentos de Hardware . . . 251
15.1.7 Arquivos de log criados pelo servidor ssh . . . 251
15.1.8 Instalação do servidor openSSH . . . 251
15.1.9 Iniciando o servidor/reiniciando/recarregando a configuração . . . 252
15.1.10 Opções de linha de comando . . . 252
15.2 Usando aplicativos clientes . . . 253
15.2.1 ssh . . . 253
15.2.2 scp . . . 255
15.2.3 sftp . . . 256
15.3 Servidor ssh . . . 257
15.3.1 sshd . . . 257
15.3.2 Controle de acesso . . . 257
15.3.3 Usando autenticação RSA/DSA - chave pública/privada . . . 257
15.3.4 Execução de comandos específicos usando chaves . . . 259
15.3.5 Criando um gateway ssh . . . 259
15.3.6 Criando um tunel proxy . . . 260
15.3.7 Diferenças nas versões do protocolo . . . 260
15.3.8 Exemplo desshd_configcom explicações das diretivas . . . 261
16 Servidor pop3 267 16.1 Introdução . . . 267
16.1.1 Versão . . . 267
16.1.2 Contribuindo . . . 267
16.1.3 Características. . . 268
16.1.4 Ficha técnica . . . 268
16.1.5 Requerimentos de Hardware . . . 268
16.1.6 Arquivos de log criados pelo qpopper . . . 268
16.1.7 Instalação . . . 268
16.1.8 Iniciando o servidor/reiniciando/recarregando a configuração . . . 269
16.1.9 Teste de acesso no pop3 . . . 269
16.1.10 Opções de linha de comando . . . 269
16.1.11 Enviando boletins de mensagens . . . 271
16.1.12 Especificando quotas para as caixas de correio . . . 271
16.1.13 Restringindo acesso ao servidor pop3 . . . 272
17 CVS 273
17.1 Introdução ao CVS . . . 273
17.1.1 Versão . . . 274
17.1.2 História . . . 274
17.1.3 Contribuindo com o CVS . . . 274
17.1.4 Características. . . 274
17.1.5 Ficha técnica . . . 275
17.1.6 Requerimentos de Hardware . . . 275
17.1.7 Arquivos de log criados pelo CVS . . . 276
17.1.8 Instalação . . . 276
17.1.9 Iniciando o servidor/reiniciando/recarregando a configuração . . . 276
17.1.10 Opções de linha de comando . . . 276
17.2 Servidor de CVS - configurando métodos de acesso ao repositório . . . 277
17.2.1 local . . . 277
17.2.2 fork . . . 278
17.2.3 ext . . . 278
17.2.4 pserver (password server) . . . 279
17.2.5 Configurando um servidor pserver . . . 280
17.2.6 gssapi . . . 283
17.3 Criando projetos para serem usados no CVS . . . 283
17.3.1 Repositório . . . 283
17.3.2 Criando um repositório . . . 284
17.3.3 Logando no servidor de CVS via pserver . . . 284
17.3.4 Encerrando uma seção de CVS . . . 285
17.3.5 Baixando arquivos . . . 285
17.3.6 Adicionando um novo projeto . . . 286
17.3.7 Sincronizando a cópia remota com a cópia local . . . 286
17.3.8 Enviando as mudanças para o servidor remoto. . . 287
17.3.9 Adicionando um arquivo ao módulo CVS do servidor . . . 287
17.3.10 Adicionando um diretório ao módulo CVS do servidor . . . 287
17.3.11 Removendo um arquivo do módulo CVS remoto . . . 288
17.3.12 Removendo um diretório do módulo CVS remoto . . . 288
17.3.13 Dizendo que o módulo atual não está mais em uso . . . 288
17.3.14 Visualizando diferenças entre versões de um arquivo . . . 289
17.3.15 Visualizando o status de versão de arquivos . . . 289
17.3.16 Outros utilitários para trabalho no repositório . . . 289
17.4 Arquivos administrativos em CVSROOT . . . 290
17.4.1 config . . . 290
17.4.2 modules. . . 290
17.4.3 cvswrappers . . . 290
17.4.4 commitinfo . . . 290
17.4.5 verifymsg . . . 290
17.4.6 loginfo. . . 291
17.4.7 cvsignore . . . 291
17.4.8 checkoutlist. . . 291
17.4.9 history. . . 291
17.5 Clientes de CVS . . . 291
17.5.1 cvs . . . 291
17.5.2 gcvs - Linux . . . 292
17.5.3 WinCVS - Windows . . . 293
17.5.4 MacCVS - Macintosh (PPC) . . . 293
17.5.5 viewcvs . . . 293
17.6 Exemplo de uma seção CVS . . . 293
18 SAMBA 297 18.1 Introdução . . . 297
18.1.1 Versão documentada . . . 298
18.1.2 História . . . 298
18.1.3 Contribuindo . . . 298
18.1.4 Características. . . 299
18.1.5 Ficha técnica . . . 300
18.1.6 Requerimentos de Hardware . . . 300
18.1.7 Arquivos de log criados . . . 300
18.1.8 Instalação . . . 300
18.1.9 Iniciando o servidor/reiniciando/recarregando a configuração . . . 300
18.1.10 Opções de linha de comando . . . 301
18.2 Conceitos gerais para a configuração do SAMBA . . . 301
18.2.1 Nome de máquina (nome NetBios). . . 301
18.2.2 Grupo de trabalho . . . 302
18.2.3 Domínio . . . 302
18.2.4 Compartilhamento . . . 303
18.2.5 Mapeamento . . . 303
18.2.6 Navegação na Rede e controle de domínio . . . 303
18.2.7 Arquivo de configuração do samba . . . 304
18.2.8 Seção[global] . . . 305
18.2.9 Seção[homes] . . . 310
18.2.10 Seção[printers]. . . 311
18.2.11 Buscando problemas na configuração . . . 311
18.2.12 Níveis de sistema para eleição de rede . . . 312
18.2.13 Variáveis de substituição. . . 313
18.3 Compartilhamento de arquivos e diretórios . . . 314
18.3.1 Descrição de parâmetros usados em compartilhamento . . . 315
18.4 Configuração emGrupo de Trabalho . . . 317
18.5 Resolução de nomes de máquinas no samba. . . 319
18.5.1 Arquivo/etc/samba/lmhosts . . . 319
18.5.2 WINS . . . 321
18.6 Servidor de data/hora . . . 322
18.6.1 Configuração do serviço de data/hora no SAMBA. . . 322
18.6.2 Sincronizando a data/hora no Cliente . . . 323
18.7 Configuração emDomínio . . . 323
18.7.1 Uma breve introdução a um Domínio de rede . . . 323
18.7.2 Local Master Browser . . . 324
18.7.3 Domain Master Browser . . . 324
18.7.4 Configurando um servidor PDC no SAMBA . . . 325
18.7.5 Contas de máquinas de domínio . . . 326
18.7.6 Criando uma conta de administrador de domínio . . . 327
18.7.7 Criando Scripts de logon . . . 328
18.7.8 Configurando perfis de usuários . . . 330
18.7.9 Modificações de permissões de acesso pelos clientes do domínio . . . 332
18.8 Ativando o suporte a senhas criptografadas . . . 332
18.8.1 Migrando de senhas texto plano para criptografadas . . . 334
18.8.2 Adicionando usuários nosmbpasswd . . . 334
18.8.3 Removendo usuários dosmbpasswd . . . 334
18.8.4 Desabilitando uma conta nosmbpasswd . . . 335
18.8.5 Habilitando uma conta nosmbpasswd . . . 335
18.8.6 Alterando a senha de um usuário . . . 335
18.8.7 Definindo acesso sem senha para o usuário . . . 336
18.9 Ativando o suporte a senhas em texto plano. . . 336
18.9.1 Configurando o acesso de clientes para uso de senhas em texto plano. . . 336
18.10Mapeamento de usuários/grupos em clientes. . . 339
18.10.1 Mapeamento de usuários/grupos domínio em Windows . . . 339
18.10.2 Mapeamento de usuários/grupos domínio em Linux . . . 339
18.11Compartilhamento de impressão no servidor SAMBA . . . 341
18.11.1 Configurando o Linux como um servidor de impressão Windows . . . 341
18.12Controle de acesso ao servidor SAMBA . . . 341
18.12.1 Nível de acesso de usuários conectados ao SAMBA . . . 342
18.12.2 Restringindo o acesso por IP/rede . . . 342
18.12.3 Restringindo o acesso por interface de rede . . . 343
18.12.4 Restringindo o acesso por usuários. . . 344
18.12.5 Evite o uso do parâmetrohosts equiv!. . . 345
18.12.6 Evite o uso de senhas em branco! . . . 345
18.12.7 Criando um compartilhamento para acesso sem senha . . . 345
18.12.8 Criando um compartilhamento com acesso somente leitura . . . 346
18.12.9 Criando um compartilhamento com acesso leitura/gravação. . . 347
18.12.10Excessão de acesso na permissão padrão de compartilhamento . . . 348
18.12.11Restringindo o IPC$ e ADMIN$ . . . 348
18.12.12Criando um compartilhamento invisível . . . 349
18.12.13Executando comandos antes e após o acesso ao compartilhamento . . . . 350
18.12.14Considerações de segurança com o uso do parâmetro ”public = yes“ . . . 351
18.12.15Senhas criptografadas ou em texto puro? . . . 351
18.12.16Mapeamento de nomes de usuários . . . 352
18.13Melhorando a performance do compartilhamento/servidor . . . 353
18.14Configuração de Clientes NetBEUI . . . 354
18.14.1 Considerações sobre o Windows for Workgroups e LanManager . . . 355
18.14.2 Configurando clientes em Grupo de Trabalho . . . 355
18.14.3 Configurando clientes em Domínio . . . 359
18.14.4 Erros conhecidos durante o logon do cliente . . . 363
18.14.5 Programas de navegação gráficos . . . 364
18.14.6 Cliente de configuração gráficos . . . 364
18.15Exemplos de configuração do servidor SAMBA. . . 365
18.15.1 Grupo de Trabalho com acesso público . . . 365
18.15.2 Grupo de Trabalho com acesso por usuário . . . 367
18.15.3 Domínio . . . 369
19 Restrições de acesso, recursos e serviços 373 19.1 Limitando recursos nobash . . . 373
19.1.1 Uso do comando readonly para exportar variáveis. . . 373
19.1.2 Restrições nos diretórios de usuários e root . . . 374
19.1.3 Restrições básicas do shell bash com bash -r/–restricted, rbash . . . 374
19.1.4 Finalizando consoles inativos . . . 375
19.1.5 Desabilitando o registro de comandos digitados . . . 375
19.1.6 Desabilitando serviços de shell para usuários . . . 375
19.2 Limitação de recursos usando PAM. . . 376
19.2.1 Descobrindo se um determinado programa tem suporte a PAM . . . 376
19.2.2 Definindo um policiamento padrão restritivo . . . 377
19.2.3 Restringindo/Bloqueando o login . . . 377
19.2.4 Restringindo o acesso a root no su . . . 378
19.2.5 Restrições de serviços PAM baseados em dia/hora . . . 379
19.2.6 Permitindo acesso a grupos extras . . . 381
19.2.7 Limitação de recursos do shell . . . 381
19.3 Restrições de acesso a programas/diretórios/arquivos usando grupos . . . 382
19.4 Dando poderes de root para executar determinados programas . . . 384
19.5 Restringindo o comandosu . . . 385
19.6 Restrições baseadas em usuário/IP . . . 386
19.7 Restrições por MAC Address/IP . . . 386
19.8 Desabilitando serviços não usados no Inetd . . . 388
19.9 Evitando o uso dehosts.equive.rhosts . . . 388
19.10Restringindo o uso do shutdown . . . 389
19.11Restringindo o acesso ao sistema de arquivos /proc . . . 389
19.12Limitando o uso de espaço em disco (quotas) . . . 390
19.12.1 Instalando o sistema de quotas . . . 391
19.12.2 Editando quotas de usuários/grupos . . . 392
19.12.3 Modificando a quota de todos os usuários de uma vez . . . 394
19.12.4 Verificando a quota disponível ao usuário. . . 395
19.12.5 Verificando a quota de todos os usuários/grupos do sistema . . . 396
19.12.6 Avisando usuários sobre o estouro de quota . . . 397
19.13Suporte a senhas ocultas . . . 398
19.14Suporte a senhas md5 . . . 399
19.15Restrições no hardware do sistema . . . 399
19.15.1 BIOS do sistema. . . 399
19.15.2 Retirada da unidade de disquetes . . . 399
19.15.3 Placas de rede com eprom de boot . . . 399
19.15.4 Protegendo o LILO . . . 400
19.15.5 Disco rígido . . . 400
20 Introdução ao uso de criptografia para transmissão/armazenamento de dados 401
20.1 Introdução . . . 401
20.2 Sniffer. . . 401
20.2.1 Detectando a presença de sniffers . . . 402
20.3 Alternativas seguras a serviços sem criptografia . . . 403
20.3.1 http . . . 403
20.3.2 Transmissão segura de e-mails . . . 403
20.3.3 Servidor pop3 . . . 404
20.3.4 Transferência de arquivos . . . 404
20.3.5 login remoto . . . 404
20.3.6 Bate papo via IRC. . . 404
20.3.7 Transmissão de mensagens via ICQ . . . 404
20.4 Sistemas de arquivos criptográfico . . . 404
20.5 Usando pgp (gpg)para criptografia de arquivos . . . 406
20.5.1 Instalando o PGP . . . 407
20.5.2 Criando um par de chaves pública/privada . . . 407
20.5.3 Encriptando dados . . . 407
20.5.4 Decriptando dados com o gpg . . . 408
20.5.5 Assinando arquivos . . . 408
20.5.6 Checando assinaturas . . . 409
20.5.7 Extraindo sua chave pública do chaveiro . . . 409
20.5.8 Adicionando chaves públicas ao seu chaveiro pessoal . . . 409
20.5.9 Listando chaves de seu chaveiro . . . 410
20.5.10 Apagando chaves de seu chaveiro . . . 410
20.5.11 Mudando sua FraseSenha . . . 410
20.5.12 Assinando uma chave digital . . . 410
20.5.13 Listando assinaturas digitais . . . 411
20.5.14 Recomendações para a assinatura de chaves gpg. . . 411
21 Apêndice 417 21.1 Sobre este guia. . . 417
21.2 Sobre o Autor . . . 417 21.3 Referências de auxílio ao desenvolvimento do guia . . . 418 21.4 Onde encontrar a versão mais nova do guia? . . . 419 21.5 Colaboradores do Guia . . . 419 21.6 Marcas Registradas . . . 420 21.7 Futuras versões . . . 420 21.8 Chave Pública PGP . . . 420
Capítulo 1
Introdução
Bem vindo ao guia Foca GNU/Linux. O nome FOCA significa FOnte de Consulta e Aprendizado. Este guia é dividido em 3 níveis de aprendizado e versão que esta lendo agora contém:
• Avançado
Entre o conteúdo do guia, você encontrará:
• Análise de logs do sistema GNU/Linux e aplicação para a solução de problemas (‘Arqui- vos e daemons de Log’ on page75).
• Gerenciamento de contas de usuários, definição de período automático para troca de senha periódica, políticas de segurança, etc (‘Gerenciamento de contas e cuidados para a proteção de senhas’ on page159).
• Principais tipos de ataques para descoberta de senhas e alguns métodos de como evita- las (‘Senhas fáceis de adivinhar e escolha de boas senhas’ on page162).
• Integrar máquinasWindowseLinuxem uma mesma rede compartilhando dados entre si e impressão (‘SAMBA’ on page297).
• Sistemas de proteção de senhas do sistema (‘Melhorando a segurança das senhas arma- zenadas em seu sistema’ on page167).
• Criptografia e segurança na transmissão de dados, usando exemplos práticos do uso de sniffers para entender o porque da uso de criptografia para transmissão segura de dados (‘Introdução ao uso de criptografia para transmissão/armazenamento de dados’
on page401).
• Uso de serviços alternativos criptográficos (‘Alternativas seguras a serviços sem cripto- grafia’ on page403).
• Criptografia usando gnupgp (‘Usando pgp (gpg)para criptografia de arquivos’ on page406).
• Uso de sistema de arquivos criptográficos para armazenamento de dados (‘Sistemas de arquivos criptográfico’ on page404).
• Otimização de performance na transferência de dados do disco rígido através de partici- onamento ehdparm, uso de spindles para criação de swap (‘Melhoria de performance’
on page33).
• O que são descargas estáticas e a importância do aterramento da instalação elétrica do computador (dirigido a usuários domésticos e de pequenas instalações) (‘Descargas es- táticas’ on page33).
• Maiores considerações a segurança de sistema e a problemas de segurança relativos a falhas de configuração (distribuída entre os capítulos de daemons e servidores).
• Montagem de um servidor de publicação Web usando oApache(‘Apache’ on page169).
• Montagem de um firewall avançado para proteção do sistema (filtragem de pacotes) usando o iptables, redirecionamento de pacotes, nat, bloqueio de tráfego P2P, mas- querading, balanceamento de carga, marcação de pacotes, log, proteção contra port scans (‘Firewall iptables’ on page107).
• Servidor de acesso para permitir o acesso a distância ao seu computador usando o telnetd(‘Servidor telnet’ on page245).
• Servidor de acesso para permitir o acesso a distância a seu computador com criptografia usando ossh(‘Servidor ssh’ on page249).
• Servidor de identificação usando ooidentd(‘Servidor ident’ on page239).
• Montagem de um servidor pop3 para que suas estações de rede possam acessar o email na máquina servidorLinuxusando programas comoOutlook,Communicator,Mutt, sylpheede outros que utilizem o protocolopop3(‘Servidor pop3’ on page267).
• Restrições de acesso a instalação do computador, acesso a grupos do sistema, restrições de login usandoPAM(‘Restrições de acesso, recursos e serviços’ on page373).
• Restrições de espaço usado em disco por usuários/grupos usando o sistema de quotas (‘Limitando o uso de espaço em disco (quotas)’ on page390).
• Uso de grupos dos sistema para restrições de acesso (‘Restrições de acesso a progra- mas/diretórios/arquivos usando grupos’ on page382).
• Restrições de acesso via hardware: BIOS, disquete, placa com boot via rede, LILO, disco rígido (‘Restrições no hardware do sistema’ on page399).
• Manipulações de variáveis no bash (TMOUT,PS1,PS2,PS3,PS4,HISTORY, etc).
• Montagem de shell básico restrito (‘Restrições básicas do shell bash com bash -r/–
restricted, rbash’ on page374).
• Uso dosudopara dar privilégio de execução de programas como root a determinados usuários (‘Dando poderes de root para executar determinados programas’ on page384).
Para melhor organização, dividi o guia em 3 versões: Iniciante, Intermediário e Avançado.
Sendo que a versãoIniciante é voltada para o usuário que não tem nenhumaexperiência no GNU/Linux. A última versão deste guia pode ser encontrada em: Página Oficial do guia Foca GNU/Linux (http://www.guiafoca.org).
Caso tiver alguma sugestão, correção, crítica para a melhoria deste guia, envie um e-mail para
<gleydson@guiafoca.org>.
OFoca GNU/Linuxé atualizado freqüentemente, por este motivo recomendo que preencha a ficha do aviso de atualizações na página web em Página Oficial do guia Foca GNU/Linux (http://www.guiafoca.org) no fim da página principal. Após preencher a ficha do aviso de atualizações, você receberá um e-mail sobre o lançamento de novas versões do guia e o que foi modificado, desta forma você poderá decidir em copia-la caso a nova versão contenha modificações que considera importantes.
Venho recebendo muitos elegios de pessoas do Brasil (e de paises de fora também) elogiando o trabalho e a qualidade da documentação. Agradeço a todos pelo apoio, tenham certeza que este trabalho é desenvolvido pensando em repassar um pouco do conhecimento que adquiri ao começar o uso do Linux.
Também venho recebendo muitos e-mails de pessoas que passaram na prova LPI nível 1 e 2 após estudar usando o guia Foca GNU/Linux. Fico bastante feliz por saber disso, pois nunca tive a intenção de tornar o guia uma referência livre para estudo da LPI e hoje é usado para estudo desta difícil certificação que aborda comandos, serviços, configurações, segurança, em- pacotamento, criptografia, etc.
1.1 Considerações sobre o nível Avançado
Este guia foi compilado incluindo o nívelAvançadodo guia FOCA GNU/Linux, ele não tem a intenção de focar na configuração de serviços, servidores, aplicativos, nem garantia que ele atenderá a determinada finalidade específica do usuário (principalmente de uma rede, que depende de uma perfeita compreensão para adaptação de acordo com os requisitos de uma instalação local). Seu foco principal é a instalação do serviço, abordando considerações volta- das a segurança, e exemplos de configuração e seu funcionamento.
Com relação a capítulos sobre servidores, é importante observar qual versão é documentada no guia e se confere com a instalada em seu sistema, a fim de que tudo funcione corretamente.
Entretanto, na maioria dos casos, as explicações relacionadas a uma versão de um programa são inteiramente válidas em uma nova versão.
1.2 Pré-requisitos para a utilização deste guia
É assumido que você ja tenha experiência na configuração de sistemasLinux, conheça boa parte dos comandos e sua utilização, tenha noções de rede e saiba como procurar documen- tação para complementar o que vem aprendendo. Enfim, requer que se tiver interesse em se aprofundar em determinada área, que utilize os métodos de busca de documentação sugeridos no guia para complementação do aprendizado. O guia não contém todos os materiais para que a pessoa se torne umexpertno assunto, mas contém as referências para documentações mais específicas sobre determinadas áreas do sistema.
Este guia não cobre a instalação do sistema. Para detalhes sobre instalação, consulte a docu- mentação que acompanha sua distribuiçãoGNU/Linux.
1.3 O Linux
OLinuxé um sistema operacional criado em 1991 porLinus Torvaldsna universidade de Hel- sinki na Finlândia. É um sistema Operacional de código aberto distribuído gratuitamente pela Internet. Seu código fonte é liberado comoFree Software (software livre), sob licença GPL, o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele não pode fechar o sistema para que seja usado apenas comercialmente.
Isto quer dizer que você não precisa pagar nada para usar o Linux, e não é crime fazer cópias para instalar em outros computadores, nós inclusive incentivamos você a fazer isto. Ser um sistema de código aberto pode explicar a performance, estabilidade e velocidade em que novos recursos são adicionados ao sistema.
Para rodar oLinuxvocê precisa, no mínimo, de um computador 386 SX com 2 MB de memória (para um kernel até a série 2.2.x) ou 4MB (para kernels 2.4 e 2.6) e 100MB disponíveis em seu disco rígido para uma instalação básica e funcional.
O sistema segue o padrãoPOSIXque é o mesmo usado por sistemas UNIXe suas variantes.
Assim, aprendendo o Linux você não encontrará muita dificuldade em operar um sistema do tipo UNIX, FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema.
O código fonte aberto permite que qualquer pessoa veja como o sistema funciona (útil para aprendizado), corrija alguma problema ou faça alguma sugestão sobre sua melhoria, esse é um dos motivos de seu rápido crescimento, do aumento da compatibilidade de periféricos (como novas placas sendo suportadas logo após seu lançamento) e de sua estabilidade.
Outro ponto em que ele se destaca é o suporte que oferece a placas, CD-Roms e outros tipos de dispositivos de última geração e mais antigos (a maioria deles já ultrapassados e sendo com- pletamente suportados pelo sistema operacional). Este é um ponto forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanços tecnológicos com as máquinas que possui.
Hoje o Linux é desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuição ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds
ainda trabalha em seu desenvolvimento e na coordenação dos grupos de trabalho do kernel.
O suporte ao sistema também se destaca como sendo o mais eficiente e rápido do que qualquer programa comercial disponível no mercado. Existem centenas de consultores especializados espalhados ao redor do mundo. Você pode se inscrever em uma lista de discussão e relatar sua dúvida ou alguma falha, e sua mensagem será vista por centenas de usuários na Internet e algum irá te ajudar ou avisará as pessoas responsáveis sobre a falha encontrada para devida correção.
1.3.1 Algumas Características do Linux
• É livre e desenvolvido voluntariamente por programadores experientes, hackers, e con- tribuidores espalhados ao redor do mundo que tem como objetivo a contribuição para a melhoria e crescimento deste sistema operacional. Muitos deles estavam cansados do excesso de propaganda (Marketing) e baixa qualidade de sistemas comerciais existentes
• Também recebe apoio de grandes empresas como IBM, Sun, HP, etc. para seu desenvol- vimento
• Convivem sem nenhum tipo de conflito com outros sistemas operacionais (com oDOS, Windows,OS/2) no mesmo computador.
• Multitarefa real
• Multiusuário
• Suporte a nomes extensos de arquivos e diretórios (255 caracteres)
• Conectividade com outros tipos de plataformas comoApple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc.
• Utiliza permissões de acesso a arquivos, diretórios e programas em execução na memória RAM.
• Proteção entre processos executados na memória RAM
• Suporte a mais de 63 terminais virtuais (consoles)
• Modularização - O Linux somente carrega para a memória o que é usado durante o processamento, liberando totalmente a memória assim que o programa/dispositivo é finalizado
• Devido a modularização, os drivers dos periféricos e recursos do sistema podem ser car- regados e removidos completamente da memória RAM a qualquer momento. Os drivers (módulos) ocupam pouco espaço quando carregados na memória RAM (cerca de 6Kb para a Placa de rede NE 2000, por exemplo)
• Não há a necessidade de se reiniciar o sistema após a modificar a configuração de qual- quer periférico ou parâmetros de rede. Somente é necessário reiniciar o sistema no caso de uma instalação interna de um novo periférico, falha em algum hardware (queima do processador, placa mãe, etc.).
• Não precisa de um processador potente para funcionar. O sistema roda bem em com- putadores 386Sx 25 com 4MB de memória RAM (sem rodar o sistema gráfico X, que é recomendado 32MB de RAM). Já pensou no seu desempenho em um Pentium, Xeon, ou Athlon? ;-)
• Suporte nativo a múltiplas CPUs, assim processadores como Dual Core Athlon Duo, Quad Core tem seu poder de processamento integralmente aproveitado.
• Suporte nativo a dispositivos SATA, PATA, Fiber Channel
• Suporte nativo a virtualização, onde oLinuxse destaca como plataforma preferida para execução de outros sistemas operacionais.
• O crescimento e novas versões do sistema não provocam lentidão, pelo contrário, a cada nova versão os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos úteis e melhor desempenho do sistema (como o que aconteceu na passagem do kernel 2.0.x para 2.2.x, da 2.2.x para a 2.4.x).
• Não é requerido pagamento de licença para usa-lo. OGNU/Linuxé licenciado de acordo com os termos da GPL.
• Acessa corretamente discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga, Atari, Mac,etc.
• O LINUX NÃO É VULNERÁVEL A VÍRUS! Devido a separação de privilégios entre pro- cessos e respeitadas as recomendações padrão de política de segurança e uso de contas privilegiadas (como a de root, como veremos adiante), programas como vírus tornam- se inúteis pois tem sua ação limitada pelas restrições de acesso do sistema de arquivos e execução. Qualquer programa (nocivo ou não) poderá alterar partes do sistema que possui permissões (será abordado como alterar permissões e tornar seu sistema mais res- trito no decorrer do guia). Frequentemente são criados exploits que tentam se aproveitar de falhas existentes em sistemas desatualizados e usa-las para danificar o sistema. Er- roneamenteeste tipo de ataque é classificado como vírus por pessoas mal informadas e são resolvidas com sistemas bem mantidos. Em geral, usando uma boa distribuição que tenha um bom sistema de atualização, 99.9% dos problemas com exploits são resolvidos.
• Rede TCP/IP mais rápida que no Windows e tem sua pilha constantemente melhorada.
OGNU/Linux tem suporte nativo a redes TCP/IP e não depende de uma camada in- termediária como o WinSock. Em acessos via modem a Internet, a velocidade de trans- missão é 10% maior. Jogadores doQuake ou qualquer outro tipo de jogo via Internet preferem oGNU/Linux por causa da maior velocidade do Jogo em rede. É fácil rodar um servidorQuakeem seu computador e assim jogar contra vários adversários via In- ternet.
• Roda aplicaçõesDOS através do DOSEMU, QEMU,BOCHS. Para se ter uma idéia, é pos- sível dar o boot em um sistema DOSqualquer dentro dele e ao mesmo tempo usar a multitarefa deste sistema.
• Roda aplicaçõesWindowsatravés doWINE.
• Suporte a dispositivos infravermelho.
• Suporte a rede via rádio amador.
• Suporte a dispositivos Plug-and-Play.
• Suporte a dispositivos USB.
• Suporte nativo a cartões de memória
• Suporte nativo a dispositivos I2C
• Integração com gerenciamento de energia ACPI e APM
• Suporte a Fireware.
• Dispositivos Wireless.
• Vários tipos de firewalls de alta qualidade e com grande poder de segurança de graça.
• Roteamento estático e dinâmico de pacotes.
• Ponte entre Redes, proxy arp
• Proxy Tradicional e Transparente.
• Possui recursos para atender a mais de um endereço IP na mesma placa de rede, sendo
muito útil para situações de manutenção em servidores de redes ou para a emulação de
“mais computadores” virtualmente. O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usuário que se conecta tem a impressão que a rede possui servidores diferentes.
• Os sistemas de arquivos usados peloGNU/Linux (Ext3, Ext3, reiserfs, xfs, jfs) organiza os arquivos de forma inteligente evitando a fragmentação e fazendo-o um po- deroso sistema para aplicações multi-usuárias exigentes e gravações intensivas.
• Permite a montagem de um servidor de publicação Web, E-mail, News, etc. com um baixo custo e alta performance. O melhor servidor Web do mercado, oApache, é dis- tribuído gratuitamente junto com a maioria das distribuições Linux. O mesmo acontece com oSendmail.
• Por ser um sistema operacional de código aberto, você pode ver o que o código fonte (instruções digitadadas pelo programador) faz e adapta-lo as suas necessidades ou de sua empresa. Esta característica é uma segurança a mais para empresas sérias e outros que não querem ter seus dados roubados (você não sabe o que um sistema sem código fonte faz na realidade enquanto esta processando o programa).
• Suporte a diversos dispositivos e periféricos disponíveis no mercado, tanto os novos como obsoletos.
• Pode ser executado em 16 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc.) e diversas outras sub-arquiteturas.
• Empresas especializadas e consultores especializados no suporte ao sistema espalhados por todo o mundo.
• Entre muitas outras características que você descobrirá durante o uso do sistema.
TODOS OS ÍTENS DESCRITOS ACIMA SÃO VERDADEIROS E TESTADOS PARA QUE TI- VESSE PLENA CERTEZA DE SEU FUNCIONAMENTO.