Você está na página 1de 131

Red Hat Enterprise Linux 6

Guia de Segurana

Um Guia para Proteger o Red Hat Enterprise Linux


Edio 1.5

Red Hat Inc.

Red Hat Enterprise Linux 6 Guia de Segurana

Um Guia para Proteger o Red Hat Enterprise Linux


Edio 1.5

Red Hat Inc.

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
...........

Red Hat Enterprise Linux 6 Guia de Segurana

2.1. Segurana da Estao de T rabalho


2.1.1. Avaliando a Segurana da Estao de T rabalho
2.1.2. Segurana da BIOS e do Carregador de Boot
2.1.2.1. Senhas da BIOS
2.1.2.1.1. Protegendo Plataformas que no so X86
2.1.2.2. Senhas do Carregador de Boot
2.1.2.2.1. Protegendo o GRUB com senha
2.1.3. Segurana da Senha
2.1.3.1. Criando Senhas Fortes
2.1.3.1.1. Metodologia para Criao de Senhas Seguras
2.1.3.2. Criando Senhas de Usurios Dentro de Uma Organizao
2.1.3.2.1. Forando Senhas Fortes
2.1.3.2.2. Frases Secretas
2.1.3.2.3. Expirao de Senha
2.1.4. Controles Administrativos
2.1.4.1. Permitindo Acesso Root
2.1.4.2. Desabilitando Acesso ao Root
2.1.4.2.1. Desativando o Shell do Root
2.1.4.2.2. Desativando Logins Root
2.1.4.2.3. Desativando Logins Root SSH
2.1.4.2.4. Desativando o Root de usar o PAM
2.1.4.3. Limitando o Acesso Root
2.1.4.3.1. O Comando su
2.1.4.3.2. O Comando sudo
2.1.5. Servios de Rede Disponveis
2.1.5.1. Riscos ao Servios
2.1.5.2. Identificando e Configurando Servios
2.1.5.3. Servios Inseguros
2.1.6. Firewalls Pessoais
2.1.7. Ferramentas de Comunicao Avanadas de Segurana
2.2. Segurana do Servidor
2.2.1. Assegure os Servios com T CP Wrappers e xinetd
2.2.1.1. Aumentando a Segurana com T CP Wrappers
2.2.1.1.1. T CP Wrappers e Banners de Conexo
2.2.1.1.2. T CP Wrappers e Avisos de Ataques
2.2.1.1.3. Os T CP Wrappers e Registro de Log Avanado
2.2.1.2. Aumentando a Segurana com o xinetd
2.2.1.2.1. Configurando uma Interceptao (T rap)
2.2.1.2.2. Controlando Recursos de Servidor
2.2.2. Protegendo o Portmap
2.2.2.1. Proteja o portmap com T CP Wrappers
2.2.2.2. Proteger o portmap com o iptables
2.2.3. Protegendo o NIS
2.2.3.1. Planeje a Rede Cuidadosamente
2.2.3.2. Use um Nome de Domnio NIS e Hostname como se fosse uma Senha.
2.2.3.3. Edite o Arquivo /var/yp/securenets
2.2.3.4. Atribua Portas Estticas e Use Regras iptables
2.2.3.5. Use a Autenticao Kerberos
2.2.4. Protegendo o NFS
2.2.4.1. Planeje a Rede Cuidadosamente
2.2.4.2. Ateno aos Erros de Sintaxe
2.2.4.3. No Use a Opo no_root_squash
2.2.4.4. Configurao de Firewall NFS
2.2.5. Protegendo o Servidor HT T P Apache
2.2.6. Protegendo o FT P

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

2.2.6.1. Banner de Saudao do FT P


2.2.6.2. Acesso Annimo
2.2.6.2.1. Upload Annimo
2.2.6.3. Contas de Usurios
2.2.6.3.1. Restringindo Contas de Usurios
2.2.6.4. Usar o T CP Wrappers para Controla Acesso
2.2.7. Protegendo o Sendmail
2.2.7.1. Limitando um DoS (Denial of Service Attack)
2.2.7.2. O NFS e Sendmail
2.2.7.3. Usurios somente de Mail
2.2.8. Verificando Quais Portas Esto Escutando
2.3. T CP Wrappers e xinetd
2.3.1. T CP Wrappers
2.3.1.1. Vantagens do T CP Wrappers
2.3.2. Arquivos de Configurao dos T CP Wrappers
2.3.2.1. Formatando Regras de Acesso
2.3.2.1.1. Carcteres Coringa (wildcards)
2.3.2.1.2. Modelos
2.3.2.1.3. Portmap e T CP Wrappers
2.3.2.1.4. Operadores
2.3.2.2. Campos de Opo
2.3.2.2.1. Registro de Logs
2.3.2.2.2. Controle de Acesso
2.3.2.2.3. Comandos Shell
2.3.2.2.4. Expanses
2.3.3. xinetd
2.3.4. Arquivos de Configurao xinetd
2.3.4.1. O arquivo /etc/xinetd.conf
2.3.4.2. O Diretrio /etc/xinetd.d/
2.3.4.3. Aterando Arquivos de Configurao xinetd
2.3.4.3.1. Opes de Registro de Log
2.3.4.3.2. Opes de Controle de Acesso
2.3.4.3.3. Opes de Associao e Redirecionamento
2.3.4.3.4. Opes de Gerenciamento de Recursos
2.3.5. Recursos Adicionais
2.3.5.1. Documentao Instalada dos T CP Wrappers
2.3.5.2. Web sites teis sobre T CP Wrappers
2.3.5.3. Livros Relacionados
2.4. Redes Privadas Virtuais (VPNs)
2.4.1. Como uma VPN funciona?
2.4.2. Openswan
2.4.2.1. Viso Geral
2.4.2.2. Configurao
2.4.2.3. Comandos
2.4.2.4. Recursos Openswan
2.5. Firewalls
2.5.1. Netfilter e IPT ables
2.5.1.1. Viso Geral do IPT ables
2.5.2. Configurao de Firewall Bsica
2.5.2.1. Firewall Configuration T ool
2.5.2.2. Habilitando e desabilitando o Firewall
2.5.2.3. Servios Confiveis
2.5.2.4. Outras Portas
2.5.2.5. Salvando Configuraes
2.5.2.6. Ativando o Servio IPT ables.

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

Red Hat Enterprise Linux 6 Guia de Segurana

2.5.3. Usando IPT ables


2.5.3.1. Sintaxe de Comandos do IPT ables
2.5.3.2. Polticas de Firewall Bsicas
2.5.3.3. Salvando e Restaurando as Regras IPT ables
2.5.4. Filtros de IPT ables Comuns
2.5.5. FORWARD e Regras NAT
2.5.5.1. Postrouting e Mascaramento de IP
2.5.5.2. Pre roteamento
2.5.5.3. DMZ s e IPT ables
2.5.6. Softwares Maliciosos e Spoof de Endereos IP
2.5.7. IPT ables e Rastreamento de Conexo
2.5.8. IPv6
2.5.9. Recursos Adicionais
2.5.9.1. Documentao de Firewall Instalada
2.5.9.2. Websites de Firewall teis
2.5.9.3. Documentao Relacionada
2.6. IPT ables
2.6.1. Filtro de Pacote
2.6.2. Opes de Comando para IPT ables.
2.6.2.1. Estrutura das Opes do Comando IPT ables
2.6.2.2. Opes de Comando
2.6.2.3. Opes de Parmetro de IPT ables
2.6.2.4. Opes de Coincidncia de IPT ables
2.6.2.4.1. Protocolo T CP
2.6.2.4.2. Protocolo UDP
2.6.2.4.3. Protocolo ICMP
2.6.2.4.4. Mdulos de Opo de Coincidncia Adicional
2.6.2.5. Opes de Alvo
2.6.2.6. Opes de Listagem
2.6.3. Salvando Regras de IPT ables
2.6.4. Scripts de Controle de IPT ables
2.6.4.1. Arquivo de Configurao de Scripts de Controle do IPT ables
2.6.5. IPT ables e IPv6
2.6.6. Recursos Adicionais
2.6.6.1. Documentao instaladas da IP T ables
2.6.6.2. Websites de IPtables teis

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
.............

Red Hat Enterprise Linux 6 Guia de Segurana

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.

1.1. Convenes Tipogrficas


So usadas quatro convenes tipogrficas para realar palavras e frases especficas. Estas
convenes, e circunstncias a que se aplicam, so as seguintes:
Negrito Espao nico (Mono-spaced Bold)
Usada para realar entradas do sistema, incluindo comandos de shell, nomes de arquivos e caminhos.
So tambm usadas para realar teclas Maisculas/Minsculas e as combinaes de teclas. Por
exemplo:
Para ver o contedo do arquivo m y_next_bestselling_novel em sua pasta de
trabalho atual, insira o comando cat m y_next_bestselling_novel na janela de
solicitao e pressione Enter para executar o comando.
O comando acima inclui um nome de arquivo, um comando de shell e uma tecla, todos apresentados em
Negrito Espao nico (Mono-spaced Bold) e todos distintos, graas ao contedo.
As combinaes de tecla podem ser diferenciadas de uma tecla individual pelo sinal positivo que
conecta cada parte da combinao da tecla. Por exemplo:
Pressione Enter para executar o comando.
Pressione Ctrl+Alt+F2 para trocar ao terminal virtual.
A primeira sentena, destaca uma tecla especfica a ser pressionada. A segunda destaca duas
combinaes de teclas: um conjunto de trs teclas pressionadas simultaneamente.
Caso o cdigo fonte seja discutido, sero apresentados como acima, os nomes de classe, mtodos,
funes, nomes de variantes e valores retornados mencionados em um pargrafo, em Negrito de
Espao nico (Mono-spaced Bold). Por exemplo:
Classes baseadas em arquivo, incluem filesystem para sistemas de arquivo, file para
arquivos, e dir para diretrios. Cada classe possui seu conjunto prprio de permisses
associadas.
Negrito Proporcional
Esta representa as palavras e frases encontradas no sistema, incluindo os nomes de aplicativos, texto
de caixa de dilogo, botes rotulados, caixa de seleo e rtulos de boto de opo, ttulos de menus e
sub-menus. Por exemplo:

Red Hat Enterprise Linux 6 Guia de Segurana

Escolha Sistema Preferncias Mouse da barra do menu principal para lanar


Mouse Preferences. Na aba Botes selecione o Boto da esquerda do m ouse
selecione a caixa e cliquem emFecharpara mudar o boto inicial do mouse da esquerda
para a direita (tornando o mouse adequado para o uso na mo esquerda).
Selecione Applications Accessories Character Map a partir da barra de menu
principal, com o objetivo de inserir um caractere especial ao arquivo gedit. Em seguida,
selecione Search Find a partir da barra do menu Character Map, digite o nome do
caractere no campo Search e clique em Next. O caractere pesquisado aparecer
destacado no Character T able. Clique duas vezes no caractere destacado para
posicion-lo no campo T ext to copy e clique no boto Copy. Retorne ao seu documento
e selecione Edit Paste a partir da barra do menu gedit.
O texto acima inclui nomes de aplicativos, nomes de menu e itens de todo o sistema, nomes de menu
especficos do aplicativo, e botes e textos encontrados na Interface Grfica GUI, todos apresentados
em Negrito Proporcional (Proportional Bold) e todos diferenciados de acordo com o contexto.
Itlico em Negrito de Espao nico (Mono-spaced Bold Italic) ou Itlico em Negrito
Proporcional (Proportional Bold Italic)
Sendo o Negrito Espao nico (Mono-spaced Bold) ou Negrito Proporcional (Proportional Bold), os
itlicos extras indicam textos substituveis ou variveis. O Itlico denota o texto que voc no inseriu
literalmente ou textos exibidos que mudam dependendo das circunstncias. Por exemplo:
Para conectar-se uma mquina remota usando o ssh, digite ssh nome do
usurio@ domain.name na janela de comandos. Por exemplo, considere que a mquina
remota seja exam ple.com e seu nome de usurio nesta mquina seja john, digite ssh
john@ exam ple.com .
O comando m ount -o rem ount file-system remonta o sistema de arquivo nomeado.
Por exemplo, para remontar o sistema de arquivo /hom e, o comando m ount -o
rem ount /hom e.
Para ver a verso de um pacote instalado, use o comando rpm -q package. Ele retornar
um resultado como este: package-version-release.
Perceba as palavras em negrito e itlico acima - username, domain.name, file-system, package, version
e release. Cada palavra um espao reservado, tanto para o texto que voc insere quando emitindo um
comando ou para textos exibidos pelo sistema.
Alm de uso padro para apresentar o ttulo de um trabalho, os itlicos denotam a primeira vez que um
termo novo e importante usado. Por exemplo:
O Publican um sistema de publicao do DocBook.

1.2. Convenes de Pull-Quote


Resultado de terminal e listagem de cdigo fonte so definidos visualmente com base no contexto.
O resultado enviado um terminal configurado em Rom ano de Espao nico (Mono-spaced
Rom an) e apresentado assim:
books
books_tests

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;
}

1.3. Notas e Avisos


E por fim, usamos trs estilos visuais para chamar a ateno para informaes que possam passar
despercebidas.

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.

Red Hat Enterprise Linux 6 Guia de Segurana

2. Precisamos do seu Feedback!


Se voc encontrar um erro tipogrfico neste manual, ou se pensou em alguma maneira de melhorar este
manual, adoraramos saber! Submeta um relatrio no Bugzilla: http://bugzilla.redhat.com/ no produto Red
Hat Enterprise Linux.
Ao submeter um relatrio de erro, lembre-se de mencionar o identificador do manual:
doc-Security_Guide e nmero de verso: 6.
Se voc tem uma sugesto para melhorar esta documentao, tente ser o mais especfico possvel ao
descrev-la. Se voc encontrou um erro, inclua o nmero da seo e um pouco do texto dele, para que
possamos encontrar com mais facilidade.

10

Captulo 1. Viso Geral da Segurana

Captulo 1. Viso Geral da Segurana


Por causa da dependncia crescente em poderosas redes de computadores para auxiliar empresas e
manter registro de nossas informaes pessoais, indstrias inteiras foram formadas em torno da
prtica das redes e segurana da informtica. Organizaes tm solicitado o conhecimento e
habilidades de profissionais de segurana para propriamente auditar sistemas e criar solues que se
encaixam dentro das necessidades operacionais dessas organizaes. Pela razo que a maioria das
organizaes esto cada vez mais dinmicas por natureza, seus funcionrios acessam recursos de T I
da empresa crticos localmente e remotamente, por isso a necessidade de ambientes de computao
seguros tm se tornado mais evidente.
Infelizmente, muitas organizaes (e tambm usurios individuais) deixam a segurana em segundo
plano, um processo que esquecido perde-se aumento do poder, produtividade, conveniencia,
facilidade de uso e questes de oramento. Uma implementao de segurana apropriada muitas
vezes colocada em prtica tarde demais depois de uma invaso no autorizada j tiver ocorrido.
T omar medidas apropriadas antes de se conectar a uma rede no confivel, como a Internet uma
meio efetivo de impedir tentativas de intruso.

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 .

1.1. Introduo Segurana


1.1.1. O que Segurana de Computadores?
Segurana de computadores um termo geral que cobre uma grande rea da informtica e
processamento da informao. Indstrias que dependem dos sistemas de computadores e redes para
conduzir diariamente negociaes e acessar informaes crticas, consideram seus dados como uma
importante parte de seus bens gerais. Diversos termos e mtricas entraram em nosso vocabulrio de
negcios, tais como o custo total da posse (T CO - T otal Cost of Ownership), retorno sobre investimento
(ROI - Return on Investment), e qualidade de servio (QoS - Quality of Service). Usando estas mtricas,
indstrias podem calcular aspectos como a integridade dos dados e alta disponibilidade (HA - HighAvailability) como parte de seus planos e custos do gerenciamento de processos. Em algumas
indstrias, como a de comrcio eletrnico, a disponibilidade e confiabilidade dos dados podem significar
a diferena entre sucesso e fracasso.
1.1.1.1. Como a Segurana de Computadores comeou?
A segurana da informao tem evoludo ao longo dos anos devido crescente dependncia em redes
pblicas para no expor informaes pessoais, financeiras e outras informaes restritas. Existem
muitas ocorrncias tais como os casos Mitnick [1] e Vladimir Levin [2] que fizeram com que
organizaes de todas as reas repensassem a maneira que lidam com a informao, incluindo sua
transmisso e exposio. A popularidade da internet foi um dos mais importantes desenvolvimentos
que levou a um esforo intensificado da segurana dos dados.
Um nmero crescente de pessoas esto usando seus computadores pessoais para obter acesso aos
recursos que a internet oferece. Da pesquisa e obteno de informao ao correio eletrnico e
transaes comerciais, a internet tem sido considerada um dos mais importantes desenvolvimentos do
sculo 20.

11

Red Hat Enterprise Linux 6 Guia de Segurana

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:

Em qualquer dia, existem aproximadamente 225 importantes incidncias de brecha de segurana


reportadas ao CERT Coordination Center at Carnegie Mellon University. [6 ]
O nmero de incidentes reportados no CERT pulou de 52,658 em 2001, 82,094 em 2002 e para
137,529 em 2003. [7]
De acordo com o FBI, crimes relacionados computadores custou s empresas americanas $67.2
bilhes de dlares em 2006. [8 ]
De uma pesquisa global feita em 2009 sobre segurana e profissionais da tecnologia da informao,
"Porque a Segurana Importa Agora" [9 ] , conduzida pela CIO Magazine, alguns resultados
interessantes so:\n\t\n
Apenas 23% dos que responderam possuem polticas para o uso das tecnologias de Web 2.0.
Estas tecnologias, como T witter, Facebook e LinkedIn podem oferecer uma maneira conveniente
para empresas e individuais se comunicarem e colaborar, entretanto elas abrem novas
vulnerabilidades, primariamente o vazamento de dados confidenciais.
Mesmo durante a recente crise financeira de 2009, a pesquisa constatou que os oramentos com
segurana estavam no mesmo nvel ou em crescimento em relao aos anos anteriores
(aproximadamente 2 de cada 3 participantes esperam aumentar ou manter o mesmo nvel). Isto
uma boa notcia e reflete a importncia que organizaes esto dando na segurana da informao
hoje.
Estes resultados reforam a realidade que segurana de computadores se tornou um gasto
quantificvel e justificvel nos oramentos de T I. Organizaes que requerem integridade dos dados e

12

Captulo 1. Viso Geral da Segurana

alta disponibilidade evocam as habilidades dos administradores de sistemas, desenvolvedores e


engenheiros para garantir uma confiana de seus sistemas, servios e informaes 24x7. Ser vtima de
usurios maliciosos, processos ou ataques coordenados uma ameaa direta ao sucesso da
organizao.
Infelizmente, a segurana da rede e de sistemas podem ser uma proposta difcil, exigindo um
conhecimento complexo de como a empresa encara, usa, manipula e transmite suas informaes.
Compreender a forma como uma organizao (e as pessoas que compem a organizao) conduz os
negcios fundamental para implementao de um plano de segurana apropriado.
1.1.1.3. Padronizao da Segurana
Empresas de todas as reas confiam em regulamentos e regras que so definidas por entidades de
padronizao como a American Medical Association (AMA) ou o Institute of Electrical and Electronics
Engineers (IEEE). Os mesmos ideais so verdadeiros para a segurana da informao. Muitos
consultores de segurana e fornecedores concordam com um modelo de padronizao da segurana
conhecido como CIA, ou Confidentiality, Integrity, and Availability. Este modelo de trs camadas um
componente geralmente aceito para avaliar riscos de informaes sensveis e estabelecer poltica de
segurana. O seguinte descreve o modelo CIA em maiores detalhes:
Confidencialidade Informaes sensveis devem estar disponveis somente para um conjunto de
indivduos pr definidos. T ransmisso no autorizada e uso da informao devem ser restritos. Por
exemplo, a confidencialidade da informao garante que uma informao pessoal ou financeira no
seja obtida por um indivduo no autorizado para propsitos maliciosos tais como roubo de
identidade ou fraude de crdito.
Integridade As informaes no devem ser alteradas de modo a torna-las incompletas ou
incorretas. Usurios no autorizados devem ser restritos da possibilidade de modificar ou destruir
informaes sensveis.
Disponibilidade As informaes devem ser acessveis a usurios autorizados em qualquer
momento que seja necessrio. Disponibilidade uma garantia que a informao pode ser obtida
com acordos de frequncia e pontualidade. Isto frequentemente medido em termos de
porcentagens e definido formalmente em Acordos de Nvel de Servio (SLAs) usados por
provedores de servios de redes e seus clientes corporativos.

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.

1.1.3. Controles de Segurana


A segurana de computadores frequentemente dividida em trs categorias principais distintas,
comumente referidas como controles:
Fsico
T cnico
Administrativo
Estas trs categorias amplas definem os objetivos principais de uma implementao de segurana

13

Red Hat Enterprise Linux 6 Guia de Segurana

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.

1.2. Avaliao de Vulnerabilidade


T endo tempo, recursos e motivao, um invasor pode invadir praticamente qualquer sistema. T odos os
procedimentos de segurana e tecnologias atualmente disponveis no podem garantir que quaisquer
sistemas estejam completamente seguros contra intruso. Roteadores podem ajudar a proteger
gateways na internet. Firewalls ajudam a proteger as bordas da rede. Redes Privadas Virtuais
seguramente transmitem dados em um fluxo criptografado. Os sistemas de deteco de intruso lhe

14

Captulo 1. Viso Geral da Segurana

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.

1.2.1. Pensando Como o Inimigo


Suponha que voc administra uma rede corporativa. Essas redes comumente compreendem de
sistemas operacionais, aplicaes, servidores, monitores de rede, firewalls, sistemas de deteco de
intruso e mais. Agora imagine tentar manter atualizados cada um desses mencionados. Dada a
complexidade dos softwares de hoje e ambientes de rede, exploraes e bugs so uma certeza.
Manter-se atualizado com correes e atualizaes para uma rede inteira pode ser uma tarefa difcil em
uma grande organizao com sistemas heterogneos.
Combine o requerimento de experincia com a tarefa de manter-se atualizado, inevitvel que
incidentes adversos ocorram, sistemas sejam violados, dados se corrompem e servios so
interrompidos.
Para aprimorar as tecnologias de segurana e auxiliar na proteo de sistemas, voc deve pensar
como um invasor e avaliar a segurana de seus sistemas verificando os pontos fracos. Avaliaes de
vulnerabilidade preventivas em seus prprios sistemas e recursos de rede podem revelar problemas
potenciais que podem ser endereados antes de um invasor explora-la.
A avaliao de vulnerabilidade uma auditoria interna de seu sistema e segurana de sistema; os
resultados dos quais indicam a confidencialidade, integridade e disponibilidade de sua rede (como
explicado na Seo 1.1.1.3, Padronizao da Segurana). T ipicamente, a avaliao da vulnerabilidade
comea com uma fase de reconhecimento, durante o qual os dados importantes sobre os sistemas
alvos e os recursos so reunidos. Esta fase leva fase de prontido do sistema, onde o alvo
checado com todas as vulnerabilidades conhecidas. A fase de prontido culmina na fase do relatrio,
onde os resultados so classificados em categorias de alto, mdio e baixo risco e mtodos para
melhorar a segurana (ou para minimizar o risco de vulnerabilidade) do alvo so discutidos.
Se voc tivesse que realizar uma avaliao de vulnerabilidade de sua casa, voc verificaria cada porta
para ver se esto fechadas e trancadas. Voc tambm checaria cada janela, tendo certeza que esto
completamente fechadas e trancam corretamente. Este mesmo conceito se aplica sistemas, redes e
dados eletrnicos. Usurios maliciosos so os ladres e vndalos de seus dados. Foque nas
ferramentas, mentalidade e motivaes e voc poder ento reagir rapidamente s aes.

