Escolar Documentos
Profissional Documentos
Cultura Documentos
Guia de Segurana
Nota Legal
Copyright 2011 Red Hat, Inc.
T his document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported
License. If you distribute this document, or a modified version of it, you must provide attribution to Red
Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be
removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section
4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo,
and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux is the registered trademark of Linus T orvalds in the United States and other countries.
Java is a registered trademark of Oracle and/or its affiliates.
XFS is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL is a registered trademark of MySQL AB in the United States, the European Union and other
countries.
Node.js is an official trademark of Joyent. Red Hat Software Collections is not formally related to or
endorsed by the official Joyent Node.js open source or commercial project.
T he OpenStack Word Mark and OpenStack Logo are either registered trademarks/service marks or
trademarks/service marks of the OpenStack Foundation, in the United States and other countries and
are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or
sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Resumo
Este documento assiste usurios e administradores no aprendizado dos processos e prticas de
proteo de estaes de trabalho e servidores contra a invaso remota e local, explorao e atividades
mal-intencionadas. Focado no Red Hat Enterprise Linux mas detalhando conceitos e tcnicas vlidas
para todos os sistemas Linux, este guia detalha o planejamento e ferramentas envolvidos na criao de
um ambiente de informtica protegido para o centro de dados, local de trabalho e lar. Com conhecimento
administrativo adequado, vigilncia e ferramentas, os sistemas com Linux podem ser tanto funcionais
como protegidos da maioria das invases comuns e mtodos de exploraes.
ndice
ndice
.Prefcio
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7. . . . . . . . . .
1. Convenes de Documentos
7
1.1. Convenes T ipogrficas
7
1.2. Convenes de Pull-Quote
8
1.3. Notas e Avisos
9
2. Precisamos do seu Feedback!
10
.Captulo
. . . . . . . . .1.
. . Viso
. . . . . . Geral
. . . . . . .da
. . .Segurana
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
............
1.1. Introduo Segurana
11
1.1.1. O que Segurana de Computadores?
11
1.1.1.1. Como a Segurana de Computadores comeou?
11
1.1.1.2. A Segurana Hoje
12
1.1.1.3. Padronizao da Segurana
13
1.1.2. SELinux
13
1.1.3. Controles de Segurana
13
1.1.3.1. Controles Fsicos
14
1.1.3.2. Controles T cnicos
14
1.1.3.3. Controles Administrativos
14
1.1.4. Concluso
14
1.2. Avaliao de Vulnerabilidade
14
1.2.1. Pensando Como o Inimigo
15
1.2.2. Definindo a Avaliao e T estes
15
1.2.2.1. Estabelece uma Metodologia
17
1.2.3. Avaliando as Ferramentas
17
1.2.3.1. Escaneando Hosts com o Nmap
17
1.2.3.1.1. Usando o Nmap
17
1.2.3.2. Nessus
18
1.2.3.3. Nikto
18
1.2.3.4. Antecipar Suas Futuras Necessidades
18
1.3. Invasores e Vulnerabilidades
19
1.3.1. Uma Rpida Histria sobre Hackers
19
1.3.1.1. T ons de cinza
19
1.3.2. Ameaas Segurana de Rede
20
1.3.2.1. Arquiteturas Inseguras
20
1.3.2.1.1. Redes de T ransmisso
20
1.3.2.1.2. Servidores Centralizados
20
1.3.3. Ameaas Segurana do Servidor
20
1.3.3.1. Servios no usados e Portas Abertas
20
1.3.3.2. Servios sem Correo
21
1.3.3.3. Administrao Desatenta
21
1.3.3.4. Servios Essencialmente Inseguros
21
1.3.4. Ameaas Estao de T rabalho e Segurana no PC domstico.
22
1.3.4.1. Senhas Ruins
22
1.3.4.2. Aplicaes Clientes Vulnerveis
22
1.4. Exploraes Comuns e Ataques
23
1.5. Atualizaes de Segurana
26
1.5.1. Atualizando Pacotes
27
1.5.2. Verificando Pacotes Assinados
27
1.5.3. Instalando Pacotes Assinados
28
1.5.4. Aplicando as Mudanas
29
. . . . . . . . . .2.
Captulo
. . Protegendo
. . . . . . . . . . . . .sua
. . . . Rede
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
...........
32
32
32
32
33
33
33
34
34
36
36
36
37
37
39
39
40
42
42
43
43
44
44
45
46
46
47
48
49
50
50
51
51
51
52
52
52
52
53
54
54
54
54
55
55
56
56
56
57
57
57
57
58
58
59
ndice
59
60
60
61
61
61
61
61
62
62
62
64
65
65
66
67
68
68
69
70
70
70
71
71
72
72
73
73
74
75
75
75
77
78
78
78
79
79
79
79
80
80
80
81
82
82
84
84
84
84
85
85
87
87
87
87
88
88
88
89
90
91
91
92
92
93
94
94
94
94
94
94
95
96
97
97
98
100
100
101
101
102
103
104
104
105
106
107
107
107
107
.Captulo
. . . . . . . . .3.. .Criptografia
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
.............
3.1. Dados parados
109
3.2. Criptografia de Disco Cheio
109
3.3. Criptografia baseado em Arquivo
109
3.4. Dados Ativos
110
3.5. Virtual Private Networks (Rede Privada Virtual)
110
3.6. Secure Shell (Shell Segura)
110
3.7. OpenSSL PadLock Engine
110
3.8. LUKS Disk Encryption
111
3.8.1. Implementao do LUKS no Red Hat Enterprise Linux
111
3.8.2. Criptografando Diretrios Manualmente
112
3.8.3. Instrues Passo-a-Passo
112
3.8.4. O que voc acaba de concluir.
112
3.8.5. Links de interesse
113
3.9. Usando o GNU Privacy Guard (GnuPG)
113
3.9.1. Criando chaves GPG no GNOME
113
3.9.2. Criando Chaves GPG no KDE
113
3.9.3. Criando chaves GPG Usando a Linha de Comando
114
3.9.4. Sobre Criptografia de Chave Pblica
115
ndice
.Captulo
. . . . . . . . .4. .. Princpios
. . . . . . . . . . .Gerais
. . . . . . . da
. . . .Segurana
. . . . . . . . . . . de
. . . Informao
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
.............
4.1. Dicas, Guias e Ferramentas
116
.Captulo
. . . . . . . . .5.
. . Instalao
. . . . . . . . . . . Segura
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
.............
5.1. Parties de Disco
117
5.2. Use a Criptografia da Partio LUKS
117
.Captulo
. . . . . . . . .6.
. . Manuteno
. . . . . . . . . . . . . do
. . . .Software
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
.............
6.1. Instale o Mnimo de Software
118
6.2. Planeje e Configure Atualizaes de Segurana
118
6.3. Ajustando Atualizaes Automticas
118
6.4. Instale Pacotes Assinados de Repositrios Bem Conhecidos
118
.Captulo
. . . . . . . . .7.
. . Padres
. . . . . . . . . Federais
. . . . . . . . . .e. .Regulamentao
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
.............
7.1. Introduo
120
7.2. Federal Information Processing Standard (FIPS)
120
7.3. National Industrial Security Program Operating Manual (NISPOM)
121
7.4. Payment Card Industry Data Security Standard (PCI DSS)
121
7.5. Guia de Implementao T cnico de Segurana
121
. . . . . . . . . .8.
Captulo
. . Referncias
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
.............
.Padres
. . . . . . . . .de
. . .Criptografia
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
.............
A.1. Criptografia Sincronizada
124
A.1.1. Advanced Encryption Standard - AES
124
A.1.1.1. Uso do AES
124
A.1.1.2. Histrico do AES
124
A.1.2. Data Encryption Standard - DES
124
A.1.2.1. Uso do DES
124
A.1.2.2. Histrico do DES
124
A.2. Criptografia de chave Pblica
125
A.2.1. Diffie-Hellman
125
A.2.1.1. Histrico do Diffie-Hellman
125
A.2.2. RSA
126
A.2.3. DSA
126
A.2.4. SSL/T LS
126
A.2.5. Cramer-Shoup Cryptosystem
126
A.2.6. ElGamal Encryption
126
. . . . . . . . . . de
Histrico
. . . Reviso
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
.............
Prefcio
Prefcio
1. Convenes de Documentos
Este manual usa diversas convenes para destacar certas palavras e frases e chamar a ateno para
informaes especficas.
Em PDF e edies de texto, este manual usa tipos de letras retiradas do conjunto Liberation Fonts. O
conjunto de Fontes Liberation Fonts, tambm usado em formato HT ML, caso o conjunto esteja
instalado em seu sistema. Caso ainda no esteja, como forma alternativa, esto disponveis tipos de
letras equivalentes. Nota: O Red Hat Enterprise Linux 5 e verses mais recentes do mesmo, incluem o
conjunto Liberation Fonts por padro.
Desktop
Desktop1
documentation
downloads
drafts
images
mss
notes
photos
scripts
stuff
svgs
svn
Prefcio
As listas de cdigo fonte tambm so configuradas em Rom ano de Espao nico (Mono-spaced
Rom an), porm so apresentadas e realadas como a seguir:
static int kvm_vm_ioctl_deassign_device(struct kvm *kvm,
struct kvm_assigned_pci_dev *assigned_dev)
{
int r = 0;
struct kvm_assigned_dev_kernel *match;
mutex_lock(&kvm->lock);
match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head,
assigned_dev->assigned_dev_id);
if (!match) {
printk(KERN_INFO "%s: device hasn't been assigned before, "
"so cannot be deassigned\n", __func__);
r = -EINVAL;
goto out;
}
kvm_deassign_device(kvm, match);
kvm_free_assigned_device(kvm, match);
out:
mutex_unlock(&kvm->lock);
return r;
}
Nota
Uma nota uma dica ou smbolo, ou ainda uma opo alternativa para a tarefa em questo. Se
voc ignorar uma nota, provavelmente no resultar em ms consequncias, porm poder
deixar passar uma dica importante que tornar sua vida mais fcil.
Importante
Caixas importantes detalham coisas que so geralmente fceis de passarem despercebidas:
mudanas de configurao que somente se aplicam sesso atual, ou servios que precisam
ser reiniciados antes que uma atualizao seja efetuada. Se voc ignorar estas caixas
importantes, no perder dados, porm isto poder causar irritao e frustrao.
Ateno
Um Aviso no deve ser ignorado. Se voc ignorar avisos, muito provavelmente perder dados.
10
Nota
Este documento faz diversas referncias arquivos no diretrio /lib. Se estiver usando os
sistemas 64 bits, alguns dos arquivos mencionados podem estar localizados no /lib64 .
11
A internet e seus primeiros protocolos, entretanto, foram desenvolvidos como um sistema baseado em
confiana. Ou seja, o Protocolo de Internet (IP) no foi desenvolvido para ser propriamente seguro. No
existem padres de segurana aprovados construdos na pilha de comunicaes T CP/IP, deixando-o
aberto para usurios potencialmente maliciosos e processos na rede. Desenvolvimentos modernos tm
feito a comunicao na internet mais segura, mas ainda existem diversos incidentes que ganham
ateno nacional e nos alertam para o fato de que nada completamente seguro.
1.1.1.2. A Segurana Hoje
Em fevereiro de 2000, um ataque de negao de servio (DDoS) foi feito em vrios dos principais sites
de alto trfego na internet. O ataque fez que sites como yahoo.com, cnn.com, amazon.com, fbi.gov entre
outros ficassem completamente fora de alcance dos usurios normais, j que o ataque afetou
roteadores por vrias horas com enormes pacotes de dados ICMP, tambm conhecidos como ping
flood. O ataque foi feito por invasores desconhecidos usando programas especialmente criados e
totalmente disponveis que escanearam servidores de rede vulnerveis e instalaram aplicativos clientes
chamados Trojans nesses servidores e agendaram um ataque inundando os sites vtimas e os
tornando indisponveis. Muitos culparam esse ataque devido deficincias fundamentais na maneira
que roteadores e os protocolos usados so estruturados para aceitar todo o trfego dos dados, sem
importar de onde ou qual o propsito dos pacotes so enviados.
Em 2007, uma violao de dados explorando as fraquezas amplamente conhecidas do WEP (Wired
Equivalent Privacy), protocolo de encriptao sem fio, resultou no roubo de mais de 45 milhes de
nmeros de carto de crdito de uma instituio financeira global. [3]
Em um incidente separado, os registros de pagamentos de mais de 2.2 milhes de pacientes
armazenados em uma fita de backup foram roubados do banco dianteiro de um carro de entregas
[4]
[5]
Ao
Atualmente, estima-se que 1.4 bilhes de pessoas usam ou usaram a internet no mundo todo.
mesmo tempo:
12
1.1.2. SELinux
O Red Hat Enterprise Linux inclui uma melhoria ao kernel do Linux chamado SELinux, que implementa
uma arquitetura de Controle de Acesso Obrigatrio (MAC - Mandatory Access Control) que fornece um
nvel de controle refinado sobre arquivos, processos, usurios e aplicaes no sistema. Uma discusso
detalhada sobre o SELinux est alm do objetivo deste documento; entretanto, para mais informaes
sobre o SELinux e seu uso no Red Hat Enterprise Linux, consulte o Guia do Usurio SELinux do Red
Hat Enterprise Linux. Para mais informaes sobre configurar e rodar servios que so protegidos pelo
SELinux, consulte o Guia do SELinux Gerenciando Servios Confinados. Outros recursos disponveis
para o SELinux esto listados no Captulo 8, Referncias.
13
apropriada. Dentro destes controles esto sub categorias que detalham mais os controles e como
implementa-las.
1.1.3.1. Controles Fsicos
Controle Fsico a implementao de medidas de segurana em uma estrutura definida usada para
deter ou previnir acesso no autorizado material sensvel. Exemplos de controles fsicos so:
Cameras de vigilncia de circuito interno
Sistemas de alarmes trmicos ou de movimento
Guardas de Segurana
IDs com fotos
Portas de ao bloqueadas com parafusos sem cabea
Biometria (inclui impresso digital, voz, rosto, ris, manuscrito e outros mtodos automatizados
usados para reconhecer indivduos)
1.1.3.2. Controles T cnicos
Controles tcnicos usam tcnologia como uma base para controlar o acesso e uso de dados sensveis
atravs de uma estrutura fsica e sobre uma rede. Controles tcnicos so de alcance abrangente e
incluem tecnologias como:
Criptografia
Cartes Smart
Autenticao de rede
Listas de Controle de Acesso (ACLs)
Software de auditoria de integridade de arquivos
1.1.3.3. Controles Administrativos
Controles administrativos definem os fatores humanos de segurana. Eles envolvem todos o nveis de
pessoas dentro de uma organizao e determinam quais usurios possuem acesso a quais recursos e
informaes por tais meios como:
T reinamento e conscientizao
Preveno de desastres e planos de recuperao
Estratgias de recrutamento de pessoal e de separao
Registro de pessoal e de contabilidade
1.1.4. Concluso
Agora que voc aprendeu sobre as origens, motivos e aspectos da segurana, voc achar mais fcil
de determinar o plano de ao apropriado ao Red Hat Enterprise Linux. importante saber quais
fatores e condies compoem a segurana a fim de planejar e implementar uma estratgia apropriada.
Com esta informao em mente, o processo pode ser formalizado e o caminho se torna mais claro
medida que voc se aprofunda nos detalhes do processo de segurana.
14
avisam de atividade maliciosa. Entretanto, o sucesso de cada uma dessas tecnologias dependente de
uma variedade de variveis, incluindo:
A percia do pessoal responsvel pela configurao, monitoramento e manuteno das tecnologias.
A habilidade de corrigir e atualizar servios e kernels rapidamente e eficientemente.
A habilidade daqueles responsveis em manter constante vigilncia sobre a rede.
Dado o estado dinmico de sistemas de dados e tecnologias, proteger recursos corporativos pode ser
muito complexo. Devido a esta complexidade, muitas vezes difcil de encontrar recursos para todos os
seus sistemas. Enquanto possvel ter um pessoal com conhecimentos em muitas reas da segurana
da informao em um alto nvel, difcil de reter empregados que so especialistas em mais do que
algumas poucas reas. Isto principalmente pelo motivo que cada assunto da rea da segurana da
informao requer constante ateno e foco. A segurana da informao no fica parada.
15
em seu DMZ, interfaces externas de seu firewall e mais. DMS significa "zona demilitarizada", que
corresponde a um computador ou sub-rede que fica entre a rede interna confivel, como uma LAN
privada corporativa e uma rede externa no confivel, como a internet pblica. T ipicamente, o DMZ
contm dispositivos acessveis ao trfego de internet, como servidores web (HT T P), servidores FT P,
servidores SMT P (e-mail) e servidores DNS.
Quando voc realizar uma avaliao de vulnerabilidade de olhar ao redor internamente, voc possui
uma vantagem j que voc est dentro e seu estado elevado confivel. Este o ponto de vista que
voc e seus colegas de trabalho possuem uma vez autenticados a seus sistemas. Voc v servidores
de impresso, servidores de arquivos e outros recursos.
Existem diferenas notveis entre os dois tipos de avaliao de vulnerabilidade. Sendo interno sua
empresa lhe d mais privilgios do que um externo. Na maioria das organizaes, a segurana
configurada para manter invasores fora. Muito pouco feito para proteger a parte interna da
organizao (como firewalls de departamentos, controles de acesso de nvel de usurios e
procedimentos de autenticao para recursos internos). T ipicamente, existem muito mais recursos
quando olhar internamente j que a maioria dos sistemas so internos uma empresa. Uma vez que
voc est fora da empresa, seu estado no confivel. Os sistemas e recursos disponveis para voc
externamente so normalmente muito limitados.
Considere a diferena entre avaliaes de vulnerabilidade e testes de penetrao. Pense em uma
avaliao de vulnerabilidade como o primeiro passo de um teste de invaso. As informaes obtidas no
teste so usadas para testes. Onde a avaliao feita para verificar por brechas e vulnerabilidades
potenciais, o teste de penetrao na verdade tenta explorar as descobertas.
Avaliar a infraestrutura de rede um processo dinmico. A segurana, tanto de informao quanto fsica
so dinmicas. Realizar uma avaliao mostra uma viso geral, que pode transformar falsos positivos e
falsos negativos.
Administradores de segurana so somente to bons quanto as ferramentas que eles usam e o
conhecimento que eles retm. T ome quaisquer das ferramentas de avaliao atualmente disponveis,
rode-as em seu sistema e quase uma garantia que havero falsos positivos. Seja pelo defeito de um
programa ou erro do usurio, o resultado o mesmo. A ferramenta poder encontrar vulnerabilidades
que em realidade no existem (falsos positivos); ou ainda pior, a ferramenta pode no encontrar
vulnerabilidades que na verdade existem (falsos negativos).
Note que a diferena definida entre a avaliao de vulnerabilidade e o teste de invaso, tome os
resultados da avaliao e as revise cuidadosamente antes de conduzir um teste de invaso como parte
de sua nova abordagem de boas prticas.
Aviso
T entar explorar vulnerabilidades de recursos em produo poder ter efeitos adversos
produtividade e eficincia de seus sistemas e rede.
A seguinte lista examina alguns dos benefcios de realizar avaliaes de vulnerabilidade.
Cria um foco pr ativo na segurana da informao
Encontra potenciais exploraes antes que os invasores as encontrem
Resulta em sistemas sendo atualizados e corrigidos
Promove o crescimento e ajuda no desenvolvimento das habilidades dos funcionrios
Reduz perdas financeiras e publicidade negativa
16
17
nmap foo.example.com
Os resultados de um escaneamento bsico (que pode levar alguns minutos, dependendo de onde o
host est localizado e outras condies de rede) devem ser similar ao seguinte:
Interesting ports on foo.example.com:
Not shown: 1710 filtered ports
PORT
STATE SERVICE
22/tcp open
ssh
53/tcp open
domain
80/tcp open
http
113/tcp closed auth
O Nmap testa as portas de comunicao de rede mais comuns para escutar ou aguardar por servios.
Esta informao pode ser til para um administrador que quer terminar servios no usados ou
desnecessrios.
Para mais informaes sobre usar o Nmap, consulte a pgina web oficial na seguinte URL:
http://www.insecure.org/
1.2.3.2. Nessus
O Nessus um escaner de segurana de servio completo. A arquitetura de plug in do Nessus permite
usurios personaliza-lo para seus sistemas e redes. Como em qualquer escaner, o Nessus somente
to bom quanto a assinatura de banco de dados em que ele est. Felizmente, o Nessus
frequentemente atualizado e contm recursos de relatrio completos, escaneamento de host e busca
de vulnerabilidades em tempo real. Se lembre que podem existir falsos positivos e falsos negativos,
mesmo em uma ferramenta to poderosa e frequentemente atualizada como o Nessus.
Nota
O cliente Nessus e o software do servidor requerem uma subscrio para serem usados. Ela foi
includa neste documento como uma referencia usurios que podem estar interessados em
usar esta aplicao popular.
Para mais informaes sobre o Nessus, consulte o web site oficial no seguinte endereo:
http://www.nessus.org/
1.2.3.3. Nikto
Nikto um excelente escaner de script de interface de gateway comum (CGI). O Nikto no somente
verifica por vulnerabilidades CGI mas o faz de uma maneira evasiva, para ento enganar sistemas de
deteco de intruso. O Nikto vem com uma documentao completa que deve ser cuidadosamente
revisada antes de rodar o programa. Se voc tiver servidores web rodando scripts CGI, o Nikto pode
ser um excelente recurso para checar a segurana destes servidores.
Mais informaes sobre o Nikto podem ser encontradas no seguinte endereo:
http://cirt.net/nikto2
1.2.3.4 . Antecipar Suas Futuras Necessidades
Dependendo de seus alvos e recursos, existem muitas ferramentas disponveis. Existem ferramentas
18
para redes sem fio, redes Novell, sistemas Windows, sistemas Linux e outros mais. Outra parte
essencial de realizar avaliaes podem incluir revisar a segurana fsica, revista de pessoal ou
avaliao de rede PBX/voz. Novos conceitos, como war walking e wardriving, que envolve o
escaneamento dos permetros de suas estruturas fsicas de sua empresa por vulnerabilidades da rede
sem fio, so alguns conceitos que voc deve investigar e se necessrio, incorporar suas tarefas.
Imaginao e exposio so os nicos limites para planejar e conduzir avaliaes de vulnerabilidade.
19
ocasies. Um hacker de chapu cinza pode ser reconhecido como um hacker de chapu branco que
veste o chapu preto as vezes para realizar seus prprios planos.
Hackers de chapu cinza tipicamente concordam com outra forma de tica hacker, que diz que
aceitvel invadir sistemas desde que o hacker no cometa roubo ou brechas de confidencialidade.
Alguns discutem entretanto que o ato de invadir um sistema no propriamente tico.
Independente da inteno do invasor, importante conhecer as fraquezas que um cracker pode querer
explorar. O restante deste captulo focado neste assunto.
20
servios desnecessrios podem ser instalados, configurados com definies padres e possivelmente
serem ativados. Isto pode fazer com que servios no requeridos como T elnet, DHCP ou DNS, sejam
executados no servidor ou estao de trabalho sem o administrador perceber, podendo causar trfego
no requerido no servidor ou mesmo, um caminho potencial ao sistema para crackers. Consulte a
Seo 2.2, Segurana do Servidor para informaes sobre fechar portas e desativar servios no
usados.
1.3.3.2. Servios sem Correo
A maioria dos aplicativos que esto includos em uma instalao padro so software estveis,
completamente testados. Estando em uso em ambientes de produo por muitos anos, seus cdigos
tm sido completamente refinados e muitos bugs foram encontrados e corrigidos.
Entretanto, no existe um software perfeito e existe sempre espao para mais refinamento. Alm disso,
um software novo muitas vezes no testado to rigorosamente como se pode esperar, pelo motivo de
sua chegada recente aos ambientes de produo ou porque pode no ser to popular quanto outros
softwares de servidor.
Desenvolvedores e administradores de sistemas muitas vezes encontram bugs explorveis em
aplicaes de servidor e publicam a informao em websites de registro de bugs e relacionados
segurana como a lista de emails Bugtraq (http://www.securityfocus.com) ou o web site Computer
Emergency Response T eam (CERT ) (http://www.cert.org). Apesar destes mecanismos serem uma
maneira efetiva de alertar a comunidade sobre vulnerabilidades de segurana, uma deciso dos
administradores do sistema de consertar seus sistemas prontamente. Isto particularmente verdade
que crackers possuem acesso a estes mesmos servios de registro de vulnerabilidades e usaro a
informao para invadir sistemas sem correo sempre que puderem. Uma boa administrao de
sistema requer vigilncia, registro de bugs constante e manuteno do sistema apropriada para garantir
um ambiente de computao mais seguro.
Consulte a Seo 1.5, Atualizaes de Segurana para mais informaes sobre manter um sistema
atualizado.
1.3.3.3. Administrao Desatenta
Administradores que falham ao corrigir seus sistemas so uma das maiores ameaas segurana dos
servidores. De acordo com o SysAdmin, Audit, Network, Security Institute (SANS), a causa primria de
vulnerabilidade de segurana dos computadores "atribuir pessoas destreinadas para manter a
segurana e no fornecer treinamento ou tempo suficiente para fazer o trabalho." [10 ] Isto se aplica
tanto para administradores inexperientes quanto a administradores confiantes ou desmotivados.
Alguns administradores erram em no corrigir seus servidores e estaes de trabalho, enquanto outros
erram por no verificar as mensagens de log do kernel do sistema ou trfego de rede. Outro erro
comum quando senhas padres ou chaves para servios no so alteradas. Por exemplo, alguns
bancos de dados possuem senhas de administrao padres porque os desenvolvedores do sistema
presumem que os administradores do sistema mudaro essas senhas imediatamente aps a
instalao. Se um administrador de banco de dados no mudar esta senha, mesmo um cracker
inexperiente pode usar a senha padro totalmente conhecida para ganhar privilgios administrativos ao
banco de dados. Este so apenas alguns poucos exemplos de como uma administrao desatenta
pode levar ao comprometimento de servidores.
1.3.3.4 . Servios Essencialmente Inseguros
Mesmo as mais vigilantes organizaes podem ser vtimas s vulnerabilidades se os servios de rede
que escolheram so inerentemente inseguros. Por exemplo, existem muitos servios desenvolvidos que
supem estar sob redes confiveis; entretanto, esta suposio termina to logo quando o servio se
torna disponvel na internet que inerentemente no confivel.
21
Uma categoria de servios de rede inseguros so aqueles que requerem nomes de usurios e senha
sem criptografia para autenticao. T elnet e FT P so dois desses tipos de servios. Se um software de
rastreamento de pacotes estiver monitorando o trfego entre o usurio remoto e o tal servio, nomes de
usurio e senhas podem ser facilmente interceptados.
Naturalmente, tais servios podem tambm ser vtimas mais facilmente do que a rea da segurana
chama de ataque man-in-the-middle. Neste tipo de ataque, um cracker redireciona o trfego de rede
enganando o servidor de nomes na rede para apontar para a mquina do cracker ao contrrio do
servidor correto. Uma vez que algum abre uma sesso remota no servidor, a mquina do invasor age
como um canal, ficando no meio entre o servio remoto e o usurio capturando informaes. Desta
maneira, o cracker pode pegar senhas administrativas e dados brutos sem o servidor ou usurio
perceberem.
Outra categoria de servios inseguros incluem sistemas de arquivos de rede e servios de informao
como NFS ou NIS, que so desenvolvidor explicitamente para uso em LAN mas so infelizmente,
extendidos para incluir WANs (para usurios remotos). O NFS no possui, por padro, qualquer
autenticao ou mecanismos de segurana configurados para previnir um cracker de montar o
compartilhamento NFS e acessar qualquer informao contida nele. O NIS, tambm, possui informaes
vitais que devem ser conhecidas por cada computador na rede, incluindo senhas e permisses de
arquivos, dentro de um banco de dados ASCII ou DBM (derivado ASCII) em texto puro. Um cracker que
ganha acesso a este banco de dados pode ento acessar cada conta de usurio na rede incluindo a
conta do administrador.
Por padro, o Red Hat Enterprise Linux lanado com todos os servios desativados. Entretanto, j que
administradores muitas vezes so forados a usar estes servios, cuidados na configurao
essencial. Consulte a Seo 2.2, Segurana do Servidor para mais informaes sobre configurar
servios de uma maneira segura.
22
23
Descrio
Senhas Nulas ou
Padro
Notas
Geralmente associado ao hardware de
rede, tais como os equipamentos de
routers, firewalls, VPNs e
armazenamento de rede anexado
(NAS).
Comum em muitas legacias de
sistemas operacionais, especialmente
aqueles que agrupam servios (como
o UNIX e Windows).
Os administradores as vezes criam
contas de usurios privilegiadas s
pressas e deixam a senha em branco,
criando um ponto de entrada perfeito
para usurios mal-intencionados que
descobrem a conta.
Chaves
Compartilhadas
Padro
IP Spoofing
Eavesdropping
(Interceptao)
24
(Interceptao)
Vulnerabilidades
de Servios
25
Vulnerabilidades
de Aplicativos
Ataques Denial of
Service (DoS)
26
anncios sobre uma explorao de segurana so acompanhados de uma correo (ou cdigo fonte
que conserta o problema). Esta correo ento aplicada ao pacote Red Hat Enterprise Linux e testada
e lanada como uma errata de atualizao. Entretanto, se um anncio no inclui uma correo, um
desenvolvedor primeiro trabalha com o mantenedor do software para consertar o problema. Uma o
problema consertado, o pacote testado e lanado como uma errata de atualizao.
Se uma errata de atualizao lanada para um software usado em seus sistema, altamente
recomendado que voc atualize os pacotes afetados assim que possvel para minimizar o perodo de
tempo que seu sistema est potencialmente vulnervel.
Nota
O Red Hat Enterprise Linux inclui um cone conveniente no painel que mostra alertas vsiveis
quando h uma atualizao disponvel.
Para exibir uma lista de todas as chaves instaladas para verificao do RPM, execute o seguinte
comando:
rpm -qa gpg-pubkey*
Para exibir detalhes sobre uma chave especfica, use o comando rpm -qi seguido do resultado do
comando anterior, como neste exemplo:
27
extremamente importante verificar a assinatura dos arquivos RPM antes de instala-los para garantir
que eles no foram alterados da fonte original dos pacotes. Para verificar todos os pacotes baixados de
uma vez, use o seguinte comando:
rpm -K /tmp/updates/*.rpm
Para cada pacote, se a chave GPG verifica com sucesso, o comando retorna gpg OK. Se caso no,
tenha certeza que est usando a chave pblica Red Hat correta e tambm verificar a fonte do contedo.
Pacotes que no passam verificaes GPG no devem ser instalados, j que podem ter sido alterados
por um terceiro.
Depois de verificar a chave GPG e baixar todos os pacotes associados com o relatrio de errada,
instale os pacotes como root no prompt do shell.
Nota
No um requerimento que o kernel antigo seja removido. O carregador de boot padro, o
GRUB, permite mltiplos kernels serem instalados, e ento escolhidos de um menu no momento
da inicializao.
Importante
Antes de instalar quaisquer erratas de segurana, tenha certeza de ler as instrues especiais
contidas no relatrio da errata e as execute de acordo. Consulte a Seo 1.5.4, Aplicando as
Mudanas para instrues gerais sobre aplicar as mudanas feitas por uma atualizao de
errata.
28
Nota
No geral, reinicializar o sistema a maneira mais certa para garantir que a ltima verso do
pacote de software usada, esta opo no sempre requerida, ou disponvel para o
administrador do sistema.
Aplicativos
Aplicativos do espao do usurio so quaisquer programas que podem ser iniciados por um
usurio do sistema. T ipicamente, tais aplicativos so usados somente quando um usurio,
script ou tarefa automatizada os rodam e estes no persistem por longos perodos de tempo.
Uma vez que determinado aplicativo de espao de usurio atualizado, pare quaisquer
instncias do aplicativo no sistema e rode o programa de novo para usar a verso atualizada.
Kernel
O kernel o componente de software principal do sistema operacional Red Hat Enterprise
Linux. Ele gerencia o acesso memria, ao processador e aos perifricos e tambm a todas
as tarefas agendadas.
Por causa de seu papel central, o kernel no pode ser reiniciado sem tambm parar o
computador. Portanto, uma verso atualizada do kernel no pode ser usada at que o sistema
seja reinicializado.
Bibliotecas Compartilhadas
Bibliotecas compartilhadas so unidades de cdigos, como o glibc, que so usados por um
nmero de aplicaes e servios. Aplicaes utilizando uma biblioteca compartilhada
tipicamente carrega o cdigo compartilhado quando a aplicao inicializada, ento quaisquer
aplicaes usando a biblioteca atualizada deve ser parada e reiniciada.
Para determinar quais aplicativos em execuo se ligam a uma determinada biblioteca, use o
comando lsof como no exemplo seguinte:
lsof /lib/libwrap.so*
Este comando retorna uma lista de todas os programas que usam os T CP Wrappers para
controle de acesso ao host. Portanto, qualquer programa listado deve ser parado e reiniciado
se o pacote tcp_wrappers estiver atualizado.
Servios SysV
Servios SysV so programas de servidores persistentes iniciados durante o processo de
boot. Exemplos de servios SysV incluem o sshd, vsftpd, e xinetd.
Pela razo que estes programas normalmente persistem na memria pelo tempo que a
mquina inicializada, cada servio de atualizao SysV deve ser parado e reiniciado depois
29
mquina inicializada, cada servio de atualizao SysV deve ser parado e reiniciado depois
que o pacote atualizado. Isto pode ser feito usando Services Configuration T ool
(Ferramenta de Configurao de Servios) ou se autenticando no shell root e digitando o
comando /sbin/service conforme no exemplo seguinte:
/sbin/service <service-name> restart
Este comando retorna todas sesses ativas do IMAP. Sesses individuais podem ento ser
terminadas digitando o seguinte comando:
kill <PID>
30
31
[11] :
32
Se voc esquecer a senha da BIOS, ela pode ser zerada com os jumpers na placa me ou retirando a
bateria do CMOS. Por esta razo, uma boa prtica trancar a caixa do computador se possvel.
Entretanto, consulte o manual do computador ou da placa me antes de tentar desconectar a bateria do
CMOS.
2.1.2.1.1. Protegendo Plataformas que no so X86
Outras arquiteturas usam programas diferentes para realizar tarefas de baixo nvel mais ou menos
equivalentes essas das BIOS em sistemas x86. Por exemplo, computadores Intel Itanium usam a
Extensible Firmware Interface (EFI) shell.
Para instrues sobre proteger com senha programas como a BIOS em outras arquiteturas, consulte as
instrues do fabricante.
2.1.2.2. Senhas do Carregador de Boot
As razes primrias para proteger com senha um carregador de boot de Linux so as seguintes:
1. Impedir Acesso ao Modo de Usurio nico Se invasores podem inicializar o sistema no modo
de usurio nico, eles so logados automaticamente como root sem serem questionados pela
senha root.
2. Impedir Acesso ao Console GRUB Se a mquina usa o GRUB como seu carregador de boot,
um invasor pode usar a interface do editor GRUB para mudar sua configurao ou pegar
informaes usando o comando cat.
3. Impedir Acesso Sistemas Operacionais Inseguros Se o sistema possui sistema de boot
duplo, um invasor pode selecionar um sistema operacional no momento do boot (por exemplo, o
DOS), que ignora controles de acesso e permisses de arquivos.
O Red Hat Enterprise Linux 6 lanado com o carregador de boot do GRUB na plataforma x86. Para
uma viso detalhada do GRUB, consulte o Guia de Instalao da Red Hat.
2.1.2.2.1. Protegendo o GRUB com senha
Voc pode configurar o GRUB para tratar os dois primeiros problemas listados na Seo 2.1.2.2,
Senhas do Carregador de Boot adicionando uma senha direcionada ao seu arquivo de configurao.
Para fazer isso, primeiro adicione uma senha forte, abra o shell, autentique-se como root e ento digite
o seguinte comando:
/sbin/grub-md5-crypt
Quando questionado, digite a senha do GRUB e pressione Enter. Isto retorna um hash MD5 da senha.
Depois, edite o arquivo de configurao do GRUB /boot/grub/grub.conf. Abra o arquivo e abaixo
da linha tim eout na seo principal do documento, adicione a seguinte linha:
password --md5 <password-hash>
33
Busque pela linha title do sistema operacional que voc quer proteger e adicione uma linha com a
diretiva lock imediatamente embaixo dela.
Para o sistema DOS, a estrofe deve iniciar similarmente ao seguinte:
title DOS lock
Aviso
A linha password deve estar presente na seo principal do arquivo /boot/grub/grub.conf
para este mtodo para funcionar propriamente. Caso contrrio, um invasor pode acessar a
interface do editor GRUB e remover a linha bloqueada.
Para criar uma senha diferente para um kernel em particular ou sistema operacional, adicione a linha
lock estrofe, seguida pela linha da senha.
Cada estrofe protegida com uma senha nica deve iniciar com as linhas similares ao exemplo seguinte:
title DOS lock password --md5 <password-hash>
34
No Use Somente Palavras ou Nmeros Nunca use somente nmeros ou palavras em uma
senha.
Alguns exemplos inseguros incluem o seguinte:
8675309
juan
hackme
No Use Palavras Reconhecveis Palavras como nomes prprios, palavras de dicionrio ou
mesmo termos de programas de televiso ou novelas devem ser evitados, mesmo se finalizados
com nmeros.
Alguns exemplos inseguros incluem o seguinte:
john1
DS-9
mentat123
No Use Palavras em Lnguas Estrangeiras Programas de quebra de senha muitas vezes tentam
listas de palavras que incluem dicionrios de muitas lnguas. Contar com lnguas estrangeiras para
senhas no seguro.
Alguns exemplos inseguros incluem o seguinte:
cheguevara
bienvenido1
1dumbKopf
No Use Terminologia Hacker Se voc acha que elite porque voc usa terminologia hacker
tambm conhecida como a escrita l337 (LEET ) em sua senha, pense novamente. Muitas listas de
palavras incluem a escrita LEET .
Alguns exemplos inseguros incluem o seguinte:
H4X0R
1337
No Use Informaes Pessoais Evite usar qualquer informao pessoal em suas senhas. Se o
invasor conhece sua identidade, a tarefa em adivinhar sua senha se torna mais fcil. A seguir est
uma lista de tipos de informaes a serem evitadas quando criar uma senha:
Alguns exemplos inseguros incluem o seguinte:
Seu Nome
Nomes de animais de estimao
Os nomes dos membros da famlia
Qualquer data de aniversrio
Seu nmero de telefone ou cdigo postal
No Inverta Palavras Reconhecveis Verificadores de senhas bons sempre invertem as palavras
comuns, ento inverter uma senha fraca no a faz mais segura.
Alguns exemplos inseguros incluem o seguinte:
R0X4H
nauj
9-DS
No Escreva Sua Senha Nunca guarde sua senha em papel. mais seguro memoriza-la.
No Use a Mesma Senha para Todas as Mquinas importante fazer senhas separadas para
cada mquina. Desta maneira se um sistema comprometido, todas suas mquinas no estaro
imeditatamente em risco.
35
36
senhas usadas dentro de uma organizao sejam fortes. Quando os usurios so perguntados para
criar ou mudar senhas, eles podem usar a aplicao de linha de comando passwd, que o Pluggable
Authentication Modules (PAM) checando se a senha muito curta ou de outra maneira fcil de quebrar.
Esta verificao realizada usando o modulo PAM pam _cracklib.so. J que o PAM
personalizvel, possvel adicionar mais de um verificador de integridade de senhas, como
pam _passwdqc (disponvel em http://www.openwall.com/passwdqc/) ou escrever um mdulo novo. Para
uma lista de mdulos PAM disponveis, consulte o http://www.kernel.org/pub/linux/libs/pam/modules.html.
Para mais informaes sobre o PAM, consulte Gerenciando Sign-On nicos e Cartes Smart.
A verificao de senha que realizada no momento de sua criao no descobre senhas ruins to
efetivamente quanto rodar um programa de quebra de senhas.
Muitas programas de quebra de senhas esto disponveis e que rodam no Red Hat Enterprise Linux,
apesar de que nenhum est no pacote do sistema operacional. Abaixo est uma lista breve de alguns
dos programas mais populares de quebra de senha:
John The Ripper Um rpido de flexvel programa de quebra de senhas. Permite o uso de
mltiplas listas de palavras e capaz de quebrar senhas por fora bruta. Est disponvel online em
http://www.openwall.com/john/.
Crack T alvez o mais conhecido programa de quebra de senhas, o Crack tambm muito rpido,
embora no to fcil de usar como o John T he Ripper. Pode ser encontrado em
http://www.crypticide.com/alecm/security/crack/c50-faq.html.
Slurpie O Slurpie similar ao John T he Ripper e o Crack, mas desenhado para rodar em
mltiplos computadores simultaneamente, criando um ataque de quebra de senhas distribudo. Ele
pode ser encontrado online junto com uma srie de outras ferramentas de avaliao de ataque
segurana em http://www.ussrback.com/distributed.htm.
Aviso
Sempre obtenha uma autorizao escrita antes de tentar quebrar senhas dentro de uma
organizao.
37
A opo -M do comando chage especifica o nmero mximo de dias que a senha vlida. Por
exemplo, para definir que a senha de um usurio expire em 90 dias, use o seguinte comando:
chage -M 90 <username>
No comando acima, substitua o <username> com o nome do usurio. Para desativar a expirao de
senha, normal usar um valor de 99999 depois da opo -M (isto equivale a mais ou menos 273
anos).
Voc pode tambm usar o comando chage em modo interativo para modificar mltiplas expiraes de
senhas e detalhes de conta. Use o comando seguinte para entrar no modo interativo:
chage <username>
Consulte a pgina man sobre o chage para mais informaes sobre as opes disponveis.
Voc pode tambm usar a aplicao grfica User Manager (Gerenciador de Usurios) para criar
polticas de expirao de senhas, conforme a seguir. Nota: voc precisa de privilgios de Administrador
para realizar este procedimento.
1. Clique no menu System (Sistema) no painel, depois em Administration (Administrao) e ento
clique em Users and Groups (Usurios e Grupos) para exibir o Gerenciador de Usurios.
Alternativamente, digite o comando system -config-users no shell.
2. Clique na aba Users (Usurios) e selecione o usurio requerido na lista de usurios.
3. Clique em Properties (Propriedades) na barra de ferramentas para exibir as caixa de dilogo
das Propriedades do Usurio (ou escolha Properties (Propriedades) no menu File (Arquivo)).
4. Clique na aba Password Info (Informaes de Senha) e marque a caixa de verificao Enable
password expiration (Ativar expirao de senha).
5. Digite o valor requerido no campo Days before change required (Dias antes da mudana
requerida) e clique OK.
38
Nota
O s pode ser maisculo ou minusculo. Se aparecer como maisculo, significa que o bit de
permisso subjacente no foi definido.
Para os administradores de sistemas de uma organizao, entretanto, as escolhas podem ser feitas
como o quanto de acesso administrativo os usurios dentro da organizao podem ter em suas
mquinas. Atravs do mdulo PAM chamado pam _console.so, algumas atividades normalmente
reservadas somente para o usurio root, como reinicializao e montagem de mdia removveis so
permitidas para o primeiro usurio que logar no console fsico (consulte Gerenciando Sign-On nicos e
Cartes Smart para mais informaes sobre o mdulo pam _console.so). Entretanto, outras tarefas
importantes de administrao do sistema, como alterar definies de rede, configurar um mouse novo
ou montar dispositivos de rede no so possveis sem privilgios administrativos. Como resultado,
administradores de sistema devem decidir quanta acessibilidade os usurios em sua rede devem
receber.
2.1.4 .1. Permitindo Acesso Root
Se os usurios dentro de uma organizao so confiveis e entendedores de informtica, ento permitir
acesso root a eles pode no ser um problema. Permitindo acesso root aos usurios significa que
atividades menores, como adicionar dispositivos ou configurar interfaces de rede, podem ser
39
manuseadas pelos usurios individuais, deixando os administradores de sistema livres para lidar com a
segurana da rede e outras questes importantes.
Por outro lado, dar acesso root a usurios individuais podem levar s seguintes questes:
Desconfigurao da Mquina Usurios com acesso root pode desconfigurar suas mquinas e
necessitar de assistncia para resolver o problema. Ainda pior, eles podem abrir brechas de
segurana sem perceber.
Executando Servios Inseguros Usurios com acesso root podem rodar servidores inseguros em
suas mquinas, como FT P ou T elnet, colocando nomes de usurios e senhas potencialmente em
risco. Estes servios transmitem estas informaes pela a rede em texto puro.
Executar Anexos de Email como Root Ainda que raro, vrus em e-mails que afetam o Linux
existem. O nico momento entretanto que eles so uma ameaa quando eles so executados pelo
usurio root.
2.1.4 .2. Desabilitando Acesso ao Root
Se um administrador no est confortvel em permitir que os usurios autentiquem-se como root por
estas e outras razes, a senha root deve ser mantida em segredo e acessar o nvel de execuo um
ou modo de usurio nico deve ser desativado atravs de proteo de senha do carregador de boot
(consulte a Seo 2.1.2.2, Senhas do Carregador de Boot para mais informaes sobre este tpico).
A T abela 2.1, Mtodos para Desabilitar a Conta Root descreve maneiras que um administrador pode
assegurar ainda mais que logins root sejam desativados:
40
Descrio
Efeitos
No afeta
Alternado
o shell do
root.
Edite o arquivo
/etc/passwd e mude o
shell de /bin/bash para
/sbin/nologin.
Programas que no
requerem o uso do shell,
como clientes FT P, clientes
de email e muitos
programas setuid.
Os seguintes programas
so impedidos de acessar
a conta root:
login
Os seguintes programas
no so impedidos de
acessar a conta root:
gdm
sudo
kdm
clientes FT P
xdm
clientes de E-mail
su
ssh
scp
sftp
Desativar
o acesso
root por
qualquer
dispositiv
o de
console
(tty).
Um arquivo
/etc/securetty impede o
login de root em quaisquer
dispositivos anexados ao
computador.
login
gdm
Os seguintes programas
no so impedidos de
acessar a conta root:
kdm
su
xdm
sudo
ssh
scp
sftp
Desativan
do logins
root SSH.
Edite o arquivo
/etc/ssh/sshd_config
e defina o parmetro
Perm itRootLogin para
no.
41
ssh
scp
sftp
Use o
PAM para
limitar
acesso
root aos
servios.
Os seguintes servios so
impedidos de acessar a
conta root:
clientes FT P
clientes de E-mail
login
gdm
kdm
xdm
ssh
scp
sftp
Quaisquer servios
atentos ao PAM.
Importante
Programas que no requerem acesso ao shell, como clientes de e-mail ou o comando sudo,
podem ainda acessar a conta root.
42
qualquer dispositivo de comunicao no sistema, seja pelo console ou uma interface de rede bruta. Isto
perigoso, porque um usurio pode se autenticar em sua mquina pela rede. Por padro, o arquivo
/etc/securetty do Red Hat Enterprise Linux somente permite ao usurio root se autenticar no
console fisicamente anexado mquina. Para impedir o root de se autenticar, remova o contedo deste
arquivo, digitando o seguinte comando:
echo > /etc/securetty
Aviso
Um arquivo em branco /etc/securetty no impede o usurio root de se autenticar
remotamente usando a sute de ferramentas OpenSSH porque o console no aberto at
depois da autenticao.
Para essas mudanas terem efeito, o daemon SSH deve ser reiniciado. Isto pode ser feito pelo seguinte
comando:
kill -HUP `cat /var/run/sshd.pid`
Isto instrui o PAM para consultar o arquivo /etc/vsftpd.ftpusers e negar acesso ao servio para
qualquer usurio listado. O administrador pode mudar o nome deste arquivo e manter listas separadas
para cada servio ou usar uma lista central para negar acesso mltiplos servios.
Se o administrador quer negar acesso mltiplos servios, uma linha similar pode ser adicionada aos
arquivos de configurao do PAM, como /etc/pam .d/pop e o /etc/pam .d/im ap para clientes de email ou o /etc/pam .d/ssh para cliente SSH.
Para mais informaes sobre o PAM, consulte Gerenciando Sign-On nicos e Cartes Smart.
43
No comando anterior, substitua o <username> com o nome de usurio que voc quer adicionar ao
grupo wheel.
Voc pode tambm usar o Gerenciador de Usurios para modificar afiliaes de grupos, conforme a
seguir. Nota: voc precisa de privilgios de Administrador para realizar este procedimento.
1. Clique no menu System (Sistema) no painel, depois em Administration (Administrao) e ento
clique em Users and Groups (Usurios e Grupos) para exibir o Gerenciador de Usurios.
Alternativamente, digite o comando system -config-users no shell.
2. Clique na aba Users (Usurios) e selecione o usurio requerido na lista de usurios.
3. Clique em Properties (Propriedades) na barra de ferramentas para exibir as caixa de dilogo
das Propriedades do Usurio (ou escolha Properties (Propriedades) no menu File (Arquivo)).
4. Clique na aba Groups (Grupos), marque a caixa de seleo para o grupo wheel, e ento clique
em OK. Veja a Figura 2.2, Adicionando usurios ao grupo "wheel".
44
Abra o arquivo de configurao do PAM para o su (/etc/pam .d/su) em um editor de textos e remova
o comentrio # na seguinte linha:
auth
Esta mudana significa que somente membros do grupo administrativo wheel podem usar este
programa.
Nota
O usurio root parte do grupo wheel por padro.
No exemplo acima, o <command> seria substituido por um comando normalmente reservado para o
usurio root, tal como o m ount.
45
Importante
Usurios do comando sudo devem ter cuidade e sair do comando antes de deixar a mquina, j
que o sudo pode executar o comando novamente sem ter a senha pedida dentro de um perodo
de cinco minutos. Esta configurao pode ser alterada pelo arquivo de configurao,
/etc/sudoers.
O comando sudo permite um alto grau de flexibilidade. Por exemplo, somente usurios listados no
arquivo de configurao /etc/sudoers so permitidos usar o comando sudo e o comando
executado no shell do usurio, no no shell do root. Isto significa que o shell do root pode ser
completamente desativado, como mostrado na Seo 2.1.4.2.1, Desativando o Shell do Root.
O comando sudo tambm fornece um registro de auditoria abrangente. Cada autenticao feita
registrada no arquivo /var/log/m essages e o comando digitado junto com o nome do usurio
registrado no arquivo /var/log/secure.
Outra vantagem do comando sudo que um administrador pode permitir usurios diferentes acessar
comandos especificos baseados em suas necessidades.
Administradores querendo editar o arquivo de configurao do sudo, /etc/sudoers, devem usar o
comando visudo.
Para dar a algum privilgios administrativos completo, digite visudo e adicione uma linha similar
seguinte na seo de especificao de privilgio do usurio:
juan ALL=(ALL) ALL
Este exemplo declara que o usurio, juan, pode usar sudo de qualquer host e executar qualquer
comando.
O exemplo abaixo ilustra a possvel granularidade quando configurar o sudo:
%users localhost=/sbin/shutdown -h now
Este exemplo declara que qualquer usurio possa emitir o comando /sbin/shutdown -h now desde
que ele seja emitido a partir do console.
A pgina man do sudo possui uma lista detalhada de opes para este arquivo.
46
Nota
A ameaa das vulnerabilidades do buffer overflow minimizada no Red Hat Enterprise Linux pelo
ExecShield, uma segmentao de memria executvel e tecnologia de proteo suportada pelos
processadores nicos e mltiplos do kernel compatveis com x86. O ExecShield reduz o risco de
buffer overflow separando a memria virtual em segmentos executveis e no executveis.
Qualquer cdigo de programa que tenta executar fora do segmento executvel (tal como um
cdigo malicioso injetado a partir de uma explorao de buffer overflow) aciona um defeito de
segmentao e o termina.
O Execshield tambm inclui suporte para a tecnologia No eXecute (NX) em plataformas AMD64 e
tecnologia eXecute Disable (XD) em Itanium e sistemas Intel 64. Estas tecnologias trabalham
em conjunto com o ExecShield para impedir cdigos maliciosos de rodar na poro de memria
virtual executvel com uma granularidade de 4KB de cdigo executvel, baixando o risco de
ataque a partir de exploraes stealthy buffer overflow.
Importante
Para limitar a exposio de ataques na rede, todos os servios que no so usados devem ser
desligados.
47
48
sobre a rede sem encriptao. Dumps de memria podem conter senhas ou, ainda pior, entradas de
banco de dados e outras informaes sensveis.
Outros servios como o finger e rwhod revelam informaes sobre os usurios do sistema.
Exemplos de servios inerentemente inseguros incluem rlogin, rsh, telnet e vsftpd.
T odos os logins remotos e programas de shell (rlogin, rsh, e telnet) devem ser evitados em favor
do SSH. Consulte a Seo 2.1.7, Ferramentas de Comunicao Avanadas de Segurana para mais
informaes sobre o sshd.
O FT P no inerentemente perigoso segurana do sistema como shells remotos, mas servidores
FT P deve ser cuidadosamente configurados e monitorados para evitar problemas. Consulte a
Seo 2.2.6, Protegendo o FT P para mais informaes sobre proteger servidores FT P.
Servios que devem ser cuidadosamente implementados e colocados em firewall incluem:
finger
authd (este era chamado identd em verses anteriores do Red Hat Enterprise Linux.)
netdum p
netdum p-server
nfs
rwhod
sendm ail
sm b (Samba)
yppasswdd
ypserv
ypxfrd
Mais informaes sobre proteger servios de rede esto disponveis na Seo 2.2, Segurana do
Servidor.
A prxima seo discute ferramentas para configurar um firewall simples.
Importante
Voc deve configurar os servios necessrios e implementar um firewall antes de conectar
internet ou qualquer outra rede que voc no confiar.
Os firewalls impedem pacotes de rede de acessar a interface de rede de sistema. Se um pedido feito
a uma porta que est bloqueada por um firewall, o pedido ignorado. Se um servio est escutando em
uma dessas portas bloqueadas, ele no recebe os pacotes e est efetivamente desativado. Por esta
razo, cuidado deve ser tomado quando configurar um firewall para bloquear o acesso s portas que
no esto em uso, enquanto no bloquear acesso s portas usadas pelos servios configurados.
Para a maioria dos usurios, a melhor ferramenta para configurar um firewall simples a ferramenta de
configurao de firewall grfica que vem junto com o Red Hat Enterprise Linux: a Firewall
49
Importante
Apesar do servio sshd ser inerentemente seguro, o servio deve ser mantido atualizado para
impedir ameaas de segurana. Consulte a Seo 1.5, Atualizaes de Segurana para mais
informaes.
O GPG uma maneira de proteger comunicaes de e-mail privadas. Ele pode ser usado tanto para
enviar e-mails com dados sensveis em redes pblicas quanto proteger dados sensveis em discos
rgidos.
50
segurana do servidor:
Mantm todos os servios atualizados, para protege-los contra as ltimas ameaas.
Use protocolos seguros sempre que possvel.
Sirva somente um tipo de servio de rede por mquina sempre que possvel.
Monitore todos os servidores cuidadosamente por atividades suspeitas.
Nota
uma boa idia usar as regras de firewall iptables em conjunto com os T CP Wrappers e
xinetd para criar redundncia dentro dos controles de acesso de servio. Consulte a
Seo 2.5, Firewalls para mais informaes sobre implementar firewalls com comandos iptables.
As subsees a seguir pressupem um conhecimento bsico de cada tpico e foco em opes de
segurana especficas.
2.2.1.1. Aumentando a Segurana com T CP Wrappers
Os T CP Wrappers so capazes de muito mais do que negar acesso servios. Esta seo ilustra
como eles podem ser usados para enviar banners de conexo, avisos de ataque de determinados
hosts e aumenta a funcionalidade de registro de log. Consulte a pgina man hosts_options para
informaes sobre a funcionalidade dos T CP Wrappers e idioma de controle. Consulte a pgina man
xinetd.conf disponvel online em http://linux.die.net/man/5/xinetd.conf para os sinalizadores
disponveis, que agem como opes que voc pode aplicar em um servio.
2.2.1.1.1. T CP Wrappers e Banners de Conexo
Exibir um banner apropriado quando os usurios conectam uma boa maneira de fazer que os
potencias invasores saibam que o administrador do sistema est vigilante. Voc pode tambm controlar
qual informao sobre o sistema apresentado aos usurios. Para implementar um banner de T CP
Wrappers para um servio, use a opo banner.
Este exemplo implementa um banner para o vsftpd. Para iniciar, crie um arquivo de banner. Ele pode
estar em qualquer lugar no sistema, mas ele deve ter o mesmo nome como o daemon. Para este
exemplo, este arquivo chamado /etc/banners/vsftpd e contm a seguinte linha:
220-Hello, %c
220-All activity on ftp.example.com is logged.
220-Inappropriate use will result in your access privileges being removed.
O token %c fornece uma variedade de informaes sobre o cliente, tais como o nome de usurio e
hostname ou nome de usurio e endereo de IP para fazer a conexo ainda mais intimidadora.
Para este banner ser mostrado s conexes de entrada, adicione a seguinte linha ao arquivo
51
/etc/hosts.allow:
vsftpd : ALL : banners /etc/banners/
Nota
Por causa que a diretiva spawn executa qualquer comando shell, uma boa idia criar um script
especial para notificar o administrador ou executar uma cadeia de comandos no evento de um
determinado cliente tentar se conectar ao servidor.
Isto usa a facilidade de registro de log padro authpriv, mas eleva a prioridade do valor padro de
info para em erg, que posta mensagens de log diretamente ao console.
2.2.1.2. Aumentando a Segurana com o xinetd
Esta seo foca no uso do xinetd para definir um servio de interceptao (trap) e usa-lo para
controlar os nveis de recursos disponveis para qualquer servio xinetd dado. Definindo limites de
recursos disponveis para servios pode ajudar impedir ataques DoS (Denial of Service ). Consulte as
pginas man do xinetd e do xinetd.conf para uma lista de opes disponveis.
2.2.1.2.1. Configurando uma Interceptao (T rap)
Um recurso importante do xinetd sua habilidade de adicionar hosts uma lista no_access global.
Hosts nesta lista so conexes subsequentes negadas a servios gerenciados pelo xinetd por um
perodo especificado ou at que o xinetd seja reiniciado. Voc pode fazer isto usando o atributo
52
SENSOR. Esta uma fcil maneira de bloquear hosts tentando escanear as portas neste servidor.
O primeiro passo para definir um SENSOR escolher um servio que voc no planeja usar. Para este
exemplo, o T elnet usado.
Edite o arquivo /etc/xinetd.d/telnet e mude as linhas das flags (sinalizadores) para:
flags
= SENSOR
= 30
Isto nega qualquer outra tentativa de conexo esta porta por esse host por 30 minutos. Outros
valores aceitveis para o atributo deny_tim e so o FOREVER, que mantm o banimento em efeito at
que o xinetd seja reiniciado, e o NEVER, que permite a conexo e registra isso em log.
Finalmente, a ltima linha deve ser:
disable
= no
53
servio pode ocupar na CPU. Esta diretiva aceita tanto um integrador de nmero inteiro ou
UNLIMIT ED (limitado).
Usando estas diretivas pode ajudar a impedir qualquer servio xinetd nico de sobrecarregar o
sistema, resultando em um DoS (denial of service).
Nota
Protegendo o portm ap somente afeta as implementaes NFSv2 e NFSv3, j que o NFSv4 no
o requer mais. Se voc planeja implementar um servidor NFSv2 ou NFSv3, ento o portm ap
requerido e as seguintes sees se aplicam.
Se rodar os servios RPC, siga estas regras bsicas.
2.2.2.1. Proteja o portmap com T CP Wrappers
importante usar os T CP Wrappers para limitar quais redes ou hosts tm acesso ao servio portm ap
desde que ele no possua uma forma de autenticao embutida.
Alm disso, use somente endereos IP quando limitar acesso ao servio. Evite usar hostnames, j que
eles podem ser falsificados por envenenamento de DNS e outros mtodos.
2.2.2.2. Proteger o portmap com o iptables
Para restringir ainda mais o acesso ao servio portm ap, uma boa idia adicionar regras de iptables
ao servidor e restringir acesso s redes especificas.
Abaixo esto dois exemplos de comandos iptables. O primeiro permite conexes T PC porta 111
(usada pelo servio portm ap) da rede 192.168.0.0/24. A segunda permite conexes T CP mesma
porta do local host. Isto necessrio para o servio sgi_fam usado pelo Nautilus. T odos os outros
pacotes so largados.
iptables -A INPUT -p tcp ! -s 192.168.0.0/24 --dport 111 -j DROP
iptables -A INPUT -p tcp -s 127.0.0.1 --dport 111 -j ACCEPT
Nota
Consulte a Seo 2.5, Firewalls para mais informaes sobre implementar firewalls com
comandos iptables.
A Network Information Service (NIS) um servio RPC, chamado ypserv, que usado em conjunto com
o portm ap e outros servios relacionados para distribuir mapas de nomes de usurios, senhas e
outras informaes sensveis a qualquer computador alegando estar dentro do domnio.
Um servidor NIS compreende de diversas aplicaes. Elas incluem o seguinte:
/usr/sbin/rpc.yppasswdd T ambm chamado servio yppasswdd, este daemon permite
usurios alterar suas senhas NIS.
/usr/sbin/rpc.ypxfrd T ambm chamado servio ypxfrd, este daemon responsvel por
transferncias de mapas NIS pela rede.
/usr/sbin/yppush Esta aplicao propaga bancos de dados NIS para mltiplos servidores NIS.
/usr/sbin/ypserv Este o daemon do servidor NIS.
O NIS um pouco inseguro para os padres de hoje. Ele no possui mecanismos de autenticao e
transmite todas suas informaes pela rede sem criptografia, incluindo senhas hash. Como um
resultado, cuidado extremo deve ser tomado quando configurar uma rede que usa o NIS. Isto mais
complicado pelo fato que a configurao padro do NIS inerentemente insegura.
recomendado que qualquer um que esteja planejando implementar um servidor NIS, primeiro proteja o
servio portm ap conforme descrito na Seo 2.2.2, Protegendo o Portmap, em seguida, aborde as
seguintes questes, como planejar a rede.
2.2.3.1. Planeje a Rede Cuidadosamente
Por causa que o NIS transmite informaes sensveis sem criptografia pela rede, importante que o
servio seja rodado por trs de um firewall e em uma rede segmentada e segura. Sempre que a
informao NIS transmitida por uma rede insegura, h riscos de ser interceptada. Um planejamento de
rede cuidadoso pode ajudar a impedir grandes brechas na segurana.
2.2.3.2. Use um Nome de Domnio NIS e Hostname como se fosse uma Senha.
Qualquer mquina dentro de um domnio NIS pode usar comandos para extrair informaes do servidor
sem autenticao, desde que o usurio saiba o hostname DNS do servidor NIS e o nome de domnio
NIS.
Por exemplo, se algum tanto se conectar com um laptop na rede ou invadir a rede externamente (e
fazer um spoof de um endereo IP), o seguinte comando revela o mapa /etc/passwd:
ypcat -d <NIS_domain> -h <DNS_hostname> passwd
Se um invasor o usurio root, ele pode obter o arquivo /etc/shadow digitando o seguinte comando:
ypcat -d <NIS_domain> -h <DNS_hostname> shadow
Nota
Se o Kerberos usado, o arquivo /etc/shadow no armazenado dentro de um mapa NIS.
Para fazer o acesso aos mapas NIS mais difcil para um invasor, crie uma string aleatria para o
hostname DNS, tal como o7hfawtgm hwg.dom ain.com . Da mesma maneira, crie um nome de domnio
NIS aleatrio diferente. Isto deixa mais difcil para um invasor acessar o servidor NIS.
55
192.168.0.0
Aviso
Nunca inicie um servidor NIS pela primeira vez sem criar o arquivo /var/yp/securenets.
Esta tcnica no fornece proteo contra um ataque de spoof de IP, mas ao menos impes limites em
quais redes o servidor NIS serve.
2.2.3.4 . Atribua Portas Estticas e Use Regras iptables
T odos os servidores relacionados ao NIS podem ser atribudos portas especficas exceto o
rpc.yppasswdd o daemon que permite usurios mudar suas senhas de login. Atribuir portas aos
outros dois daemons do servidor NIS rpc.ypxfrd and ypserv, permite a criao de regras de firewall
para proteger ainda mais o daemons do servidor NIS de invasores.
Para fazer isso, adicione as seguintes linhas ao /etc/sysconfig/network:
YPSERV_ARGS="-p 834" YPXFRD_ARGS="-p 835"
As seguintes regras de iptables podem ento ser usadas para forar quais redes o servidor escuta
nestas portas:
iptables -A INPUT -p ALL ! -s 192.168.0.0/24
iptables -A INPUT -p ALL ! -s 192.168.0.0/24
Isto significa que o servidor somente permite conexes s portas 834 e 835 se os pedidos chegam da
rede 192.168.0.0/24, sem importar o protocolo.
Nota
Consulte a Seo 2.5, Firewalls para mais informaes sobre implementar firewalls com
comandos iptables.
56
fazendo o sistema muito mais seguro. Consulte Gerenciando Cartes Single Sign-On e Smart Cards
para mais informaes sobre o Kerberos.
bob.example.com(rw)
A linha seguinte no arquivo /etc/exports, por outro lado, compartilha o mesmo diretrio do host
bob.exam ple.com com permisses de leitura somente e compartilha com o world com permisses de
leitura/escrita devido ao carcter espao nico depois do hostname.
/tmp/nfs/
bob.example.com (rw)
uma boa prtica verificar quaisquer compartilhamentos de NFS configurados usando o comando
showm ount para verificar o que est sendo compartilhado:
showmount -e <hostname>
57
2.
Administradores de sistemas devem ter cuidados quando usar as seguintes opes de configurao
(definidos em /etc/httpd/conf/httpd.conf):
FollowSym Links
Esta diretiva est ativada por padro, ento seja cauteloso quando criar links simblicos ao
documento root do Servidor Web. Por exemplo, no uma boa idia fornecer um link simbolico
para o /.
Indexes
Esta diretiva est ativada por padro, mas pode no ser desejvel. Para impedir visitantes de
navegar pelos arquivos do servidor, remova esta diretiva.
UserDir
A diretiva UserDir est desativada por padro por causa que ela pode confirmar a presena
de uma conta de usurio no sistema. Para ativar a navegao de diretrios no servidor, use as
seguintes diretivas:
58
UserDir enabled
UserDir disabled root
Importante
No remova a diretiva IncludesNoExec. Por padro, o mdulo Server-Side Includes (SSI) no
pode executar comandos. recomendado que voc no mude estas definies a menos que
seja absolutamente necessrio, j que poderia potencialmente ativar um invasor para executar
comandos no sistema.
59
Nota
No necessrio iniciar cada linha do arquivo com 220 como especificado na Seo 2.2.1.1.1,
T CP Wrappers e Banners de Conexo.
Para referenciar este arquivo de banner de saudao para o vsftpd, adicione a seguinte diretiva ao
arquivo /etc/vsftpd/vsftpd.conf:
banner_file=/etc/banners/ftp.msg
Aviso
Se ativar o acesso annimo a um servidor FT P, esteja atento onde os dados sensveis esto
armazenados.
Depois, mude as permisses para que ento os usurios annimos no possam ver os contedos dos
diretrios:
chmod 730 /var/ftp/pub/upload
60
2 root
ftp
Aviso
Administradores que permitem usurios annimos ler e escrever nos diretrios muitas vezes
possuem seus servidores transformados em um repositrio de software roubado.
Adicionalmente, sob o vsftpd, adicione a seguinte linha ao arquivo /etc/vsftpd/vsftpd.conf:
anon_upload_enable=YES
61
confCONNECT ION_RAT E_T HROT T LE O nmero de conexes que o servidor pode receber por
segundo. Por padro, o Sendmail no limita o nmero de conexes. Se um limite definido e
alcanado, as prximas conexes so atrasadas.
confMAX_DAEMON_CHILDREN O nmero mximo de processos filhos que podem ser gerados
pelo servidor. Por padro, o Sendmail no atribui um limite ao nmero de processos filhos. Se um
limite definido e alcanado, as prximas conexes so atrasadas.
confMIN_FREE_BLOCKS O nmero mnimo de blocos livres que devem estar disponveis para o
servidor para aceitar mail. O padro 100 blocos.
confMAX_HEADERS_LENGT H O tamanho mximo aceitvel (em bytes) para um cabealho de
mensagens.
confMAX_MESSAGE_SIZE O tamanho mximo aceitvel (em bytes) para uma mensagem nica.
2.2.7.2. O NFS e Sendmail
Nunca coloque o diretrio de mail spool, /var/spool/m ail/, em um volume NFS compartilhado.
Por causa que o NFSv2 e NFSv3 no mantm controle sobre as IDs de usurios e grupos, dois ou mais
usurios podem ter o mesmo UID e receberem e lerem os emails um do outro.
Nota
Com o NFSv4 usando o Kerberos, isto no acontece, j que o mdulo do kernel SECRPC_GSS
no utiliza uma autenticao baseada em UID. Entretanto, ainda considerado uma boa prtica
no colocar o diretrio de mail spool em volumes NFS no compartilhados.
62
Este resultado mostra que o sistema est rodando o portm ap por causa da presena do servio
sunrpc . Entretanto, h tambm um servio misterioso na porta 834. Para checar se a porta
associada com o a lista oficial de servios conhecidos, digite:
cat /etc/services | grep 834
Este comando retorna nenhum resultado para a porta 834. Devido ao formato do comando, o resultado
para outras portas (1834, 2834, and 3834) sero mostrados. Isto indica que enquanto a porta 834 est
na variao reservada (significando 0 at 1023) e requer o acesso root para abrir, ele no associado
com um servio conhecido.
Depois, verifique por informaes sobre a porta usando o netstat ou lsof. Para verificar pela porta
834 usando o netstat, use o seguinte comando:
netstat -anp | grep 834
0 0.0.0.0:834
0.0.0.0:*
LISTEN
653/ypbind
A presena da porta aberta no netstat animadora por causa que se um cracker abrir uma porta
clandestinamente em um sistema hackeado, no susceptvel de permitir que esta seja revelada
atravs deste comando. T ambm, a opo [p] revela o ID do processo (PID) do servio que abriu a
porta. Neste caso, a porta aberta pertence ao ypbind (NIS), que um servio RPC manuseado em
conjunto com o servio portm ap.
O comando lsof revela informaes similares ao netstat j que ele tambm capaz de ligar portas
abertas servios:
lsof -i | grep 834
63
ypbind
(LISTEN)
ypbind
(LISTEN)
ypbind
(LISTEN)
ypbind
(LISTEN)
653
7u
IPv4
1319
TCP *:834
655
7u
IPv4
1319
TCP *:834
656
7u
IPv4
1319
TCP *:834
657
7u
IPv4
1319
TCP *:834
Estas ferramentas revelam uma grande parte sobre o estado dos servios rodando na mquina. Estas
ferramentas so flexveis e podem fornecer uma riqueza de informaes sobre os servios de rede e
configurao. Consulte as pginas man do lsof, netstat, nm ap, e services para mais informaes.
64
Este captulo foca na funo de T CP Wrappers e xinetd no controle de acesso aos servios de rede
e revisa como estas ferramentas podem ser usadas para melhorar tanto a autenticao e
gerenciamento de utilizao. Consulte a Seo 2.6, IPT ables para informaes sobre usar firewalls
com iptables.
Nota
Para determinar se um servio de rede binria est ligado ao libwrap.a, digite o seguinte
comando como usurio root:
ldd <binary-name> | grep libwrap
65
rede:
Transparncias tanto aos clientes e servios de rede wrapped Ambos clientes em conexo e o
servio de rede wrapped no esto atentos que os T CP Wrappers esto em uso. Usurios
legtimos so autenticados e conectados ao servio solicitado enquanto conexes de clientes
banidos falham.
Gerenciamento Centralizado de mltiplos protocolos Os T CP Wrappers operam separadamente
dos servios de rede que protegem, permitindo muitas aplicaes de servidor compartilhar um
conjunto comum de arquivos de configuraes de controle de acesso, para um gerenciamento mais
simples.
66
Aviso
Se a ltima linha do arquivo de acesso ao host no um carcter de nova linha (criado ao se
pressionar o Enter), a ltima regra no arquivo falha e um erro registrado tanto no logs
/var/log/m essages ou /var/log/secure. Isto tambm o caso para uma regra que se
extende por mltiplas linhas sem usar a barra invertida. O seguinte exemplo ilustra a poro
relevante de uma mensagem de log para uma falha de regra devido a uma dessas
circunstncias:
warning: /etc/hosts.allow, line 20: missing newline or line too long
<daemon list> Uma lista separada por vrgula de nomes de processos (no os nomes dos
servios) ou o carcter coringa ALL. A lista daemon tambm aceita operadores (consulte a
Seo 2.3.2.1.4, Operadores) para permitir maior flexibilidade.
<client list> Uma lista separada por vgula de nomes de host, endereos IP de host, modelos
especiais ou carcteres coringa que identificam os hosts afetados pela regra. A lista de clientes
tambm aceita operadores listados na Seo 2.3.2.1.4, Operadores para permitir maior
flexibilidade.
<option> Uma ao opcional ou lista separada por dois pontos de aes realizadas quando a
regra acionada. Campos opcionais suportam expanses, do inicio comandos shell, permitem ou
negam acesso e alteram o comportamento de logging.
Nota
Mais informaes sobre alguns dos termos acima podem ser encontrados em outras partes
deste guia:
Seo
Seo
Seo
Seo
Esta regra instrui o T CP Wrapper para aguardar por conexes do daemon FT P (vsftpd) de qualquer
host no domnio exam ple.com . Se esta regra aparecer no hosts.allow, a conexo aceita. Se esta
regra aparecer no hosts.deny, a conexo rejeitada.
67
O prximo exemplo de regra de acesso host mais complexa e usa dois campos de opes:
sshd : .example.com \ : spawn /bin/echo `/bin/date` access
denied>>/var/log/sshd.log \ : deny
Note que cada campo de opo precedido com uma barra inversa (\). O uso da barra invertida previne
falha da regra devido ao comprimento.
Este exemplo de regra declara que se uma conexo ao daemon SSH (sshd) tentada a partir de um
host no domnio exam ple.com , executa o comando echo para anexar a tentativa ao arquivo de log
especial e nega a conexo. Pelo motivo que a diretiva opcional deny usada, esta linha nega o acesso
mesmo se ele aparecer no arquivo hosts.allow. Consulte a Seo 2.3.2.2, Campos de Opo para
uma viso mais detalhada das opes disponveis.
2.3.2.1.1. Carcteres Coringa (wildcards)
Carcteres coringa permitem aos T CP Wrappers corresponder mais facilmente grupos de daemons ou
hosts. Eles so usados mais frequentemente no campo de lista de clientes das regras de acesso.
Os seguintes carcteres coringa esto disponveis:
ALL Corresponde a tudo. Ele pode ser usado para ambas listas de daemons e lista de clientes.
LOCAL Corresponde a qualquer host que no contm um ponto (.), como o localhost.
KNOWN Corresponde a qualquer host onde o hostname e endereo de host so conhecidos ou
onde o usurio conhecido.
UNKNOWN Corresponde a qualquer host onde o hostname ou endereo de host so
desconhecidos ou onde o usurio desconhecido.
PARANOID Corresponde a qualquer host onde o hostname no corresponde ao endereo de
host.
Importante
Os coringas KNOWN, UNKNOWN e PARANOID devem ser usados com cuidado, por causa que eles
dependem em um servidor DNS em funcionamento para que a operao seja correta. Qualquer
disruptura na resoluo de nome pode impedir usurios legtimos de ganhar acesso ao servio.
2.3.2.1.2. Modelos
Modelos podem ser usados no campo de cliente das regras de acesso para mais precisamente
especificar grupos de hosts clientes.
A seguir h uma lista de modelos comuns para serem usadas no campo do cliente:
Hostname iniciando com ponto (.) Colocar um ponto no incio de um hostname corresponde a
todos os hosts compartilhando os componentes listados do nome. O exemplo a seguir se aplica a
qualquer host dentro do domnio exam ple.com :
ALL : .example.com
68
ALL : 192.168.
endereo de IP /par mscara de rede Expresses de mscara de rede podem tambm ser
usadas como um modelo para controlar acesso a um grupo particular de endereos IP. O exemplo
seguinte se aplica a qualquer host com uma variao de endereo de 192.168.0.0 at
192.168.1.255:
ALL : 192.168.0.0/255.255.254.0
Importante
Quando trabalhar com espao de endereo IPv4, a extenso do endereo/prefixo (prefixlen)
declaraes de par (notao CIDR) no so suportadas. Somente regras IPv6 podem usar
este formato.
[endereo IPv6]/par prefixlen pares [net]/prefixlen podem tambm ser usados como um modelo
para controlar acesso a um grupo particular de endereos IPv6. O exemplo seguinte se aplicaria a
qualquer host com uma faixa de 3ffe:505:2:1:: at 3ffe:505:2:1:ffff:ffff:ffff:ffff:
ALL : [3ffe:505:2:1::]/64
O asterisco (*) Asteriscos podem ser usados para corresponder grupos inteiros de hostnames
ou endereos de IP, desde que eles no sejam misturados em uma lista de clientes contendo outros
tipos de modelos. O exemplo seguinte se aplicaria a qualquer host dentro do domnio
exam ple.com :
ALL : *.example.com
A barra (/) Se uma lista de clientes iniciar com uma barra (/), ela tratada como um nome de
arquivo. Isto til se regras especificando nmeros grandes de hosts so necessrias. O exemplo
seguinte se refere aos T CP Wrappers para o arquivo /etc/telnet.hosts para todas as
conexes T elnet:
in.telnetd : /etc/telnet.hosts
Outro exemplo, modelos menos usados tambm so aceitos pelos T CP Wrappers. Consulte a pgina
man 5 hosts_access para mais informaes.
Aviso
Seja cuidadoso quando usar hostnames e nomes de domnio. Invasores podem usar uma
variedade de truques para burlar uma resoluo de nomes precisa. Alm disso, disruptura no
servio DNS impede que mesmo usurios autorizados usem os servios de rede. melhor,
portanto usado endereos de IP sempre que possvel.
69
Em um outro exemplo de um arquivo hosts.allow, clientes da rede 192.168.0.x podem usar todos
os servios exceto para o FT P:
ALL EXCEPT vsftpd: 192.168.0.
Nota
Organizacionalmente, muito mais fcil evitar os operadores EXCEPT . Isto permite a outros
administradores rapidamente escanear os arquivos apropriados para ver quais hosts tem
acesso permitido ou negado aos servios sem ter de classificar operadores EXCEPT .
T ambm possvel especificar uma facilidade usando a opo severity. O seguinte exemplo registra
70
em log qualquer tentativa de conexo SSH por hosts do domnio exam ple.com facilidade local0
com a prioridade de alert:
sshd : .example.com : severity local0.alert
Nota
Na prtica, este exemplo no funciona at que o syslog daemon (syslogd) esteja configurado
para registrar no log a facilidade local0. Consulte a pgina man syslog.conf para
informaes sobre configurar facilidades de log personalizadas.
Permitindo controle de acesso numa base por regra, o campo de opo permite administradores
consolidar todas as regras de acesso em um arquivo nico: tanto hosts.allow ou hosts.deny.
Alguns administratores consideram isso uma maneira fcil de organizar regras de acesso.
2.3.2.2.3. Comandos Shell
Campos de Opo permitem regras de acesso para realizar comandos shell pelas duas diretivas a
seguir:
spawn Realiza um comando shell como um processo filho. Esta diretiva pode realizar tarefas
como usar o /usr/sbin/safe_finger para obter mais informaes sobre o cliente solicitante ou
criar arquivos especiais de log usando o comando echo.
No exemplo seguinte, clientes que tentam acessar os servios T elnet a partir do domnio
exam ple.com so silenciosamente registrados ao log de um arquivo especial:
in.telnetd : .example.com \
: spawn /bin/echo `/bin/date` from %h>>/var/log/telnet.log \
: allow
twist Substitui o servio solicitado com o comando especificado. Esta diretiva frequentemente
usada para configurar armadilhas para invasores (tambm chamados "honey pots" (potes de mel).
Ele tambm pode ser usado para enviar mensagens para clientes em conexo. A diretiva twist
deve ocorrer no final da linha da regra.
No exemplo seguinte, clientes que tentam acessar os servios FT P do domnio exam ple.com
recebem uma mensagem usando o comando echo:
vsftpd : .example.com \
: twist /bin/echo "421 This domain has been black-listed. Access denied!"
Para mais informaes sobre opes do comando shell, consulte a pgina man hosts_options.
71
2.3.2.2.4 . Expanses
As expanses, quando usadas em conjunto com as diretivas spawn e twist, fornecem informaes
sobre o cliente, servidor e processos envolvidos.
A seguir est uma lista de expanses suportadas:
%a Retorna o endereo IP do cliente.
%A Retorna o endereo IP do servidor.
%c Retorna uma variedade de informaes dos clientes, como o nome de usurio e hostname ou
o nome de usurio e endereo IP.
%d Retorna o nome do processo daemon.
%h Retorna o hostname do cliente (ou endereo IP, se o hostname estiver indisponvel).
%H Retorna o hostname do servidor (ou endereo IP, se o hostname estiver indisponvel).
%n Retorna o hostname do cliente. Se indisponvel, unknown mostrado. Se o hostname do
cliente e endereo de host no correpondem, paranoid mostrado.
%N Retorna o hostname do servidor. Se indisponvel, unknown mostrado. Se o hostname do
servidor e endereo de host no correspondem, paranoid mostrado.
%p Retorna o ID do processo daemon.
%s Retorna vrios tipos de informaes do servidor, como processo daemon e o host ou
endereo IP do servidor.
%u Retorna o nome de usurio. Se indisponvel, unknown mostrado.
O seguinte exemplo de regra usa uma expanso em conjuno com o comando spawn para identificar o
host do cliente em um arquivo de log personalizado.
Quando conexes ao daemon SSH (sshd) so tentadas de um host no domnio exam ple.com ,
execute o comando echo para registrar as tentativas, incluindo o hostname do cliente (usando a
expanso %h), a um arquivo especial:
sshd : .example.com \
: spawn /bin/echo `/bin/date` access denied to %h>>/var/log/sshd.log \
: deny
Similarmente, as expanses podem ser usadas para personalizar mensagens de volta ao cliente. No
exemplo seguinte, clientes que tentam acessar os servios FT P do domnio exam ple.com so
informados que eles foram banidos do servidor:
vsftpd : .example.com \
: twist /bin/echo "421 %h has been banned from this server!"
Para uma explicao completa das expanses disponveis, tanto como opes de controle de acesso,
consulte a seo 5 das pginas man para hosts_access (m an 5 hosts_access) e a pgina man
para hosts_options.
Consulte a Seo 2.3.5, Recursos Adicionais para mais informaes sobre T CP Wrappers.
2.3.3. xinetd
O daemon xinetd um super servio do T CP Wrapper que controla acesso de um sub conjuntos de
servios de redes populares, incluindo FT P, IMAP e T elnet. Ele tambm fornece opes de configurao
especificas de servio para controle de acesso, registro de log melhorados, vinculao,
72
= 60
= SYSLOG authpriv
= HOST PID
= HOST
= 25 30
73
Nota
Muitas vezes, as configuraes do log_on_success e log_on_failure no
/etc/xinetd.conf so tambm modificadas nos arquivos de configurao de servios
especficos. Mais informaes podem entretanto aparecer no arquivo de log do servio do que o
/etc/xinetd.conf pode indicar. Consulte a Seo 2.3.4.3.1, Opes de Registro de Log
para mais informaes.
= REUSE
= stream
= no
= root
= /usr/kerberos/sbin/telnetd
+= USERID
= yes
Nota
O sinalizador REUSE est obsoleto. T odos os servios agora usam implicitamente o
sinalizador REUSE.
socket_type Define o tipo de socket de rede para stream .
wait Especifica se o servio single-threaded (yes) ou multi-threaded (no).
user Especifica qual ID de usurio o processo o rodar.
server Especifica qual binrio executvel a dar incio.
log_on_failure Especifica os parmetros de registro de log para o log_on_failure alm
74
Nota
Diferente dos T CP Wrappers, mudanas nos controle de acesso somente tem efeito se o
administrador xinetd reiniciar o servio xinetd.
T ambm, diferentemente dos T CP Wrappers, o controle de acesso pelo xinetd somente afeta
servios controlados pelo xinetd.
O controle de acesso de hosts xinetd difere do mtodo usado pelos T CP Wrappers. Enquanto os
T CP Wrappers colocam toda a configurao de acesso dentro de dois arquivos /etc/hosts.allow e
/etc/hosts.deny, o controle de acesso do xinetd encontrado em cada um dos arquivos de
configurao do servio no diretrio /etc/xinetd.d/.
As seguintes opes de acesso de hosts so suportadas pelo xinetd:
only_from Permite somente os hosts especificados usarem o servio.
75
= no
= REUSE
= stream
= no
= root
= /usr/kerberos/sbin/telnetd
+= USERID
= 172.16.45.0/24
+= PID HOST EXIT
= 09:45-16:15
Neste exemplo, quando um sistema cliente da rede 172.16.4 5.0/24 , como 172.16.4 5.2, tenta
acessar o servio T elnet, ele recebe a seguinte mensagem:
Conexo fechada por um host externo.
Alem disso, as tentativas de login deles so registradas no /var/log/m essages conforme a seguir:
Sep 7 14:58:33 localhost xinetd[5285]: FAIL: telnet address from=172.16.45.107
Sep 7 14:58:33 localhost xinetd[5283]: START: telnet pid=5285 from=172.16.45.107
Sep 7 14:58:33 localhost xinetd[5283]: EXIT: telnet status=0 pid=5285
duration=0(sec)
76
Importante
Cuidado deve ser tomado quando usar os controles de acesso do T CP Wrappers em conjunto
com os controles de acesso xinetd. Um erro de configurao pode causar efeitos indesejveis,
77
As opes bind e redirect neste arquivo garantem que o servio T elnet nesta mquina ligado a
um endereo IP externo (123.123.123.123), o que est na internet. Alm disso, qualquer pedido pelo
servio T elnet enviado ao 123.123.123.123 redirecionado pelo segundo adaptador de rede para
um endereo Ip interno (10.0.1.13) que somente o firewall e sistemas internos podem acessar. O
firewall ento envia a comunicao entre os dois sistemas e o sistema em conexo pensa que est
conectado ao 123.123.123.123 quando na verdade est conectado a uma mquina diferente.
Este recurso particularmente til para usurios com conexes de banda larga e somente um
endereo IP fixo. Quando usar o Network Address T ranslation (NAT ), os sistemas por trs da mquina
de gateway, que esto usando endereos de IP somente internos, no esto disponveis fora do
sistema de gateway. Entretanto, quando certos servios controlados pelo xinetd so configurados
com as opes bind e redirect, a mquina gateway pode agir como uma proxy entre sistemas do
lado de fora e uma mquina interna particular configurada para fornecer o servio. Alm disso, os vrios
controles de acesso xinetd e opes de log esto tambm disponveis para proteo adicional.
2.3.4 .3.4 . Opes de Gerenciamento de Recursos
O daemon xinetd pode adicionar um nvel bsico de proteo contra ataques Dos (Denial of Service).
A seguir est uma lista de diretivas que podem auxiliar na limitao da efetividade desses ataques:
per_source Define o nmero mximo de instncias de um servio por endereo IP de origem.
Ele aceita somente nmeros inteiros como um argumento e pode ser usado em ambos
xinetd.conf e nos arquivos de configurao de servio especficos no diretrio xinetd.d/.
cps Define o nmero mximo de conexes por segundo. Esta diretiva leva dois argumentos de
nmeros inteiros separados por um espao em branco. O primeiro argumento o nmero mximo
de conexes permitidas para o servio por segundo. O segunto argumento o nmero de segundos
que o xinetd deve esperar antes de re ativar o servio. Ele aceita somente nmeros inteiros como
argumentos e pode ser usado tanto no arquivo xinetd.conf ou nos arquivos de configurao de
servio especficos no diretrio xinetd.d/.
m ax_load Define o uso de CPU ou limite da mdia de carregamento para um servio. Ele aceita
um argumento de nmero de ponto flutuante.
A mdia de carregamento uma medida aproximada de quantos processos esto ativos em um
determinado momento. Veja os comandos uptim e, who, e procinfo para mais informaes sobre
a mdia de carregamento.
Existem mais opes de gerenciamento de recursos disponveis para o xinetd. Consulte a pgina
man xinetd.conf para maiores informaes.
78
As pginas man relacionadas dos T CP Wrappers e xinetd Uma variedade de pginas man
existem para vrias aplicaes e arquivos de configurao envolvidos com os T CP Wrappers e
xinetd. A seguir esto algumas das mais importantes das pginas man:
Aplicaes do Servidor
m an xinetd A pgina man para o xinetd.
Arquivos de Configuraes
m an 5 hosts_access A pgina man para os arquivos de controle de acesso ao
host dos T CP Wrappers.
m an hosts_options A pgina man para os campos de opes dos T CP
Wrappers.
m an xinetd.conf A pgina man que lista as opes de configurao do xinetd.
Quando um pacote transmitido de um cliente, ele envia atravs do roteador VPN ou gateway, que
adiciona uma Authentication Header (AH) para roteamento e autenticao. Os dados so ento
encriptados e finalmente inclusos com um Encapsulating Security Payload (ESP). Este mais tarde
constitui a descriptografia e instrues de manuseio.
O roteador VPN de recebimento retira a informao do cabealho, descriptografa os dados e encaminha
ao destino (tanto uma estao de trabalho ou outro n na rede). Usando uma conexo rede rede, o n
receptor na rede local recebe os pacotes j descriptografados e prontos para processamento. O
processo de criptografia/descriptografia em uma conexo VPN rede rede transparente ao n local.
Com um nvel to elevado de segurana, um invasor no deve somente interceptar um pacote, mas
descriptografa-lo tambm. Invasores que empregam um ataque man-in-the-middle entre um servidor e
cliente devem tambm ter acesso a pelo menos uma das chaves privadas para sesses de
autenticao. Porque elas empregam camadas de autenticao e criptografia, as VPNs so um meio
seguro e efetivo de conectar mltiplos ns remotos para agir como uma intranet unificada.
2.4.2. Openswan
2.4 .2.1. Viso Geral
Viso Geral
O Openswan uma implementao de cdigo aberto, no nvel de kernel IPsec, disponvel no Red Hat
Enterprise Linux. Ele emprega protocolos de estabelecimento de chave IKE (Internet Key Exchange) v1 e
v2, implementados como daemons no nvel de usurio. O estabelecimento de chave manual tambm
possvel via comandos ip xfrm , entretanto isto no recomendado.
Suporte Criptogrfico
O Openswan possui uma biblioteca embutida de criptografia, entretanto tambm suporta uma biblioteca
NSS (Network Security Services) , que totalmente suportada e requerida para cumprimento de
segurana FIPS. Mais informaes sobre o FIPS (Federal Information Processing Standard) pode ser
encontrado na Seo 7.2, Federal Information Processing Standard (FIPS).
Instalao
Rode o comando yum install openswan para instalar o Openswan.
2.4 .2.2. Configurao
Localizaes
Este seo lista e explica diretrios e arquivos importantes usados para configurar o Openswan.
/etc/ipsec.d - diretrio principal. Armazena os arquivos relacionados do Openswan.
/etc/ipsec.conf - arquivo de configurao principal. Mais arquivos de configurao * .conf
podem ser criados no /etc/ipsec.d para configuraes individuais.
/etc/ipsec.secrets - arquivos secretos principais. Mais arquivos * .secrets podem ser
criados no /etc/ipsec.d para configuraes individuais.
/etc/ipsec.d/cert* .db - Arquivos de banco de dados certificados. O padro antigo do arquivo
de banco de dados NSS cert8.db. A partir do Red Hat Enterprise Linux 6 em diante, o banco de
dados NSS sqlite so usados no arquivo cert9.db.
/etc/ipsec.d/key* .db - Arquivos de banco de dados chave. O padro antigo do banco de
dados NSS key3.db. A partir do Red Hat Enterprise Linux 6 em diante, os bancos de dados sqlite
80
Nota
Como mostrado no exemplo a seguir, usar o service ipsec start/stop o mtodo
recomendado para mudar o estado do servio ipsec. Isto tambm a tcnica recomendada para
iniciar e parar todos os outros servios no Red Hat Enterprise Linux 6.
Iniciando e parando o Openswan:
ipsec setup start/stop
service ipsec start/stop
Adicionar/Deletar uma conexo:
ipsec auto --add/delete <connection nam e>
Estabelecer/quebrar uma conexo
ipsec auto --up/down <connection-nam e>
81
2.5. Firewalls
A segurana da informao geralmente significa um processo e no um produto. No entanto,
implementaes de segurana padres geralmente implementam uma forma de mecanismo dedicada a
controlar privilgios de acesso e restringir recursos de rede usurios no autorizados, identificveis e
rastreveis. O Red Hat Enterprise Linux inclui diversas ferramentas que assistem administradores e
engenheiros de segurana com problemas de controle de acesso em nvel de rede.
Firewalls so um dos componentes principais de uma implementao de segurana de rede. Diversos
fabricantes criam solues de firewall, focando em todos os nveis do mercado: desde usurios
domsticos protegendo um PC at solues de banco de dados, protegendo informaes corporativas
vitais. \nOs Firewalls podem ser solues de hardware sozinhas, como equipamentos de firewall da
Cisco, Nokia e Sonicwall. Empresas como Checkpoint, McAfee e Symantec tambm desenvolveram
solues de firewall de software privado para mercado domstico e corporativo.
Alm das diferenas entre os firewalls de software e hardware, existem tambm diferenas na forma
que os firewalls funcionam, que separam uma soluo da outra. A T abela 2.2, T ipos de Firewall
detalha trs tipos comuns de firewall e como eles funcionam:
82
Descrio
NAT
Filtro de
Pacote
Um firewall de filtro de
pacote l cada pacote de
dados que passa por uma
LAN. Ele pode ler e
processar os pacotes por
informaes de cabealho e
filtra o pacote baseado em
conjuntos de regras
programveis implementada
por um administrador de
firewall. O kernel do Linux
possui uma funcionalidade
de filtro de pacotes embutida
atravs do subsistema do
kernel, o Netfilter.
Proxy
Vantagens
Desvantagens
No possvel evitar
atividades malintencionadas depois que os
usurios se conectarem
um servio fora do firewall.
A proteo de muitas
mquinas e servios atrs
de um ou mais endereos IP
externos simplifica as
tarefas de administrao.
Restrio de acesso ao
usurio de e para uma LAN
pode ser configurado ao
abrir e fechar portas no
fireway/gateway do NAT .
Personalizvel atravs do
No possvel filtrar
utilitrio front-end iptables pacotes para firewalls de
proxy de contedo.
No requer qualquer
Processa pacotes na
personalizao no lado do
camada de protocolos, mas
cliente, pois todas as
no pode filtrar pacotes na
atividades de rede so
filtradas no nvel do roteador camada do aplicativo.
ao invs do nvel de
Arquiteturas de rede
aplicativo.
complexas podem dificultar o
estabelecimento das regras
Como os pacotes no so
transmitidos atravs de uma de filtragem de pacote,
principalmente se em par
proxy, o desempenho de
com o mascaramento de IP
rede mais rpido devido
ou sub-redes locais e redes
conexo direta do cliente
DMZ .
para host remoto.
Fornece aos
administradores controle
sob quais aplicativos e
protocolos funcionam foram
da LAN
Alguns servidores proxy
podem fazer o cache dos
dados mais acessados
localmente, ao invs de
precisar usar a conexo de
internet para requisit-los.
Isto ajuda a reduzir o
consumo de banda larga.
Proxies so geralmente
aplicativos especficos
(HT T P, T elnet, etc.), ou
protocolos restritos (a
maioria dos proxies
funcionam somente com os
servios conectados ao
T CP)
Os servios de aplicativos
no podem ser executados
por trs de um proxy,
portanto seus servidores de
aplicativo devem usar uma
forma separada de
83
segurana de rede.
Os proxies podem se
tornar um gargalo na rede,
pois todas as requisies e
transmisses so passadas
atravs de uma fonte ao
invs de diretamente de um
cliente um servio remoto.
84
Nota
O Firewall Configuration T ool somente configura um firewall bsico. Se o sistema precisar de
regras mais complexas, consulte a Seo 2.6, IPT ables para mais detalhes sobre como
configurar regras de configuraes especficas de iptables.
Aviso
As configuraes do Firewall e quaisquer regras de firewall padronizada armazenada no
arquivo /etc/sysconfig/iptables. Se voc escolher Disabled e clicar em OK, estas
configuraes e regras do firewall sero perdidas.
Enabled Esta opo configura o sistema para rejeitar conexes de entrada que no esto em
reposta com requisies externas, tais como respostas de DNS ou requisies de DHCP. Se for
necessrio o acesso servios vindos desta mquina, voc poder escolher permitir servios
especficos atravs do firewall.
Se voc estiver conectando seu sistema Internet, mas no planeja executar um servidor, esta a
escolha mais rpida.
2.5.2.3. Servios Confiveis
Habilitar opes na lista de Servios confiveis permite que o servio especificado passe atravs
85
do firewall.
WWW (HT T P)
O protocolo HT T P usado pelo Apache (e outros servidores da Web) para servir as pginas
da Web. Se voc planeja tornar seu servidor publicamente disponvel, selecione esta caixa.
Esta opo no necessria para visualizar pginas localmente ou para desenvolver pginas
da Web. Este servio requer que o pacote httpd seja instalado.
Habilitar o WWW (HT T P) no abrir uma porta para o HT T PS, a verso SSL do HT T P. Se este
servio for necessrio, selecione o item Secure WWW (HT T PS).
FT P
O protocolo FT P usado para transferir arquivos entre mquinas em uma rede. Se voc
planeja tornar seu FT P publicamente disponvel, selecione este item. Este servio requer que o
pacote vsftpd seja instalado.
SSH
Secure Shell (SSH) um conjunto de ferramentas para se autenticar e executar comandos em
uma mquina remota. Para permitir acesso remoto esta mquina via ssh, selecione este item.
Este servio requer que o pacote openssh-server seja instalado.
T elnet
A T elnet um protocolo para autenticao em mquinas remotas. As comunicaes da T elnet
so descriptografadas e no fornecem nenhuma segurana contra o snooping de rede.
Permitir acesso de entrada da T elnet no recomendado. Para permitir acesso remoto
mquina via telnet, selecione este item. Este servio requer que o pacote telnet-server
seja instalado.
Mail (SMT P)
O SMT P um protocolo que permite hosts remotos se conectarem diretamente sua mquina
para a entrega de correio. Voc no precisa habilitar este servio se voc coletar seu correio
de um servidor ISP usando o POP3 ou IMAP, ou se voc utilizar uma ferramenta como o
fetchm ail. Para permitir a entrega de correio para sua mquina, selecione esta caixa. Note
que um servidor SMT P configurado inadequadamente pode permitir mquinas remotas usar
seu servidor para enviar spam.
NFS4
O Network File System (NFS) um protocolo de compartilhamento de arquivos geralmente
usado em sistemas *NIX. A Verso 4 deste protocolo mais segura do que seus precedentes.
Se voc quiser compartilhar arquivos ou diretrios em seu sistema com outros usurios de
rede, selecione esta caixa.
Sam ba
O Samba uma implementao do protocolo de rede SMB de propriedade da Microsoft. Se
voc precisar compartilhar arquivos, diretrios ou impressoras conectadas localmente com
mquinas Microsoft Windows, selecione esta caixa.
86
Para se certificar que o iptables inicia-se quando o sistema inicializado, use o seguinte comando:
[root@myServer ~] # chkconfig --level 345 iptables on
Nota
O servio ip6tables pode ser delisgado se voc desejar usar somente o servio iptables.
Se desativar o ip6tables lembre-se de desativar a rede IPv6 tambm. Nunca deixe um
dispositivo de rede ativo sem um firewall.
Para forar o iptables a iniciar por default quando o sistema for inicializado, use o seguinte comando:
[root@myServer ~] # chkconfig --level 345 iptables on
87
A opo -A especifica a regra a ser adicionada ao <chain>. Cada corrente comprimida em um ou mais
regras, e portanto tambm conhecida como um ruleset.
As trs correntes embutidas so INPUT , OUT PUT , e FORWARD. Estas correntes so permanentes e
no podem ser removidas. A corrente especifica o ponto no qual o pacote manipulado.
A opo -j <target> especifica o alvo da regra; ex: o que fazer se o pacote coincide com a regra.
Exemplos de alvos embutidos so ACCEPT , DROP e REJECT .
Consulte o pgina man do iptables para mais informaes sobre as correntes disponveis, opes e
alvos.
2.5.3.2. Polticas de Firewall Bsicas
Estabelecer polticas de firewall bsicas cria uma fundao para construir regras definidas por usurios
detalhadas.
Cada corrente iptables contm uma poltica padro e zero ou mais regras que funcionam em
conjunto com a poltica padro para definir o conjunto de regras (ruleset) geral para o firewall.
A poltica padro para uma corrente pode ser DROP ou ACCEPT . Os administradores preocupados
com a segurana geralmente implementam uma poltica padro DROP, e somente permitem pacotes
especficos de acordo com cada caso. Por exemplo, as seguintes polticas bloqueiam todos os pacotes
de entrada e sada em uma gateway de rede:
[root@myServer ~ ] # iptables -P INPUT DROP
[root@myServer ~ ] # iptables -P OUTPUT DROP
T ambm recomendado qualquer trfego de rede de pacotes enviados que deva ser roteado do
firewall para seu n de destino seja negado tambm, para clientes internos restritos de exposies
inadvertentes internet. Para fazer isto, use a seguinte regra:
[root@myServer ~ ] # iptables -P FORWARD DROP
Depois que voc estabeleceu as polticas padres para cada corrente, voc pode criar e salvar regras
para sua rede particular e requerimentos de segurana.
As seguintes sees descrevem como salvar regras de iptables e delimitar algumas regras que
possam implementar durante a construo de seu firewall iptables.
2.5.3.3. Salvando e Restaurando as Regras IPT ables
Mudanas para o iptables so transitrias; se o sistema for reinicializado ou se o servio iptables
for reiniciado, as regras sero removidas automaticamente e redefinidas. Para salvar as regras para
que sejam carregadas quando o servio iptables iniciado, use o seguinte comando:
[root@myServer ~ ] # service iptables save
88
Esta regra permite que usurios naveguem websites que comunicam usando a porta padro 80. Para
permitir acesso websites seguros (por exemplo, https://www.example.com/), voc tambm precisar
fornecer acesso porta 443, como se segue:
[root@myServer ~ ] # iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
Importante
Ao criar um conjunto de regras iptables, a ordem importante.
Se uma regra especificar que qualquer pacote da sub-rede 192.168.100.0/24 seja despejada, e
seja seguido de uma regra que permite pacotes do 192.168.100.13 ( o qual est dentro da subrede que foi despejada), ento a segunda regra ignorada.
A regra para permitir pacotes do 192.168.100.13 deve preceder a regra que despeja o restante
da sub-rede.
Para inserir uma regra em um local especfico em uma corrente existente, use a opo -I. Por
exemplo:
[root@myServer ~ ] # iptables -I INPUT 1 -i lo -p all -j ACCEPT
Esta regra inserida como a primeira regra na corrente INPUT para permitir trfego de
dispositivo loopback local.
Pode haver vezes que voc requer acesso remoto LAN. Servios seguros, por exemplo SSH, podem
ser usados para conexo remota criptografada servios LAN.
Administradores com recursos baseados em PPP (como os bancos de modem ou contas ISP em
massa) acesso discado pode ser usado para evitar barreiras de firewall de forma segura. Como so
conexes diretas, as conexes de modem se encontram geralmente atrs de um firewall/gateway.
No entanto, para usurios remotos com conexes de banda larga, so reservados casos especiais.
Voc pode configurar o iptables para aceitar conexes de clientes remotos SSH. Por exemplo, as
regras a seguir permitem acesso SSH remoto:
89
Estas regras permitem acesso de entrada e sada para um sistema individual, como um PC nico
conectado diretamente Internet ou um firewall/gateway. No entanto, eles no permitem que ns por
detrs de firewall/gateway acessem estes servios. Para permitir acesso da LAN estes servios, use
Network Address Translation (NAT ) com as regras de filtro do iptables.
Esta regra d acesso sistemas por detrs de firewall/gateway rede interna. O gateway roteia
pacotes de um n de LAN ao seu n de destino, passando todos os pacotes por seu dispositivo eth1.
90
Nota
Por padro, a poltica IPv4 nos kernels do Red Hat Enterprise Linux desabilitam o suporte de
encaminhamento de IP. Isto evita que mquinas rodando o Red Hat Enterprise Linux funcionem
como roteadores de limite dedicado. Para habilitar o encaminhamento de IP, use o seguinte
comando:
[root@myServer ~ ] # sysctl -w net.ipv4.ip_forward=1
Esta mudana de configurao vlilda somente para a sesso atual; no persiste atravs de
reinicializaes ou reincio de servio de rede. Para definir o encaminhamento de IP
permanentemente, edite o arquivo /etc/sysctl.conf como a seguir:
Localize a linha a seguir:
net.ipv4.ip_forward = 0
Esta regra usa a tabela de coincidncias do pacote NAT (-t nat) e especifica a corrente
POST ROUT ING embutida para o NAT (-A POST ROUT ING) no dispositivo de rede externo do firewall (o eth0).
O POST ROUT ING permite que os pacotes sejam alterados a medida que deixam o dispositivo externo
do firewall.
O alvo -j MASQUERADE especificado para mascarar o endereo IP de um n com o endereo IP
externo do firewall/gateway.
2.5.5.2. Pre roteamento
Se voc possuir um servidor em sua rede interna que voc queira disponibilizar externamente, voc
pode usar o alvo -j DNAT da corrente PREROUT ING no NAT para especificar um endereo IP de
destino e porta para onde pacotes de entrada requisitando uma conexo para seu servio interno
possam ser encaminhados
91
Por exemplo, se voc quiser encaminhar requisies HT T P de entrada para seu Servidor Apache
HT T P no 172.31.0.23, use o seguinte comando:
[root@myServer ~ ] # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j
DNAT --to 172.31.0.23:80
Esta regra especifica que a tabela nat use a corrente PREROUT ING embutida para enviar requisies
HT T P de entrada exclusivamente para o endereo IP de destino listado do 172.31.0.23.
Nota
Se voc possuir uma poltica padro de DROP em sua corrente FORWARD, voc precisa
adicionar uma regra para enviar todas as requisies HT T P de entrada para que o roteamento
de destino NAT seja possvel. Para fazer isto, use o seguinte comando:
[root@myServer ~ ] # iptables -A FORWARD -i eth0 -p tcp --dport 80 -d
172.31.0.23 -j ACCEPT
Com este comando, todas as conexes para a porta 80 de fora da LAN so roteadas para o servidor
HT T P em uma rede separada do resto da rede interna. Esta forma de segmentao de rede pode ser
mais segura do que permitir conexes de HT T P para uma mquina na rede.
Se o servidor HT T P for configurado para aceitar conexes seguras, ento a porta 443 deve ser
encaminhada tambm.
92
As seguintes regras derrubam todo o trfego do T CP que tentam usar a porta 31337:
[root@myServer ~ ] # iptables -A OUTPUT -o eth0 -p tcp --dport 31337 --sport
31337 -j DROP
[root@myServer ~ ] # iptables -A FORWARD -o eth0 -p tcp --dport 31337 --sport
31337 -j DROP
Voc tambm pode bloquear conexes de fora que tentam fazer spoof de variaes de endereo IP
privados para infiltrar sua LAN.
Por exemplo, se sua LAN usa a classe 192.168.1.0/24, voc pode criar uma regra que instrui o
dispositivo de rede de internet (por exemplo , eth0) para derrubar todos os pacotes naquele dispositivo
com um endereo em sua classe de IP de LAN.
Pelo motivo que recomendado rejeitar pacotes encaminhados como poltica padro, qualquer outro
endereo IP forjado ao dispositivo que lida com dados externos (eth0) rejeitado automaticamente.
[root@myServer ~ ] # iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -j DROP
Nota
Existe uma distino entre o DROP e alvos REJECT ao lidar com as regras adicionadas.
O alvo REJECT nega acesso e retorna um erro de conexo negada para usurios que tentam
se conectar ao servio. O alvo DROP, como o nome implica, despeja o pacote sem qualquer
aviso.
Os administradores podem usar sua prpria discrio ao usar estes alvos. No entanto, para
evitar confuso do usurio e tentativa de continuar se conectar, o alvo REJECT recomendado.
93
2.5.8. IPv6
A introduo do Protocolo de Internet de prxima gerao, chamado IPv6 expande alm do endereo do
limite de 32 bits do IPv4 (ou IP). O IPv6 suporta endereos de 128 bits e portadores de redes que
aceitam IPv6 so portanto capazes de controlar um nmero maior de endereos roteveis do que o
IPv4.
O Red Hat Enterprise Linux suporta as regras do firewall IPv6 usando o subsistema do Netfilter 6 e o
comando ip6tables. No Red Hat Enterprise Linux 6, ambos servios IPv4 e IPv6 so habilitados por
padro.
A sintaxe do comando ip6tables idntica ao iptables em todos os aspectos exceto que ele
suporta os endereos 128 bits. Por exemplo, use o seguinte comando para habilitar as conexes SSH
em um servidor de rede consciente do IPv6:
[root@myServer ~ ] # ip6tables -A INPUT -i eth0 -p tcp -s 3ffe:ffff:100::1/128 -dport 22 -j ACCEPT
Para mais informaes sobre a rede IPv6, consulte a Pgina de informaes do IPv6 em
http://www.ipv6.org/.
2.6. IPTables
94
Includos com o Red Hat Enterprise Linux esto ferramentas avanadas para filtragem de pacotes de
rede o processo de controlar pacotes de rede conforme entram, se movem e saem da pilha de rede
dentro do kernel. As verses do kernel anteriores 2.4 que confiavam no ipchains para filtragem de
pacotes e usavam listas de regras aplicadas ao pacote em cada passo do processo de filtragem. O
kernel 2.4 introduziu o iptables (tambm chamado de netfilter), o qual semelhante ao ipchains
mas expande o alcance e controle disponveis para filtrar pacotes de rede.
Este captulo foca no conhecimento bsico de filtragem de pacote, explica diversas opes disponveis
com os comandos iptables, e explica como regras de filtragem podem ser preservadas entre as
reinicializaes de sistema.
Consulte a Seo 2.6.6, Recursos Adicionais para instrues sobre como construir regras de
iptables e instalar um firewall baseado nestas regras.
Importante
O mecanismo de firewall padro no kernel 2.4 e verses posteriores o iptables, mas o
iptables no pode ser usado se o ipchains j estiver sendo executado. Se o ipchains
estiver presente durante a inicializao, o kernel emite um erro e no inicia o iptables.
A funcionalidade do ipchains no foi afetada por estes erros.
95
Nota
Por padro, as regras de firewall so salvas nos arquivos /etc/sysconfig/iptables ou
/etc/sysconfig/ip6tables .
O servio iptables inicia antes dos servios relacionados ao DNS quando um sistema Linux
inicializado. Isto significa que as regras do firewall podem somente fazer referncia endereos
de IP numricos (por exemplo, 192.168.0.1). Nomes do domnio (por exemplo, host.example.com)
em tais regras, produzem erros.
Seja qual for o destino, quando os pacotes coincidem com uma regra especfica em uma das tabelas,
um alvo ou ao aplicado eles. Se a regra especifica um alvo ACCEPT para um pacote coincidente, o
pacote pula o restante das verificaes de regras e permitido que continue com seu destino. Se uma
regra especifica um alvo DROP, aquele pacote recusado ter acesso ao sistema e nada retornado ao
host que enviou ou pacote. Se uma regra especifica um alvo QUEUE, o pacote passado ao espao de
usurio. Se uma regra especifica o alvo opcional REJECT , o pacote despejado, mas um pacote de
erro enviado ao originador do pacote.
T oda corrente possui uma poltica padro para ACCEPT , DROP, REJECT , ou QUEUE. Se nenhuma
destas regras na corrente se aplicar ao pacote, ento o pacote ser lidado de acordo com a poltica
padro.
O comando iptables configura estas tabelas, assim como instala tabelas se necessrio.
96
do pacote.
Target Especifica qual ao tomada nos pacotes que coincidem com o critrio acima.
Consulte a Seo 2.6.2.4, Opes de Coincidncia de IPT ables e a Seo 2.6.2.5, Opes de Alvo
para mais informaes sobre opes especficas que se referem estes aspectos de um pacote.
As opes usadas com as regras iptables especficas devem ser agrupadas de forma lgica,
baseadas no propsito e condies da regra geral, para a regra ser vlida. O restante desta seo
explica opes mais utilizadas para o comando iptables.
2.6.2.1. Estrutura das Opes do Comando IPT ables
Muitos comandos iptables possuem a seguinte estrutura:
iptables [-t <table-name>] <command> <chain-name> \ <parameter-1> <option-1> \
<parameter-n> <option-n>
<table-name> Especifica qual tabela a regra se aplica. Se omitido, a tabela filter ser usada.
<command> Especifica a ao a realizar, tal como adicionar ou remover uma regra.
<chain-name> Especifica a corrente a editar, criar ou remover.
<parameter>-<option> pairs Os parmetros e opes associadas que especificam como
processar um pacote que coincide com a regra.
O extenso e complexidade de um comando iptables pode mudar de forma significante, dependendo
do seu propsito.
Por exemplo, um comando que remove uma regra de uma corrente pode ser bastante curto:
iptables -D <chain-name> <line-number>
Em contraste, um comando que adiciona uma regra que filtra pacotes de uma sub-rede especfica
usando uma variedade de parmetros e opes especficos, podem ser um tanto longos. Ao construir
os comandos iptables, importante lembrar que alguns parmetros e opes requerem mais
parmetros e opes para construir uma regra vlida. Isto pode produzir um efeito cascata, com os
parmetros adicionais que requerem ainda mais parmetros. At que cada parmetro e opo que
requerem outro conjunto de opes sejam atendidos, a regra no vlida.
Digite iptables -h para visualizar uma lista compreensiva de estruturas de comando iptables.
2.6.2.2. Opes de Comando
As Opes de Comando instruem o iptables a realizar uma ao especfica. Somente uma opo de
comando permitida por comando iptables. Com a exceo do comando help, todos os comandos
so escritos em letras maisculas.
Os comandos iptables so:
-A Adiciona a regra ao final da corrente especificada. Oposto opao -I descrita abaixo, esta
opo no toma um argumento inteiro. Ele sempre adiciona a regra ao final da corrente especificada.
-D <integer> | <rule> Remove uma regra em uma corrente especfica pelo nmero (como
o 5 para a quinta regra em uma corrente), ou por uma especificao de regra. A especificao de
regra deve coincidir exatamente uma regra existente.
-E Renomeia uma corrente definida por usurio. Uma corrente definida por usurio qualquer
97
Nota
Se voc tentar renomear uma das correntes padres, o sistema ir reportar um erro de
Correspondncia no encontrada (Match not found). Voc no poder renomear
correntes padres.
-F Libera a corrente selecionada, o qual remove efetivamente todas as regras na corrente. Se
no for especificada nenhuma corrente, este comando liberar todas as regras de cada corrente.
-h Fornece uma lista de estruturas de comando, assim como um sumrio rpido de parmetros
de comando e opes.
-I [<integer>] Insere a regra na corrente especificada em um ponto especificado por um
argumento inteiro definido por um usurio. Se nenhum argumento especificado a regra inserida
no topo da corrente.
Importante
Como notado acima, a ordem de regras em uma corrente determina quais regras se aplicam
quais pacotes. Isto importante lembrar quando adicionar regras usando tanto a opo -A ou
-I.
Isto especialmente importante ao adicionar regras usando o -I com um argumento inteiro.
Se voc especificar um nmero existente ao adicionar uma regra em uma corrente, o
iptables adiciona a nova regra antes (ou acima) da regra existente.
-L Lista todas as regras na corrente especificada aps o comando. Para listar todas as regras
em todas as correntes na tabela de filtragem padro, no especifica uma corrente ou tabela.
Caso contrrio a sintaxe deve ser usada para listar as regras em uma corrente especfica em uma
tabela especfica:
iptables -L <chain-name> -t <table-name>
Opes adicionais para a opo de comando -L, que fornece nmeros de regra e permite mais
verbosidade nas descries da regra, so descritas na Seo 2.6.2.6, Opes de Listagem.
-N Cria uma nova corrente com um nome de usurio especfico. O nome de corrente deve ser
nico, caso contrrio uma mensagem de erro exibida.
-P Estabelece a poltica padro para a corrente especificada, para que quando pacotes passam
por uma corrente inteira sem coincidir uma regra, eles so enviados para o alvo especificado, tal
como ACCEPT ou DROP.
-R Substitui uma regra na corrente especificada. O nmero de regra deve ser especificado aps
o nome da corrente. A primeira regra em uma corrente corresponde regra nmero um.
-X Remove uma corrente de usurio especfico. Voc no pode remover uma corrente embutida.
-Z Estabelece os contadores de byte e pacote em todas as correntes para uma tabela para zero.
2.6.2.3. Opes de Parmetro de IPT ables
Certos comandos do iptables, incluindo aqueles usados para adicionar, remover, inserir ou substituir
regras dentro de uma corrente especfica, requer diversos parmetros para construir uma regra de filtro
98
de pacote.
-c Redefine os contadores para uma regra especfica. Este parmetro aceita as opes PKT S e
BYT ES para especificar quais contadores redefinir.
-d Estabelece o hostname de destino, endereo IP, ou rede de um pacote que coincide a regra.
Quando coincidir uma rede, o seguinte formato de endereo IP/netmasks so suportados:
N.N.N.N/M.M.M.M Onde N.N.N.N a classe de endereo IP e M.M.M.M o netmask.
N.N.N.N/M Onde N.N.N.N o endereo IP e M o bitmask.
-f Aplique estas regras somente pacotes fragmentados.
Voc pode usar este caractere de ponto de exclamao (!) antes deste parmetro para especificar
que somente os pacotes desfragmentados so coincidentes.
Nota
Distinguir entre os pacotes fragmentados e desfragmentados uma boa prtica, apesar dos
pacotes fragmentados serem uma parte padro do protocolo IP.
Inicialmente criado para permitir que pacotes IP viajem sob redes com tamanhos de
estruturas diferentes, estas fragmentaes de dias so mais usadas para gerar ataques de
DoS usando pacotes mal-formados. T ambm vale notar que a fragmentao retira totalmente
a permisso.
-i Define a interface de rede de entrada, como eth0 ou ppp0. Com o iptables, este
parmetro opcional pode ser usado somente com as correntes INPUT e FORWARD quando usado
com a tabela filter e a corrente PREROUT ING com as tabelas nat e m angle.
Este parmetro tambm suporta as seguintes opes especiais:
Caractere de ponto de exclamao (!) Reverte a diretiva, o que significa que qualquer
interface especificada excluda desta regra.
Caractere de mais (+) Um caractere curinga usado para coincidir todas as interfaces que
coincidem com a faixa especificada. Por exemplo, o parmetro -i eth+ aplicaria esta regra
qualquer interface de Ethernet mas excluiria qualquer outra interface, tal como ppp0.
Se o parmetro -i usado mas nenhuma interface especificada, ento todas as interfaces so
afetadas pela regra.
-j Pula para o alvo especificado quando um pacote coincide uma regra particular.
Os alvos padres so ACCEPT , DROP, QUEUE, e RET URN.
Opes estendidas tambm esto disponveis atravs de mdulos carregados pelo padro com o
Red Hat Enterprise Linux iptables pacote RPM. Alvos vlidos nestes mdulos incluem LOG, MARK,
e REJECT , entre outros. Consulte a pgina man iptables para obter mais informaes sobre
estes e outros alvos.
Esta opo tambm pode ser usada para direcionar um pacote que coincide com uma regra em
particular para uma corrente definida por um usurio fora da corrente atual, ento outras regras
possam ser aplicadas ao pacote.
Se no for especificado nenhum alvo, o pacote passa pela regra sem nenhuma ao. O contador
para esta regra, no entanto, aumenta por um.
-o Define a interface de rede de sada para uma regra. Esta opo vlida somente para
correntes OUT PUT e FORWARD na tabela filter, e a corrente POST ROUT ING nas tabelas nat
e m angle. Este parmetro aceita as mesmas opes que o parmetro de interface de rede de
entrada (-i).
-p <protocol> Define o protocolo IP afetado pela regra. Este pode ser tanto o icm p, tcp,
99
udp, ou all, ou pode ser um valor numrico, representando um destes ou um protocolo diferente.
Voc pode usar qualquer protocolo listado no arquivo /etc/protocols.
O protocolo "all" significa que a regra se aplica todos os protocolos suportados. Se nenhum
protocolo for listado com esta regra, ele se torna retorna ao padro "all".
-s Define a fonte para um pacote especfico usando a mesma sintaxe como parmetro de destino
(-d).
2.6.2.4 . Opes de Coincidncia de IPT ables
Protocolos de rede diferentes fornecem opes de coincidncia especializadas que podem ser
configuradas para coincidir um pacote especfico usando aquele protocolo. No entanto, o protocolo deve
primeiro ser especificado no comando iptables. Por exemplo, -p <protocol-name> habilita as
opes para o protocolo especificado. Note que voc tambm pode usar o ID de protoloco, ao invs do
nome do protocolo. Consulte os seguintes exemplos, cada dos quais tem o mesmo efeito:
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
iptables -A INPUT -p 5813 --icmp-type any -j ACCEPT
AVISO
Proteja o arquivo /etc/services para prevenir edio no autorizada. Se este arquivo for
editvel, invasores podem us-lo para habilitar portas em sua mquina que voc tenha fechado.
Para proteger este arquivo, digite os seguintes comandos como usurio root:
[root@myServer ~]# chown root.root /etc/services
[root@myServer ~]# chmod 0644 /etc/services
[root@myServer ~]# chattr +i /etc/services
Isto evita que o arquivo seja renomeado, removido ou ter links apontados para ele.
100
101
102
Nota
Devido um problema com esta opo, voc precisa adicionar um espao direita ao
valor log-prefix .
103
Este executa o script init do iptables que roda o programa /sbin/iptables-save e escreve a
configurao do iptables atual em /etc/sysconfig/iptables. O arquivo
/etc/sysconfig/iptables existente salvo como /etc/sysconfig/iptables.save.
A prxima vez que o sistema inicializar, o script init do iptables reaplica as regras salvas no
/etc/sysconfig/iptables usando o comando /sbin/iptables-restore.
Se por um lado uma boa idia testar uma nova regra iptables antes de submet-la ao arquivo
/etc/sysconfig/iptables, por outro lado possvel copiar as regras iptables para o arquivo a
partir de outra verso do sistema deste arquivo. Isto fornece uma forma rpida de distribuir conjuntos
de regras iptables para multiplicar mquinas.
104
Voc tambm pode salvar as regras iptables em arquivos separados para a distribuio, backup ou
outros propsitos. Para salvar suas regras de iptables, digite o seguinte comando como root:
[root@myServer ~]# iptables-save > <filename>where <filename> um nome de
usurio definido para seu conjunto de regras.
Importante
Caso distribua o arquivo /etc/sysconfig/iptables outras mquinas, digite
/sbin/service iptables restart para as novas regras tomarem efeito.
Nota
Note a diferena entre o comando iptables(,/sbin/iptables), o qual usado para
manipular as tabelas e correntes que constituem a funcionalidade do iptables e o servio
iptables, (/sbin/service iptables), o qual usado para habilitar e desabilitar o prprio
servio iptables.
Se este comando retornar nenhum resultado, significa que o mdulo no foi carregado. Se
necessrio, use o comando /sbin/rm m od para remover o mdulo.
stop Se o firewall estiver rodando, as suas regras na memria sero liberadas e todos os
mdulos do iptables e auxiliares sero descarregados.
Se a diretiva IPT ABLES_SAVE_ON_ST OP no arquivo de configurao do
/etc/sysconfig/iptables-config modificado de seu valor padro para yes,as regras
atuais sero salvas em /etc/sysconfig/iptables e quaisquer regras existentes sero
movidas para o arquivo /etc/sysconfig/iptables.save.
Refer to Seo 2.6.4.1, Arquivo de Configurao de Scripts de Controle do IPT ables para mais
informaes sobre o arquivo iptables-config.
restart Se um firewall estiver sendo executado, as regras do firewall na memria sero
liberadas, e o firewall ser iniciado novamente se estiver configurado no
/etc/sysconfig/iptables. Esta opo funciona somente se o mdulo do kernel ipchains
105
no for carregado.\n\t\n
Se a diretiva IPT ABLES_SAVE_ON_REST ART no arquivo de configurao
/etc/sysconfig/iptables-config for modificada de seu valor padro para yes, as regras
atuais sero salvas em /etc/sysconfig/iptables e quaisquer regras existentes sero
movidas para o arquivo /etc/sysconfig/iptables.save.
Refer to Seo 2.6.4.1, Arquivo de Configurao de Scripts de Controle do IPT ables para mais
informaes sobre o arquivo iptables-config.
status Exibe o status do firewall e lista todas as regras ativas.
A configurao padro para esta opo exibe os endereos IP em cada regra. Para exibir as
informaes do domnio e hostname, edite o arquivo /etc/sysconfig/iptables-config e
mude o valor de IPT ABLES_ST AT US_NUMERIC para no. Consulte a Seo 2.6.4.1, Arquivo de
Configurao de Scripts de Controle do IPT ables para obter mais informaes sobre o arquivo
iptables-config.
panic Ribera todas as regras do firewall. A poltica de todas as tabelas configuradas est
definida para DROP.
Esta opo pode ser til se um servidor estiver comprometido. Ao invs de desconectar
fisicamente da rede ou fechar o sistema, voc pode usar esta opo para interromper todos os
trfegos de rede futuros mas deixar a mquina em um estado pronto para anlise ou outros
investigaes.
save Salva as regras do firewall em /etc/sysconfig/iptables usando iptablessave. Consulte a Seo 2.6.3, Salvando Regras de IPT ables para mais informaes.
Nota
Para usar os mesmos comandos initscript para controlar o netfilter para o IPv6, substitua o
ip6tables pelo iptables nos comandos /sbin/service listados nesta seo. Para mais
informaes sobre o IPv6 e netfilter, consulte a Seo 2.6.5, IPT ables e IPv6.
106
107
[11] J q ue as BIO S d e s is temas d iferem entre fab ric antes , alg umas p o d em no s up o rtar p ro te o p o r s enha d e q ualq uer tip o ,
enq uanto o utras p o d em s up o rtar um c erto tip o mas no o o utro .
[12] O G RUB tamb m ac eita s enhas s em enc rip ta o , mas rec o mend ad o q ue um has h MD5 s eja us ad o p ara s eg uran a
ad ic io nal
[13] Es te ac es s o aind a s ujeito s res tri es imp o s tas p elo SELinux, s e ativad o
108
Captulo 3. Criptografia
Captulo 3. Criptografia
Existem dois tipos principais de dados que devem ser protegidos: dados parados e dados ativos. Estes
tipos diferentes de dados so protegidos de formas semelhantes usando tecnologia semelhante mas
as implementaes podem ser completamente diferentes. Nenhuma implementao de proteo pode
prevenir os mtodos possveis de se comprometer com as mesmas informaes que possam conter
nos dados parados e ativo em determinados perodos diferentes.
109
Nota
No existe suporta para o VIA Padlock em sistemas de 64-bit.
Para ativ-lo, edite /etc/pki/tls/openssl.cnf e adicione o seguinte no incio de cada arquivo:
110
Captulo 3. Criptografia
openssl_conf = openssl_init
Para testar a velocidade do OpenSSH voc pode aplicar um comando como este:
# dd if=/dev/zero count=100 bs=1M | ssh -c aes128-cbc
localhost "cat >/dev/null"
Voc pode encontra mais informaes sobre o PadLock VIA nas seguintes URLs:
http://www.logix.cz/michal/devel/padlock/ e http://www.via.com.tw/en/initiatives/padlock/.
111
Importante
O processo, no entanto, crucial para ter uma boa proteo contra tentativas de quebrar a
criptografia. Deixe executando durante a noite.
6. inicialize sua partio: cryptsetup --verbose --verify-passphrase luksForm at
/dev/VG00/LV_hom e
7. abra o dispositivo criptografado recentemente: cryptsetup luksOpen /dev/VG00/LV_hom e
hom e
8. confirme que se encontra l: ls -l /dev/m apper | grep hom e\n\t\n
9. crie um sistema de arquivos: m kfs.ext3 /dev/m apper/hom e\n\t\n
10. monte-o: m ount /dev/m apper/hom e /hom e
11. verifique sua visibilidade: df -h | grep hom e
12. adicione o seguinte ao /etc/crypttab: hom e /dev/VG00/LV_hom e none
13. edite seu /etc/fstab, removendo a entrada antiga para /home e adicionando /dev/m apper/hom e
/hom e ext3 defaults 1 2
14. restaure o contedo de segurana SELinux: /sbin/restorecon -v -R /hom e
15. reinicialize: shutdown -r now
16. A entrada em /etc/crypttab faz com que seu computador solicite sua senha luks na inicializao
17. Autentique-se como root e recupere seu backup
112
Captulo 3. Criptografia
Aviso
Se voc esquecer a frase secreta, a chave no poder ser usada e quaisquer dados
criptografados usando essa chave sero perdidos.
Para encontrar sua ID de chave GPG, olhe na coluna "Key ID" prxima chave recm criada. Na maioria
dos casos, se voc for perguntado pela ID da chave, voc deve prefixar "0x" ID da chave, como em
"0x6789ABCD". Voc deve fazer um backup de sua chave privada e armazena-la em um lugar seguro.
113
Aviso
Se voc esquecer a frase secreta, a chave no poder ser usada e quaisquer dados
criptografados usando essa chave sero perdidos.
Para encontrar sua ID de chave GPG, olhe na coluna "Key ID" prxima chave recm criada. Na maioria
dos casos, se voc for perguntado pela ID da chave, voc deve prefixar "0x" ID da chave, como em
"0x6789ABCD". Voc deve fazer um backup de sua chave privada e armazena-la em um lugar seguro.
114
Captulo 3. Criptografia
chaves diferentes para diferentes propsitos e identificam cada chave com um comentrio, tal como
"Office" ou "Open Source Projects.")
No prompt de confirmao, digite a letra O para continuar se todas as entradas esto corretas ou use
as outras opes para consertar quaisquer problemas. Finalmente, digite uma frase secreta para sua
chave secreta. O programa gpg pede para voc digitar sua frase secreta duas vezes para assegurar
que no houve erros de digitao.
Finalmente, o gpg gera dados aleatrios para fazer sua chave a mais nica possvel. Mova seu mouse,
digite chaves aleatrias ou realize outras tarefas no sistema durante este passo para acelerar o
processo. Uma vez que este passo estiver terminado, suas chaves esto completas e prontas para
uso:
pub 1024D/1B2AFA1C 2005-03-31 John Q. Doe <jqdoe@example.com>
Key fingerprint = 117C FE83 22EA B843 3E86 6486 4320 545E 1B2A FA1C
sub 1024g/CEA4B22E 2005-03-31 [expires: 2006-03-31]
A chave de impresso digital um atalho de "assinatura" para sua chave. Ela permite que voc
confirme aos outros que receberam a sua chave pblica real, sem qualquer adulterao. Voc no
precisa anotar esta impresso digital. Para mostrar a impresso digital em qualquer momento, use este
comando, substituindo com seu e-mail: gpg --fingerprint jqdoe@ exam ple.com
Sua "ID de chave GPG" consiste de 8 dgitos hex identificando a chave pblica. No exemplo acima, a ID
de chave GPG 1B2AFA1C. Na maioria dos casos, se voc for perguntado pela ID da chave, voc deve
prefixar "0x" na ID da chave, como em "0x1B2AFA1C".
Aviso
Se voc esquecer a frase secreta, a chave no poder ser usada e quaisquer dados
criptografados usando essa chave sero perdidos.
115
Nota
So fornecidas referncias ao guia de hardening do Red Hat Enterprise Linux 5 neste documento
at que os guias de hardening do Red Hat Enterprise Linux 6 esteja disponveis. Enquanto isso,
por favor note que os guias de hardening do Red Hat Enterprise Linux 5 podem no se aplicar
totalmente ao Red Hat Enterprise Linux 6.
O Defense Information Systems Agency (DISA) fornece documentao, checklists, e testes para ajudar
a proteger seu sistema (Information Assurance Support Environment). O UNIX SECURIT Y T ECHNICAL
IMPLEMENT AT ION GUIDE (PDF) um guia bastante especfico para a segurana do UNIX, um
conhecimento avanado do UNIX e Linux recomendado antes de ler este guia.
O DISA Unix Security Checklist fornece a coleo de documentos e checklists, classificado entre
propriedades corretas e modos para arquivos de sistema, para controle de reparos.
116
117
118
119
120
121
Captulo 8. Referncias
As referncias a seguir so apontadores de informaes adicionais que so relevantes ao SELinux e
Red Hat Enterprise Linux mas alm do escopo deste guia. Note que devido ao rpido desenvolvimento
do SELinux, um pouco deste material pode ser aplicado somente em lanamentos especficos do Red
Hat Enterprise Linux.
Livros
SELinux by Example
Mayer, MacMillan, and Caplan
Prentice Hall, 2007
T utorial e Ajuda
Entendendo e Padronizando o Apache HT T P SELinux Policy
http://docs.fedoraproject.org/selinux-apache-fc3/
T utorial e conversas com Russel Coker
http://www.coker.com.au/selinux/talks/ibmtu-2004/
Generic Writing SELinux policy HOWT O
http://www.lurking-grue.org/writingselinuxpolicyHOWT O.html
Base de Conhecimento Red Hat
http://kbase.redhat.com/
Informaes Gerais
Website Principal do NSA SELinux
http://www.nsa.gov/selinux/
NSA SELinux FAQ
http://www.nsa.gov/selinux/info/faq.cfm
Fedora SELinux FAQ
http://docs.fedoraproject.org/selinux-faq/
SELinux NSA's Open Source Security Enhanced Linux
http://www.oreilly.com/catalog/selinux/
T ecnologia
Uma Viso Geral de Classes de Objetos e Permisses
122
Captulo 8. Referncias
http://www.tresys.com/selinux/obj_perms_help.html
Integrando Suporte Flexvel para Polticas de Segurana no Sistema Operacional Linux
(um histrico de Implementao do Flask no linux)
http://www.nsa.gov/research/_files/selinux/papers/selsymp2005.pdf
Implementando o SELinux como um Linux Security Module
http://www.nsa.gov/research/_files/publications/implementing_selinux.pdf
Uma configurao de poltica para o Linux Security-Enhanced
http://www.nsa.gov/research/_files/selinux/papers/policy/policy.shtml
Comunidade
Guia de Usurio do Fedora SELinux
http://docs.fedoraproject.org/en-US/Fedora/13/html/Security-Enhanced_Linux/
Fedora SELinux Managing Confined Services Guide
http://docs.fedoraproject.org/en-US/Fedora/13/html/Managing_Confined_Services/
Pgina da Comunidade do SELinux
http://selinuxproject.org/
IRC
irc.freenode.net, #selinux, #fedora-selinux, #security
HIstrico
Histrico breve do Flask
http://www.cs.utah.edu/flux/fluke/html/flask.html
Histrico completo do Fluke
http://www.cs.utah.edu/flux/fluke/html/index.html
123
Padres de Criptografia
A.1. Criptografia Sincronizada
A.1.1. Advanced Encryption Standard - AES
Na criptografia, o Advanced Encryption Standard (AES) uma criptografia padro adotada pelo governo
dos E.U.A. O padro consiste em trs blocos de cfras, AES-128, AES-192 e AES-256, adotado por uma
coleo maior originalmente publicada como Rijndael. Cada cfra AES possui um tamanho de bloco de
128 bites, com tamanhos de chaves de 128, 192 e 256 bites, e assim por diante. As cfras AES foram
analisadas extensivamente e agora so utilizadas mundialmente, como foi o caso com seu precedente,
o Data Encryption Standard (DES). [14] \n\t\n
A.1.1.1. Uso do AES
A.1.1.2. Histrico do AES
O AES foi anunciado pelo National Institute of Standards and T echnology (NIST -Instituto Nacional de
Padres e T ecnologia) no dia 26 de Novembro de 2001 aps 5 anos de processo de padronizao no
qual quinze modelos foram apresentados e avaliados antes que o Rijndael fosse selecionado como o
mais adequado (veja o processo do Advanced Encryption Standard para obter mais detalhes). Ele foi
efetivado com padro no dia 26 de Maio de 2002. Est disponvel em diversos pacotes de criptografia
diferentes. O AES a primeira cfra aberta acessvel ao pblico pelo NSA para informaes secretas
(veja Segurana do AES, abaixo). [15]
A cfra Rijndael foi desenvolvida pelos critografadores Belgos Joan Daemen e Vincent Rijmen, e
submetido por eles para o processo de seleo do AES. O Rijndael (pronuncia-se [rindal]) uma
palavra-valise do nome de dois inventores.
[16 ]
[17]
124
Padres de Criptografia
Em algumas documentaes, foi feita uma distino entre o DES como um padro e o DES algortimo
que referido como o DEA o Data Encryption Algorithm). Na fala, o "DES" soletrado como uma
abreviao (/diis/), ou pronunciado como um acronismo de uma slaba (/dz/). [19 ]
[20 ]
[21]
A tcnica distinta usada na criptografia de chave pblica o uso de algortmos de chave assimtricos,
onde a chave usada para criptografar uma mensagem no a mesma que a chave usada para
descriptograf-la. Cada usurio possui um par de chaves criptogrficas, uma chave pblica e uma
chave privada. A chave privada mantida em segredo, enquanto a chave pblica pode ser distribuda
amplamente. As mensagens so criptografadas com a chave pblica do rementente e pode ser
dscriptografada somente com a chave privada correpondente. As chaves so relacionadas
matematicamente, mas a chave privada no pode ser derivada (ou seja, em prtica atual ou projetada)
de uma chave pblica. Foi a descoberta de alguns algortmos que revolucionaou a prtica de
criptografia iniciando-se nos meados de 1970. [22]
Oposto a isto, os algortimos de chave simtrica, variaes que foram usadas por alguns milhares de
anos, usam uma chave secreta nica compartilhada pelo transmissor e remetente (que deve tambm
manter a chave privada, alm de levar em conta a ambiguidade das terminologias comuns) para a
criptografia e descriptografia. para usar um esquema de criptografia simtrica, o transmissor e
remetente devem compartilhar a chave antes. [23]
Como os algortimos de chave simtricas so quase muito menos intensivos na informtica, comum
trocar uma chave usando o algortimo de troca de chave e transmitir dados usando aquela chave e um
algortimos de chave simtrica. A famlia de esquemas do PGP e o SSL/T LS fazem isto, por exemplo, e
so portanto chamados de critosistemas hbridos. [24]
A.2.1. Diffie-Hellman
A troca de chave DiffieHellman (D-H) um protocolo criptogrfico que permite que duas partes, que
no se conhecem prviamente, estabeleam juntas uma chave secreta compartilhada sob um canal de
comunicaes inseguro. Esta chave pode ento ser usada para criptografar comunicaes
subsequentes usando uma cfra de chave simtrica. [25]
A.2.1.1. Histrico do Diffie-Hellman
O esquema foi publicado inicialmente pelo Whitfield Diffie e Martin Hellman em 1976, embora tenha
emergido mais tarde que havia sido inventado separadamente alguns anos antes dentro do GCHQ, a
agncia de inteligncia de sinais Britnicos, por Malcolm J. Williamson mas foi mantida em classificado.
Em 2002, Hellman sugeriu que o algortimo fosse chamado de chave de troca Diffie-Hellman-Merkle
reconhecendo a contribuio de Ralph Merkle para a invenso da criptografia de chave pblica
125
(Hellman, 2002).
[26 ]
Embora o acordo da Diffie-Hellman seja um protocolo de acordo de chave annimo (no autenticado),
ele fornece a base para uma variedade de protocolos autenticados, e usado para fornecer segredo
perfeito nos modos efmeros da Segurana de Camada de T ransporte, (referido como o EDH ou DHE
dependendo da cfra que se adeque). [27] \n\n
A Patente 4,200,770 dos E.U.A, agora expirada, descreve o algortimo e d crdito ao Hellman, Diffie e
Merkle como inventores. [28 ]
A.2.2. RSA
Na criptografia, o RSA (que significa Rivest, Shamir e Adleman que primeiro descreveram-no
publicamente, veja abaixo) um algortimo para criptografia de chave pblica. o primeiro algortimo
conhecido como adequado para assinaturas, assim como criptografia, e foi o primeiro grande avano
em criptografia de chave pblica. O RSA usado amplamente em protocolos de comrcio eletrnico, e
acredita-se que seguro, considerando as chaves longas e o uso de implementaes atualizadas.
A.2.3. DSA
O DSA (Digital Signature Algorithm) um padro para assinaturas digitais padro, um padro de
governo federal dos Estados Unidos para assinaturas digitais. O DSA somente para assinaturas e
no um algoritimo de criptografia. [29 ]
A.2.4. SSL/TLS
O T ransport Layer Security (T LS) seu precedente, o Secure Sockets Layer (SSL), so protocolos
criptogrficos que fornecem segurana para as comunicaes sob a rede, tais como a Internet. O T LS e
SSL criptografam os segmentos de conexes de rede do T ransport Layer do comeo ao fim.
Diversas verses dos protocolos so utilizadas amplamente em aplicativos como o web browsing,
correio eletrnico, fax via Internet, mensagem instantnea e voice-over-IP (VoiP). [30 ]
[31]
[32]
[14] " Ad vanc ed Enc ryp tio n Stand ard ." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Ad vanc ed _Enc ryp tio n_Stand ard
[15] " Ad vanc ed Enc ryp tio n Stand ard ." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Ad vanc ed _Enc ryp tio n_Stand ard
126
Padres de Criptografia
[16 ] " Ad vanc ed Enc ryp tio n Stand ard ." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Ad vanc ed _Enc ryp tio n_Stand ard
[17] " Data Enc ryp tio n Stand ard ." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Data_Enc ryp tio n_Stand ard
[18 ] " Data Enc ryp tio n Stand ard ." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Data_Enc ryp tio n_Stand ard
[19 ] " Data Enc ryp tio n Stand ard ." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Data_Enc ryp tio n_Stand ard
[20 ] " Pub lic -key Enc ryp tio n." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Pub lic -key_c ryp to g rap hy
[21] " Pub lic -key Enc ryp tio n." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Pub lic -key_c ryp to g rap hy
[22] " Pub lic -key Enc ryp tio n." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Pub lic -key_c ryp to g rap hy
[23] " Pub lic -key Enc ryp tio n." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Pub lic -key_c ryp to g rap hy
[24] " Pub lic -key Enc ryp tio n." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Pub lic -key_c ryp to g rap hy
[25] " Diffie-Hellman." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Diffie-Hellman
[26 ] " Diffie-Hellman." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Diffie-Hellman
[27] " Diffie-Hellman." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Diffie-Hellman
[28 ] " Diffie-Hellman." Wikipedia. 14 No vemb er 20 0 9 http ://en.wikip ed ia.o rg /wiki/Diffie-Hellman
[29 ] " DSA." Wikipedia. 24 Feb ruary 20 10 http ://en.wikip ed ia.o rg /wiki/Dig ital_Sig nature_Alg o rithm
[30 ] " TLS/SSl." Wikipedia. 24 Feb ruary 20 10 http ://en.wikip ed ia.o rg /wiki/Trans p o rt_Layer_Sec urity
[31] " Cramer-Sho up c ryp to s ys tem." Wikipedia. 24 Feb ruary 20 10 http ://en.wikip ed ia.o rg /wiki/CramerSho up _c ryp to s ys tem
[32] " ElG amal enc ryp tio n" Wikipedia. 24 Feb ruary 20 10 http ://en.wikip ed ia.o rg /wiki/ElG amal_enc ryp tio n
127
Histrico de Reviso
Reviso 1.5-3.35.4 02
Rebuild with Publican 4.0.0
Rdiger Landmann
Reviso 1.5-3.35
Rebuild for Publican 3.0
August 7 2012
Ruediger Landmann
Reviso 1.5-3
Rebuild for Publican 3.0
2012-07-18
Anthony T owns
Reviso 1.5-1
Apr 19 2010
Reparos mnimos, construo final para Beta
Scott Radvan
Reviso 1.4 -1
Reviso QE e Atualizaes
Scott Radvan
Mar 5 2010
Reviso 1.3-1
Feb 19 2010
Enviar para rea de teste pronto para reviso
128
Scott Radvan