1.2.2. Definindo a Avaliao e Testes


Avaliaes de vulnerabilidade podem ser divididas em dois tipos: olhar de fora para dentro e olhar ao
redor internamente.
Quando realizar uma avaliao de vulnerabilidade olhando de fora para dentro, voc est tentando
comprometer seus sistemas a partir do lado de fora. Estando externo sua empresa, lhe possibilita ter
uma viso do invasor. Voc v o que o invasor v IPs roteveis publicamente, endereos, sistemas

15

Red Hat Enterprise Linux 6 Guia de Segurana

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

Captulo 1. Viso Geral da Segurana

1.2.2.1. Estabelece uma Metodologia


Para ajudar na seleo de ferramentas para uma avaliao de vulnerabilidade, til estabelecer uma
metodologia de avaliao de vulnerabilidade. Infelizmente, no h no momento uma metodologia pr
definida ou aprovada pela indstria neste momento; entretanto, o bom senso e boas prticas podem
atuar como um guia suficiente.
O que um alvo? Estamos olhando em um servidor ou em uma rede inteira e tudo dentro dessa rede?
Estamos externos ou internos empresa? As respostas estas questes so importantes conforme
elas ajudam a determinar no somente quais ferramentas escolher mas tambm a maneira a qual elas
so usadas.
Para aprender mais sobre estabelecer metodologias, consulte os seguintes websites:
http://www.isecom.org/osstmm/ The Open Source Security Testing Methodology Manual (OSST MM)
http://www.owasp.org/ The Open Web Application Security Project

1.2.3. Avaliando as Ferramentas


Uma avaliao pode se iniciar usando alguma ferramenta de coleta de informaes. Quando avaliar a
rede inteira, mapeie a estrutura primeiro para encontrar os hosts em execuo. Uma vez localizados,
examine cada host individualmente. Focar nestes hosts requer um outro conjunto de ferramentas.
Conhecer quais ferramentas usar pode ser um passo crucial para encontrar vulnerabilidades.
Assim como qualquer aspecto do dia a dia, existem muitas ferramentas diferentes que realizam a
mesma tarefa. Este conceito se aplica tambm para realizar avaliaes de vulnerabilidade. Existem
ferramentas especificas para sistemas operacionais, aplicaes e mesmo redes (baseadas nos
protocolos usados). Algumas ferramentas so grtis, outras no. Algumas ferramentas so intuitivas e
fceis de usar, enquanto outras so ocultas e mal documentadas mas possuem recursos que outras
ferramentas no possuem.
Encontrar as ferramentas certas, pode ser uma tarefa difcil e no final, a experincia que conta.
possvel montar um laboratrio de testes e tentar o mximo de ferramentas que voc puder, anotando
os pontos fortes e fracos de cada uma. Revise o arquivo LEIAME ou pgina man da ferramenta.
Adicionalmente, procure na internet para mais informaes, como artigos, guias passo a passo ou
mesmo listas de e-mails especficas da ferramenta.
As ferramentas discutidas abaixo so apenas um pequeno exemplo das ferramentas disponveis.
1.2.3.1. Escaneando Hosts com o Nmap
O Nmap uma ferramenta popular que pode ser usada para determinar o desenho de uma rede. O
Nmap est disponvel por muitos anos e provavelmente a ferramenta mais usada para coletar
informaes. Uma excelente pgina man est includa que fornece descries detalhadas de suas
opes e usos. Os administradores podem usar o Nmap em uma rede para encontrar sistemas de host
e portas abertas nesses sistemas.
O Nmap um competente primeiro passo na avaliao de vulnerabilidade. Voc pode mapear todos os
hosts dentro de sua rede e mesmo colocar uma opo que permite o Nmap tentar identificar os sistema
operacional rodando em um determinado host. O Nmap uma boa base para estabelecer uma poltica
de uso de dispositivos seguros e restringir servios no usados.
1.2.3.1.1. Usando o Nmap
O Nmap pode ser executado a partir da prompt do shell digitando o comando nm ap seguido pelo nome
do host ou endereo de IP da mquina a ser escaneada.

17

Red Hat Enterprise Linux 6 Guia de Segurana

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

Captulo 1. Viso Geral da Segurana

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.

1.3. Invasores e Vulnerabilidades


Para planejar e implementar uma boa estratgia de segurana, primeiro esteja atento a alguns dos
questes que determinaram e motivaram invasores a explorar e comprometer sistemas. Entretanto,
antes de detalhar essas questes, a terminologia usada para identificar um ataque deve ser definida.

1.3.1. Uma Rpida Histria sobre Hackers


O significado moderno do termo hacker tem origem por volta dos anos 60 e o T ech Model Railroad Club
do Instituto de T ecnologia de Massachussetts (MIT ), que desenvolvia conjuntos de trens em larga
escala e com complexos detalhes. Hacker era nome usado pelos membros do clube que descobriam um
truque ou uma maneira de resolver um problema.
O termo hacker ento comeou a ser usado para tudo, desde viciados em computadores at
programadores de talento. Uma caracterstica comum entre a maioria dos hackers a vontade de
explorar em detalhes como sistemas de computadores e redes funcionam com pouca ou nenhuma
motivao externa. Desenvolvedores de software de cdigo aberto frequentemente consideram a si
prprios e seus colegas serem hackers e usam a palavra como um termo de respeito.
T ipicamente, hackers seguem uma forma de tica hacker que diz que a busca por informaes e percia
so essenciais e compartilhar esse conhecimento uma funo dos hackers comunidade. Durante
essa busca por conhecimento, alguns hackers desfrutam os desafios acadmicos de contornar
controles de segurana em sistemas de computadores. Por este motivo, a imprensa muitas vezes usa o
termo hacker para descrever aqueles que ilicitamente acessam sistemas e redes com intenes
criminais, maliciosas ou sem escrpulos. O termo mais preciso para este tipo de hacker de
computadores cracker um termo criado por hackers na dcada de 80 para diferenciar as duas
comunidades.
1.3.1.1. T ons de cinza
Dentro da comunidade de indivduos que encontram e exploram vulnerabilidades em sistemas e redes
existem diversos grupos distintos. Estes grupos so frequentemente descritos pela tonalidade do
chapu que eles usam quando realizam suas investigaes de segurana e esta tonalidade o
indicativo de sua inteno.
O hacker de chapu branco aquele que testa redes e sistemas para examinar seu desempenho e
determinam o quanto vulnerveis elas so uma intruso. Normalmente, hackers de chapu branco
invadem o prprio sistema ou sistemas de um cliente que especificamente os contratou para este
propsito de auditar a segurana. Pesquisadores acadmicos e consultores de segurana
profissionais so dois exemplos de hackers de chapu branco.
Um hacker de chapu preto o sinnimo de um cracker. Em geral, cracker so menos focados em
programao e no lado acadmico de invadir sistemas. Eles muitas vezes confiam em programas de
invaso e exploram vulnerabilidades conhecidas em sistemas para revelar informaes sensveis para
ganho pessoal ou causar danos no sistema alvo ou rede.
O hacker de chapu cinza, por outro lado, possui as habilidades e intenes de um hacker de chapu
branco na maioria das situaes mas usa seu conhecimento para propsitos menos nobres em certas

19

Red Hat Enterprise Linux 6 Guia de Segurana

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.

1.3.2. Ameaas Segurana de Rede


Procedimentos mal feitos na cofnigurao dos seguintes aspectos da rede podem aumentar o risco de
ataque.
1.3.2.1. Arquiteturas Inseguras
Uma rede mal configurada o ponto de entrada para usurios no autorizados. Deixar uma rede local
aberta, baseada em confiana, vulnervel internet altamente insegura tanto como deixar a porta
entreaberta em um bairro de alta criminalidade nada pode acontecer por um certo tempo, mas
eventualmente algum ir explorar a oportunidade.
1.3.2.1.1. Redes de T ransmisso
Administradores de Sistemas frequentemente erram na percepo da importncia do hardware de rede
em seus esquemas de segurana. Hardware simples como hubs e roteadores dependem de
transmisso ou princpios fora do switch; que significa, toda vez que um n transmite dados pela rede
para um n recipiente, o hub ou o roteador envia pacotes de dados at que o n recipiente receba e
processe os dados. Este mtodo o mais vulnervel para falsificao de endereos do address
resolution protocol (ARP) ou media access control (MAC) por ambos invasores externos e usurios no
autorizados no host local.
1.3.2.1.2. Servidores Centralizados
Outra armadilha de rede potencial o uso de computao centralizada. Uma medida comum para cortar
custos em muitas empresas consolidar todos os servios a uma nica mquina poderosa. Isto pode
ser conveniente j que mais fcil de gerenciar e custa consideravelmente menos do que
configuraes de servidores mltiplos. Entretanto, um servidor centralizado apresenta um nico ponto
de falha na rede. Se o servidor central estiver comprometido, pode tornar a rede completamente sem
uso ou pior, inclinado manipulao de dados ou roubo. Nestas situaes, um servidor central se torna
uma porta aberta que permite acesso rede inteira.

1.3.3. Ameaas Segurana do Servidor


A segurana do servidor to importante quanto a segurana de rede porque os servidores muitas
vezes possuem uma grande parcela de informaes vitais de uma organizao. Se um servidor estiver
comprometido, todo o seu contedo pode se tornar disponvel para o cracker roubar ou manipular
vontade. As sees seguintes detalham alguns dos problemas principais.
1.3.3.1. Servios no usados e Portas Abertas
A instalao completa do Red Hat Enterprise Linux 6 possui mais de 1000 aplicativos e pacotes de
bibliotecas. Entretanto, a maioria dos administradores de servidores optam por no instalar todos os
pacotes da distribuio, preferindo em vez disso instalar os pacotes bsicos, incluindo diversas
aplicaes do servidor.
Uma ocorrncia comum entre administradores de sistemas instalar o sistema operacional sem prestar
ateno a quais programas esto atualmente sendo instalados. Isso pode ser problemtico porque

20

Captulo 1. Viso Geral da Segurana

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

Red Hat Enterprise Linux 6 Guia de Segurana

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.

1.3.4. Ameaas Estao de Trabalho e Segurana no PC domstico.


Estaes de trabalho e PCs domsticos podem no serem to inclinados ataques quanto em redes
ou servidores, mas j que frequentemente possuem dados sensveis, tais como informaes de cartes
de crdito, eles so alvos de crackers de sistemas. Estaes de trabalho podem tambm ser cooptadas
sem o conhecimento do usurio e usadas como mquinas "escravos" em ataques coordenados. Por
estas razes, conhecer as vulnerabilidades de uma estao de trabalho pode tirar os usurios a dor de
cabea de reinstalar o sistema operacional, ou pior, se recuperar de roubo de dados.
1.3.4 .1. Senhas Ruins
Senhas ruins so uma das maneiras mais fceis para um invasor ganhar acesso a um sistema. Para
mais informaes em como evitar essas armadilhas quando criar uma senha, consulte a Seo 2.1.3,
Segurana da Senha.
1.3.4 .2. Aplicaes Clientes Vulnerveis
Apesar de um administrador poder ter um servidor totalmente seguro e com correes, isto no significa
que usurios remotos esto seguros ao acessa-lo. Por exemplo, se o servidor oferece T elnet ou
servios FT P para uma rede pblica, um invasor pode capturar os nomes de usurios e senha em texto
puro conforme eles passam pela rede e ento usar as informaes da conta para acessar a estao de
trabalho do usurio remoto.
Mesmo quando usar protocolos seguros, como SSH, um usurio remoto pode estar vulnervel a certos
ataques se eles no manterem suas aplicaes clientes atualizadas. Por exemplo, clientes v.1 SSH so
vulnerveis um ataque X-forwarding a partir de servidores SSH. Uma vez conectados ao servidor, o
invasor pode silenciosamente capturar qualquer digitao e cliques do mouse feitos no cliente sobre a
rede. Este problema foi consertado no protocolo SSH v.2, mas parte do usurio acompanhar quais

22

Captulo 1. Viso Geral da Segurana

aplicaes possuem tais vulnerabilidades e atualiza-las conforme necessrio.


A Seo 2.1, Segurana da Estao de T rabalho discute em mais detalhes quais passos os
administradores e usurios domsticos devem tomar para limitar a vulnerabilidade das estaes de
trabalho dos computadores.

1.4. Exploraes Comuns e Ataques


T abela 1.1, Exploraes Comuns detalha algumas das exploraes mais comuns e pontos de entrada
usados por invasores para acessar recursos de rede organizacionais. A chave para estas exploraes
comuns so explicaes de como elas so realizadas e como os administradores podem proteger
adequadamente sua rede contra tais ataques.

23

Red Hat Enterprise Linux 6 Guia de Segurana

T abela 1.1. Exploraes Comuns


Explorao

Descrio

Senhas Nulas ou
Padro

Deixar as senhas administrativas em


branco ou usar um conjunto de senhas
padres definidas pelo fabricante do
produto. Isto mais comum em
hardwares como routers e firewalls,
embora alguns servios aplicados no
LInux possam conter senhas de
administrao padro (embora o Red
Hat Enterprise Linux no distribudo
com eles).

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

Servios seguros as vezes


empacotam chaves de segurana
padro para o desenvolvimento ou
avaliao para propsitos de testes.
Se estas chaves so deixadas como
esto e colocadas em um ambiente de
produo na Internet, todos os
usurios com as mesmas chaves
padres possuem acesso ao recurso
de chave compartilhada e qualquer
informao confidencial que ele
contenha.

IP Spoofing

Uma mquina remota que age como


um n em sua rede local, encontra
vulnerabilidades em seus servidores e
instala um programa de backdoor
(porta-dos-fundos) ou um trojan horse
para obter controle sob seus recursos
de rede.

O mais comum em pontos de acesso


wireless e equipamentos de servidor
seguro pr-configurados.

Spoofing um tanto difcil, pois ele


envolve que o atacante prediga os
nmeros da sequncia do T CP/IP para
coordenar uma conexo aos sistemas
alvo, mas diversas ferramentas esto
disponveis para ajudar os invasores a
explorar tal vulnerabilidade.
Depende do sistema alvo que est
executando os servios (tal como rsh,
telnet, FT P entre outros) que usam
as tcnicas de autenticao sem
criptografia, que no so
recomendadas quando comparadas ao
PKI ou outras formas de autenticao
criptografadas usadas em ssh ou
SSL/T LS.

Eavesdropping
(Interceptao)

24

Uma coleta dos dados que passam


entre dois ns ativos em uma rede,

Este tipo de ataque funciona mais com

Captulo 1. Viso Geral da Segurana

(Interceptao)

entre dois ns ativos em uma rede,


interceptando a conexo entre os dois
ns.

protocolos de transmisso de texto


simples como o T elnet, FT P, e
transferncias de HT T P.
Invasores remotos devem ter acesso
ao sistema comprometido em uma LAN
para realizar tal ataque. Geralmente o
atacante usou um ataque ativo (como o
IP spoofing ou man-in-the-middle) para
comprometer um sistema na LAN.
Medidas preventivas incluem servios
com troca de chave criptogrfica,
senhas de uma vez, ou autenticao
criptografada para prevenir que
senhas sejam roubadas. Uma
criptografia forte durante a
transmisso tambm recomendada.

Vulnerabilidades
de Servios

Um atacante encontra um defeito ou


um furo em um servio executado sob
a Internet; atravs desta
vulnerabilidade, o atacante
compromete todo o sistema e qualquer
dado que ele possa conter, e pode
possivelmente comprometer outros
sistemas na rede.

Os servios baseados em HT T P como


o CGI so vulnerveis execuo de
comando remoto e at mesmo acesso
de shell interativo. Mesmo se o servio
HT T P executasse um usurio no
privilegiado como "nobody",
informaes como arquivos de
configurao e mapas de rede
poderiam ser lidos ou o atacante pode
iniciar uma negao de ataque de
servio que drena os recursos do
sistema ou o torna indisponvel para
outros usurios.
Os servios as vezes podem conter
vulnerabilidades que passam
despercebidas durante o
desenvolvimento e teste; estas
vulnerabilidades (tais como buffer
overflows, onde atacantes quebram um
sistema usando valores arbitrrios que
preenchem o buffer de memria de um
aplicativo, (dando ao atacante o pedido
de comando interativo do qual eles
podem executar comandos arbitrrios)
pode fornecer controle administrativo
completo ao atacante.
Administradores devem ter certeza de
que os servios no so executados
como root, e devem estar atentos s
correes e atualizaes de erratas
para aplicativos de fabricantes ou
organizaes de segurana como o
CERT e CVE.

25

Red Hat Enterprise Linux 6 Guia de Segurana

Vulnerabilidades
de Aplicativos

Atacantes encontram falhas em


desktops e aplicativos de estaes de
trabalho (tal como clientes de email) e
executam cdigos arbitrrios,
implementam trojan horses para
comprometimento futuro ou quebra de
sistemas. Exploraes futuras podem
ocorrer se a estao de trabalho
comprometida possui privilgios
administrativos no resto da rede.

As estaes de trabalho e desktops


tm mais tendncia a serem
exploradas pois os funcionrios no
possuem o conhecimento ou
experincia de evitar ou detectar o
comprometimento. crucial informar
indivduos dos riscos que correm
quando instalam softwares no
autorizados ou abrir anexos de emails
no solicitados.
Medidas de segurana podem ser
implementadas para que clientes de
email no abram automaticamente ou
executem anexos. Alm disso, a
atualizao automtica de software da
estao de trabalho via Red Hat
Network ou outros servios de
gerenciamento de sistemas podem
aliviar a carga da implementao de
segurana de mquina em mquina.

Ataques Denial of
Service (DoS)

O atacante ou grupo de atacantes


coordenam contra uma rede de uma
empresa ou recursos de servidor
enviando pacotes no autorizados ao
host alvo (tanto o servidor, router ou
estao de trabalho). Isto fora o
recurso a se tornar indisponvel para
usurios legtimos.

O caso de ataque DoS mais reportado


nos E.U.A. ocorreu em 2000. Diversos
sites do governo e comerciais com alto
ndice de trfego se tornaram
indisponveis por um ataque
coordenado de inundao de pings,
usando diversos sistemas
comprometidos com conexes de
banda larga agindo como zombies, ou
ns de broadcast redirecionados.
Pacotes fonte so geralmente forjados
(assim como retransmitidos), tornado a
investigao da verdadeira fonte de
ataque um tanto difcil.
Avanos nos filtros de ingresso (IET F
rfc2267) usando o iptables e
Network Intrusion Detection Systems
como o snort assistem
administradores no rastreamento e
previnem ataques distribudos do DoS.

1.5. Atualizaes de Segurana


Conforme as vulnerabilidades de segurana so descobertas, o software afetado deve ser atualizado
para limitar quaisquer riscos potenciais de segurana. Se o software parte de um pacote dentro de
uma distribuio Red Hat Enterprise Linux que suportada atualmente, a Red Hat est comprometida a
lanar atualizaes de pacotes que consertam as vulnerabilidades assim que possvel. Muitas vezes,

26

Captulo 1. Viso Geral da Segurana

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.

1.5.1. Atualizando Pacotes


Quando atualizar o software em um sistema, importante baixar a atualizao de uma fonte confivel.
Um invasor pode facilmente reconstruir um pacote com o mesmo nmero de verso do pacote suposto
para consertar o problema mas com uma explorao de segurana diferente e lana-lo na internet. Se
isso acontecer, use medidas de segurana como verificar arquivos contra os RPMs originais no
detecta as exploraes. Assim, muito importante de somente baixar os RPMs de fontes confiveis,
como a Red Hat e checar a assinatura do pacote para verificar sua integridade.

Nota
O Red Hat Enterprise Linux inclui um cone conveniente no painel que mostra alertas vsiveis
quando h uma atualizao disponvel.

1.5.2. Verificando Pacotes Assinados


T odos os pacotes do Red Hat Enterprise Linux so assinados com a chave GPG da Red Hat. O GPG
significa GNU Privacy Guard, ou GnuPG, um pacote de software livre usado para garantir a
autenticidade dos arquivos distribudos. Por exemplo, uma chave privada (chave secreta) trava o pacote
enquanto a chave pblica destrava e verifica o pacote. Se a chave pblica distribuda pelo Red Hat
Enterprise Linux no corresponder com a chave privada durante a verificao do RPM, o pacote pode
ter sido alterado e portanto no pode ser confivel.
O utilitrio RPM dentro do Red Hat Enterprise Linux 6 automaticamente tenta verificar a assinatura GPG
de um pacote RPM antes de instala-lo. Se a chave GPG da Red Hat no est instalada, instale-a a partir
de uma locao esttica e segura, como o CD-ROM ou DVD de instalao da Red Hat.
Assumindo que o disco montado no /m nt/cdrom , use o seguinte comando para importa-lo ao
keyring (um banco de dados de chaves confiveis no sistema):
rpm --import /mnt/cdrom/RPM-GPG-KEY

Para exibir uma lista de todas as chaves instaladas para verificao do RPM, execute o seguinte
comando:
rpm -qa gpg-pubkey*

O resultado ser similar ao seguinte:


gpg-pubkey-db42a60e-37ea5438

Para exibir detalhes sobre uma chave especfica, use o comando rpm -qi seguido do resultado do
comando anterior, como neste exemplo:

27

Red Hat Enterprise Linux 6 Guia de Segurana

rpm -qi gpg-pubkey-db42a60e-37ea5438

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.

1.5.3. Instalando Pacotes Assinados


A instalao para a maioria dos pacotes podem ser feitas seguramente (exceto pacotes do kernel)
emitindo o seguinte comando:
rpm -Uvh /tmp/updates/*.rpm

Para os pacotes do kernel, use o seguinte comando:


rpm -ivh /tmp/updates/<kernel-package>

Substitua o <kernel-package> no exemplo anterior com o nome do RPM kernal.


Uma vez que a mquina foi seguramente reinicializada usando o novo kernel, o kernel antigo pode ser
removido usando o seguinte comando:
rpm -e <old-kernel-package>

Substitua o <old-kernel-package> do exemplo anterior com o nome do RPM do kernel antigo.

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

Captulo 1. Viso Geral da Segurana

1.5.4. Aplicando as Mudanas


Depois de baixar e instalar erratas de segurana e atualizaes, importante parar o uso do software
antigo e iniciar o uso do novo software. Como isto feito, depende do tipo de software que foi
atualizado. A seguinte lista relaciona as categorias gerais dos softwares e fornece instrues para usar
as verses atualizadas depois de uma atualizao de pacote.

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

Red Hat Enterprise Linux 6 Guia de Segurana

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

No exemplo anterior, substitua o <service-name> com o nome do servio, como o sshd.


Servios xinetd
Servios controlados pelo super servio xinetd somente roda quando h uma conexo ativa.
Exemplos de servios controlados pelo xinetd incluem o T elnet, IMAP e POP3.
Pela razo que novas instncias destes servios so iniciadas pelo xinetd cada vez que um
novo pedido recebido, as conexes que ocorrem depois de uma atualizao so
manuseadas pelo software atualizado. Entretanto se existem conexes ativas no momento que
o servio controlado pelo xinetd atualizado, eles so atendidos pela verso antiga do
software.
Para terminar as instncias antigas de um determinado servio controlado pelo xinetd,
atualize o pacote para o servio e ento pare todos os processos atualmente em execuo.
Para determinar se o processo est rodando, use o comando ps e ento o kill ou killall
para parar instncias atuais do servio.
Por exemplo, se uma errata de segurana dos pacotes im ap lanada, atualize os pacotes e
ento digite o seguinte comando como root no prompt do shell:
ps aux | grep imap

Este comando retorna todas sesses ativas do IMAP. Sesses individuais podem ento ser
terminadas digitando o seguinte comando:
kill <PID>

Se isto falhar para terminar a sesso, use o seguinte comando ento:


kill -9 <PID>

Nos exemplos anteriores, substitua o <PID> com o nmero de identificao do processo


(encontrado na segunda coluna do comando ps) para uma sesso de IMAP.
Para terminar todas as sesses IMAP ativas, digite o seguinte comando:
killall imapd

[1] http ://law.jrank.o rg /p ag es /379 1/Kevin-Mitnic k-Cas e-19 9 9 .html


[2] http ://www.living internet.c o m/i/ia_hac kers _levin.htm
[3] http ://www.thereg is ter.c o .uk/20 0 7/0 5/0 4/txj_no nfeas anc e/
[4] http ://www.fud z illa.c o m/c o ntent/view/78 47/1/

30

Captulo 1. Viso Geral da Segurana

[5] http ://www.internetwo rld s tats .c o m/s tats .htm


[6 ] http ://www.c ert.o rg
[7] http ://www.c ert.o rg /s tats /c ert_s tats .html
[8 ] http ://news .c net.c o m/Co mp uter-c rime-c o s ts -6 7-b illio n,-FBI-s ays /210 0 -7349 _3-6 0 28 9 46 .html
[9 ] http ://www.c io .c o m/artic le/50 48 37/Why_Sec urity_Matters _No w
[10 ] http ://www.s ans .o rg /res o urc es /erro rs .p hp

31

Red Hat Enterprise Linux 6 Guia de Segurana

Captulo 2. Protegendo sua Rede


2.1. Segurana da Estao de Trabalho
Proteger um ambiente Linux se inicia com a estao de trabalho. Seja trancando uma mquina pessoal
ou protegendo um sistema corporativo, uma poltica de segurana bem feita comea com o computador
individual. Uma rede de computadores to segura quanto seu n mais vulnervel.

2.1.1. Avaliando a Segurana da Estao de Trabalho


Quando avaliar a segurana de uma estao de trabalho do Red Hat Enterprise Linux, considere o
seguinte:
Segurana da BIOS e do carregador de Boot possvel que um usurio no autorizado acesse a
mquina fisicamente e inicialize como um usurio nico ou modo de recuperao sem uma senha?
Segurana da Senha Quo seguros esto as senhas das contas de usurios na mquina?
Controles Administrativos Quem possuir uma conta no sistema e quanto controle administrativo
possuiro?
Servios de Redes Disponveis Quais servios esto escutando por pedidos da rede e eles
deveriam estar rodando?
Firewalls Pessoais Qual tipo de firewall seria necessrio?
Ferramentas de Comunicao com Segurana Avanada Quais ferramentas devem ser usadas
para se comunicar entre estaes de trabalho e quais deveriam ser evitadas?

2.1.2. Segurana da BIOS e do Carregador de Boot


A proteo por senha da BIOS (ou equivalente BIOS) e do carregador de boot podem prevenir que
usurios no autorizados que possuem acesso fsico aos sistemas de realizarem o boot usando
mdias removveis ou obter privilgios root atravs do modo de usurio nico. As medidas de segurana
que voc deve tomar para se proteger de tais ataques dependem tanto da sensibilidade da informao
na estao de trabalho e da localizao da mquina.
Por exemplo, se uma mquina usada em uma exposio e no possui nenhuma informao sensvel,
ento pode no ser crtico prevenir tais ataques. Entretanto, se um notebook de um empregado com
chaves pessoais SSH e sem encriptao da rede da empresa deixado desacompanhado na mesma
exposio, isso poderia ser uma brecha de segurana maior com ramificaes em toda a empresa.
Se a estao de trabalho est localizada em um lugar onde somente pessoas autorizadas ou de
confiana possuem acesso, ento proteger a BIOS ou o carregador do boot pode no ser necessrio.
2.1.2.1. Senhas da BIOS
As duas razes primrias para proteger a BIOS de um computador com senha so

[11] :

1. Prevenindo Mudanas s Configuraes da BIOS Se um invasor possui acesso BIOS, ele


pode configura-la para fazer o boot de um disquete ou CD-ROM. Sendo possvel entrar no modo
de recuperao ou modo de usurio nico, que permite iniciar processos arbitrrios no sistema
ou copiar dados sensveis.
2. Prevenindo Inicializao do Sistema Algumas BIOS permitem proteo por senha do processo
de boot. Quando ativados, um invasor forado a entrar com uma senha antes que a BIOS inicie
o carregador de boot.
Porque os mtodos para configurar a senha da BIOS podem variar entre os fabricantes de computador,
consulte o manual do computador para instrues especificas.

32

Captulo 2. Protegendo sua Rede

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>

Substitua <password-hash> com o valor retornado pelo /sbin/grub-m d5-crypt [12] .


A prxima vez que o sistema inicializar, o menu do GRUB impede o acesso ao editor ou interface de
comando sem primeiro pressionar p seguido pela senha do GRUB.
Infelizmente, esta soluo no previne que um invasor inicialize por um sistema operacional no seguro
em um ambiente de boot duplo. Para isto, uma parte diferente do arquivo /boot/grub/grub.conf
deve ser editada.

33

Red Hat Enterprise Linux 6 Guia de Segurana

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>

2.1.3. Segurana da Senha


As senhas so o mtodo primrio que o Red Hat Enterprise Linux usa para verificar a identidade do
usurio. Isto porque a segurana de senha to importante para a proteo do usurio, da estao
de trabalho e da rede.
Por motivos de segurana, o programa de instalao configura o sistema para usar o Secure Hash
Algorithm 512 (SHA512) e senhas shadow. altamente recomendado que voc no altere essas
configuraes.
Se senhas shadow no so selecionadas durante a instalao, todas as senhas so armazenadas
como um hash de uma via no arquivo de leitura pblica /etc/passwd, que faz o sistema vulnervel
ataques de quebra de senhas offline. Se um invasor pode ter acesso mquina como um usurio
normal, ele pode copiar o arquivo /etc/passwd para sua prpria mquina e rodar quaisquer
programas de quebra de senha. Se houver uma senha insegura no arquivo, somente um questo de
tempo at que o invasor a descubra.
Senhas shadow eliminam este tipo de ataque armazenando as senhas hash no arquivo /etc/shadow,
que pode ser lido somente pelo usurio root.
Isto fora um invasor em potencial tentar quebrar senhas remotamente, autenticando-se em um servio
de rede na mquina, como SSH ou FT P. Este tipo de ataque de fora bruta muito mais lento e deixa
rastros bvios, j que centenas de tentativas de login so gravadas nos arquivos do sistema. claro
que se o invasor iniciar um ataque no meio da noite em um sistema com senhas fracas, o invasor pode
ter ganhado o acesso antes do amanhecer e editado os arquivos de log para encobrir seus rastros.
Alm das consideraes de formato e armazenamento existe a questo do contedo. A coisa mais
importante que um usurio pode fazer para proteger sua conta contra um ataque de quebras de senha
criar uma senha forte.
2.1.3.1. Criando Senhas Fortes
Quando criar uma senha segura, uma boa idia seguir essas diretrizes:

34

Captulo 2. Protegendo sua Rede

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

Red Hat Enterprise Linux 6 Guia de Segurana

As seguintes diretrizes lhe ajudaro a criar uma senha forte:


Faa a Senha com no Mnimo 8 Dgitos Quanto mais longa a senha, melhor. Se usar senhas
MD5, ela deve ser de 15 ou mais dgitos . Com senha DES, use a extenso mxima (oito caracteres).
Misture Maisculas e Minsculas O Red Hat Enterprise Linux diferencia maisculas de
minsculas, ento misture as letras para aumentar a fora da senha.
Misture Letras e Nmeros Adicionar nmeros s senhas, especialmente quando adicionados no
meio (no s no incio ou no final), pode aumentar a fora da senha.
Inclua Caracteres No Alfa Numricos Caracteres especiais como &, $, e > podem melhorar muito
a fora de uma senha (isto no possvel se usar senhas DES).
Escolha uma Senha que Voc pode se Lembrar A melhor senha do mundo no faz nada se voc
no lembra-la; use acrnimos ou outros dispositivos mnemnicos para ajudar a memorizar senhas.
Com estas regras, pode parecer difcil criar uma senha que atenda todos esses critrios de uma senha
eficiente e evitar as peculiaridades de uma ruim. Felizmente, existem alguns passos que voc pode
tomar para gerar uma senha segura, fcil de lembrar.
2.1.3.1.1. Metodologia para Criao de Senhas Seguras
Existem muitos mtodos que pessoas usam para criar senhas seguras. Um dos mtodos mais
populares envolvem acrnimos. Por exemplo:
Pense em uma frase fcil de se lembrar, como esse em ingls:
"over the river and through the woods, to grandmother's house we go."
Depois, transforme a frase em um acrnimo (incluindo a pontuao).
otrattw,tghwg.
Adicione complexidade substituindo nmeros e smbolos por letras no acrnimo. Por exemplo,
substitua 7 pelo t e o smbolo (@ ) pelo a:
o7r@ 77w,7ghwg.
Adicione mais complexidade colocando em maisculo pelo menos uma letra, tal como H.
o7r@ 77w,7gHwg.
Finalmente, no use o exemplo da senha acima em qualquer sistema, nunca.
Enquanto criar senhas seguras imperativo, gerencia-las propriamente tambm importante,
especialmente para administradores de sistemas dentro de grandes organizaes.
2.1.3.2. Criando Senhas de Usurios Dentro de Uma Organizao
Se uma organizao possui um grande nmero de usurios, os administradores de sistema possuem
duas opes bsicas disponveis para forar o uso de boas senhas. Eles podem criar senhas para o
usurio ou eles podem deixar os usurios criarem suas prprias senhas e verificando que as senhas
so de qualidade aceitvel.
Criar senhas para os usurios garante que as senhas sejam boas, mas se torna uma tarefa
assustadora conforme a organizao cresce. T ambm aumenta o risco dos usurios escreverem suas
senhas em papel.
Por estas razes, a maioria dos administradores de sistemas preferem que os usurios criem suas
prprias senhas, mas ativamente verificar que as senhas sejam boas e em alguns casos, forar os
usurios a muda-las periodicamente atravs de expirao de senha.
2.1.3.2.1. Forando Senhas Fortes
Para proteger a rede de intruses uma boa idia para os administradores de sistema verificar que as

36

Captulo 2. Protegendo sua Rede

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.

2.1.3.2.2. Frases Secretas


Frases secretas e senhas so um pilar na segurana na maioria dos sistemas de hoje. Infelizmente,
tais tcnicas como biometria e autenticao de dois fatores ainda no se tornaram o caminho principal
em muitos sistemas. Se senhas sero usadas para proteger um sistema, ento o uso de frases
secretas devem ser consideradas. Frases secretas so mais longas do que senhas e fornecem melhor
proteo do que uma senha mesmo quando implementadas sem caracteres padres como nmeros e
smbolos.
2.1.3.2.3. Expirao de Senha
Expirao de senha uma outra tcnica usada por administradores de sistemas para se defender
contra senhas ruins dentro de uma organizao. Expirao de senha significa que depois de um
especificado perodo (normalmente 90 dias), o usurio questionado para criar uma nova senha. A
teoria por trs disto que se um usurio forado a mudar sua senha periodicamente, uma senha
descoberta somente til ao invasor por um perodo de tempo limitado. A desvantagem da expirao de
senha, entretanto, que usurios so mais inclinados a escrever suas senhas no papel.
Existem dois programas primrios usados para especificar a expirao no Red Hat Enterprise Linux: o
comando chage ou a aplicao User Manager (system -config-users).

37

Red Hat Enterprise Linux 6 Guia de Segurana

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>

O exemplo seguinte exemplo de sesso interativa usando este comando:


[root@myServer ~]# chage davido
Changing the aging information for davido
Enter the new value, or press ENTER for the default
Minimum Password Age [0]: 10
Maximum Password Age [99999]: 90
Last Password Change (YYYY-MM-DD) [2006-08-18]:
Password Expiration Warning [7]:
Password Inactive [-1]:
Account Expiration Date (YYYY-MM-DD) [1969-12-31]:
[root@myServer ~]#

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

Captulo 2. Protegendo sua Rede

Figura 2.1. Especificando as opes de expirao de senha

2.1.4. Controles Administrativos


Quando administrar uma mquina domstica, o usurio deve realizar algumas tarefas como usurio root
ou adquirindo privilgios root pelo programa setuid, como o sudo ou su. Um programa setuid um que
opera com a ID de usurio (UID) do proprietrio do programa em vez do usurio operar o programa.
T ais programas so denotados por um s na seo proprietrio de uma lista de formato longo, como no
exemplo a seguir:
-rwsr-xr-x 1 root root 47324 May 1 08:09 /bin/su

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

Red Hat Enterprise Linux 6 Guia de Segurana

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

Captulo 2. Protegendo sua Rede

T abela 2.1. Mtodos para Desabilitar a Conta Root


Mtodo

Descrio

Efeitos

No afeta

Alternado
o shell do
root.

Edite o arquivo
/etc/passwd e mude o
shell de /bin/bash para
/sbin/nologin.

Impede acesso ao shell do


root e registra nos logs
quaisquer tentativas.

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.

Impede acesso conta root


pelo console ou rede. Os
programas seguintes so
impedidos de acessar a
conta root:

Programas que no logam


como root mas realizam
tarefas administrativas
atravs do setuid ou outros
mecanismos.

login
gdm

Os seguintes programas
no so impedidos de
acessar a conta root:

kdm

su

xdm

sudo

Outros servios de rede


que abram o tty

ssh
scp
sftp

Desativan
do logins
root SSH.

Edite o arquivo
/etc/ssh/sshd_config
e defina o parmetro
Perm itRootLogin para
no.

Impede o acesso root pela


sute de ferramentas
OpenSSH. Os seguintes
programas so impedidos
de acessar a conta root:

Isto somente impede o


acesso root sutes de
ferramentas OpenSSH.

41

Red Hat Enterprise Linux 6 Guia de Segurana

ssh
scp
sftp
Use o
PAM para
limitar
acesso
root aos
servios.

Edite o arquivo para o


servio alvo no diretrio
/etc/pam .d/. T enha
certeza que o
pam _listfile.so
requerido para
autenticao. [a]

Impede o acesso root aos


servios de rede que esto
atentos ao PAM.

Programas e servios que


no esto atentos ao PAM.

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.

[a] Co ns ulte a Se o 2.1.4.2.4, Des ativand o o Ro o t d e us ar o PAM p ara d etalhes .

2.1.4 .2.1. Desativando o Shell do Root


Para impedir usurios de logar diretamente como root, o administrador do sistema pode definir o shell
da conta root para /sbin/nologin no arquivo /etc/passwd. Isso impede o acesso conta root
atravs de comando que requerem um shell, como os comandos su e o ssh

Importante
Programas que no requerem acesso ao shell, como clientes de e-mail ou o comando sudo,
podem ainda acessar a conta root.

2.1.4 .2.2. Desativando Logins Root


Para limitar ainda mais o acesso conta root, os administradores pode desativar os logins root no
console editando o arquivo /etc/securetty. Este arquivo lista todos os dispositivos em que o
usurio root permitido logar. Se o arquivo no existir, o usurio root pode se autenticar atravs de

42

Captulo 2. Protegendo sua Rede

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.

2.1.4 .2.3. Desativando Logins Root SSH


Logins root pelo protocolo SSH so desativados por padro no Red Hat Enterprise Linux 6; entretanto,
se esta opo foi ativada, ela pode ser desativada novamente editando o arquivo de configurao do
daemon SSH (/etc/ssh/sshd_config). Mude a linha que contm:
PermitRootLogin yes

para ficar como:


PermitRootLogin no

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`

2.1.4 .2.4 . Desativando o Root de usar o PAM


O PAM, pelo mdulo /lib/security/pam _listfile.so, permite uma grande flexibilidade em negar
contas especficas. O administrador pode usar este mdulo para referenciar uma lista de usurios que
no esto permitidos de se autenticar. Abaixo est um exemplo de como o mdulo usado pelo
servidor FT P vsftpd no arquivo de configurao do PAM /etc/pam .d/vsftpd, o caractere \ no final
da primeira linha no exemplo seguinte no necessrio se a diretiva est em uma linha):
auth required /lib/security/pam_listfile.so item=user \
sense=deny file=/etc/vsftpd.ftpusers onerr=succeed

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

Red Hat Enterprise Linux 6 Guia de Segurana

2.1.4 .3. Limitando o Acesso Root


Mais do que completamente negar acesso ao usurio root, o administrador pode querer permitir acesso
somente por programas setuid, como o su ou sudo.
2.1.4 .3.1. O Comando su
Quando um usurio executa o comando su, ele questionado pela senha root e depois da
autenticao, recebe a linha de comando do root.
Uma vez autenticado pelo comando su, o usurio se torna o usurio root e possui acesso
administrativo absoluto ao sistema [13] . Alm disso, uma vez que um usurio se tornou root, possvel
para ele usar o comando su para mudar para qualquer outro usurio no sistema sem ser questionado
por uma senha.
Pela razo deste programa ser to poderoso, os administradores dentro de uma organizao podem
desejar limitar o acesso a este comando.
Uma das maneiras mais simples de fazer isso adicionar usurios ao grupo administrativo especial
chamado wheel. Para fazer isso, digite o seguinte comando como root:
usermod -G wheel <username>

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

Captulo 2. Protegendo sua Rede

Figura 2.2. Adicionando usurios ao grupo "wheel".

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

required /lib/security/$ISA/pam_wheel.so use_uid

Esta mudana significa que somente membros do grupo administrativo wheel podem usar este
programa.

Nota
O usurio root parte do grupo wheel por padro.

2.1.4 .3.2. O Comando sudo


O comando sudo oferece outra abordagem para dar aos usurios o acesso administrativo. Quando
usurios confiveis precedem um comando administrativo com o sudo, eles so questionados pela
prpria senha. Ento, quando eles so autenticados e assumindo que o comando permitido, o
comando administrativo executado como se ele fosse o usurio root.
O formato bsico do comando sudo como a seguir:
sudo <command>

No exemplo acima, o <command> seria substituido por um comando normalmente reservado para o
usurio root, tal como o m ount.

45

Red Hat Enterprise Linux 6 Guia de Segurana

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.

2.1.5. Servios de Rede Disponveis


Enquanto o acesso do usurio aos controles administrativos uma questo importante para
administradores do sistema dentro de uma organizao, monitorar quais servios de rede esto ativos
de suma importncia para qualquer um que administra ou opera um sistema Linux.
Muitos servios no Red Hat Enterprise Linux 6 se comportam como servidores de rede. Se um servio
de rede estiver rodando em uma mquina ento a aplicao do servidor (chamada daemon), est
aguardando por conexes em uma ou mais portas da rede. Cada um destes servidores devem ser
tratados como potencias portas de ataque.
2.1.5.1. Riscos ao Servios
Servios de rede podem impor muitos riscos para sistemas Linux. Abaixo segue uma lista de algumas

46

Captulo 2. Protegendo sua Rede

das questes primrias:


Denial of Service Attacks (DoS) Inunda um servio com pedidos, um ataque de negao de
servio pode fazer um sistema inutilizvel conforme ele tenta registrar e responder cada pedido.
Distributed Denial of Service Attack (DDoS) Um tipo de ataque DoS que usa mltiplas mquinas
comprometidas (muitas vezes milhares ou mais) para direcionar um ataque coordenado um
servio, inundando com pedidos e fazendo o servio inutilizvel.
Script Vulnerability Attacks Se um servidor estiver usando scripts para executar aes dentro do
servidor, como servidores web geralmente fazem, um invasor pode atacar os scripts impropriamente.
Estes ataques de vulnerabilidade de script podem levar uma condio de buffer overflow ou
permitir ao invasor alterar arquivos no sistema.
Buffer Overflow Attacks Servios que conectam s portas numeradas de 0 a 1023 devem rodar
como um usurio administrativo. Se a aplicao tiver um buffer overflow explorvel, um invasor
poderia ganhar acesso ao sistema como o usurio executando o deaemon. Pela razo que buffer
overflow existe, os crackers usam ferramentas automatizadas para identificar sistemas com
vulnerabilidades e uma vez que ganharam acesso, eles usam rootkits automatizados para manter o
acesso ao sistema.

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.

2.1.5.2. Identificando e Configurando Servios


Para aumentar a segurana, a maioria dos servios de rede instalados com o Red Hat Enterprise Linux
so desligados por padro. Existem, entretanto, algumas excees notveis:
cupsd O servidor de impresso do Red Hat Enterprise Linux.
lpd Um servidor de impresso alternativo.
xinetd Um super servidor que controla conexes de uma variedade de servidores
subordinados, tais como gssftp e telnet.
sendm ail O Sendmail Mail Transport Agent (MT A) ativado por padro, mas somente escuta
por conexes do localhost.

47

Red Hat Enterprise Linux 6 Guia de Segurana

sshd O servidor OpenSSH que um substituto seguro para o T elnet.


Quando determinar se deixar ou no estes servios rodando, melhor usar o bom senso com cautela.
Por exemplo, se uma impressora no est disponvel, no deixe o cupsd rodando. O mesmo
verdadeiro para o portm ap. Se voc no montar os volumes NFSv3 ou usar o NIS (o servio ypbind),
ento o portm ap deve ser desativado.

Figura 2.3. Ferramentas de Configurao de Servios

Se no estiver certo do propsito para um servio em particular, a Ferramenta de Configurao de


Servios possui um campo de descrio, ilustrado na Figura 2.3, Ferramentas de Configurao de
Servios, que fornece informaes adicionais.
Verificando quais servios de rede esto disponveis para iniciar no momento de boot somente uma
parte da histria. Voc deve tambm verificar quais portas esto abertas e escutando. Consulte a
Seo 2.2.8, Verificando Quais Portas Esto Escutando para mais informaes.
2.1.5.3. Servios Inseguros
Potencialmente, qualquer servio de rede inseguro. Isto explica porque desligar servios no
utilizados to importante. Exploraes de servios so rotineiramente revelados e corrigidos, sendo
muito importante atualizar regularmente pacotes associados com quaisquer servios de rede. Consulte
a Seo 1.5, Atualizaes de Segurana para mais informaes.
Alguns protocolos de rede so inerentemente mais inseguros que outros. Estes incluem quaisquer
servios que:
Transmitir Nomes de Usurios e Senhas Sobre uma Rede Sem Encriptao Muitos protocolos
antigos, como T elnet e FT P no fazem encriptao da sesso de autenticao e deveriam ser
evitados sempre que possvel.
Transmitir Dados Sensveis Sobre uma Rede Sem Encriptao Muitos protocolos transmitem
dados sobre uma rede sem encriptao. Estes protocolos incluem T elnet, FT P, HT T P e SMT P.
Muitos sistemas de arquivos de rede, como NFS e SMB tambm transmitem informaes sobre a
rede sem encriptao. a responsabilidade do usurio limitar quais tipos de dados so transmitidos
quando usar estes protocolos.
Servios de Dump de Memria Remota, como o netdum p, transmitem os contedos de memria

48

Captulo 2. Protegendo sua Rede

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.

2.1.6. Firewalls Pessoais


Depois de que os servios de redes necessrios so configurados, importante implementar um
firewall.

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

Red Hat Enterprise Linux 6 Guia de Segurana

Configuration T ool (system -config-firewall) . Esta ferramenta cria regras abrangentes de


iptables para um firewall de uso geral usando uma interface de painel de controle.
Consulte a Seo 2.5.2, Configurao de Firewall Bsica para mais informaes sobre usar esta
aplicao e suas opes disponveis.
Para usurios avanados e administradores de servidor, configurar manualmente um firewall com o
iptables provavelmente a melhor opo. Consulte a Seo 2.5, Firewalls para mais informaes.
Consulte a Seo 2.6, IPT ables para um guia compreensivo do comando iptables.

2.1.7. Ferramentas de Comunicao Avanadas de Segurana


Conforme o tamanho e popularidade da internet cresceu, tambm cresceram as ameaas de
interceptao de comunicao. Ao passar dos anos, ferramentas tem sido desenvolvidas para encriptar
comunicaes conforme elas so transferidas na rede.
O Red Hat Enterprise Linux 6 vem com duas ferramentas bsicas que usam um alto nvel de algoritmos
de criptografia baseados em criptografia de chave pblica para proteger as informaes conforme elas
viajam na rede.
OpenSSH Uma implementao grtis do protocolo SSH para encriptao de comunicao de rede.
Gnu Privacy Guard (GPG) Uma implementao grtis da aplicao de encriptao PGP (Pretty
Good Privacy) para dados.
O OpenSSH uma maneira segura de acessar uma mquina remota e substituir servios antigos, sem
criptografia como o telnet e rsh. O OpenSSH inclui um servio de rede chamado sshd e trs
aplicaes clientes de linha de comando:
ssh Um cliente de acesso remoto de console seguro.
scp Um comando de cpia remota seguro.
sftp Um cliente de pseudo ftp seguro que permite sesses de transferncia de arquivos
seguros.
Consulte o Seo 3.6, Secure Shell (Shell Segura) para mais informaes relacionadas sobre o
OpenSSH.

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.

2.2. Segurana do Servidor


Quando um sistema usado como um servidor em uma rede pblica, ele se torna um alvo para
ataques. Endurecendo o sistema e trancando servios , portanto, de suma importncia para o
administrador do sistema.
Antes de se aprofundar em questes especficas, revise as seguintes dicas gerais para aumentar a

50

Captulo 2. Protegendo sua Rede

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.

2.2.1. Assegure os Servios com TCP Wrappers e xinetd


Os TCP Wrappers fornecem controle de acesso uma variedade de servios. A maioria dos servios
de rede modernos, como SSH, T elnet e FT P fazem uso dos T CP Wrappers, que fazem guarda entre
pedidos de entrada e os servios solicitados.
Os benefcios oferecidos pelos T CP Wrappers so reforados quando usados em conjunto com o
xinetd, um super servidor que fornece acesso adicional, registro de logs, associao,
redirecionamento e controle de utilizao de recursos.

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

Red Hat Enterprise Linux 6 Guia de Segurana

/etc/hosts.allow:
vsftpd : ALL : banners /etc/banners/

2.2.1.1.2. T CP Wrappers e Avisos de Ataques


Se um determinado host ou rede tiver sido detectada atacando o servidor, os T CP Wrappers podem ser
usados para avisar o administrador de ataques subsequentes daquele host ou rede usando a diretiva
spawn.
Neste exemplo, pressuponha que um cracker da rede 206.182.68.0/24 foi detectado tentando atacar o
servidor. Coloque a seguinte linha no arquivo /etc/hosts.deny para negar quaisquer tentativas de
conexo dessa rede, e registrar as tentativas em log em um arquivo especial:
ALL : 206.182.68.0 : spawn /bin/echo `date` %c %d >> /var/log/intruder_alert

O token %d fornece o nome do servio que o invasor estava tentando acessar.


Para permitir a conexo e registra em log, coloque a diretiva spawn no arquivo /etc/hosts.allow.

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.

2.2.1.1.3. Os T CP Wrappers e Registro de Log Avanado


Se certos tipos de conexes so mais preocupantes que outras, o nvel de log pode ser elevado para
esse servio usando a opo severity.
Neste exemplo, pressuponha que qualquer um tentando se conectar porta 23 (a porta T elnet) em um
servidor FT P seja um invasor. Para simbolizar isso, coloque um sinalizador em erg nos arquivos de log
em vez do sinalizador padro, info e negue a conexo.
Para fazer isso, coloque a seguinte linha no /etc/hosts.deny:
in.telnetd : ALL : severity emerg

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

Captulo 2. Protegendo sua Rede

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

Adicione a seguinte linha:


deny_time

= 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

Isto ativa a prpria interceptao.


Enquanto usar o SENSOR uma boa maneira para detectar e parar conexes de hosts indesejveis,
ela possui desvantagens:
No funciona contra escaneamentos stealth.
Um invasor que sabe que o SENSOR est rodando pode montar um ataque Dos (Denial of Service)
contra determinados hosts, falsificando seus endereos IP e se conectando porta proibida.
2.2.1.2.2. Controlando Recursos de Servidor
Um outro recurso importante do xinetd a habilidade de configurar limites de servios sobre seu
controle.
Isso pode ser feito usando as seguintes diretivas:
cps = <num ber_of_connections> <wait_period> Limita a taxa de conexes de entrada.
Esta diretiva leva dois argumentos:
<num ber_of_connections> O nmero de conexes por segundo para manuseio. Se a
taxa de conexes de entrada maior que isso, o servio temporariamente desativado. O valor
padro cinquenta (50).
<wait_period> O nmero de segundos para esperar antes da reativao do servio
depois que ele foi desativado. O intervalo padro dez (10) segundos.
instances = <num ber_of_connections> Especifica o nmero total de conexes
permitidas a um servio. Esta diretiva aceita tanto um valor de nmero inteiro ou UNLIMIT ED
(ilimitado).
per_source = <num ber_of_connections> Especifica o nmero de conexes permitidas a
um servio por cada host. Esta diretiva aceita tanto um valor de nmero ou UNLIMIT ED (ilimitado).
rlim it_as = <num ber[K|M]> Especifica a quantidade de espao de endereo de memria
que o servio pode ocupar em kilobytes ou megabytes. Esta diretiva aceita tanto um valor de nmero
inteiro ou UNLIMIT ED.
rlim it_cpu = <num ber_of_seconds> Especifica o perodo de tempo em segundos que um

53

Red Hat Enterprise Linux 6 Guia de Segurana

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).

2.2.2. Protegendo o Portmap


O servio portm ap um daemon de atribuio de porta dinmica para servios RPC como NIS e NFS.
Ele possui uma mecanismo de autenticao fraco e possui a habilidade de atribuir uma grande
variedade de portas para os servios que controla. Por estas razes, ele difcil de proteger.

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

Para similarmente limitar trfego UDP, use o seguinte comando.


iptables -A INPUT -p udp ! -s 192.168.0.0/24

--dport 111 -j DROP

Nota
Consulte a Seo 2.5, Firewalls para mais informaes sobre implementar firewalls com
comandos iptables.

2.2.3. Protegendo o NIS


54

Captulo 2. Protegendo sua Rede

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

Red Hat Enterprise Linux 6 Guia de Segurana

2.2.3.3. Edite o Arquivo /var/yp/securenets


Se o arquivo /var/yp/securenets est em branco ou no existe (como o caso depois da
instalao padro), o NIS escuta todas as redes. Uma das primeiras coisas a fazer colocar os pares
de mascara de rede/rede no arquivo para que o ypserv somente responda aos pedidos da rede
apropriada.
Abaixo segue um modelo de entrada de um arquivo /var/yp/securenets:
255.255.255.0

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

--dport 834 -j DROP


--dport 835 -j DROP

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.

2.2.3.5. Use a Autenticao Kerberos


Uma das questes a considerar quando o NIS usado para autenticao que sempre que um usurio
se autentica em uma mquina, uma senha hash do mapa /etc/shadow enviado pela rede. Se um
invasor ganha acesso a um domnio NIS e intercepta o trfego de rede, ele pode coletar nomes de
usurios e senhas hash. Com tempo suficiente, um programa de quebra de senha pode adivinhar
senhas fracas e um invasor pode ter acesso a uma conta vlida na rede.
Desde que o Kerberos usa criptografia de chave secreta, nenhuma senha hash enviada pela rede,

56

Captulo 2. Protegendo sua Rede

fazendo o sistema muito mais seguro. Consulte Gerenciando Cartes Single Sign-On e Smart Cards
para mais informaes sobre o Kerberos.

2.2.4. Protegendo o NFS


Importante
A verso do NFS includa no Red Hat Enterprise Linux 6, o NFSv4, no requer mais o servio
portm ap conforme explicado na Seo 2.2.2, Protegendo o Portmap. O trfego de NFS agora
utiliza o T CP em todas as verses, em vez do UDP, e requer isso quando usar o NFSv4. O
NFSv4 agora inclui o usurio Kerberos e a autenticao de grupo como parte do mdulo do
kernel RPCSEC_GSS. Informaes sobre o portm ap ainda includa, desde que o Red Hat
Enterprise Linux 6 suporta o NFSv2 e o NFSv3, e ambos utilizam o portm ap.

2.2.4 .1. Planeje a Rede Cuidadosamente


Agora que o NFSv4 possui a habilidade de transmitir todas as informaes criptografadas usando o
Kerberos pela rede, importante que o servio esteja configurado corretamente se ele est por trs de
um firewall ou em uma rede segmentada. O NFSv2 e NFSv3 ainda transmitem dados sem segurana e
isso deve ser levado em considerao. Um projeto de rede pensado nessas consideraes podem
impedir brechas na segurana.
2.2.4 .2. Ateno aos Erros de Sintaxe
O servidor NFS determina quais sistemas de arquivos exportar e para quais hosts exportar estes
diretrios consultando o arquivo /etc/exports. Cuidado para no adicionar espaos fora de lugar
quando editar este arquivo.
Por exemplo, a linha seguinte no arquivo /etc/exports compartilha o diretrio /tm p/nfs/ ao host
bob.exam ple.com com permisses de leitura/escrita.
/tmp/nfs/

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>

2.2.4 .3. No Use a Opo no_root_squash


Por padro, o compartilhamento NFS muda o usurio root para usurio nfsnobody, uma conta de
usurio sem previlgios. Isto muda o proprietrio de todos os arquivos criados pelo root para
nfsnobody, que impede o upload de programas com o setuid definido.
Se o no_root_squash usado, os usurios root remotos so capazes de mudar quaisquer arquivos
no sistema de arquivos compartilhados e deixar aplicaes infectadas por trojans para que outros
usurios as executem sem saber.

57

Red Hat Enterprise Linux 6 Guia de Segurana

2.2.4 .4 . Configurao de Firewall NFS


As portas usadas para o NFS so atribudas dinamicamente pelo rpcbind, que pode causar problemas
quando criar regras de firewall. Para simplificar este processo, use o arquivo /etc/sysconfig/nfs para
especificar quais portas sero usadas.
MOUNT D_PORT Porta UDP e T CP para o mountd (rpc.mountd)
ST AT D_PORT Porta UDP e T CP para o status (rpc.statd)
LOCKD_T CPPORT Porta T CP para o nlockmgr (rpc.lockd)
LOCKD_UDPPORT Porta UDP para o nlockmgr (rpc.lockd)
Nmeros de Porta especificadas no devem ser usados por qualquer outro servio. Configure seu
firewall para permitir os nmeros de portas especificadas e tambm a porta 2049 UDP e T CP (NFS)
Rode o comando rpcinfo -p no servidor NFS para ver quais portas e programas RPC esto sendo
usados.

2.2.5. Protegendo o Servidor HTTP Apache


O Servidor HT T P Apache um dos servios mais estveis e seguros que vem com o Red Hat
Enterprise Linux. Um grande nmero de opes e tcnicas esto disponveis para proteger o Servidor
HT T P Apache muitas para serem descritas em detalhes aqui. A seo seguinte explica brevemente
boas prticas quando rodar o Servidor HT T P Apache.
Sempre verifique que quaisquer scripts rodando no sistema funcionam conforme pretendido antes de
coloca-los em produo. T ambm assegure-se que somente o usurio root possui permisses de
escrita a quaisquer diretrios que contm os scripts ou CGIs. Para fazer isso, rode o seguinte comando
como usurio root:
1.

chown root <directory_name>

2.

chmod 755 <directory_name>

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

Captulo 2. Protegendo sua Rede

UserDir enabled
UserDir disabled root

Estas diretivas ativam a navegao de diretrios de usurios para todos os diretrios de


usurios menos o /root/. Para adicionar usurios na lista de contas desativadas, adicione
um lista separada por espaos dos usurios na linha UserDir disabled.

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.

2.2.6. Protegendo o FTP


O File Transfer Protocol (FT P) um protocolo T CP antigo desenvolvido para transferir arquivos em uma
rede. Pela razo que todas as transaes com o servidor, incluindo a autenticao do usurio, no so
criptografadas, considerado um protocolo inseguro e deve ser configurado cuidadosamente.
O Red Hat Enterprise Linux fornece trs servidores FT P.
gssftpd Um daemon de FT P baseado em xinetd e atento ao Kerberos que no transmite
informaes de autenticao na rede.
Red Hat Content Accelerator (tux) Um servidor Web do kernel com capacidades de FT P.
vsftpd Um implementao orientada segurana, autnoma do servio de FT P.
As seguintes diretrizes de segurana so para definir o servio FT P vsftpd
2.2.6.1. Banner de Saudao do FT P
Antes de enviar um nome de usurio e senha, todos os usurios recebem um banner de saudao. Por
padro este banner inclui informaes de verso teis para os invasores que tentam identificar as
fraquezas do sistema.
Para mudar o banner de saudao do vsftpd, adicione a seguinte diretiva ao arquivo
/etc/vsftpd/vsftpd.conf:
ftpd_banner=<insert_greeting_here>

Substitua o <insert_greeting_here> na diretiva acima com o texto da mensagem de saudao.


Para banners com mltiplas linhas, melhor usar um arquivo de banner. Para simplificar o
gerenciamento de banners mltiplos, coloque todos os banners em um novo diretrio chamado
/etc/banners/. O arquivo de banner para conexes FT P neste exemplo o
/etc/banners/ftp.m sg. Abaixo est um exemplo de como o arquivo deve ser:
######### # Hello, all activity on ftp.example.com is logged. #########

59

Red Hat Enterprise Linux 6 Guia de Segurana

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

tambm possvel enviar banners adicionais s conexes de entrada usando os T CP Wrappers


conforme escrito Seo 2.2.1.1.1, T CP Wrappers e Banners de Conexo.
2.2.6.2. Acesso Annimo
A presena do diretrio /var/ftp/ ativa a conta annima.
A maneira mais fcil para criar este diretrio instalar o pacote vsftpd. Este pacote estabelece uma
rvore de diretrios para usurios annimos e configura as permisses nos diretrios para somente
leitura para os usurios annimos.
Por padro o usurio annimo no pode escrever em quaisquer diretrios.

Aviso
Se ativar o acesso annimo a um servidor FT P, esteja atento onde os dados sensveis esto
armazenados.

2.2.6.2.1. Upload Annimo


Para permitir usurios annimos fazer upload de arquivos, recomendado que um diretrio de escrita
somente seja criado dentro do /var/ftp/pub/.
Para fazer isso, digite o seguinte comando:
mkdir /var/ftp/pub/upload

Depois, mude as permisses para que ento os usurios annimos no possam ver os contedos dos
diretrios:
chmod 730 /var/ftp/pub/upload

Um formato de listagem longa do diretrio deve se parecer com:


drwx-wx---

60

2 root

ftp

4096 Feb 13 20:05 upload

Captulo 2. Protegendo sua Rede

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

2.2.6.3. Contas de Usurios


Por causa que o FT P transmite transmite nomes de usurios e senhas no criptografados por redes
desprotegidas para autenticao, uma boa idia negar aos usurios do sistema o acesso ao servidor
com suas contas de usurio.
Para desativar todas as contas de usurios no vsftpd, adicione a seguinte diretiva ao
/etc/vsftpd/vsftpd.conf:
local_enable=NO

2.2.6.3.1. Restringindo Contas de Usurios


Para desativar o acesso FT P para contas especficas ou grupos de contas especficos, como o usurio
root e aqueles com privilgios sudo, a maneira mais fcil para usar um arquivo de lista PAM conforme
descrito na Seo 2.1.4.2.4, Desativando o Root de usar o PAM. O arquivo de configurao PAM para
o vsftpd /etc/pam .d/vsftpd.
tambm possvel desativar contas de usurios dentro de cada servio diretamente.
Para desativar contas de usurios especficas no vsftpd, adicione o nome de usurio ao
/etc/vsftpd/ftpusers
2.2.6.4 . Usar o T CP Wrappers para Controla Acesso
Use o T CP Wrapper para controlar o acesso tanto do daemon FT P conforme descrito na Seo 2.2.1.1,
Aumentando a Segurana com T CP Wrappers.

2.2.7. Protegendo o Sendmail


O Sendmail um Mail T ransfer Agent (MT A) que usa o Simple Mail T ransfer Protocol (SMT P) para
entregar mensagens eletrnicas entre outros MT As e enviar emails para clientes ou agentes de
entrega. Apesar de que muitos MT As so capazes de criptografar o trfego entre eles, a maioria no o
faz, ento enviar emails sobre quaisquer redes pblicas considerado um forma insegura de
comunicao.
recomendado que qualquer um planejando implementar um servidor Sendmail aborde as seguintes
questes.
2.2.7.1. Limitando um DoS (Denial of Service Attack)
Devido natureza do email, um determinado invasor pode causar um flood no servidor com emails bem
facilmente e causar uma negao de servio. Configurar limites nas seguintes diretivas no
/etc/m ail/sendm ail.m c, a efetividade do tais ataques limitada.
confCONNECT ION_RAT E_T HROT T LE O nmero de conexes que o servidor pode receber por

61

Red Hat Enterprise Linux 6 Guia de Segurana

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.

2.2.7.3. Usurios somente de Mail


Para ajudar a impedir que um usurio local explore o servidor Sendmail, melhor para os usurios de
mail somente acessar o servidor Sendmail usando um programa de email. Contas shell no servidor de
mail no devem ser permitidos e todos os usurios shell no arquivo /etc/passwd devem ser definidos
para /sbin/nologin (com a exceo possvel do usurio root).

2.2.8. Verificando Quais Portas Esto Escutando


Depois de configurar servios de rede, importante prestar ateno a quais portas esto na realidade
escutando nas interfaces de rede do sistema. Quaisquer portas abertas podem ser evidncias de uma
invaso.
Existem duas abordagens bsicas para listar as portas que esto escutando na rede. A abordagem
menos confivel solicitar a pilha de rede usando comandos como netstat -an ou lsof -i. Este
mtodo menos confivel desde que estes programas no se conectam mquina a partir da rede,
mas melhor verificar para ver o que est rodando no sistema. Por esta razo, estas aplicaes so
alvos frequentes de substituies por invasores. Crackers tentam cobrir seus rastros se eles abrirem
portas de rede no autorizadas substituindo o netstat e o lsof com suas prprias, verses
modificadas.
Uma maneira mais confivel de checar quais portas esto escutando na rede usar um escaner de
porta como o nm ap.
O seguinte comando emitido a partir do console determina quais portas esto escutando pelas
conexes T CP da rede:
nmap -sT -O localhost

62

Captulo 2. Protegendo sua Rede

O resultado deste comando aparece como a seguir:


Starting Nmap 4.68 ( http://nmap.org ) at 2009-03-06 12:08 EST
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1711 closed ports
PORT
STATE SERVICE
22/tcp
open ssh
25/tcp
open smtp
111/tcp
open rpcbind
113/tcp
open auth
631/tcp
open ipp
834/tcp
open unknown
2601/tcp open zebra
32774/tcp open sometimes-rpc11
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.17 - 2.6.24
Uptime: 4.122 days (since Mon Mar 2 09:12:31 2009)
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at
http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.420 seconds

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

O comando retorna o seguinte resultado:


tcp

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

A poro relevante do resultado deste comando :

63

Red Hat Enterprise Linux 6 Guia de Segurana

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.

2.3. TCP Wrappers e xinetd


Controlar o acesso aos servios de rede uma das tarefas de segurana mais importantes para um
administrador de servidor. O Red Hat Enterprise Linux fornece diversas ferramentas para este
propsito. Por exemplo, um firewall baseado em iptables filtra pacotes de rede indesejados dentro da
pilha de rede do kernel. Para servios de rede que os utilizam, os TCP Wrappers adicionam uma
camada a mais de proteo definindo quais hosts so ou no so permitidos conectar aos servios de
rede "envolvidos (wrapped)". Um tipo de servio de rede wrapped o xinetd super server. O servio
chamado super server porque ele controla conexes de um subconjunto de servios de rede e refina
ainda mais o controle de acesso.
A Figura 2.4, Controle de Acesso para Servios de Rede uma ilustrao bsica de como estas
ferramentas trabalham juntas para proteger os servios de rede.

64

Captulo 2. Protegendo sua Rede

Figura 2.4 . Controle de Acesso para Servios de Rede

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.

2.3.1. TCP Wrappers


Os pacotes de T CP Wrappers (tcp_wrappers e tcp_wrappers-libs) so instalados por padro e
fornecem controle de acesso baseado no host para servios de rede. O componente mais importante
do pacote a biblioteca /lib/libwrap.a ou /lib64 /libwrap.a. Em termos gerais, um servio
T CP wrapped um que foi compilado para a biblioteca libwrap.a.
Quando uma tentativa de conexo feita a um servio T CP Wrapper, o servio primeiro referencia os
arquivos de acesso ao host (/etc/hosts.allow e /etc/hosts.deny) para determinar se o cliente
permitido ou no se conectar. Na maioria dos casos, ele ento usa o syslog daemon (syslogd) para
gravar o nome do cliente solicitante e do servio solicitado em /var/log/secure ou
/var/log/m essages.
Se um cliente permitido se conectar, os T CP Wrappers liberam o controle da conexo para o servio
solicitado e no participa mais na comunicao entre o cliente e o servidor.
Alm de controlar o acesso e autenticao, os T CP Wrappers podem executar comandos para interagir
com o cliente antes de negar ou liberar controle da conexo ao servio de rede solitictado.
Pela razo que os T CP Wrappers so uma adio valiosa a qualquer arsenal de ferramentas de
segurana de um administrador de servidor, a maiorias dos servios de rede dentro do Red Hat
Enterprise Linux so ligados biblioteca libwrap.a. Algumas dessas aplicaes incluem
/usr/sbin/sshd, /usr/sbin/sendm ail, and /usr/sbin/xinetd.

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

Substitua o <binary-name> com o nome do servio de rede binrio.


Se o comando retornar diretamente ao prompt sem nenhum resultado, ento o servio de rede
no ligado ao libwrap.a.
O exemplo seguinte indica que o /usr/sbin/sshd est ligado ao libwrap.a:
[root@myServer ~]# ldd /usr/sbin/sshd | grep libwrap
libwrap.so.0 => /lib/libwrap.so.0 (0x00655000)
[root@myServer ~]#

2.3.1.1. Vantagens do T CP Wrappers


Os T CP Wrappers fornecem as seguintes vantagens sobre outras tcnicas de controle de servio de

65

Red Hat Enterprise Linux 6 Guia de Segurana

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.

2.3.2. Arquivos de Configurao dos TCP Wrappers


Para determinar se um cliente permitido se conectar a um servio, os T CP Wrappers referenciam os
seguintes dois arquivos, que so comumente referidos como arquivos de acesso de hosts:
/etc/hosts.allow
/etc/hosts.deny
Quando um servio T CP wrapped recebe uma solicitao de um cliente, ele realiza os seguintes
passos:
1. Ele faz referencia ao /etc/hosts.allow O servio T CP wrapper analisa sequencialmente o
arquivo /etc/hosts.allow e aplica a primeira regra especificada para aquele servio. Se ele
encontra uma regra correspondente, ele permite a conexo. Se no, vai para o prximo passo.
2. Ele faz referncia ao /etc/hosts.deny O servio T CP wrapper analisa sequencialmente o
arquivo /etc/hosts.deny. Se ele encontrar uma regra correspondente, ele nega a conexo. Se
no, garante acesso ao servio.
A seguir esto pontos importantes a considerar quando usar T CP Wrappers para proteger servios de
rede:
Como as regras de acesso no hosts.allow so aplicadas primeiro, elas tm preferncia sobre as
regras especificadas no hosts.deny. Portanto, se o acesso a um servio permitido no
hosts.allow, uma regra negando acesso ao mesmo servio hosts.deny ignorado.
As regras em cada arquivo so lidas de cima para baixo e a primeira regra correspondente para um
determinado servio a nica aplicada. A ordem das regras extremamente importante.
Se nenhuma regra para o servio encontrada em qualquer arquivo ou nenhum arquivo existe,
acesso ao servio garantido.
Os servios T CP wrappers no fazem cache das regras dos arquivos de acesso dos hosts, ento
quaisquer mudanas no hosts.allow ou hosts.deny acontecem imediatamente, sem reiniciar os
servios de rede.

66

Captulo 2. Protegendo sua Rede

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

2.3.2.1. Formatando Regras de Acesso


Os formatos para ambos /etc/hosts.allow e /etc/hosts.deny so idnticos. Cada regra deve
estar em sua prpria linha. Linhas em branco ou linhas que iniciam com um hash (#) so ignoradas.
Cada regra usa o seguinte formato bsico para controlar acesso aos servios de rede:
<daemon list>: <client list> [: <option>: <option>: ...]

<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

2.3.2.1.1, Carcteres Coringa (wildcards)


2.3.2.1.2, Modelos
2.3.2.2.4, Expanses
2.3.2.2, Campos de Opo

A seguir h um exemplo bsico de regra de acesso ao host:


vsftpd : .example.com

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

Red Hat Enterprise Linux 6 Guia de Segurana

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

Endereo de IP terminando com um ponto (.) Colocar um ponto no final do endereo IP


corresponde a todos os hosts compartilhando os grupos numricos iniciais de um endereo de IP. O
exemplo seguinte se aplica a qualquer host dentro da rede 192.168.x.x:

68

Captulo 2. Protegendo sua Rede

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.

2.3.2.1.3. Portmap e T CP Wrappers


A implementao do Portm ap de T CP Wrappers no suporta busca de hosts, que siginifca que o
portm ap no pode usar hostnames para identificar hosts. Consequentemente, regras de controle de

69

Red Hat Enterprise Linux 6 Guia de Segurana

acesso para portmap no hosts.allow ou hosts.deny devem usar endereos de IP ou a palavra


chave ALL, para especificar os hosts.
Mudanas nas regras de controle de acesso do portm ap podem no ter efeito imediatamente. Voc
pode necessitar reiniciar o servio portm ap.
Servios usados amplamente, como NIS e NFS, dependem do portm ap para operar, ento esteja
atento estas limitaes.
2.3.2.1.4 . Operadores
No presente, regras de controle de acesso aceitam um operador, o EXCEPT . Ele pode ser usado em
ambas listas daemon e listas clientes para uma regra.
O operador EXCEPT permite excees especficas para abranger correspondncias com a mesma
regra.
No exemplo seguinte de um arquivo hosts.allow, todos os hosts exam ple.com so permitidos se
conectarem a todos os servios, exceto cracker.exam ple.com :
ALL: .example.com EXCEPT cracker.example.com

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 .

2.3.2.2. Campos de Opo


Alm das regras bsicas que permitem e negam os acessos, a implementao Red Hat Enterprise Linux
dos T CP Wrappers suportam extenses linguagem de controle de acesso pelos campos de opes.
Usando estes campos de opes em regras de acesso aos hosts, os administradores podem realizar
uma variedade de tarefas como alterar o comportamento do log, consolidar controle de acesso e
realizar comandos shell.
2.3.2.2.1. Registro de Logs
Campos de opo permitem aos administradores facilmente mudar a facilidade de log e nvel de
prioridade para uma regra usando a diretiva severity.
No exemplo seguinte, conexes ao daemon SSH de qualquer host no domnio exam ple.com so
registradas facilidade authpriv syslog (por causa que nenhum valor de facilidade especificado)
com uma prioridade de em erg:
sshd : .example.com : severity emerg

T ambm possvel especificar uma facilidade usando a opo severity. O seguinte exemplo registra

70

Captulo 2. Protegendo sua Rede

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.

2.3.2.2.2. Controle de Acesso


Campos de Opes tambm permitem administradores permitir ou negar hosts explicitamente em uma
regra simples adicionando a diretiva allow ou deny como a opo final.
Por exemplo, as seguintes duas regras permitem conexes SSH a partir do client-1.exam ple.com ,
mas negam conexes do client-2.exam ple.com :
sshd : client-1.example.com : allow
sshd : client-2.example.com : deny

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

Red Hat Enterprise Linux 6 Guia de Segurana

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

Captulo 2. Protegendo sua Rede

redirecionamento, e controle de utilizao de recursos.


Quando um cliente tentar se conectar a uma rede de servios controlados pelo xinetd, o super
servio recebe o pedido e verifica por quaisquer regras de controle de acesso dos T CP Wrappers.
Se o acesso permitido, o xinetd verifica que a conexo permitida sobre suas prprias regras de
acesso para esse servio. Ele tambm verifica que o servio capaz de ter mais recursos atribudos a
ele e no quebra nenhuma das regras definidas.
Se todas estas condies so atendidas (que significa, o acesso permitido ao servio; o servio no
atingiu seu limite de recursos; e o servio no quebrou nenhuma das regras definidas), o xinetd ento
inicia uma instncia do servio solicitado e passa o controle da conexo ele. Depois da conexo ter
sido estabelecida, o xinetd no faz mais parte da comunicao entre o cliente e o servidor.

2.3.4. Arquivos de Configurao xinetd


Os arquivos de configurao do xinetd so como a seguir:
/etc/xinetd.conf O arquivo de configurao global do xinetd.
/etc/xinetd.d/ O diretrio contendo todos os arquivos especificos do servio.
2.3.4 .1. O arquivo /etc/xinetd.conf
O arquivo /etc/xinetd.conf contm definies de configuraes gerais que afetam todos os
servios sob o controle do xinetd. Ele lido quando o servio xinetd primeiramente iniciado, ento
para as mudanas de configurao terem efeito, voc precisa reiniciar o servio xinetd. O seguinte
um modelo do arquivo /etc/xinetd.conf:
defaults
{
instances
log_type
log_on_success
log_on_failure
cps
}
includedir /etc/xinetd.d

= 60
= SYSLOG authpriv
= HOST PID
= HOST
= 25 30

Estas linhas controlam os seguintes aspectos do xinetd:


instances Especifica o nmero mximo de pedidos simultneos que o xinetd pode processar.
log_type Configura o xinetd para usar a facilidade de log authpriv, que grava entradas no
log para o arquivo /var/log/secure. Adicionar uma diretiva como FILE /var/log/xinetdlog
criaria um arquivo de log personalizado chamado xinetdlog no diretrio /var/log/.
log_on_success Configura o xinetd para registrar no log tentativas de conexo com sucesso.
Por padro, o endereo IP do host remoto e o ID de processo do servidor que processo o pedido
so gravados,
log_on_failure Configura o xinetd para logar tentativas de conexo com falhas ou se a
conexo foi negada.
cps Configura o xinetd para permitir no mais que 25 conexes por segundo para qualquer
servio dado. Se este limite excedido, o servio suspenso por 30 segundos.
includedir /etc/xinetd.d/ Inclui opes declaradas nos arquivos de configurao de
servio especfico localizados no diretrio /etc/xinetd.d/. Consulte a Seo 2.3.4.2, O Diretrio
/etc/xinetd.d/ para mais informaes.

73

Red Hat Enterprise Linux 6 Guia de Segurana

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.

2.3.4 .2. O Diretrio /etc/xinetd.d/


O diretrio /etc/xinetd.d/ contm os arquivos de configurao para cada servio gerenciado pelo
xinetd e os nomes dos arquivos so correlacionados ao servio. Como ocorre com o xinetd.conf,
este diretrio somente leitura quando o servio iniciado. Para quaisquer mudanas terem efeito, o
administrador deve reiniciar o servio xinetd.
O formato dos arquivos no diretrio /etc/xinetd.d/ usam as mesmas convenes como o
/etc/xinetd.conf. A razo primria que a configurao para cada servio armazenada em um
arquivo separado fazer a personalizao mais fcil e menos suscetveis de afetar outros servios.
Para obter um melhor entendimento de como estes arquivos so estruturados, considere o arquivo
/etc/xinetd.d/krb5-telnet:
service telnet
{
flags
socket_type
wait
user
server
log_on_failure
disable
}

= REUSE
= stream
= no
= root
= /usr/kerberos/sbin/telnetd
+= USERID
= yes

Estas linhas controlam vrios aspectos do servio telnet:


service Especifica o nome do servio, normalmente um dos listados no arquivo
/etc/services.
flags Define um nmero qualquer de atributos para a conexo. O REUSE instrui o xinetd para
reusar p socket para a conexo T elnet.

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

Captulo 2. Protegendo sua Rede

daqueles j definidos em xinetd.conf.


disable Especifica se o servio est inativo (yes) ou ativo (no).
Consulte a pgina man xinetd.conf para mais informaes sobre estas opes e seu uso.
2.3.4 .3. Aterando Arquivos de Configurao xinetd
Uma variedade de diretivas est disponvel para servios protegidos pelo xinetd. Esta seo destaca
algumas das opes mais comumente usadas.
2.3.4 .3.1. Opes de Registro de Log
As seguintes opes de log esto disponveis para ambos /etc/xinetd.conf e os arquivos
especficos de servio dentro do diretrio /etc/xinetd.d/.
A seguir est uma lista de algumas das opes usadas mais comuns para registro de log:
AT T EMPT Registra em log que uma tentativa com falha foi feita (log_on_failure).
DURAT ION Registra em log o perodo de tempo que o servio usado por um sistema remoto
(log_on_success).
EXIT Registra em log o estado de sada ou sinal de trmino do servio (log_on_success).
HOST Registra em log o endereo de IP do host remoto (log_on_failure e
log_on_success).
PID Registra em log o ID do processo do servidor recebendo o pedido (log_on_success).
USERID Registra em log o usurio remoto usando o mtodo definido em RFC 1413 para todos os
servios de stream multi-threaded (log_on_failure e log_on_success).\n\t\n
Para uma lista completa de opes de log, consulte a pgina man xinetd.conf.
2.3.4 .3.2. Opes de Controle de Acesso
Usurios dos servios xinetd podem escolher usar as regras de acesso de hosts T CP Wrappers,
fornecer controle de acesso pelos arquivos de configurao xinetd ou uma mistura de ambos.
Consulte a Seo 2.3.2, Arquivos de Configurao dos T CP Wrappers para mais informaes sobre
os arquivos de controle de acesso de hosts T CP Wrappers.
Esta seo discute o uso do xinetd para controlar o acesso aos servios.

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

Red Hat Enterprise Linux 6 Guia de Segurana

no_access Bloqueia os hosts listados de usar o servio.


access_tim es Especifica o perodo de tempo quando um determinado servio pode ser usado.
O perodo de tempo deve ser declarado no formato 24 horas, HH:MM-HH:MM.
As opes only_from e no_access podem usar uma lista de endereos de IP ou nomes de host, ou
pode especificar uma rede inteira. Como os T CP Wrappers, combinar o controle de acesso xinetd
com a configurao de log avanada pode aumentar a segurana bloqueando pedidos dos hosts
banidos enquanto grava a verbosidade de cada tentativa de conexo.
Por exemplo, o arquivo seguinte /etc/xinetd.d/telnet pode ser usado para bloquear o acesso
T elnet de um grupo de rede particular e restringe o intervalo de tempo de total que mesmo usurios
permitidos podem se logar:
service telnet
{
disable
flags
socket_type
wait
user
server
log_on_failure
no_access
log_on_success
access_times
}

= 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)

Quando usar os T CP Wrappers em conjunto com os controles de acesso xinetd , importante


entender o relacionamento entre os dois mecanismos de controle de acesso.
A seguir est uma sequencia de eventos seguidos pelo xinetd quando um cliente solicita uma
conexo:
1. O daemon xinetd acessa as regras de acesso de hosts do T CP Wrappers usando uma
chamada da biblioteca libwrap.a. Se uma regra de negao corresponde ao cliente, a conexo
passada para o xinetd.
2. O daemon xinetd verifica suas prprias regras de controle de acesso tanto para o servio
xinetd e o servio solicitado. Se uma regra de negao corresponde ao cliente, a conexo
despejada. Caso contrrio , o xinetd inicia uma instncia do servio solicitado e passa o
controle da conexo a esse servio.

76

Captulo 2. Protegendo sua Rede

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,

2.3.4 .3.3. Opes de Associao e Redirecionamento


Os arquivos de configurao do servio para o xinetd suporta a associao do servio a um
endereo de IP e redireciona pedidos de entrada desse servio para outro endereo IP, hostname ou
porta.
A associao controlada com o a opo bind nos arquivos de configurao de servio especficos e
liga o servio a um endereo IP no sistema. Quando este configurado, a opo bind somente permite
pedidos ao endereo de IP correto para acessar o servio. Voc pode usar este mtodo para associar
diferentes servios interfaces de redes diferentes baseadas em requerimentos.
Isto particularmente til para sistemas com mltiplos adaptadores de rede ou com mltiplos endereos
IP. Em tal sistema, servios inseguros (por exemplo, T elnet), pode ser configurado para escutar
somente interface conectada uma rede privada e no interface conectada internet.
A opo redirect aceita um endereo IP ou hostname seguido por um nmero de porta. Ela configura
o servio para redirecionar quaisquer pedidos para este servio ao host e nmero de porta
especificados. Este recurso pode ser usado para apontar para um outro nmero de porta no mesmo
sistema, redirecionar o pedido para um endereo IP diferente na mesma mquina, deslocar o pedido
para um sistema e nmero de porta totalmente diferentes, ou qualquer combinao destas opes. Um
usurio conectando a um certo servio em um sistema pode portanto ser reencaminhado a um outro
sistema sem ruptura.
O daemon xinetd capaz de realizar este redirecionamento reproduzindo um processo que
permanece vivo pela durao da conexo entre a mquina cliente solicitante e o host que fornece o
servio, transferindo dados entre os dois sistemas.
As vantagens das opes bind e redirect so mais claramente evidentes quando elas so usadas
em conjunto. Associando um servio um endereo IP determinado em um sistema e ento redirecionar
os pedidos para este servio a uma segunda mquina que somente a primeira mquina pode ver, um
sistema interno pode ser usado para fornecer servios para uma rede totalmente diferente.
Alternativamente, estas opes podem ser usadas para limitar a exposio de um determinado servio
em uma mquina multihome para endereos IP conhecidos, tanto quanto redireciona quaisquer pedidos
para esse servio para uma outra mquina especialmente configurada para este propsito.
Por exemplo, considere um sistema que usado como um firewall com estas configuraes para o
servio T elnet:
service telnet
{
socket_type = stream
wait
= no
server
= /usr/kerberos/sbin/telnetd
log_on_success += DURATION USERID
log_on_failure += USERID
bind
= 123.123.123.123
redirect
= 10.0.1.13 23
}

77

Red Hat Enterprise Linux 6 Guia de Segurana

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.

2.3.5. Recursos Adicionais


Mais informaes sobre T CP Wrappers e xinetd esto disponveis na documentao dos sistemas e
na internet.
2.3.5.1. Documentao Instalada dos T CP Wrappers
A documentao que est no seu sistema um bom lugar para iniciar a busca por opes adicionais de
configurao para os T CP Wrappers, xinetd e o controle de acesso.
/usr/share/doc/tcp_wrappers-<version>/ Este diretrio contm um arquivo README que
discute como os T CP Wrappers funcionam e os riscos variados de spoofing do hostname e
endereo de host existentes.
/usr/share/doc/xinetd-<version>/ Este diretrio contm um arquivo README que discute
aspectos de controle de acesso e um arquivo sam ple.conf com vrias idias para modificar os
arquivos de configurao de servio especficos no diretrio /etc/xinetd.d/.

78

Captulo 2. Protegendo sua Rede

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.

2.3.5.2. Web sites teis sobre T CP Wrappers


http://www.docstoc.com/docs/2133633/An-Unofficial-Xinetd-T utorial Um tutorial completo que
discute as diferentes maneiras de otimizar os arquivos de configurao do xinetd para atender
objetivos de segurana especficos.
2.3.5.3. Livros Relacionados
Hacking Linux Exposed por Brian Hatch, James Lee, and George Kurtz; Osbourne/McGraw-Hill
Uma excelente fonte sobre segurana com informaes sobre T CP Wrappers e xinetd.

2.4. Redes Privadas Virtuais (VPNs)


Organizaes com diversos escritrios satlites muitas vezes se conectam entre si por linhas
dedicadas para eficincia e proteo dos dados. Por exemplo, muitas empresas usam frame relay ou
linhas Asynchronous Transfer Mode (AT M) como uma soluo de rede ponto a ponto para ligar um
escritrio com os outros. Isto pode ser uma alternativa cara, especialmente para pequenas e mdias
empresas (SMBs) que querem expandir sem pagar os altos custos associados com o nvel corporativo
e circuitos digitais dedicados.
Para atender a essa necessidade, as Virtual Private Networks (VPNs) foram desenvolvidas. Seguindo
os mesmos princpios funcionais dos circuitos dedicados, as VPNs permitem comunicaes digitais
seguras entre duas partes (ou redes), criando uma Wide Area Network (WAN) a partir da Local Area
Networks (LANs) existentes. O ponto onde ela difere do frame relay ou AT M no meio de transporte. As
VPNs transmitem por IP usando datagramas como uma camada de transporte, a fazendo um canal
seguro atravs da internet para um destino pretendido. A maioria das implemtentaes de softwares
VPN grtis incorporam mtodos de encriptao padro abertos para mscaras mais os dados em
transito.
Algumas organizaes empregam solues de hardware de VPN para aumentar a segurana, enquanto
outras usam implementaes de software ou baseadas em protocolos. Diversos fornecedores fornecem
solues de hardware de VPN, como Cisco, Nortel, IBM e Checkpoint. Existe uma soluo de VPN
baseada em software grtis para o Linux chamada FreeS/Wan que utiliza uma implementao
padronizada Internet Protocol Security (IPsec). Estas solues de VPN, independente se so baseadas
em hardware ou software, agem como roteadores especializados que existem entre a conexes de IPs
de um escritrio ao outro.

2.4.1. Como uma VPN funciona?


79

Red Hat Enterprise Linux 6 Guia de Segurana

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

Captulo 2. Protegendo sua Rede

NSS so usados no arquivo key4 .db.


/etc/ipsec.d/cacerts - Localizao dos Certificate Authority (CA).
/etc/ipsec.d/certs - Localizao dos certificados do usurio. No necessrio quando usar o
NSS.
/etc/ipsec.d/policies - Polticas dos grupos. As polticas podem ser definidas como block,
clear, clear-or-private, private, private-or-clear.
/etc/ipsec.d/nsspassword - O arquivo de senha NSS. Este arquivo no existe por padro e
requerido se o banco de dados NSS em uso criado com uma senha.
Parmetros de Configurao
Esta seo lista algumas das opes de configurao disponveis, a maioria escritas em
/etc/ipsec.conf.
protostack - define qual pilha de protocolo usada. A opo padro no Red Hat Enterprise Linux
6 netkey. Outros valores vlidos so auto, klips e mast.
nat_traversal - define se a soluo NAT para conexes aceita. O padro no.
dum pdir - define a localizao para despejo dos arquivos core.
nhelpers - Quando usar o NSS, define o nmero de segmentos usados para criptografar
operaes. Quando no estiver usando o NSS, define o nmero de processos usados para
operaes de criptografia.
virtual_private - sub-redes permitidas para a conexo cliente. A faixa que pode existir por
detrs de um roteador NAT a que um cliente se conecta.
plutorestartoncrash - definido para sim por padro.
plutostderr - caminho para o log de erro do pluto. Aponta para a localizao do syslog por
padro.
connaddrfam ily - pode ser definido tanto para ipv4 ou ipv6.
Mais detalhes sobre a configurao Openswan podem ser encontradas na pgina man
ipsec.conf(5).
2.4 .2.3. Comandos
Esta seo explica e d exemplos de alguns dos comandos usados pelo Openswan.

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

Red Hat Enterprise Linux 6 Guia de Segurana

Gerando chaves RSA:


ipsec newhostkey --configdir /etc/ipsec.d --password password --output
/etc/ipsec.d/<nam e-of-file>
Checando polticas ipsec no Kernel:
ip xfrm policy
ip xfrm state
Criando certificados auto assinados:
certutil -S -k rsa -n <ca-cert-nicknam e> -s "CN=ca-cert-com m on-nam e" -w
12 -t "C,C,C" -x -d /etc/ipsec.d
Criando um certificado de usurio assinado pelo CA anterior:
certutil -S -k rsa -c <ca-cert-nicknam e> -n <user-cert-nicknam e> -s
"CN=user-cert-com m on-nam e" -w 12 -t "u,u,u" -d /etc/ipsec.d
2.4 .2.4 . Recursos Openswan
http://www.openswan.org
http://lists.openswan.org/pipermail/users/
http://lists.openswan.org/pipermail/dev/
http://www.mozilla.org/projects/security/pki/nss/
O pacote Openswan-doc: HT ML, exemplos, README.*
README.nss

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

Captulo 2. Protegendo sua Rede

T abela 2.2. T ipos de Firewall


Mtod
o

Descrio

NAT

Network Address Translation


(NAT ) coloca sub-redes IP
privadas atrs de um ou
pequeno grupo de
endereos IP, mascarando
todas as requisies em
uma fonte ao invs de
diversas. O kernel do Linux
possui a funcionalidade NAT
embutida atravs do
subsistema do kernel
Netfilter.

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

Os firewalls de proxy filtram


todas as requisies de um
certo protocolo ou tipo de
clientes LAN para uma
mquina de proxy, que ento
faz essas requisies para
a Internet em nome do
cliente local. Uma mquina
proxy age como um buffer
entre os usurios remotos
mal-intencionados e as
mquinas clientes de rede
internas.

Vantagens

Desvantagens

Pode ser configurado de


forma transparente em
mquinas em uma LAN

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

Red Hat Enterprise Linux 6 Guia de Segurana

Os servios proxy podem


ser autenticados e
monitorados de perto,
permitindo um controle maior
do uso de recursos na rede.

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.

2.5.1. Netfilter e IPTables


O kernel do Linux apresenta um subsistema de rede poderoso chamado Netfilter. O subsistema Netfilter
fornece um filtro de pacotes com ou sem estados assim como o NAT e servios de mascaramento do
IP. O Netfilter tambm tem a habilidade de desmembrar informaes de cabealho de IP para
roteamento avanado e gerenciamento do estado de conexo. O Netfilter controlado usando a
ferramenta iptables.
2.5.1.1. Viso Geral do IPT ables
O poder e flexibilidade do Netfilter implementado usando a ferramenta de administrao do
iptables, uma ferramenta de linha de comando semelhante sintaxe de seu precedente, ipchains,
o qual o Netfilter/iptables substituiu no kernel 2.4 e posteriores do Linux.
O iptables usa o subsistema do Netfilter para aprimorar a conexo de rede, inspeo e
processamento. O iptables apresenta autenticao avanada, aes pr e ps roteamento, traduo
de endereo de rede e encaminhamento de porta, todos em uma interface de linha de comando.
Esta seo fornece uma viso geral do iptables. Para mais informaes detalhadas, consulte a
Seo 2.6, IPT ables.

2.5.2. Configurao de Firewall Bsica


Assim como uma parede corta fogo (firewall) tenta evitar o alastre do fogo, o firewall do computador
tenta evitar que softwares mal-intencionados se alastrem em seu computador. Ele tambm ajuda a
evitar que usurios no autorizados acessem seu computador.
Em uma instalao padro do Red Hat Enterprise Linux, um firewall existe entre seu computador ou
rede e qualquer rede no confivel, por exemplo a Internet. Ele determina qual servio em seu
computador que os usurios remotos podem acessar. Um firewall configurado adequadamente pode
aumentar a segurana de seu sistema de forma significativa. Recomenda-se que voc configure um
firewall para qualquer sistema Red Hat Enterprise Linux com uma conexo da Internet.
2.5.2.1. Firewall Configuration T ool
Durante a tela de Configurao do Firewall da instalao do Red Hat Enterprise Linux, voc tem
a opo para habilitar um firewall bsico assim como permitir dispositivos especficos, servios de
entrada e portas.
Aps a instalao, voc pode mudar esta preferncia usando o Firewall Configuration T ool.
Para iniciar este aplicativo, use o seguinte comando:
[root@myServer ~] # system-config-firewall

84

Captulo 2. Protegendo sua Rede

Figura 2.5. Firewall Configuration T ool

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.

2.5.2.2. Habilitando e desabilitando o Firewall


Selecione uma das seguintes opes para o firewall:
Disabled Desabilitar o firewall fornece acesso completo ao seu sistema e no faz verificao
de segurana. Isto deve ser selecionado somente se voc estiver executando em uma rede
confivel (no a Internet) ou precisar configurar um firewall padronizado usando a ferramenta de
linha de comando 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

Red Hat Enterprise Linux 6 Guia de Segurana

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

Captulo 2. Protegendo sua Rede

2.5.2.4 . Outras Portas


O Firewall Configuration T ool inclui uma seo Other ports para especificar portas padro IP
como sendo confiveis pelo iptables. Por exemplo, para permitir que o IRC e protocolo de impressora
da internet (IPP) passe pelo firewall, adicione o seguinte para a seo Other ports:
194 :tcp,631:tcp
2.5.2.5. Salvando Configuraes
Clique em OK para salvar as mudanas e habilitar ou desabilitar o firewall. Se o item Habilitar o
firewall foi selecionado, as opes selecionadas so traduzidas para os comandos do iptables e
gravadas no arquivo /etc/sysconfig/iptables. O servio iptables tambm iniciado para que
o firewall seja ativado imediatamente aps salvar as opes selecionadas. Se o Disable firewall
foi selecionado, o arquivo /etc/sysconfig/iptables ser removido e o servio iptables ser
interrompido imediatamente.
As opes selecionadas so tambm gravadas no arquivo /etc/sysconfig/system -configfirewall para que as configuraes possam ser restauradas na prxima vez que o aplicativo for
iniciado. No edite este arquivo manualmente.
Embora o firewall seja ativado imediatamente, o servio iptables no configurado para iniciar
automaticamente durante a inicializao. Consulte a Seo 2.5.2.6, Ativando o Servio IPT ables. para
mais informaes.
2.5.2.6. Ativando o Servio IPT ables.
As regras do firewall so ativas somente se o servio iptables estiver em execuo. Para iniciar
manualmente o servio, use o seguinte comando:
[root@myServer ~] # service iptables restart

Para se certificar que o iptables inicia-se quando o sistema inicializado, use o seguinte comando:
[root@myServer ~] # chkconfig --level 345 iptables on

2.5.3. Usando IPTables


O primeiro passo para usar o iptables iniciar o servio iptables. Use o seguinte comando para
iniciar o servio iptables:
[root@myServer ~] # service iptables start

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

Red Hat Enterprise Linux 6 Guia de Segurana

Para forar o iptables a iniciar sempre que o sistema inicializar em runlevel 3, 4, ou 5.


2.5.3.1. Sintaxe de Comandos do IPT ables
O exemplo a seguir de comando iptables ilustra a sintaxe de comando bsica:
[root@myServer ~ ] # iptables -A <chain> -j <target>

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

Captulo 2. Protegendo sua Rede

As regras so armazenadas no arquivo /etc/sysconfig/iptables e so aplicadas sempre que o


servio iniciado ou quando a mquina reinicializada.

2.5.4. Filtros de IPTables Comuns


Impedir invasores remotos de acessar uma LAN o aspecto mais importante de segurana de rede. A
integridade da LAN deve ser protegida de usurios remotos mal-intencionados durante o uso de regras
de firewall.
No entanto, com uma poltica padro definida para bloquear todos os pacotes enviados, entrada e
sada, impossvel para o firewall/gateway e usurios internos da LAN de se comunicarem uns com os
outros ou com recursos externos.
Para permitir que usurios realizem funes relacionadas rede e usar os aplicativos de rede,
administradores devem abrir certas portas para comunicao.
Por exemplo, para permitir acesso porta 80 no firewall adicione a seguinte regra:
[root@myServer ~ ] # iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

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

Red Hat Enterprise Linux 6 Guia de Segurana

[root@myServer ~ ] # iptables -A INPUT -p tcp --dport 22 -j ACCEPT


[root@myServer ~ ] # iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

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.

2.5.5. FORWARD e Regras NAT


A maioria dos ISPs fornecem somente um nmero limitado de endereos IP roteveis publicamente
empresa que eles servem.
Os administradores devem portanto encontrar formas alternativas de compartilhar acesso servios de
Internet sem fornecer endereos IP pblicos todos os ns na LAN. O uso de endereos IP privados
a forma mais comum de permitir que todos os ns em uma LAN acessem adequadamente servios de
rede internos e externos.
Roteadores de Limite (como os firewalls) podem receber transmisses de entrada de Internet e rotear
pacotes para o ns da LAN pretendido. Ao mesmo tempo, os firewalls/gateways podem tambm rotear
requisies de sada de um n de LAN para servio de Internet remoto.
Este encaminhamento de trfego de rede pode se tornar perigoso, especialmente com a disponibilidade
de ferramentas modernas de intruso que podem fazer o spoof de endereos IP internos e fazer com
que a mquina remota do invasor aja como um n em sua LAN.
Para evitar isto, o iptables fornece polticas de roteao e encaminhamento que podem ser
implementadas para impedir o uso anormal dos recursos de rede.
A corrente FORWARD permite que um administrador controle onde os pacotes podem ser roteados
dentro de uma LAN. Por exemplo, para permitir o encaminhamento de uma LAN inteira (considerando-se
que o firewall/gateway receba um endereo IP na eth1), use as regras a seguir:
[root@myServer ~ ] # iptables -A FORWARD -i eth1 -j ACCEPT
[root@myServer ~ ] # iptables -A FORWARD -o eth1 -j ACCEPT

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

Captulo 2. Protegendo sua Rede

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

Edite-o para fica como a seguir:


net.ipv4.ip_forward = 1

Use o seguinte comando para permitir mudanas no arquivo sysctl.conf:


[root@myServer ~ ] # sysctl -p /etc/sysctl.conf

2.5.5.1. Postrouting e Mascaramento de IP


Aceitar pacotes encaminhados via dispositivo de IP interno do firewall permite que os ns da LAN se
comuniquem entre si; no entanto eles ainda no podero se comunicar fora da Internet.
Para permitir ns da LAN com endereos IP privados se comunicarem com redes externas pblicas,
configure o firewall para IP masquerading, o qual mascara requisies dos ns da LAN com endereos
IP do dispositivo externo do firewall (neste caso eth0):
[root@myServer ~ ] # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

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

Red Hat Enterprise Linux 6 Guia de Segurana

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

Esta regra encaminha todas as requisies de HT T P do firewall para o destino pretendido; o


servidor Apache HT T P por detrs do firewall.

2.5.5.3. DMZ s e IPT ables


Voc pode criar as regras de comando iptables para rotear o trfego para certas mquinas, tal como
o servidor dedicado HT T P ou FT P, em um demilitarized zone (DMZ ). Um DMZ uma sub-rede local
especial dedicada para fornecer servios em uma portador pblico, tal como a Internet.
Por exemplo, para estabelecer uma regra para requisies de entrada HT T P de roteamento para um
servidor HT T P dedicado em 10.0.4.2 (fora da classe do 192.168.1.0/24 da LAN), o NAT usa a tabela
PREROUT ING para encaminhar os pacotes para o destino apropriado:
[root@myServer ~ ] # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j
DNAT --to-destination 10.0.4.2:80

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.

2.5.6. Softwares Maliciosos e Spoof de Endereos IP


Regras mais elaboradas podem ser criadas para controlar acesso sub-redes especficas ou at ns
especficos, dentro de uma LAN. Voc pode tambm restringir certos aplicativos duvidosos ou
programas tais como trojans, worms e outros vrus de clientes/servidores de contatar seus servidores.
Por exemplo, alguns trojans escaneiam redes procurando servios na portas de 31337 at 31340
(chamadas de portas elite na terminologia dos crackers).
Como no h mais servios legtimos que se comunicam via estas portas no padro, bloque-las pode
diminuir efetivamente as chances que ns potencialmente infectados em sua rede se comuniquem de
forma independente com seus servidores mestre remotos.

92

Captulo 2. Protegendo sua Rede

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.

2.5.7. IPTables e Rastreamento de Conexo


Voc pode inspecionar e restringir conexes servios baseados em seus estados de conexo. Um
mdulo dentro do iptables usa um mtodo chamado rastreamento de conexo para armazenar
informaes sobre conexes de entrada. Voc pode permitir ou negar acesso baseado nos seguintes
estados de conexo:
NEW Um pacote que requer uma nova conexo, tal como uma requisio HT T P.
EST ABLISHED Um pacote que parte de uma conexo existente.
RELAT ED Um pacote que est requisitando uma nova conexo mas parte de uma conexo
existente. Por exemplo, o FT P usa a porta 21 para estabelecer uma conexo, mas os dados so
transferidos em uma porta diferente (geralmente a porta 20).
INVALID Um pacote que no parte de nenhuma conexo na tabela de rastreamento de
conexo.
Voc pode usar a funcionalidade stateful (com estado) da conexo iptables rastreando com qualquer
protocolo de rede, at mesmo se o prprio protocolo stateless (sem estado) assim como o UDP. O
exemplo a seguir mostra uma regra que usa o rastreamento de conexo para enviar somente os
pacotes que so associados com uma conexo estabelecida:
[root@myServer ~ ] # iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j
ACCEPT

93

Red Hat Enterprise Linux 6 Guia de Segurana

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.5.9. Recursos Adicionais


Existem diversos aspectos do firewall e do subsistema Linux Netfilter que talvez no sejam vistos neste
captulo. Para mais informaes, consulte os recursos a seguir.
2.5.9.1. Documentao de Firewall Instalada
Consulte a Seo 2.6, IPT ables para mais informaes detalhadas sobre o comando iptables
incluindo definies para diversas opes de comando.
A pgina man do iptables contm um breve sumrio de diversas opes.
2.5.9.2. Websites de Firewall teis
http://www.netfilter.org/ A homepage oficial do Netfilter e do projeto iptables.
http://www.tldp.org/ O Projeto de Documentao do Linux contm diversos guias teis
relacionados criao de firewall e administrao.
http://www.iana.org/assignments/port-numbers A lista oficial de portas de servios comuns e
registrados atribudos pelo Internet Assigned Numbers Authority.
2.5.9.3. Documentao Relacionada
Red Hat Linux Firewalls, by Bill McCarty; Red Hat Press uma referncia compreensiva para
construo de redes e firewalls de servidor usando uma tecnologia de filtro de pacote de cdigo
aberto como o Netfilter e o iptables. Ele inclui tpicos que cobrem anlise de logs de firewall,
desenvolvimento de regras de firewall e padronizao de seu firewall usando diversas ferramentas
grficas.
Linux Firewalls, by Robert Z iegler; New Riders Press Contm informaes ricas sobre a
construo de firewalls usando o 2.2 kernel ipchains, como tambm o Netfilter e iptables.
T ambm so tratados tpicos de segurana adicionais como os problemas de acesso remoto e
sistemas de deteco de intruso.

2.6. IPTables
94

Captulo 2. Protegendo sua Rede

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.

2.6.1. Filtro de Pacote


O kernel Linux usa o servio do Netfilter para filtrar pacotes, permitindo que alguns deles sejam
recebidos ou passados pelo sistema enquanto outros so interrompidos. Este servio embutido no
kernel do Linux e possui trs tabelas ou listas de regras embutidos, como se segue:
filter A tabela padro para manipular pacotes de rede.
nat Usado para alterar pacotes que criam uma nova conexo e usado para o Network Address
Translation (NAT).
m angle Usado para tipos especficos de alterao de pacote.
Cada tabela possui um grupo de correntes (chains), que correspondem s aes realizadas no pacote
pelo netfilter.
As correntes (chains) embutidas para a tabela do filtragem so estas:
INPUT Se aplica aos pacotes de rede que so direcionados para o host.
OUTPUT Se aplica ao pacotes de rede gerados localmente.
FORWARD Se aplica aos pacotes de rede roteados no host.
As correntes embutidas para a tabela nat so estas:
PREROUTING Altera os pacotes de rede quando chegam.
OUTPUT Altera os pacotes de rede gerados localmente antes de serem enviados..
POSTROUTING Altera pacotes de rede antes de serem enviados.
As chains (correntes) embutidas para a tabela m angle so estas:
INPUT Altera pacotes de rede alvo para a mquina.
OUTPUT Altera os pacotes de rede gerados localmente antes de serem enviados..
FORWARD Altera pacotes de rede roteados pela mquina.

95

Red Hat Enterprise Linux 6 Guia de Segurana

PREROUTING Altera pacotes de entrada antes de serem roteados.


POSTROUTING Altera pacotes de rede antes de serem enviados.
Cada pacote de rede recebido por ou enviado de um sistema Linux est sujeito ao menos uma tabela.
No entanto, um pacote pode estar sujeito diversas regras dentro de cada tabela antes de emergir no
final da corrente. A estrutura e propsito destas regras podem variar, mas elas geralmente procuram
identificar um pacote que vem ou vai um endereo IP especfico, ou conjunto de endereos, ao usar
um determinado protocolo e servio de rede. A imagem a seguir apresenta como os pacotes so
examinados pelo subsistema do iptables:

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.

2.6.2. Opes de Comando para IPTables.


Regras para filtrar pacotes so criadas usando o comando iptables. Se os aspectos a seguir de um
pacote so usados geralmente como um critrio:
Packet Type Especifica os tipos de pacotes que o comando filtra.
Packet Source/Destination Especifica quais pacotes o comando filtra baseado na fonte ou destino

96

Captulo 2. Protegendo sua Rede

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

Red Hat Enterprise Linux 6 Guia de Segurana

corrente exceto as padres, correntes pr-existentes. (consulte a opo -N abaixo para


informaes sobre como criar correntes definidas por usurio). Isto uma mudana de aparncia e
no afeta a estrutura da tabela.

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

Captulo 2. Protegendo sua Rede

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

Red Hat Enterprise Linux 6 Guia de Segurana

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

Definies de servio so fornecidas no arquivo /etc/services. Para definio legvel, recomenda-se


que voc use os nomes de servios ao invs dos nmeros de porta.

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.

2.6.2.4 .1. Protocolo T CP


Estas opes de coincidncia esto disponveis para o protocolo T CP (-p tcp):
--dport Define a porta de destino para o pacote.
Para configurar esta opo, use um nome de servio de rede (tal como o www ou smtp); um nmero
de porta; ou uma classe de nmeros de porta.
Para especificar uma classe de nmeros de porta, separe os dois nmeros com dois pontos (:). Por
exemplo: -p tcp --dport 3000:3200. A classe vlida maior 0:65535.
Use um ponto de exclamao (!) antes da opo --dport para coincidir todos os pacotes que no
usam aquele servio ou porta de rede.
Para navegar pelos nomes e aliases de servios de rede e nmeros de porta que eles usam,
visualize o arquivo /etc/services.
A opo de coincidncia do --destination-port sinnima da --dport.
--sport Define a porta fonte do pacote usando as mesmas opes que --dport. A opo de
coincidncia --source-port sinnimo da --sport.

100

Captulo 2. Protegendo sua Rede

--syn Se aplica todos os pacotes T CP criados para iniciar a comunicao, geralmente


chamada de pacotes SYN. Quaisquer pacotes que carreguem um bloco de dados no so tocados.
Use um ponto de exclamao (!) antes da opo --syn para coincidir com todos os pacotes que
no so SYN.
--tcp-flags <tested flag list> <set flag list> Permite que pacotes T CP que
possuem especficos bits (sinalizadores) definidos, coincidirem com uma regra.
A opo de coincidncia --tcp-flags aceita dois parmetros. O primeiro parmetro a mscara;
uma lista separada por vrgula de sinalizadores a serem examinados no pacote. O segundo
parmetro uma lista separada por vrgula de sinalizadores que devem ser definidos para a regra
que coincidir.
Os possveis sinalizadores so:
ACK
FIN
PSH
RST
SYN
URG
ALL
NONE
Por exemplo, uma regra iptables que contenha a seguinte especificao somente coincide com
pacotes T CP que possuem o sinalizador SYN definido e os sinalizadores ACK e FIN no definidos:
--tcp-flags ACK,FIN,SYN SYN
Use o ponto de exclamao (!) antes do --tcp-flags para reverter o efeito da opo de
coincidncia.
--tcp-option T enta coincidir com as opes de T CP especficas que podem ser definidas
dentro de um pacote particular. Esta opo coincidente tambm pode ser revertida com o ponto de
exclamao (!).
2.6.2.4 .2. Protocolo UDP
Estas opes de coincidncia esto disponveis para o protocolo UDP (-p udp):
--dport Especifica a porta de destino do pacote UDP, usando o nome de servio, nmero de
porta ou classe de nmero de portas. A opo de coincidncia --destination-port sinnima
de --dport.
--sport Especifica a porta fonte do pacote UDP, usando o nome de servio, nmero de porta, ou
classe de nmeros de porta. A opo coincidente --source-port sinnima com --sport.
Para as opes --dport e --sport, para especificar uma classe de nmeros de portas, separe os
dois nmeros com dois pontos (:). Por exemplo: -p tcp --dport 3000:3200. A maior classe vlida
aceitvel 0:65535.
2.6.2.4 .3. Protocolo ICMP
As opes de coincidncia a seguir esto disponveis para o Internet Control Message Protocol (ICMP)
(-p icm p):
--icm p-type Define o nome e nmero do tipo de ICMP para coincidir com a regra. Uma lista de
nomes ICMP vlidos pode ser recuperada digitando o comando iptables -p icm p -h.

101

Red Hat Enterprise Linux 6 Guia de Segurana

2.6.2.4 .4 . Mdulos de Opo de Coincidncia Adicional


Opes de coincidncia adicionais esto disponveis atravs de mdulos carregados pelo comando
iptables.
Para usar um mdulo de opo de coincidncia, carregue o mdulo pelo nome usando o -m <modulename>, onde <module-name> o nome do mdulo.
Muitos mdulos esto disponveis por padro. Voc tambm pode criar mdulos para fornecer
funcionalidade adicional.
Segue uma lista parcial dos mdulos mais usados:
mdulo lim it Coloca limites em quantos pacotes so coincididos em uma regra especfica.
Quando usado em conjunto com o alvo LOG, o mdulo lim it pode evitar uma inundao de
pacotes coincidentes de encher o log do sistema com mensagens repetitivas ou usar os recursos
do sistema.
Consulte a Seo 2.6.2.5, Opes de Alvo para mais informaes sobre o alvo LOG.
O mdulo lim it habilita as seguintes opes:
--lim it Define o nmero mximo de coincidncias para um perodo de tempo especfico,
especificado como um par <value>/<period>. Por exemplo, usando o --lim it 5/hour
permite-se cinco coincidncias de regras por hora.
Perodos podem ser especificados em segundos, minutos, horas ou dias.
Se um modificador de nmero e tempo no forem utilizados, o valor padro de 3/hour
assumido.
--lim it-burst Define um limite em um nmero de pacotes capazes de coincidir uma regra
em uma vez.
Esta opo especificada como um nmero inteiro e deve ser usada em conjunto com a opo -lim it.
Se no for especificado nenhum valor, o valor padro de cinco (5) ser assumido.
mdule state Habilita coincidncia de estado.
O mdulo state habilita as seguintes opes:
--state coincide um pacote com os seguintes estados de conexes:
EST ABLISHED O pacote coincidente associado com outros pacotes em uma conexo
estabelecida. Voc precisa aceitar este estado se voc quiser manter uma conexo entre um
cliente e um servidor.
INVALID O pacote coincidente no pode ser ligado uma conexo conhecida.
NEW O pacote coincidente est tanto criando uma nova conexo ou parte de uma
conexo de duas vias ainda no vista. Voc precisa aceitar este estado se voc quiser
permitir novas conexes para um servio.
RELAT ED O pacote coincidente inicia uma nova conexo relacionada de alguma forma a
uma conexo existente. Um exemplo disto o FT P que usa uma conexo para o controle de
trfego (porta 21), e uma conexo separada para a transferncia de dados (porta 20).
Estes estados de conexo podem ser usados em conjunto um com o outro separando-os com
com vrgulas, tais como -m state --state INVALID,NEW.
m ac module Habilita coincidncia do endereo MAC de hardware.
O mdulo m ac habilita a seguinte opo:
--m ac-source Coincide um endereo MAC de placa de interface de rede que enviou o
pacote. Para excluir um endereo MAC de uma regra, coloque um ponto de exclamao (!) antes

102

Captulo 2. Protegendo sua Rede

da opo de coincidncia --m ac-source.


Consulte a pgina man iptables para mais opes de coincidncia disponveis atravs de mdulos.
2.6.2.5. Opes de Alvo
Quando um pacote coincidiu uma regra especfica, a regra pode direcionar o pacote para diversos alvos
diferentes que determinam a ao apropriada. Cada corrente possui um alvo padro, que usado se
nenhuma das regras na corrente coincidir um pacote ou se nenhuma das regras que coincidem com o
pacote especificarem um alvo.
Seguem os alvos padres:
<user-defined-chain> Uma corrente definida pelo usurio dentro da tabela. Nomes de
correntes definidas pelo usurio devem ser nicas. Este alvo passa o pacote corrente
especificada.
ACCEPT Permite o pacote passar para seu destino ou para outra corrente.
DROP Despeja o pacote sem responder ao requisitante. O sistema que enviou o pacote no
notificado da falha.
QUEUE O pacote enfileirado para manuseio por um aplicativo do espao de usurio.
RET URN Para a verificao de pacote contra as regras na corrente atual. Se o pacote com um
alvo RET URN coincide com uma regra em uma corrente chamada de outra corrente, o pacote
retornado primeira corrente para retomar a verificao de regra onde ele parou. Se a regra
RET URN for usada em uma corrente embutida e o pacote no puder mover para sua corrente
anterior, o alvo padro para a corrente atual ser usado.
Alm disso, as extenses esto disponveis que permitem outros alvos a serem especificados. Estas
extenses so chamadas de mdulos alvo ou mdulos de opo coincidente e se aplicam mais s
tabelas especficas e situaes. Consulte a Seo 2.6.2.4.4, Mdulos de Opo de Coincidncia
Adicional para obter mais informaes sobre mdulos de opo de coincidncia.
Muitos mdulos de alvo estendidos existem, a maioria deles s se aplica tabelas especficas ou
situaes. Alguns dos mdulos de alvo mais populares includos por padro no Red Hat Enterprise
Linux so:
LOG Registra em log todos os pacotes que coincidem com esta regra. Como os pacotes so
autenticados pelo kernel, o arquivo /etc/syslog.conf determina onde estas entradas de log so
escritas. Por padro, elas so colocadas no arquivo /var/log/m essages.
Opes adicionais podem ser usadas aps o alvo LOG para especificar a forma na qual a
autenticao ocorre:
--log-level Define o nvel de prioridade de um evento de log. Consulte a pgina man
syslog.conf para obter uma lista de nveis de prioridade.
--log-ip-options Registra em log qualquer opo definida no cabealho de um pacote IP.
--log-prefix Coloca uma faixa de at 29 caracteres antes da linha do log quando ela
escrita. Isto til para escrever filtros de syslog para usar em conjunto com registro em log dos
pacotes.

Nota
Devido um problema com esta opo, voc precisa adicionar um espao direita ao
valor log-prefix .

103

Red Hat Enterprise Linux 6 Guia de Segurana

--log-tcp-options Registra em log qualquer opo definida no cabealho de um pacote


de T CP.
--log-tcp-sequence Escreve o nmero sequencial de T CP para o pacote no log.
REJECT Envia um pacote de erro de volta ao sistema remoto e despeja o pacote.
O alvo REJECT aceita --reject-with <type> (onde <type> o tipo de rejeio) permitindo mais
informaes detalhadas a serem retornadas com pacote de erro. A mensagem portunreachable o tipo de erro padro dado se nenhuma opo for utilizada. Consulte a pgina man
iptables para obter uma lista completa de opes <type>.
Outras extenses de alvo, incluindo diversos que so teis para o mascaramento do IP usando a tabela
nat, ou com a alterao do pacote usando a tabela m angle, podem ser encontradas na pgina man do
iptables .
2.6.2.6. Opes de Listagem
O comando da lista padro, iptables -L [<chain-nam e>], fornece uma viso geral bsica das
correntes atuais. As opes adicionais fornecem mais informaes:
-v Exibe resultado de verbosidade, tal como o nmero de pacotes e bytes que cada corrente
processou, o nmero de pacotes e bytes que cada regra coincidiu e quais as interfaces que se
aplicam regra especfica.
-x Expande nmeros para seus valores exatos. Em um sistema ocupado, o nmero de pacotes e
bytes processados por uma corrente especfica ou regra pode ser abreviada para Kilobytes,
Megabytes (Megabytes) ou Gigabytes. Esta opo fora o nmero completo a ser exibido.
-n Exibe os endereos IP e os nmeros de porta em formato numrico, ao invs do hostname
padro e o formato de servio de rede.
--line-num bers Lista regras em cada corrente prxima ordem numrica na corrente. Esta
opo til para quando tentar remover a regra especfica em uma corrente ou localizar onde inserir
uma regra dentro de uma corrente.
-t <table-nam e> Especifica um nome de tabela. Se omitido, torna-se tabela de filtro por
padro.

2.6.3. Salvando Regras de IPTables


Regras criadas com o comando iptables so armazenadas na memria. Se o sistema for reiniciado
antes de salvar o conjunto de regras do iptables, todas as regras sero perdidas. Para as regras do
netfilter persistirem atravs da inicializao do sistema, elas precisam ser salvas. Para salvar as regras
netfilter, digite o seguinte comando como root:
/sbin/service iptables save

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

Captulo 2. Protegendo sua Rede

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.

2.6.4. Scripts de Controle de IPTables


Existem dois mtodos bsicos para controlar o iptables no Red Hat Enterprise Linux:
Firewall Configuration T ool (system -config-firewall) Uma interface grfica para criar,
ativar e salvar regras de firewall bsicas. Consulte a Seo 2.5.2, Configurao de Firewall Bsica
para mais informaes.
/sbin/service iptables <option> Usado para manipular diversas funes de iptables
usando seu initscript. As seguintes opes esto disponveis:
start se um firewall configurado (ou seja, o /etc/sysconfig/iptables existe), todos
os iptables em execuo so interrompidos completamente e depois iniciados usando o
comando /sbin/iptables-restore. Esta opo funciona somente se o mdulo do kernel
ipchains no for carregado. Para verificar se o mdulo foi carregado, digite o seguinte
comando como usurio root:
[root@MyServer ~]# lsmod | grep ipchains

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

Red Hat Enterprise Linux 6 Guia de Segurana

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.

2.6.4 .1. Arquivo de Configurao de Scripts de Controle do IPT ables


O comportamento do initscripts do iptables controlado pelo arquivo de configurao
/etc/sysconfig/iptables-config. Esta uma lista das diretivas contidas neste arquivo:
IPT ABLES_MODULES Especifica uma lista separada por espaos dos mdulos de iptables
adicionais para carregar quando um firewall ativado. Estes podem incluir a conexo de
rastreamento e auxiliares do NAT .
IPT ABLES_MODULES_UNLOAD Descarrega mdulos na reinicializao e pra. Esta diretiva aceita
os seguintes valores:
yes O valor padro. Esta opo deve ser definida para alcanar um estado correto para um
reincio ou parada de firewall.
no Esta opo deve ser somente definida se existirem problemas para descarregar os
mdulos do netfilter.
IPT ABLES_SAVE_ON_ST OP Salva as regras atuais do firewall em /etc/sysconfig/iptables
quando um firewall interrompido. Esta diretiva aceita os seguintes valores:
yes Salva as regras existentes em /etc/sysconfig/iptables quando o firewall
interrompido, movendo a verso anterior para o arquivo /etc/sysconfig/iptables.save.
no O valor padro. No salva regras existentes quando o firewall for interrompido.
IPT ABLES_SAVE_ON_REST ART Salva regras atuais de firewall quando o firewall reinicializado.

106

Captulo 2. Protegendo sua Rede

Esta diretiva aceita os seguintes valores:


yes Salva as regras existentes em /etc/sysconfig/iptables quando o firewall
reiniciado, movendo a verso anterior para o arquivo /etc/sysconfig/iptables.save.
no O valor padro. No salva regras existentes quando o firewall reiniciado.
IPT ABLES_SAVE_COUNT ER Salva e recupera todos os pacotes e contadores de bytes em todas
as correntes e regras. Esta diretiva aceita os seguintes valores:
yes Salva os valores do contador.
no O valor default. No salva os valores do contador.
IPT ABLES_ST AT US_NUMERIC Fornece resultado de endereos IP em forma nmerica ao invs
do domnio ou hostnames. Esta diretiva aceita os seguintes valores:
yes O valor padro. Retorna somente os endereos IP dentro do resultado do status.
no Retorna o domnio ou hostnames dentro do resultado do status.

2.6.5. IPTables e IPv6


Se o pacote iptables-ipv6 estiver instalado, o netfilter no Red Hat Enterprise Linux pode filtrar a
prxima gerao de protocolo de Internet IPv6. O comando usado para manipular o netfilter do IPv6
ip6tables.
A maioria das diretivas para este comando so idnticas quelas usadas para o iptables, exceto a
tabela nat que no suportada ainda. Isto significa que ainda no possvel realizar a tarefa de
traduo do endereos de rede IPv6, tal como o mascaramento e encaminhamento de porta.
As regras para ip6tables so salvas no arquivo /etc/sysconfig/ip6tables. Regras anteriores
salvas pelos initscripts ip6tables so salvas no arquivo /etc/sysconfig/ip6tables.save.
As opes de configurao para o script init do ip6tables esto armazenadas no
/etc/sysconfig/ip6tables-config, e os nomes para cada diretiva variam muito pouco dos
equivalentes do iptables .
Por exemplo, a diretiva iptables-config IPT ABLES_MODULES: o equivalente no arquivo
ip6tables-config IP6T ABLES_MODULES.

2.6.6. Recursos Adicionais


Consulte os seguintes recursos para informaes adicionais sobre o pacote de filtro com
iptables.\n\t\n
Seo 2.5, Firewalls Contm um captulo sobre o papel de firewalls dentro da estratgia de
segurana geral assim como as estratgias para construir as regras do firewall.
2.6.6.1. Documentao instaladas da IP T ables
m an iptables Contm uma descrio do iptables assim como uma lista compreensiva de
alvos, opes e extenses coincidentes.
2.6.6.2. Websites de IPtables teis
http://www.netfilter.org/ O home do projeto netfilter/iptables. Contm informaes diversas sobre o
iptables, incluindo guias FAQ de Rusty Russell, o mantedor do firewall Linux IP. Os documentos
HOWT O neste site tratam sobre tais conceitos de rede bsicos, filtro de pacote de kernel e
configuraes do NAT .

107

Red Hat Enterprise Linux 6 Guia de Segurana

http://www.linuxnewbie.org/nhf/Security/IPtables_Basics.html Uma introduo para a forma que


pacotes se movem atravs do kernel do Linux, mais uma introduo para construo bsica de
comandos iptables.

[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.

3.1. Dados parados


Dados parados so dados armazenados em um disco rgido, fita, CD, DVD, disco ou outra forma de
mdia. A maior ameaa de informao de roubo. Os laptops em aeroportos, CDs enviados por correio,
e fitas de backup que so deixadas em locais errados so alguns exemplos de eventos onde dados
foram comprometidos atravs de roubo. Se os dados estivessem criptografados na mdia, voc no
teria que se preocupar tanto sobre o comprometimento destes dados.

3.2. Criptografia de Disco Cheio


Disco cheio ou criptografia de partio uma das melhores formas de proteger seus dados. No s
protege cada arquivo como tambm protege armazenamento temporrio que possa conter partes
destes arquivos . A criptografia de disco cheio ir proteger todos os seus arquivos para que voc no
tenha que se preocupar com a seleo do que voc precisa preencher e possivelmente um arquivo que
esteja faltando.
Red Hat Enterprise Linux 6 suporta originalmente a criptografia LUKS. O LUKS criptografas todas as
suas parties do disco rgido para que enquanto o computador esteja desligado, seus dados sejam
protegidos. Isto tambm protege seu computador tentativas de ataques para usar um modo de
usurio nico para se autenticar em seu computador ou obter acesso.
As solues de criptografia de disco cheio, assim como LUKS, protege somente dados quando seu
computador estiver desligado. Depois que o computador estiver ligado e o LUKS houver
descriptografado o disco, os arquivos no disco estaro disponveis para qualquer um que tivesse
acesso normalmente ele. Para proteger seus arquivos quando o computador estiver ligado, use a
criptografia de disco cheio junto com outra soluo como a criptografia baseada em arquivo. Lembre-se
tambm de trancar seu computador sempre que estiver longe dele. Uma boa dica para evitar intrusos
obter um descanso de tela protegido por uma frase-senha, que seja ativado aps alguns minutos de
ociosidade.

3.3. Criptografia baseado em Arquivo


O GnuPG (GPG) uma verso de fonte aberta de PGP que permite que voc se autentique e/ou
criptografe um arquivo ou uma mensagem de email. Isto til para manter a integridade da mensagem
ou arquivo e tambm protege a confidencialidade das informaes contidas dentro do arquivo ou do
email. No caso do email, o GPG fornece proteo dupla. Ele no s fornece a proteo de Dados
Parados como tambm a proteo de Dados Ativos, depois da mensagem ter sido enviada pela rede.
A criptografia baseada em arquivo pretende proteger um arquivo aps ele ter deixado seu computador,
tal como quando voc envia um CD por correio. Algumas solues de criptografia baseada em arquivo
deixaro rastros dos arquivos criptografados que permitir que um atacante que tenha acesso fsico ao
seu computador recupere-os sob algumas circunstncias. Para proteger este contedo destes arquivos
contra intrusos que possam acessar seu computador, use a criptografia baseada em arquivo junto com
outra soluo como uma criptografia de disco cheio.

109

Red Hat Enterprise Linux 6 Guia de Segurana

3.4. Dados Ativos


Dados ativos so dados que so transmitidos via rede. A maior ameaa aos dados ativos a
intercepo e alterao. Seu nome de usurio e senha nunca devem ser transmitidos via rede sem a
proteo, pois pode ser interceptado e usado por outra pessoa que se passe por voc ou obter acesso
informaes confidenciais. Outras informaes privadas como informaes de conta bancria, devem
tambm ser protegidas ao serem transmitidas via rede. Se a sesso de rede foi criptografada ento
voc no precisar se preocupar com o comprometimento dos dados enquanto estiverem sendo
enviados.
Dados ativos so especialmente vulnerveis atacantes pois o atacante no precisa estar perto do
computador que contm os dados armazenados, eles s precisam estar em algum local no caminho
dele. Os tneis de criptografia podem proteger dados no caminho das comunicaes.

3.5. Virtual Private Networks (Rede Privada Virtual)


Virtual Private Networks ( Rede Privada Virtual - VPN) fornece tneis criptografados entre computadores
ou redes de computadores em todas as portas. Com um VPN, todo o trfego de rede de clientes
encaminhado para o servidor atravs do tnel criptografado. Isto significa que o cliente logicamente na
mesma rede que o servidor est conectado via VPN. Os VPNs so muito comuns e simples de usar e
instalar.

3.6. Secure Shell (Shell Segura)


Secure Shell (SSH) um protocolo de rede potente usado para comunicar com outro sistema sob um
canal seguro. As transmisses sob SSH so criptografadas e protegidas de intercepo. A
autenticao criptogrfica pode tambm ser utilizada para fornecer um mtodo de autenticao melhor
ao invs de nomes de usurios tradicionais e senhas.
O SSH fcil de ativar. Simplesmente iniciando o servio sshd, o sistema ir comear a aceitar
conexes e permitir acesso ao sistema quando um nome de usurio correto e senha for fornecido
durante o processo de conexo. A porta padro T CP para o servio SSH 22, no entanto isto pode
mudar ao modificar o arquivo de configurao /etc/ssh/sshd_config e reiniciando o servio. Este arquivo
tambm contm outras opes de configurao para o SSH.
Secure Shell (SSH) tambm fornece tneis criptografados entre computadores mas somente usando
uma nica porta. O encaminhamento da Porta pode ser feito pelo tnel SSH e o trfego ser
criptografado quando passar por este tnel mas o uso da porta que encaminha no to rpido
quando o VPN.

3.7. OpenSSL PadLock Engine


O VIA PadLock Engine est disponvel em alguns processadores VIA C3 (Nehemia), e permite
criptografia e descriptografia de hardware extremamente rpida.

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

Depois adicione o seguinte no final do arquivo:


[openssl_init]
engines = openssl_engines
[openssl_engines]
padlock = padlock_engine
[padlock_engine]
default_algorithms = ALL
dynamic_path = /usr/lib/openssl/engines/libpadlock.so
init = 1

Para verificar se o mdulo est ativado, aplique este comando:


# openssl engine -c -tt

Para testar a velocidade, aplique este comando:


# openssl speed aes-128-cbc

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/.

3.8. LUKS Disk Encryption


Linux Unified Key Setup-on-disk-format (ou LUKS) permite que voc criptografe parties em seu
computador Linux. Isto muito importante em relao aos computadores mveis e mdias removveis. O
LUKS permite que chaves de usurios mltiplos descriptografem uma chave master que usada para
criptografia em massa de partio.

3.8.1. Implementao do LUKS no Red Hat Enterprise Linux


O Red Hat Enterprise Linux 6 usa o LUKS para realizar criptografia do sistema de arquivos . Por padro,
a opo de criptografar o sistema de arquivo no selecionada durante a instalao. Se voc
selecionar a opo para criptografar seu disco rgido, voc precisar inserir uma senha que ser
solicitada todas as vezes que voc inicializar seu computador. Esta senha "desbloqueia" a chave de
criptografia em massa que usada para descriptografar sua partio. Se voc escolher modificar a
tabela de partio padro, voc poder escolher quais parties voc quer criptografar. Isto definido
nas configuraes de tabela da partio.
A cfra padro usada para o LUKS (consulte o cryptsetup --help) aes-cbc-essiv:sha256 (ESSIV Encrypted Salt-Sector Initialization Vector). Note que o programa de instalao, Anaconda, usa o modo
XT S por padro (aes-xts-plain64). O tamanho da chave padro para o LUKS 256 bits. O tamanho da
chave padro para o LUKS com o Anaconda (XT S mode) 512 bits. Cfras que esto disponveis so:
AES - Advanced Encryption Standard - FIPS PUB 197

111

Red Hat Enterprise Linux 6 Guia de Segurana

T wofish (A 128-bit Block Cipher)


Serpent
cast5 - RFC 2144
cast6 - RFC 2612

3.8.2. Criptografando Diretrios Manualmente


Aviso
Ao seguir este procedimento voc remover todos os dados da partio que voc est
criptografando. Voc IR PERDER todas as informaes! Certifique-se de criar um backup de
seus dados em uma fonte externa antes de iniciar este procedimento!

3.8.3. Instrues Passo-a-Passo


1. entre no runlevel 1: telinit 1
2. desmonte seu /home existente: um ount /hom e
3. Se isto falhar, use o fuser para encontrar e eliminar processos se apoderando do /home: fuser
-m vk /hom e
4. verifique se o /home no est mais montado: cat /proc/m ounts | grep hom e
5. Preencha sua partio com dados aleatrios: dd if=/dev/urandom
of=/dev/VG00/LV_hom e Este processo leva horas para ser concludo.

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

3.8.4. O que voc acaba de concluir.


Parabns, voc criou uma partio criptografada para manter todos os seus dados com segurana

112

Captulo 3. Criptografia

enquanto seu computador estiver desligado.

3.8.5. Links de interesse


Para informaes adicionais sobre o LUKS ou criptografia de disco rgido sob o Red Hat Enterprise
Linux visite um dos seguintes links:
LUKS home page
LUKS/cryptsetup FAQ
LUKS - Linux Unified Key Setup
HOWT O: Creating an encrypted Physical Volume (PV) using a second hard drive and pvmove

3.9. Usando o GNU Privacy Guard (GnuPG)


O GPG usado para identificar voc e suas comunicaes, incluindo aquelas com pessoas que voc
no conhece. O GPG permite qualquer pessoa lendo um e-mail com assinatura GPG verificar sua
autenticidade. Em outras palavras, o GPG permite a algum estar razoavelmente certo de que a
comunicao assinada por voc realmente sua. O GPG til porque ajuda a prevenir terceiros de
alterar o cdigo ou interceptar conversas e alterar a mensagem.

3.9.1. Criando chaves GPG no GNOME


Instale o utilitrio Seahorse, que deixa o gerenciamento de chave GPG mais fcil. A partir do menu
principal, selecione Sistem a > Adm inistrao > Adicionar/Rem over Software e aguarde
pelo PackageKit iniciar. Digite Seahorse na caixa de texto e selecione Buscar. Marque a caixa prxima
ao pacote "seahorse" e selecione "Aplicar" para adicionar o software. Voc pode tambm instalar o
Seahorse na linha de comando com o comando su -c "yum install seahorse".
Para criar uma chave, do menu "Aplicativos > Acessrios" selecione "Senhas e Chaves de
Criptografia", que inicia a aplicao Seahorse. Do menu "Arquivo" selecione "Novo" ento "Chave
PGP". Ento clique em "Continuar". Digite o nome inteiro, endereo de email e um comentrio opcional
descrevendo quem voc (exemplo: (e.g.: John C. Smith, jsmith@example.com, O cara). Clique "Criar".
Uma janela mostrada pedindo a frase secreta para a chave. Escolha uma frase secreta forte mas
tambm fcil de lembrar. Clque "Ok" e a chave ser criada.

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.

3.9.2. Criando Chaves GPG no KDE


Inicie o programa KGpg do menu principal selecionando Aplicativos > Utilitrios > Ferramentas de
Criptografia. Se voc nunca usou o KGpg antes, o programa lhe ajuda no processo de criar seu prprio
par de chaves GPG. Um caixa de dilogo aparecer pedindo para voc criar um novo par de chaves.
Digite seu nome, endereo de e-mail e um comentrio opcional. Voc pode escolher um perodo de
expirao para sua chave, tanto quanto a fora da chave (nmero de bits) e algortimos. A prxima caixa
de dilogo pede pela frase secreta. Neste momento, sua chave aparece na janela principal do KGpg.

113

Red Hat Enterprise Linux 6 Guia de Segurana

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.

3.9.3. Criando chaves GPG Usando a Linha de Comando


Use o seguinte comando no shell: gpg --gen-key
Este comando gera um par de chaves que consiste de uma chave pblica e uma privada. Outras
pessoas usam sua chave pblica para se autenticar e/ou descriptografar suas comunicaes. Distribua
sua chave pblica o mximo possvel, especialmente para pessoas que voc sabe que recebero de
voc comunicaes autnticas, tal como uma mail list.
Uma srie de perguntas lhe direcionam no processo. Pressione Enter para atribuir um valor padro se
quiser. A primeira questo pede para voc selecionar o tipo de chave que voc prefere:
Por favor selecione qual tipo de chave voc quer: (1) DSA e ElGamal (padro) (2) DSA (apenas
assinatura) (4) RSA (apenas assinatura). Sua seleo? Na maioria dos casos, o padro a escolha
correta. Uma chave DSA/ElGamal lhe permite no somente assinar comunicaes mas tambm
criptografar arquivos.
Prximo, escolha o tamanho da chave: o tamanho mnimo 768 bits, o tamanho padro 1024 bits e o
mximo sugerido 2048 bits. Qual tamanho de chave escolher? (1024). Novamente, o padro
suficiente para a maioria dos usurios e representa um nvel de segurana extremamente forte.
A seguir, escolha quando a chave ir expirar. uma boa idia escolher uma data de expirao em vez
de usar o padro, que "nenhum". Se por exemplo, o endereo de e-mail na chave se tornar invlido,
uma data de expirao avisar os outros para parar de usar essa chave pblica.
Por favor especifique o tempo que a chave deve ser vlida. 0 = a chave no expira, d = a chave expira
em n dias, w = a chave expira em n semanas, m = a chave expira em n meses, y = a chave expira em n
anos. A chave valida por? (0)
Digitando o valor 1y, por exemplo, faz a chave vlida por 1 ano. (Voc pode alterar essa data de
expirao depois que a chave gerada, se voc mudar de idia).
Antes do programa gpg perguntar por informaes de assinatura, a seguinte pergunta aparece: Est
correto (s/n)? Digite s para terminar o processo.
A seguir, digite seu nome e endereo de e-mail. Lembre-se que este processo sobre autentica-lo
como uma pessoa real. Por esta razo, inclua seu nome real. No use apelidos ou cdigos, j que
esses disfaram ou ofuscam sua identidade.
Digite seu endereo de e-mail real para sua chave GPG. Se voc escolher um endereo de e-mail falso,
ser mais difcil para os outros encontrarem sua chave pblica. Isto dificulta a autenticao de suas
comunicaes. Se voc estiver usando essa chave GPG para [[DocsProject/SelfIntroduction| selfintroduction]] em uma mail list, por exemplo, digite o endereo de e-mail que voc usa nessa lista.
Use o campo de comentrios para incluir apelidos e outras informaes. (Algumas pessoas usam

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.

3.9.4. Sobre Criptografia de Chave Pblica


1. Wikipedia - Public Key Cryptography
2. HowStuffWorks - Encryption

115

Red Hat Enterprise Linux 6 Guia de Segurana

Captulo 4. Princpios Gerais da Segurana de Informao


Os seguintes princpios gerais fornecem uma viso geral de boas prticas de segurana:
criptografar todos os dados transmitidos via rede para ajudar a prevenir os ataques man-in-themiddle e eavesdropping. importante criptografar as informaes de autenticao, como senhas.
minimizar a quantidade de software instalado e servios de execuo.
use software de melhoria de segurana e ferramentas, por exemplo, Security-Enhanced Linux
(SELinux) for Mandatory Access Control (MAC), Netfilter iptables para filtragem de pacotes (firewall),
e GNU Privacy Guard (GnuPG) para arquivos criptografados.
se possvel, execute cada servio de rede em um sistema separado para minimizar o risco de um
servio comprometido sendo usado para comprometer outros servios.
manter contas de usurio: criar e reforar uma poltica de senha forte; remover contas de usurios
sem uso.
reveja o sistema diariamente e logs de aplicativos. Por padro, os logs de sistema relevante a
segurana so gravados em /var/log/secure e /var/log/audit/audit.log. Nota: o envio
de logs ao servidor de log dedicado ajuda a prevenir atacantes de modificar com facilidade logs
locais para evitar a deteco.
nunca autentique-se como usurio root, a menos que absolutamente necessrio. Recomenda-se
que os administradores usem o sudo para executar comandos como root quando requerido. Os
usurios capazes de executar o sudo so especificados em /etc/sudoers. Use o utilitrio
visudo para editar o /etc/sudoers.

4.1. Dicas, Guias e Ferramentas


O National Security Agency (NSA) dos Estados Unidos, fornece guia de hardening e dicas para muitos
sistemas operacionais diferentes, para ajudar agncias governamentais, comrcios e indivduos a
protegerem seus sistemas contra ataques. Os seguintes guias (em formato PDF) fornecem diretrizes
para o Red Hat Enterprise Linux 6:
Hardening T ips for the Red Hat Enterprise Linux 5
Guia para Proteger Configurao do Red Hat Enterprise Linux 5

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

Captulo 5. Instalao Segura

Captulo 5. Instalao Segura


A segurana inicia-se na primeira vez que voc coloca o CD ou DVD em seu drive de disco para instalar
o Red Hat Enterprise Linux. Configurar seu sistema de forma segura desde o incio torna-o mais fcil de
implementar configuraes de segurana adicional mais tarde.

5.1. Parties de Disco


O NSA recomenda criar parties separadas para o /boot, /, /home, /tmp, e /var/tmp. As razes para
cada um diferem e trataremos de cada partio.
/boot - Esta partio a primeira partio que lida pelo sistema durante a inicializao. O carregador
de inicializao e imagens do kernel que so usadas para inicializar seu sistema em Red Hat
Enterprise Linux so armazenadas nesta partio. Esta partio no deve ser criptografada. Se esta
partio for includa em / e essa partio for criptografada ou se tornar indisponvel, seu sistema no
poder inicializar.
/home - Quando os dados de usurio (/home) so armazenados em / ao invs de serem armazenados
em uma partio separada, a partio pode ficar cheia, fazendo com que o sistema operacional se torne
instvel. Da mesma forma, ao fazer o upgrade de seu sistema para uma prxima verso do Red Hat
Enterprise Linux muito mais fcil manter seus dados na partio /home, pois no ser sobrescrito
durante a instalao. Se a partio root (/) for corrompida, seus dados podem se perder para sempre.
Ao usar uma partio separada, adicionar proteo contra a perda de dados. Voc tambm pode
escolher esta partio para fazer backups frequentes.
/tmp e /var/tmp - T anto o diretrio /tmp quanto o /var/tmp so usados para armazenar dados que no
precisam ser armazenados por um longo perodo de tempo. No entanto, se estes diretrios ficarem
sobrecarregados com muitos dados, consumir seu espao de armazenamento. Se isto acontecer e
estes diretrios forem armazenados dentro do / ento seu sistema poder se tornar indisponvel e
travar. Por esta razo, mover estes diretrios para dentro de suas prprias parties uma tima idia.

5.2. Use a Criptografia da Partio LUKS


Durante o processo de instalao ser apresentada ao usurio uma opo para criptografar suas
parties. O usurio deve fornecer uma senha frase que ser a chave para desbloquear a chave de
criptografia em massa que ser usada para proteger os dados de partio.

117

Red Hat Enterprise Linux 6 Guia de Segurana

Captulo 6. Manuteno do Software


A manuteno do software extremamente importante para manter um sistema seguro. vital corrigir
um software assim que a atualizao esteja disponvel para impedir que invasores usem as brechas
para se infiltrar em seu sistema.

6.1. Instale o Mnimo de Software


A melhor prtica instalar somente pacotes que voc usar porque cada instalao de software em
sua mquina pode possivelmente conter uma vulnerabilidade. Se voc estiver instalando a partir de uma
mdia de DVD, use a oportunidade de selecionar exatamente os pacotes que voc quiser instalar
durante a instalao. Quando voc achar que precisa de um outro pacote, voc pode sempre adicionalo ao sistema mais tarde.

6.2. Planeje e Configure Atualizaes de Segurana


T odos os softwares contm bugs. Frequentemente, estes bugs podem resultar em uma vulnerabilidade
que pode expor seu sistema usurios maliciosos. Sistemas sem correo so uma causa comum de
instruso em computadores. Voc deve ter um plano para instalar correes de segurana em uma
maneira agendada para impedir essas vulnerabilidades para que ento no possam ser exploradas.
Para usurios domsticos, atualizaes de segurana devem ser instaladas assim que possvel.
Configurar instalaes automticas das atualizaes de segurana uma maneira de no ter que ficar
lembrando, mas possui um pequeno risco que alguma coisa pode causar um conflito com sua
configurao ou com outro software no sistema.
Para usurios domsticos avanados ou de empresas, atualizaes de segurana devem ser testadas
e agendadas para instalao. Controles adicionais precisaro ser usados para proteger o sistema
durante o perodo entre o lanamento da correo e sua instalao no sistema. Estes controles
dependem da vulnerabilidade, mas podem incluir regras adicionais de firewall, o uso de firewalls
externos ou mudanas nas configuraes do software.

6.3. Ajustando Atualizaes Automticas


O Red Hat Enterprise Linux configurado para aplicar todas as atualizaes em uma programao
diria. Se voc quiser mudar como seu sistema instala as atualizaes, voc deve fazer pelo '''Software
Update Preferences''' (Preferncias de Atualizao de Software). Voc pode mudar a programao, os
tipos de atualizaes a serem aplicadas ou notific-lo sobre atualizaes disponveis.
No Gnome, voc pode encontrar controles de suas atualizaes em System -> Preferences ->
Software Updates. No KDE est localizado em Applications -> Settings -> Software
Updates.

6.4. Instale Pacotes Assinados de Repositrios Bem Conhecidos


Pacotes de Software so publicados nos repositrios. T odos os repositrios bem conhecidos suportam
assinatura de pacotes. Assinatura de Pacotes usam tecnologia de chave pblica para provar que o
pacote foi publicado pelo repositrio e no foi alterado desde que a assinatura foi aplicada. Isto fornece
certa proteo contra instalar o software que pode ter side maliciosamente modificado depois que o
pacote foi criado mas antes de voc te-lo baixado.
Usar muitos repositrios, repositrios no confiveis, ou repositrios sem assinaturas de pacotes
possui um risco maior de colocar um cdigo malicioso ou vulnervel em seu sistema. T enha cautela

118

Captulo 6. Manuteno do Software

quando adicionar repositrio ao yum/atualizao de software.

119

Red Hat Enterprise Linux 6 Guia de Segurana

Captulo 7. Padres Federais e Regulamentao


7.1. Introduo
Para manter os nveis de segurana, possvel que sua empresa se esforce para atender as medidas
federais e especificaes de segurana industrial, padres e regulamentaes. Este captulo descreve
alguns dos padres e regulamentaes.

7.2. Federal Information Processing Standard (FIPS)


T he Federal Information Processing Standard (FIPS) Publicaton 140-2, um padro de segurana de
computao, desenvolvido pelo Governo dos EUA e fora de trabalho industrial para validar a qualidade
de mdulos criptogrficos. As publicaes FIPS (incluindo o 140-2) podem ser encontradas nas
seguintes URL: http://csrc.nist.gov/publications/PubsFIPS.html. Observe que durante o processo de
escrita deste, o Publication 140-3 se encontra em estado de Rascunho, e pode no representar o
padro completo. O padro FIPS fornece quatro (4) nveis de segurana, para assegurar cobertura
adequada de indstrias diferentes, implementaes de mdulos criptogrficos e tamanhos e
requerimentos organizacionais. Estes nveis so descritos abaixo:
Nvel 1 - O Nvel de Segurana 1 fornece o nvel mais baixo de segurana. Os requerimentos de
segurana bsicos so especificados por um mdulo criptogrfico (ex.: deve ser usado ao menos
um algortimo aprovado ou funo de segurana Aprovada). No requerido nenhum mecanismo de
segurana fsica especfica em um mdulo criptogrfico de Segurana Nvel 1, alm dos
requerimentos bsicos para os componentes de grau de produo. Um exemplo de um Nvel 1 de
Segurana de mdulo criptogrfico a placa de criptografia de um computador pessoal (PC).
Nvel 2 - O Nvel de Segurana 2 aumenta os mecanismos de segurana fsica de um mdulo
criptogrfico de Nvel de Segurana 1, adicionando os requerimentos para cobertura ou selo tamperevident ou para bloqueios pick-resistant em coberturas removveis ou portas do mdulo. A cobertura
ou selo tamper-evident so colocadas em um mdulo criptogrfico para que a cobertura ou selo
dese quebrada para obter acesso fsico s chaves criptogrficas de texto simples e parmetros de
segurana crticos (CSPs) dentro do mdulo. Os selos tamper-evident ou bloqueios pick-resistant
so colocados em coberturas ou portas para proteger contra acesso fsico no autorizado.
Nvel 3 - Alm dos mecanismos de segurana fsicos tamper-evident requeridos no Nvel de
Segurana 2, o Nvel de Segurana 3 tenta prevenir o intruso de obter acesso so CSPs mantido
dentro do mdulo criptogrfico. Os mecanismos de segurana fsica requeridos no Nvel de
Segurana 3 podem ter alta possiblidade de detectar e responder tentativas contra acesso fsico,
uso ou modificao de mdulo criptogrfico. Os mecanismos de segurana fsica podem incluir o
uso de contedo forte e deteco de intromisso/ circuito de reposta que zera todos os CSPs de
texto simples quando a cobertura/portas removveis de mdulo criptogrfico estiverem abertos.
Nvel 4 - Nvel de Segurana 4 fornece alto nvel de segurana, definido neste padro. Neste nvel
de segurana, os mecanismos de segurana fsica fornece um envelope completo de proteo ao
redor de mdulo criptogrfico com a inteno de detectar e responder todas as tentativas de
acesso fsico no autorizados. A penetrao do contedo de mdulo criptografico de qualquer
direo possui uma alta probabilidade de ser detectado, resultando em zeroizao de todos os
CSPs de texto simples. Os mdulos criptogrficos de Nvel de Segurana 4 so teis para a
operao em ambientes fisicamente desprotegidos.
Consulte o padro completo FIPS 140-2 em: http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf
para mais detalhes sobre estes nveis e outras especificaes do padro FIPS.

120

Captulo 7. Padres Federais e Regulamentao

7.3. National Industrial Security Program Operating Manual


(NISPOM)
O NISPOM (tambm chamado de DoD 5220.22-M), como um componente do National Industrial Security
Program (NISP), estabelece uma srie de procedimentos e requerimentos para todos os contratantes
do governo em relao a informaes classificadas. O NISPOM atual datado em 28 de Fevereiro de
2006. O documento NISPOM pode ser baixado da seguinte
URL:https://www.dss.mil/GW/ShowBinary/DSS/isp/fac_clear/download_nispom.html.

7.4. Payment Card Industry Data Security Standard (PCI DSS)


Em https://www.pcisecuritystandards.org/about/index.shtml: O PCI Security Standards Council um
forum global aberto, lanado em 2006, responsvel pelo desenvolvimento, gerenciamento, educao e
conscincia do PCI Security Standards, incluindo o Data Security Standard (DSS).
Voc pode baixar o padro PCI DSS a partir de
https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml.

7.5. Guia de Implementao Tcnico de Segurana


O Guia de Implementao T cnico de Segurana ou ST IG uma metodologia para instalao e
manuteno segura padronizada do software e hardware do computador.
Consulte a seguinte URL para obter uma lista dos guias disponveis:
http://iase.disa.mil/stigs/stig/index.html.

121

Red Hat Enterprise Linux 6 Guia de Segurana

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

Red Hat Enterprise Linux 6 Guia de Segurana

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 ]

A.1.2. Data Encryption Standard - DES


O Data Encryption Standard (DES) uma cfra em bloco (uma forma de criptografia secreta
compartilhada) que foi selecionada pelo National Bureau of Standards como um Padro de
Processamento de Informaes Federal ( FIPS - Federal Information Processing Standard) para os
Estados Unidos em 1976 e o qual foi utilizado internacionalmente. Ele baseado em algortmos de
chave simtrica que usam chaves de 56 bits. O algortimo gerou controvrsias inicialmente com
elementos de modelo classificados, um tamanho de chave relativamente pequeno, e esteve sob
suspeita de conter uma backdoor (porta-dos-fundos) do National Security Agency (NSA). O DES
consequentemente, foi criado sob uma anlise detalhada acadmica que motivou a compreenso
moderna de cfras de bloco e suas criptoanlises.

[17]

A.1.2.1. Uso do DES


A.1.2.2. Histrico do DES
O DES considerado inseguro por muitos aplicativos. Isto se deve ao fato do tamanho da chave de 56
bits ser muito pequeno; em Janeiro, 1999, distributed.net e o Electronic Frontier Foundation colaboraram
com a quebra pblica de uma chave do DES em 22 horas e 15 minutos (veja a cronologia). Existem
tambm alguns resultados analticos que demonstraram fraqueza teortica na cfra, embora sejam
impossveis de se montar na prtica. Acredita-se que o algortmo seja praticamente seguro na forma de
T riple DES, embora existam ataques teorticos. Recentemente, a cfra foi substituda pela cfra
Advanced Encryption Standard (AES). [18 ]

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 ]

A.2. Criptografia de chave Pblica


A criptografia de chave pblica uma forma de criptografia, empregada por muitos algortimos
criptogrficos e criptosistemas, cujas caractersticas distintas so o uso de algortimos de chave
assimtricos ao invs de ou alm de algortimos de chaves simtricas. O uso das tcnicas de
criptografia pblica de chave privada, muitos mtodos de proteo de comunicao ou autenticao de
mensagens antes desconhecidas se tornaram prticas. Elas no requerem uma troca inicial segura de
uma ou mais chaves secretas como requerido ao utilizar algorticmos de chave simtricas. Ele pode
tambm ser usado para criar assinaturas digitais.

[20 ]

Criptografia de chave pblica fundamental e uma tecnologia amplamente utilizada mundialmente, e a


forma que contm tais padres de Internet como Segurana de Camada de T ransporte (T LS) (sucessor
do SSL), PGP e GPG.

[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

Red Hat Enterprise Linux 6 Guia de Segurana

(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 ]

A.2.5. Cramer-Shoup Cryptosystem


O sistema Cramer-Shoup um algortimos de criptografia assimtrica, e foi o primeiro esquema eficiente
que provou ser seguro em ataques de textos de cifras escolhidos como adaptveis, usando
presunes criptogrficas padro. Sua segurana baseada em intractabilidade computacional
(presumido amplamente, mas ainda no foi provado) de presunes de do Diffie-Hellman. Desenvolvido
por Ronald Cramer e Victor Shoup, em 1998, uma estenso malevel, o Cramer-Shoup adiciona
elementos para assegurar a falta de maleabilidade mesmo contra atacantes munidos de recursos. Esta
no maleabilidade alcanada atravs do uso da funo de hash resistente coliso e outras
tecnologias, resultando em texto cfra que duas vezes maior do que em Elgamal.

[31]

A.2.6. ElGamal Encryption


Na criptografia, o sistema de criptografia ElGamal um algortimo de criptografia assimtrica para
criptografia de chave pblica, que baseada no acordo de chave do Diffie-Hellman. Foi descrito por
T aher Elgamal em 1985. A criptografia do ElGamal usada no software livre GNU Privacy Guard,
verses recentes do PGP, e outros criptosistemas.

[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

Red Hat Enterprise Linux 6 Guia de Segurana

Histrico de Reviso
Reviso 1.5-3.35.4 02
Rebuild with Publican 4.0.0

Fri Oct 25 2013

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

Você também pode gostar