Escolar Documentos
Profissional Documentos
Cultura Documentos
ca
VOLUME 1
Ttulo original:
Autor:
Email:
Verso:
ltima reviso:
1.0
05 de janeiro de 2001
Pgina: 1
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Nota do Tradutor:
Este volume a traduo parcial do livro Securing and Optimizing Red Hat Linux de
Gerhard Mourani <gmourani@videotron.ca>.
Abaixo, uma tabela de referncia cruzada entre esta traduo e o original:
Esta Traduo Parcial
Captulo 1
Captulo 2
Captulo 3
Captulo 4
Captulo 5
Captulo 6
Introduo ao Linux
Instalao do seu Servidor
Linux
Segurana Geral do Sistema
Firewall de Rede
Gerenciamento da Rede TCP/IP
Firewall de Rede com Suporte a
Macaramento e Repasse
Original
Chapter 1
Chapter 2
Chapter 3
Chapter 7
Chapter 6
Chapter 8
Introduction to Linux
Installation of your Linux
Server
General System Optimization
Networking Firewall
TCP/IP Network Management
Networking Firewall with
Masquerading and Forwarding
Support
Pgina: 2
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
ndice
1. Introduo ao Linux
Introduo ...................................................................................
Pblico-Alvo ...............................................................................
Estas instrues de instalao assumem .....................................
Sobre os produtos mencionados neste livro ...............................
Obtendo o livro e arquivos de exemplos de configurao .........
Uma nota sobre os direitos autorais ...........................................
Reconhecimentos .......................................................................
Chave Pblica GPG de Gerhard Mourani .................................
Introduo ao Linux ...................................................................
O que Linux? ...........................................................................
Algumas boas razes para se usar Linux ...................................
Vamos dissipar alguns temores, incertezas e dvidas
sobre o Linux .............................................................................
um Sistema Operacional de brinquedo ...................................
No h suporte ...........................................................................
7
7
7
8
8
9
10
10
13
13
13
14
14
14
17
17
17
19
19
21
22
22
25
27
32
34
35
39
42
46
46
Pgina: 3
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
51
52
53
54
55
56
57
58
59
60
61
65
67
68
69
70
71
72
73
74
75
76
79
80
81
83
84
85
87
89
91
92
93
95
96
97
98
99
100
Pgina: 4
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
4. Firewall de Rede
Viso Geral .................................................................................
O que vem a ser uma Poltica de Segurana por Firewall
de rede? ........................................................................................
O que vem a ser Filtro de Pacotes ...............................................
A Topologia .................................................................................
Compile um kernel com suporte a Firewall IPCHAINS ..........
Habilitando o Trfego Local .......................................................
Filtragem de Endereo de Origem ..............................................
O restante das regras ...................................................................
Configurao do arquivo de script "/etc/rc.d/init.d/firewall"
para o Servidor Web ...................................................................
Configurao do arquivo de script "/etc/rc.d/init.d/firewall"
para o Servidor de Email ............................................................
103
103
104
104
107
108
109
110
110
127
145
145
146
147
147
147
148
149
149
150
151
151
152
160
160
162
163
186
187
188
Pgina: 5
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
CAPTULO 1
Introduo ao Linux
Introduo ...................................................................................
Pblico-Alvo ................................................................................
Reconhecimentos ........................................................................
10
10
13
13
13
14
14
No h suporte ...........................................................................
14
Pgina: 6
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Introduo
Quando eu comecei, a primeira pergunta que fiz a mim mesmo foi: Como instalar
um servidor Linux e estar certo de que ningum, nem de fora nem de dentro, possa acesslo sem permisso? Depois, fiquei imaginando se existia algum mtodo similar ao do
Windows para melhorar a performance do computador. Em seguida, iniciei uma pesquisa
pela Internet e li vrios livros para obter o mximo de informaes sobre segurana e
performance para o meu servidor. Aps vrios anos de pesquisas e estudos, finalmente
descobri as respostas para as minhas perguntas. Todas essas respostas foram encontradas
atravs de diferentes documentos, livros, artigos e sites pela Internet. Ento, criei uma
documentao, com base em minhas pesquisas, que pudesse me ajudar em minhas tarefas
dirias. Atravs dos anos, esta documentao ficou maior e comeou a se parecer mais com
um livro do que com simples anotaes dispersas. Decidi public-la na Internet para que
qualquer um pudesse se beneficiar dela. Ao compartilhar essas informaes, fiz minha parte
na comunidade Linux, comunidade essa que tem respondido a vrias de minhas
necessidades computacionais com um sistema operacional mgico, confivel, robusto,
poderoso, rpido e livre chamado Linux. Tive muito feedback, bem como, comentrios
sobre minha documentao, o que ajudou a melhor-la. Tambm, acho que muitas pessoas
gostariam de v-la publicada por causa de seu contedo, para que possam aproveitar suas
vantagens e ver o poder deste bonito sistema, que o Linux, em ao.
Foram necessrios muito tempo e esforo para criar este livro e assegurar que os
resultados fossem os mais precisos possveis. Se voc encontrar quaisquer anormalidades
ou resultados inconsistentes, erros, omisses ou qualquer coisa que no parea certo, por
favor mantenha-me informado para que eu possa investigar o problema e corrigir o erro.
Sugestes para verses futuras tambm so bem-vindas e apreciadas.
Pblico-Alvo
Este livro voltado para um pblico tcnico e para administradores de sistemas que
gerenciam servidores Linux, mas tambm inclui material para usurios domsticos e outros.
Ele fala sobre como instalar e configurar um Servidor Red Hat Linux com toda a segurana
e otimizao necessrias para uma mquina especfica Linux com alta performance. J que
estamos falando de configurao de segurana e otimizao, usaremos uma distribuio de
programas em cdigo-fonte (tar.gz) sempre que possvel, especialmente para softwares
crticos de servidor como o Apache, o BIND/DNS, o Samba, o Squid, o OpenSSL, etc. O
cdigo-fonte nos dar atualizao rpida dos bugs de segurana quando necessrio, alm de
melhor compilao, personalizao e otimizao para nossas mquinas especficas, o que
no se pode obter com pacotes RPM.
Pgina: 7
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
http://www.linuxdoc.org/docs.html#guide
Da rede da OReilly: http://www.oreillynet.com/pub/t/20
Do TuneLinux.COM: http://tunelinux.com/bin/page?general/optimization/
Pgina: 8
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
gmourani@videotron.ca
gmourani@netscape.net
Pgina: 9
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Reconhecimentos
Eu gostaria de agradecer Michel Mral que desenhou todos os bonitos animais em
meu livro, Robert L. Ziegler por permitir que eu inclusse o seu software de firewall e a
todos os usurios Linux em todo o mundo por seus comentrios e sugestes.
Pgina: 10
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 11
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 12
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Introduo ao Linux
O que o Linux ?
O Linux um sistema operacional cuja criao foi iniciada na Universidade de
Helsinki, na Finlndia, por um jovem estudante chamado Linus Torvalds. Naquele tempo, o
estudante estava trabalhando em um sistema UNIX que executava em uma plataforma cara.
Devido ao seu baixo oramento e sua necessidade de trabalhar em casa, ele decidiu criar
uma cpia do sistema UNIX e conseguiu execut-lo em uma plataforma menos cara como
um IBM PC. Ele comeou o seu trabalho em 1991, quando liberou a verso 0.02 e
trabalhou firmemente at 1994, quando a verso 1.0 do Kernel do Linux foi liberada. A
verso atual completa neste momento a 2.2.X (liberada em 25 de janeiro de 1999), e o
desenvolvimento prossegue.
O sistema operacional Linux desenvolvido sob a Licena Pblica Geral da GNU
(tambm conhecida como GNU GPL) e o seu cdigo-fonte est livremente disponvel para
todos que queiram fazer download pela Internet. A verso do Linux em CD-ROM tambm
est disponvel em vrias lojas e as empresas que o fornecem cobram um preo por ele. O
Linux pode ser usado para uma grande variedade de propsitos, incluindo rede,
desenvolvimento de software e como uma plataforma de usurio final. Geralmente, o Linux
considerado uma alternativa excelente e de baixo custo com relao a outros sistemas
operacionais mais caros porque voc pode instal-lo em vrios computadores sem pagar a
mais por isso.
Algumas boas razes para se usar Linux
No h taxas de licenciamento ou royalties e o cdigo-fonte pode ser modificado
para satisfazer suas necessidades. Os resultados podem ser vendidos para se obter lucros,
porm os autores originais detm os direitos autorais e voc tem de fornecer o cdigo-fonte
das suas modificaes.
Devido ao fato de vir com o cdigo-fonte do kernel e ser completamente portvel, o
Linux roda em vrias CPUs e plataformas mais do que qualquer sistema operacional de
computador.
Os rumos atuais da indstria de software e hardware so forar o consumidor a
comprar computadores mais rpidos, com maiores capacidades de memria de sistema e
disco rgido. O Linux no afetado por estes rumos da indstria devido sua capacidade de
ser executado em quaisquer computadores, como velhos computadores baseados em x486
com quantidades limitadas de RAM.
O Linux um sistema operacional multitarefa real similar ao seu irmo UNIX. Ele
usa o que h de mais moderno em tecnologia de gerenciamento de memria para controlar
todos os processos do sistema. Isto significa que se um processo travar, voc poder matlo e continuar trabalhando com segurana.
Pgina: 13
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 14
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
CAPTULO 2
Instalao do seu servidor Linux
Instalao do Linux ........................................................................................... 17
Conhea o seu hardware .................................................................................. 17
Criando o disco de boot e fazendo o boot ...................................................... 17
Classe e mtodo de instalao ........................................................................ 19
Configurao do disco (Disk Druid) ................................................................ 19
Tamanho mnimo das parties ...................................................................... 21
Disk Druid .......................................................................................................... 22
Uma partio de swap ...................................................................................... 22
Componentes a serem instalados ................................................................... 25
Seleo de pacotes individuais ....................................................................... 27
Como usar os comandos RPM ........................................................................ 32
Iniciando e parando os servios (daemons) .................................................. 34
Softwares que devem ser desinstalados aps a instalao do servidor .... 35
Softwares que devem ser instalados aps a instalao do servidor .......... 39
Programas instalados no seu servidor .......................................................... 42
Coloque algumas cores no seu terminal ........................................................ 46
Atualizao dos softwares mais recentes ...................................................... 46
Pgina: 15
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 16
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Instalao do Linux
Preparamos este captulo de forma que a sequncia original do CD-ROM do Red
Hat Linux 6.1 seja seguida. Cada seo abaixo se refere e ir gui-lo atravs de diferentes
telas que aparecero durante a configurao do seu sistema aps a insero do disco de boot
do Red Hat Linux em seu computador. Ser interessante ter a mquina, na qual voc deseja
instalar o Linux, pronta e perto de voc quando voc estiver seguindo os passos descritos
abaixo.
Conhea o seu hardware !
1) Quantos discos rgidos voc tem ?
2) Qual o tamanho de cada disco rgido (3.2 GB) ?
3) Caso voc tenha mais de um disco rgido, qual o primrio ?
4) Que tipo de disco rgido voc tem (IDE, SCSI) ?
5) Quanto de RAM voc tem (256 MB de RAM) ?
6) Voc tem um adaptador SCSI ? Caso positivo, qual o fabricante e o modelo ?
7) Voc tem um sistema RAID ? Caso positivo, qual o fabricante e o modelo ?
8) Que tipo de mouse voc tem (PS/2, Microsoft, Logitech) ?
9) Quantos botes o seu mouse possui (2/3) ?
10) Caso tenha um mouse serial, a que porta ele est conectado (COM1) ?
11) Qual o fabricante e o modelo de sua placa de vdeo ? Quanta RAM de vdeo
voc tem (4 MB) ?
12) Que tipo de monitor voc tem (marca e modelo) ?
13) Voc estar conectado a uma rede ? Caso afirmativo, quais os seguintes dados:
a. Seu endereo IP ?
b. Seu netmask ?
c. Seu endereo de gateway ?
d. O endereo IP do seu servidor de nomes de domnio (DNS) ?
e. Seu nome de domnio ?
f. Seu nome de host ?
g. Os tipos de suas placas de rede (marca e modelo) ?
Criando o disco de boot e fazendo o boot
A primeira coisa a fazer criar um disco de instalao, tambm conhecido como
disco de boot. Caso voc tenha comprado o CD-ROM oficial do Red Hat Linux, voc
encontrar este disco com o nome de "Boot Diskette" na caixa do Red Hat Linux e voc
no precisar cri-lo. De tempos em tempos, voc pode descobrir que a instalao poder
falhar com a imagem de disco padro que vem com o CD-ROM oficial do Red Hat Linux.
Caso isto ocorra, ser necessrio um disco revisado para que a instalao funcione
adequadamente. Para estes casos, imagens especiais esto disponveis na pgina web Errata
do Red Hat Linux para resolver o problema (http://www.redhat.com/errata). J que esta
uma ocorrncia relativamente rara, voc economizar tempo se tentar usar as imagens de
disco padro primeiramente e consultar a Errata somente se voc experimentar algum
problema em completar a instalao.
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 17
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 1
Antes de criar o disco de boot, insira o CD Oficial nr 1 do Red Hat Linux 6.1 em
seu computador que esteja rodando o sistema operacional Windows. Quando o programa
pedir o nome do arquivo, voc digita boot.img para o disco de boot. Para criar disquetes no
MS-DOS, voc precisar usar este comandos (assumindo que o CD-ROM est no drive D:
e que contenha o CD Oficial do Red Hat Linux 6.1):
Pgina: 18
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
GNOME Workstation
KDE Workstation
Server
Custom
Pgina: 19
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 1
Por questes de performance, estabilidade e segurana, voc deve criar, em seu
computador, algo parecido com as seguintes parties listadas abaixo. Para esta
configurao de particionamento, estamos supondo o fato de que voc tem um disco rgido
SCSI de 3.2 GB. claro que voc precisar ajustar os tamanhos das parties conforme
suas prprias necessidades e tamanho de disco.
As parties que devem ser criadas em seu sistema:
/boot
/usr
5 MB
1000 MB
/home
500 MB
/chroot
400 MB
/cache
400 MB
/var
200 MB
<Swap>
/tmp
/
150 MB
100 MB
315 MB
Pgina: 20
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Podemos criar mais duas parties especiais: /chroot e /cache. A partio /chroot
pode ser usada para o servidor DNS, o servidor Apache e outros programas futuros no
estilo chroot. A partio /cache pode ser usada para um servidor Proxy Squid. Se voc no
pretente instalar um servidor Proxy Squid, voc no precisa criar a partio /cache.
Colocar /tmp e /home em parties separadas muito mais obrigatrio se os
usurios tiverem uma conta shell no servidor (proteo contra programas SUID). A diviso
destes sistemas de arquivos em parties separadas tambm impedem que usurios encham
quaisquer sistemas de arquivos crticos (ataque de negao de servios - DoS). Colocar /var
e /usr em parties separadas tambm uma idia muito boa. Isolando-se a partio /var,
voc protege a sua partio raz de um estouro (ataque de negao de servios - DoS).
Em nossa configurao de partio, reservaremos 400 MB de espao em disco para
programas chroot, como o Apache, o DNS e outros softwares. Isto necessrio porque os
arquivos do diretrio raz de documentos do Apache (DocumentRoot) e outros programas
binrios relacionados ao Apache sero instalados nesta partio, caso voc decida rodar o
servidor web Apache em um ambiente fechado chroot. Observe que o tamanho do diretrio
chroot do Apache proporcional ao tamanho de seus arquivos em "DocumentRoot". Se
voc no pretente instalar e utilizar o Apache em seu servidor, voc pode reduzir o tamanho
desta partio para algo em torno de 10 MB para o servidor DNS que voc sempre precisa
ter em um ambiente fechado chroot por razes de segurana.
Tamanho mnimo das parties
Somente para informao, estes so os tamanhos mnimos, em megabyte, que as
parties da instalao do Linux devem ter para um funcionamento adequado. Os tamanhos
das parties listadas abaixo so realmente pequenos. Esta configurao pode caber em um
disco rgido muito antigo de 512 MB de tamanho e que podemos encontrar em velhos
computadores x486. Eu mostro estas parties a voc s para dar um idia:
/
/boot
/chroot
/home
/tmp
/usr
/var
35 MB
5 MB
10 MB
100 MB
30 MB
232 MB
25 MB
Pgina: 21
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Disk Druid
O Disk Druid um programa que particiona o disco rgido para voc. Escolha Add
para adicionar uma nova partio, Edit para editar, Delete para apagar uma partio e
Reset para resetar a partio ao seu estado original. Quando voc adiciona uma partio,
uma nova janela aparece e lhe mostra parmetros a serem escolhidos. Os diferentes
parmetros so:
Mount Point:
Size (Megs):
Partition Type:
Caso voc tenha um HD SCSI, o nome do dispositivo ser /dev/sda e caso voc
tenha um HD IDE, o nome ser /dev/hda. Se voc estiver em busca de performance e
estabilidade altas, um disco SCSI altamente recomendado.
O Linux se refere s parties do disco usando uma combinao de letras e
nmeros. Ele usa um esquema de nomes que mais flexvel e comunica mais informaes
do que os modelos utilizados por outros sistemas operacionais. Aqu est um resumo:
Primeiras Duas Letras - As primeiras duas letras do nome da partio indicam o
tipo de dispositivo no qual a partio reside. Normalmente, voc ver ou hd (para discos
IDE) ou sd (para disco SCSI).
A Prxima Letra - Esta letra indica em que dispositivo a partio est. Por
exemplo, /dev/hda (o primeiro disco rgido IDE) e /dev/hdb (o segundo disco IDE).
Tenha em mente estas informaes, pois tornaro as coisas mais fceis de se
entender quando voc estiver configurando as parties que o Linux precisa.
Uma partio de swap
A partio de swap usada para dar suporte memria virtual. Se o seu computador
tiver 16 MB de RAM ou menos, voc deve criar uma partio de swap. Mesmo que voc
tenha mais memria, uma partio de swap ainda recomendada. O tamanho mnimo de
sua partio de swap deveria ser igual RAM de seu computador ou 16 MB (o que for
maior). A grosso modo, o maior tamanho de partio de swap utilizvel 1 GB (a partir do
kernel 2.2, arquivos de swap de 1 GB so suportados), de forma que a criao de parties
de swap maiores do que isso resultaro em perda de espao. Observe, contudo, que voc
pode criar e utilizar mais de uma partio de swap (embora isto seja necessrio somente
para instalaes de servidores muito grandes).
Observao: Tente colocar as suas parties de swap prximas do incio de seu
disco. O incio do disco est fisicamente localizado na poro mais externa dos cilindros, de
maneira que a cabea de escrita/leitura pode cobrir mais terreno por revoluo.
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 22
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 23
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Add
Mount Point:
nosso partio /Swap (ponto de montagem em branco).
Size (Megs): 150
Partition Type: Linux Swap
Ok
Add
Mount Point: /tmp nosso diretrio /tmp.
Size (Megs): 100
Partition Type: Linux Native
Ok
Add
Mount Point: / nosso diretrio /.
Size (Megs): 316
Partition Type: Linux Native
Ok
Aps ter completado o particionamento de seu disco, voc dever ver algo parecido
com as seguintes informaes em sua tela. Nossos pontos de montagem se parecero assim:
Mount Point
/boot
/usr
/home
/chroot
/cache
/var
<Swap>
/tmp
/
Drive
sda
Device
sda1
sda5
sda6
sda7
sda8
sda9
sda10
sda11
sda12
Geom [C/H/S]
[3079/64/32]
Requested
5M
1000M
500M
400M
400M
200M
150M
100M
316M
Total (M)
3079M
Actual
5M
1000M
500M
400M
400M
200M
150M
100M
315M
Free (M)
1M
Type
Linux Native
Linux Native
Linux Native
Linux Native
Linux Native
Linux Native
Linux Swap
Linux Native
Linux Native
Used (M)
3078M
Used (%)
99%
Pgina: 24
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Na prxima tela, voc ver a configurao do LILO onde ter a opo de instalar o
registro de boot do LILO no:
Geralmente, se o Linux for o nico SO na sua mquina, voc deve escolher "Master
Boot Record (MBR)". Depois disso, voc precisar configurar a sua LAN e o relgio. Aps
terminar de configurar o relgio, voc precisar informar uma senha de root para o seu
sistema e fazer a configurao da autenticao.
Para a configurao da autenticao, no esquea de selecionar:
Pgina: 25
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Uma instalao adequada do seu servidor Linux o primeiro passo para um sistema
estvel e seguro. Voc primeiro tem que escolher que componentes de sistema voc deseja
ter instalados. Selecione os componentes e depois parta para a seleo individual dos
pacotes de cada componente, selecionando a opo Select individual packages na tela de
configurao do seu Red Hat.
J que estamos configurando um servidor Linux, no precisamos instalar uma
interface grfica (XFree86) em nosso sistema (interface grfica em um servidor significa
mais processos, menos cpu, menos memria, riscos de segurana e assim por diante).
Geralmente, a interface grfica utilizada somente em estaes de trabalho. Selecione os
seguintes pacotes para instalao:
Aps selecionar os componentes que voc deseja instalar, voc pode selecionar ou
desselecionar pacotes.
Observao: Selecione a opo Select individual packages (muito importante)
para que voc possa ter a possibilidade de selecionar ou desselecionar pacotes.
Pgina: 26
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
git
finger, ftp, fwhois, ncftp, rsh, rsync, talk, telnet
ghostscript, ghostscript-fonts, mpage, rhs-printfilters
arpwatch, bind-utils, knfsd-clients, procinfo, rdate,
rdist, screen, ucd-snmp-utils
Documentation:
indexhtml
System Enviroment/Base:
chkfontpath, yp-tools
System Enviroment/Daemons: XFree86-xfs, lpr, pidentd, portmap, routed, rusers,
rwho, tftp, ucd-snmp, ypbind
System Enviroment/Libraries: XFree86-libs, libpng
User Interface/X:
XFree86-75dpi-fonts, urw-fonts
Antes de fazer a descrio de cada programa que queremos desinstalar, algum
poder perguntar: Por que eu preciso desinstalar do servidor os programas finger, ftp,
fwhois e telnet? Primeiro de tudo, sabemos que esses programas, por sua natureza, so
inseguros. Agora imagine que um cracker tenha acessado o seu novo servidor Linux. Ele
poder usar os programas finger, ftp, fwhois e telnet para consultar ou acessar outros ns da
sua rede. Se esses programas no estiverem instalados no seu servidor Linux, ele ser
obrigado a usar esses programas externamente ou tentar instalar os programas no seu
servidor, em cujo caso voc poder rastre-lo com uma ferramenta como o Tripwire.
Applications/File (Aplicaes/Arquivo):
Pgina: 27
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Applications/Internet (Aplicaes/Internet):
Pgina: 28
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Applications/Publishing (Aplicaes/Editorao):
Pgina: 29
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Applications/System (Aplicaes/Sistema):
O utilitrio do pacote rdate pode recuperar a data e a hora de uma outra mquina
da sua rede. [Riscos de segurana]
O pacote screen um programa til para usurios que faam telnet para uma
mquina ou so conectados via terminal burro, mas que querem fazer mais do
que apenas um login. [Desnecessrio]
Documentation (Documentao):
O pacote indexhtml contm a pgina HTML e os grficos para a pgina de bemvindo mostrada pelo seu browser web em Sistemas X-Window. [Desnecessrio,
no precisamos de interface grfica]
Pgina: 30
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
O programa do pacote rusers permite aos usurios descobrir quem est logado
em vrias mquinas na rede. [Riscos de segurana]
O pacote rwho mostra quem est logado em todas as mquinas da rede que
estejam rodando o daemon rwho. [Riscos de segurana]
Pgina: 31
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
O pacote urw-fonts contm as verses Livres dos fontes PostScript, Padro 35,
Tipo 1. [Desnecessrio, no usaremos interface grfica]
Observe que pacotes RPM tem nomes de arquivos como foo-1.0-2.i386.rpm, que
incluem o nome do pacote (foo), a verso (1.0), a release (2) e a arquitetura (i386).
Pgina: 32
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Este comando verifica a assinatura PGP do pacote especificado para assegurar a sua
integridade e origem. Sempre utilize este comando primeiramente antes de instalar novos
pacotes RPM em seu sistema. Tambm, o software GnuPG ou o Pgp deve estar instalado
em seu sistema antes que voc possa usar este comando.
Pgina: 33
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 34
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
kernel-pcmcia-cs
linuxconf
getty_ps
setconsole
isapnptools
setserial
kudzu
raidtools
gnupg
redhat-logos
redhat-release
gd
pciutils
rmt
Agora, voc pode desinstal-los com segurana e todos os outros pacotes, todos
juntos, conforme mostrado abaixo:
Passo 1
Remova os pacotes especificados.
[root@deep /]# rpm -e --nodeps pump mt-st eject bc mailcap apmd kernelpcmcia-cs linuxconf getty_ps setconsole isapnptools setserial kudzu raidtools
gnupg redhat-logos redhat-release gd pciutils rmt
Passo 2
Remova o arquivo linux.conf-installed manualmente.
[root@deep /]# rm -f /etc/conf.linuxconf-installed
Observao: Este um arquivo de configurao relacionado ao software de
configurao linuxconf que deve ser removido manualmente.
Pgina: 35
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
O programa hdparm necessrio para discos rgidos IDE, mas no para discos
rgidos SCSI. Se voc tiver um disco rgido IDE em seu sistema, voc deve manter este
programa (hdparm). Porm, se voc no tiver um disco rgido IDE, voc pode remov-lo de
seu sistema.
Para voc remover de seu sistema todos os programas acima, use o seguinte
comando:
[root@deep /]# rpm -e kbdconfig mouseconfig timeconfig authconfig ntsysv
setuptool
O pacote DHCP Pump permite que clientes diskless individuais em uma rede
possam obter as suas prprias informaes de configurao de rede IP a partir de
servidores da rede. [Desnecessrio]
Pgina: 36
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
O pacote eject contm o programa eject que permite ao usurio ejetar mdia
removvel (tipicamente CD-ROMs, discos flexveis, discos Jaz ou Zip da
Iomega) usando controle por software. [Necessrio somente se voc tiver
backup em fita neste servidor]
O pacote isapnptools contm utilitrios para configurao de placas ISA Plugand-Play (PnP). [Desnecessrio]
Pgina: 37
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
O utilitrio rmt fornece acesso remoto para fazer backup via rede. [Riscos de
segurana, j que o rmt depende do rsh para funcionar]
Pgina: 38
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 39
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 3
Voc deve sair e fazer login novamente para todas as alteraes tenham efeito.
Pgina: 40
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 41
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Installing gzip.
Installing hdparm.
Installing initscript.
Installing ipchains.
Installing isapnptools.
Installing kbdconfig.
Installing kernel.
Installing kernel-pcmcia-cs.
Installing kudzu.
Installing ld-so.
Installing less.
Installing libc.
Installing libstdc++.
Installing lilo.
Installing pwdb.
Installing pam.
Installing sh-utils.
Installing redhat-release.
Installing linuxconf.
Installing logrotate.
Installing losetup.
Installing lsof.
Installing mailcap.
Installing mailx.
Installing man.
Installing mingetty.
Installing mkbootdisk.
Installing mkinitrd.
Installing modutils.
Installing mount.
Installing mouseconfig.
Installing mt-st.
Installing ncompress.
Installing net-tools.
Installing netkit-base.
Installing newt.
Installing sendmail.
Installing setconsole.
Installing setserial.
Installing setuptool.
Installing shapecfg.
Installing slang.
Installing slocate.
Installing stat.
Installing sysklogd.
Installing tar.
Installing tcp_wrappers.
Installing tcpdump.
Installing tcsh.
Installing time.
Installing timeconfig.
Installing timed.
Installing tmpwatch.
Installing traceroute.
Installing utempter.
Installing util-linux.
Installing vim-common.
Installing vim-minimal.
Installing vixie-cron.
Installing which.
Installing zlib.
Pgina: 42
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Installing diffutils.
Installing dump.
Installing ed.
Installing eject.
Installing etcskel.
Installing file.
Installing findutils.
Installing gawk.
Installing gd.
Installing gdbm.
Installing getty_ps.
Installing glib.
Installing gmp.
Installing gnupg.
Installing gpm.
Installing groff.
Installing ntsysv.
Installing passwd.
Installing pciutils.
Installing perl.
Installing procmail.
Installing procps.
Installing psmisc.
Installing pump.
Installing python.
Installing quota.
Installing raidtools.
Installing readline.
Installing redhat-logos.
Installing rootfiles.
Installing rpm.
Installing sash.
Pgina: 43
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 2
Aps ter desinstalado todo o software que deve ser desinstalado aps a instalao do
nosso servidor Linux (consulte "Softwares que devem ser desinstalados aps a instalao
do Servidor") e depois da adio dos softwares RPM necessrios para a compilao de
programas em nosso servidor (Softwares que devem ser instalados aps a instalao do
Servidor) devemos verificar novamente a lista de todos os programas RPM instalados, mas
desta vez com o seguinte comando:
Para verificar a lista dos pacotes RPM instalados em seu sistema, use o
comando:
[root@deep /]# rpm -qa > installed_rpm
A opo "-qa" far a consulta de todos os pacotes RPM instalados em seu sistema e
o caractere especial ">" ir redirecionar a sada para o arquivo chamado "installed_rpm".
O contedo do arquivo installed_rpm deve se parecer exatamente com isto:
setup-2.0.5-1
filesystem-1.3.5-1
basesystem-6.0-4
ldconfig-1.9.5-15
glibc-2.1.2-11
shadow-utils-19990827-2
mktemp-1.5-1
termcap-9.12.6-15
libtermcap-2.0.8-18
bash-1.14.7-16
MAKEDEV-2.5-2
SysVinit-2.77-2
chkconfig-1.0.7-2
ncurses-4.2-25
info-3.12h-2
fileutils-4.0-8
grep-2.3-2
ash-0.2-18
at-3.1.7-11
m4-1.4-12
bdflush-1.5-10
binutils-2.9.1.0.23-6
bzip2-0.9.5c-1
sed-3.02-4
console-tools-19990302-17
e2fsprogs-1.15-3
byacc-1.9-11
cpio-2.4.2-13
cracklib-2.7-5
cracklib-dicts-2.7.-5
crontabs-1.7-7
textutils-2.0-2
dev-2.7.10-2
diffutils-2.7-16
dump-0.4b4-11
ed-0.2-12
bison-1.28-1
etcskel-2.0-1
file-3.27-3
findutils-4.1-32
gawk-3.0.4-1
cdecl-2.5-9
gdbm-1.8.0-2
autoconf-2.13-5
glib-1.2.5-1
gmp-2.0.2-10
cpp-1.1.2-24
gpm-1.17.9-3
groff-1.11a-9
gzip-1.2.4-14
initscripts-4.48-1
ipchains-1.3.9-3
cproto-4.6-2
ElectricFence-2.1-1
kernel-2.2.12-20
patch-2.5-9
ld-so-1.9.5-11
less-3.4.0-1
libc-5.3.12-31
libstdc++-2.9.0-24
lilo-0.21-10
pwdb-0.60-1
pam-0.68-7
sh-utils-2.0-1
automake-1.4-5
logrotate-3.3-1
losetup-2.9u-4
lsof-4.45-1
mailx-8.1.1-9
man-1.5g-6
mingetty-0.9.4-10
mkbootdisk-1.2.2-1
mkinitrd-2.3-1
modutils-2.1.121-14
mount-2.9u-4
ctags-3.2-1
ncompress-4.2.4-14
net-tools-1.53-1
netkit-base-0.10-37
newt-0.50-13
passwd-0.63-1
perl-5.00503-6
flex-2.5.4a-7
procps-2.0.4-2
psmisc-1.8-3
python-1.5.2-7
quota-1.66-8
gdb-4.18-4
readline-2.2.1-5
glibc-devel-2.1.2-11
Pgina: 44
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
rootfiles-5.2-5
rpm-3.0.3-2
sash-3.3-1
make-3.77-6
shapecfg-2.2.12-2
slang-1.2.2-4
slocate-2.0-3
stat-1.5-11
sysklogd-1.3.31-12
tar-1.13.11-1
tcp_wrappers-7.6-9
tcpdump-3.4-16
tcsh-6.08.00-6
time-1.7-9
timed-0.10-23
tmpwatch-2.0-1
traceroute-1.4a5-16
utempter-0.5.1-2
util-linux-2.9w-24
vim-common-5.4-2
vim-minimal-5.4-2
vixie-cron-3.0.1-39
which-2.8-1
zlib-1.1.3-5
dev86-0.14.9-1
egcs-1.1.2-24
kernel-headers-2.2.12-20
Pgina: 45
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 46
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Os softwares que devem ser atualizados neste momento para o seu Red Hat Linux
6.1 so:
groff-1_15-1_i386.rpm
sysklogd-1_3_31-14_i386.rpm
initscripts-4_70-1_i386.rpm
e2fsprogs-1.17-1.i386.rpm
pam-0_68-10_i386.rpm
Linux kernel 2.2.14 (linux-2 2 14 tar.gz)
Observao: O kernel do Linux o mais importante e deve ser sempre atualizado.
Veja abaixo para mais informaes a construo de um kernel
personalizado para o seu sistema especfico.
Pgina: 47
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
CAPTULO 3
Segurana Geral do Sistema
Viso Geral .................................................................................
1- Segurana a nvel de BIOS. Crie uma senha de boot .............
2- Poltica de Segurana ................................................................
3- Escolha uma senha correta .......................................................
4- O tamanho da senha ..................................................................
5- A conta root ................................................................................
6- Configure o time out para a conta root ...................................
7- O arquivo "/etc/exports" ...........................................................
8- Desabilitando o acesso programas de console ......................
9- Desabilitando todo o acesso de console ....................................
10- O arquivo "/etc/inetd.conf" .....................................................
11- TCP_WRAPPERS ....................................................................
12- O arquivo "/etc/aliases" ...........................................................
13- Impea o abuso do seu Sendmail por usurios no
autorizados ................................................................................
14- Impea que seu sistema responda solicitaes de ping ......
15- No permita que o sistema mostre o arquivo issue ...............
16- O arquivo "/etc/host.conf" ......................................................
17- Protocolos de Roteamento .......................................................
18- Ativa a Proteo TCP SYN Cookie ........................................
19- O arquivo "/etc/services" ........................................................
20- O arquivo "/etc/securetty" ......................................................
21- Contas especiais ........................................................................
22- Impedindo que qualquer um faa su para root .....................
23- Limitao de recursos ..............................................................
24- Mais controle sobre a montagem de um sistema
de arquivo .................................................................................
25- Mova o binrio RPM para um lugar seguro ou altere
as suas permisses default .......................................................
26- Registro em log do shell ...........................................................
27- O arquivo "/etc/lilo.conf" ........................................................
28- Desative o comando de desligamento Ctrl-Alt-Del ...............
29- Cpia fsica de todos os logs importantes ..............................
30- Conserte as permisses dos arquivos de script no
diretrio "/etc/rc.d/init.d" ......................................................
31- O arquivo "/etc/rc.d/rc.local" .................................................
32- Bits dos programas pertencentes ao root ...............................
33- Arquivos ocultos ou incomuns .................................................
34- Encontre todos os arquivos com o bit SUID/SGID ativado ..
35- Encontre grupos, arquivos e diretrios com direito
de escrita para todos .................................................................
36- Arquivos sem proprietrios .....................................................
37- Encontrando arquivos ".rhosts" .............................................
38- O sistema foi comprometido ....................................................
51
52
53
54
55
56
57
58
59
60
61
65
67
68
69
70
71
72
73
74
75
76
79
80
81
83
84
85
87
89
91
92
93
95
96
97
98
99
100
Pgina: 48
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 49
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 50
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 51
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 52
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
2. Poltica de Segurana
importante assinalar que voc no pode implementar a segurana sem ter decidido
que necessidades devem ser protegidas e de quem se proteger. Voc precisa de uma poltica
de segurana, uma lista do que voc considera permissvel e do que voc no considera
permissvel, para formar a base sobre a qual ir tomar quaisquer decises relativas
segurana. A poltica deve tambm determinar as suas respostas s violaes de segurana.
O que voc dever considerar ao compilar uma poltica de segurana ir depender
inteiramente da sua definio de segurana. As seguintes perguntas devero fornecer
algumas linhas gerais:
Esta lista curta e a sua poltica provavelmente englobar muito mais antes de estar
completa. Qualquer poltica de segurana deve basear-se em algum grau de parania,
decidindo o quanto voc deve confiar nas pessoas, tanto de dentro quanto de fora de sua
organizao. Contudo, a poltica deve manter um equilbrio entre a permisso razovel a
seus usurios informaes de que precisam para executar seus trabalhos e a total negao
de acesso s suas informaes. O ponto onde esta linha traada determinar a sua poltica.
Pgina: 53
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Elas no devem ser triviais. Uma senha trivial aquela que fcil de ser
adivinhada e que, geralmente, est baseada no nome do usurio, no seu cargo ou
em outras caractersticas pessoais.
Pgina: 54
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
4. O tamanho da senha
Por default, o tamanho mnimo aceitvel para uma senha quando voc instala o seu
sistema Linux 5. Isto significa que, quando um usurio tem permisso para acessar o
servidor, o tamanho da sua senha ser no mnimo de 5 entre strings de caracteres, letras,
nmeros, caracteres especiais, etc. Isto no o suficiente e deve ser 8. Para impedir que o
administrador ou pessoas inconcientes possam entrar com a sua senha valiosa usando
apenas 5 caracteres, edite o no menos importante arquivo "/etc/login.defs" e altere o valor
de tamanho 5 para tamanho 8.
Edite o arquivo login.defs (vi /etc/login.defs) e altere a linha onde se l:
PASS_MIN_LEN 5
Passando a ler-se:
PASS_MIN_LEN 8
O "login.defs" o arquivo de configurao do programa login. Voc deve revisar ou
fazer alteraes neste arquivo para atender ao seu sistema em particular. A onde voc
configura outras polticas de segurana (como o default para expirao de senhas ou o
tamanho mnimo aceitvel para o tamanho de uma senha).
Pgina: 55
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
5. A conta root
A conta "root" a conta que tem mais privilgios em um sistema Unix. A conta
"root" no tem qualquer restrio de segurana imposta a ela. Isto significa que o sistema
pressupe que voc sabe o que est fazendo, e far exatamente o que voc solicitar - sem
quaisquer perguntas. Portanto, fcil, com um comando mal digitado, apagar arquivos
cruciais de sistema. Quando se est usando esta conta, importante ser o mais cuidadoso
possvel. Por razes de segurana, nunca faa o login em seu servidor como root, a menos
que seja absolutamente necessrio para execuo de tarefas que necessitem de acesso de
"root". Tambm, se voc no estiver diante de seu servidor nunca faa login, nem permita
que seja feito login como "root". MUITO MUITO MUITO RUIM.
Pgina: 56
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 57
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
7. O arquivo "/etc/exports"
Caso voc esteja exportando sistemas de arquivo usando o servio NFS, certifiquese de configurar o arquivo "/etc/exports" com os acessos mais restritivos possveis. Isto
significa no usar caracteres coringa, nem permitir acesso de gravao ao root, e deve-se
permitir montagens somente para leitura sempre que possvel.
Edite o arquivo exports (vi /etc/exports) e adicione:
Como exemplo:
/dir/to/export host1.mydomain.com(ro,root_squash)
/dir/to/export host2.mydomain.com(ro,root_squash)
Onde "/dir/to/export" o diretrio que voc deseja exportar,
host#.mydomain.com a mquina autorizada a logar nesse diretrio, a opo <ro>
significa somente montagem e a opo <root_squash> serve para negar o direito de
gravao para o root nesse diretrio.
Para que esta alterao tenha efeito, voc precisar executar o seguinte comando em
seu terminal:
[root@deep /]# /usr/sbin/export -a
Observao: Por favor, esteja ciente de que ter um servio NFS disponvel em seu
sistema pode representar um risco de segurana. Pessoalmente, eu no recomendo o seu
uso.
Pgina: 58
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 59
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 60
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
root)
Pgina: 61
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 3
Edite o arquivo inetd.conf (vi /etc/inetd.conf) e desabilite servios como:
ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth e outros, a
menos que voc planeje us-los. Se estiverem desligados, o risco ser muito menor.
# Para re-ler este arquivo aps as alteraes, simplesmente digite killall -HUP inetd
#
#echo
stream
tcp
nowait
root internal
#echo
dgram
udp wait
root internal
#discard
stream
tcp
nowait
root internal
#discard
dgram
udp wait
root internal
#daytime
stream
tcp
nowait
root internal
#daytime
dgram
udp wait
root internal
#chargen
stream
tcp
nowait
root internal
#chargen
dgram
udp wait
root internal
#time
stream
tcp
nowait
root internal
#time
dgram
udp wait
root internal
#
# Estes so servios padro
#
#ftp
stream
tcp
nowait
root /usr/sbin/tcpd in.ftpd -l -a
#telnet
stream
tcp
nowait
root /usr/sbin/tcpd in.telnetd
#
# shell, login, exec, comsat e talk so protocolos BSD
#
#shell
stream
tcp
nowait
root /usr/sbin/tcpd in.rshd
#login
stream
tcp
nowait
root /usr/sbin/tcpd in.rlogind
#exec
stream
tcp
nowait
root /usr/sbin/tcpd in.rexecd
#comsat
stream
tcp
nowait
root /usr/sbin/tcpd in.comsat
#talk
dgram
udp wait
root /usr/sbin/tcpd in.talkd
#ntalk
dgram
udp wait
root /usr/sbin/tcpd in.ntalkd
#dtalk
stream
tcp
nowait
nobody /usr/sbin/tcpd in.dtalkd
#
# Servios de correio pop e imap
#
#pop-2
stream
tcp
nowait
root /usr/sbin/tcpd ipop2d
#pop-3
stream
tcp
nowait
root /usr/sbin/tcpd ipop3d
#imap
stream
tcp
nowait
root /usr/sbin/tcpd imapd
#
# O servio Internet UUCP
#
#uucp
stream
tcp
nowait
uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l
# O servio tftp fornecido primariamente para boot remoto. A maioria dos sites
# rodam isto somente em mquinas que funcionam como "servidores de boot".
# No descomente isto, a menos que "precise".
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 62
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
#
#tftp
dgram
udp wait
root /usr/sbin/tcpd in.tftpd
#bootps
dgram
udp wait
root /usr/sbin/tcpd bootpd
#
# finger, systat e netstat fornecem informaes de usurios que podem ser valiosas
# para "crackers de sistema" em potencial. Muitos sites preferem desabilitar alguns
# ou todos esses servios para melhorar a segurana
#
#finger
stream
tcp
nowait
root /usr/sbin/tcpd in.fingerd
#cfinger
stream
tcp
nowait
root /usr/sbin/tcpd in.cfingerd
#systat
stream
tcp
nowait
guest /usr/sbin/tcpd /bin/ps -auWwx
#netstat
stream
tcp
nowait
guest /usr/sbin/tcpd /bin/netstat -f inet
#
# Autenticao
#
#auth
stream
tcp
nowait
nobody /usr/sbin/in.identd in.identd -l -e o
#
# Fim do inetd.conf
Observao:
No esquea de enviar um sinal SIGHUP ao seu processo inetd (killall -HUP inetd)
aps fazer as alteraes em seu arquivo inetd.conf. Os servios que voc ativa em
um determinado host dependem das funes que voc quer que o host desempenhe.
As funes poderiam suportar o servio de rede selecionado, outros servios
hospedados neste computador, ou desenvolvimento e manuteno do sistema
operacional e das aplicaes.
[root@deep /]# killall -HUP inetd
Pgina: 63
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 4
Uma outra medida de segurana que voc pode tomar para tornar seguro o arquivo
"inetd.conf" configur-lo com atributo de imutvel, usando o comando chattr.
Pgina: 64
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
11. TCP_WRAPPERS
Por default, o Red Hat Linux permite que todos os servios sejam solicitados. A
utilizao do TCP_WRAPPERS torna a segurana dos seus servidores, contra a intruso
externa, muito mais simples e menos dolorosa do que voc poderia esperar. Negue todos os
hosts, colocando "ALL: ALL@ALL PARANOID" em "/etc/hosts.deny" e liste
explicitamente os hosts confiveis que tm permisso para acessar sua mquina no arquivo
"/etc/hosts.allow". Esta a melhor configurao e a mais segura.
O TCP_WRAPPERS controlado por dois arquivos e a busca encerra quando a
primeira combinao for encontrada.
/etc/hosts.allow
/etc/hosts.deny
O acesso ser permitido quando um par (daemon, cliente) coincidir com uma
entrada no arquivo /etc/hosts.allow.
Do contrrio, o acesso ser negado quando um par (daemon cliente) coincidir
com uma entrada no arquivo /etc/hosts.deny.
Do contrrio, o acesso ser permitido.
Passo 1
Edite o arquivo hosts.deny (vi /etc/hosts.deny) e adicione a seguinte linha:
# Por default, o acesso negado.
# Negar o acesso a todo mundo:
ALL: ALL@ALL, PARANOID # Coincide com qualquer host cujo nome no coincida
com
o seu endereo. Veja abaixo.
Que significa que todos os servios e todos os endereos que no sejam explicitamente
permitidos, so bloqueados, a menos que o acesso seja concedido a eles atravs das
entradas do arquivo de permisso.
Observao:
Com o parmetro "PARANOID", caso voc pretenda executar os servios telnet ou
ftp em seu servidor, no esquea de adicionar o nome e o endereo IP da mquina
cliente no seu arquivo "/etc/hosts". Do contrrio, pode contar com uma espera de
vrios minutos at o tempo limite da pesquisa de DNS antes de obter um pronto de
login. (login:).
Pgina: 65
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 2
Edite o arquivo hosts.allow (vi /etc/hosts.allow) e, por exemplo, adicione a seguinte linha:
sshd: 208.164.186.1 gate.openarch.com
Os hosts explicitamente autorizados so listados no arquivo de permisso.
Para a sua mquina cliente: 208.164.186.1 o endereo IP e gate.openarch.com o nome
do host de um de seus clientes que est autorizado a usar o sshd.
Passo 3
O programa tcpdchk o verificador da configurao do TCP_WRAPPERS. Ele examina a
configurao do seu TCP_WRAPPERS e relata todos os problemas reais e potenciais que
puder encontrar.
Observao:
Mensagens de erro podem parecer-se com isto:
warning: /etc/hosts.allow, line 6: cant verify hostname:
gethostbyname(win.openarch.com) failed.
(advertncia: /etc/hosts.allow, linha 6: nome de host no pde ser verificado:
gethostbyname(win.openarch.com) falhou).
Se voc receber este tipo de mensagem de erro, verifique a existncia deste nome de
host no seu arquivo de configurao do DNS.
Pgina: 66
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 67
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 68
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 69
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
tcp
nowait
root
/usr/sbin/tcpd in.telnetd -h
A adio do flag "-h" no final, far com que o daemon no mostre qualquer
informao de sistema e s mostre ao usurio um pronto de login (login:). Esta sada s
necessria se voc estiver usando o daemon do Telnet em seu servidor (ao invs disso, eu
recomendo o uso do SSH).
Pgina: 70
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 71
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 72
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 73
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 74
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 75
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 1
Digite os seguintes comandos em seu terminal para deletar os usurios abaixo:
[root@dep /]# userdel adm
[root@dep /]# userdel lp
[root@dep /]# userdel sync
[root@dep /]# userdel shutdown
[root@dep /]# userdel halt
[root@dep /]# userdel news
[root@dep /]# userdel uucp
[root@dep /]# userdel operator
[root@dep /]# userdel games (delete este usurio se voc no usar o servidor X Window)
[root@dep /]# userdel gopher
[root@dep /]# userdel ftp (delete este usurio se voc no usar o servidor ftp annimo)
Pgina: 76
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 2
Digite os seguintes comandos em seu terminal para deletar os grupos de usurios abaixo:
[root@dep /]# groupdel adm
[root@dep /]# groupdel lp
[root@dep /]# groupdel news
[root@dep /]# groupdel uucp
[root@dep /]# groupdel games (delete este grupo se voc no usar o servidor X Window)
[root@dep /]# groupdel dip
[root@dep /]# groupdel pppusers
[root@dep /]# groupdel popusers (delete este grupo se voc no usar o servidor pop para
email)
[root@dep /]# groupdel slipusers
Passo 3
Adicione os usurios necessrios ao sistema:
Pgina: 77
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 4
O bit de imutvel pode ser usado para impedir deleo ou gravao acidental sobre um
arquivo que deve ser protegido. Tambm impede que algum crie um link simblico para
este arquivo, que tem sido a fonte de ataques envolvendo a deleo de "/etc/passwd",
"/etc/shadow", "/etc/group" ou "/etc/gshadow".
Observao:
No futuro, caso voc pretenda adicionar ou deletar usurio, grupo de usurios em seu
/etc/passwd ou grupo de arquivos, voc deve desativar o bit de imutvel em todos esses
arquivos, do contrrio voc no conseguir fazer as suas alteraes. Tambm, caso voc
pretenda instalar um programa RPM que insira automaticamente um novo usurio aos
arquivos passwd e group imunizados, voc receber uma mensagem de erro durante a
instalao enquanto voc no tiver desativado o bit de imutvel desses arquivos.
Pgina: 78
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
sufficient
required
required
required
required
required
required
optional
/lib/security/pam_rootok.so debug
/lib/security/pam_wheel.so group=wheel
/lib/security/pam_pwdb.so shadow nullok
/lib/security/pam_pwdb.so
/lib/security/pam_cracklib.so
/lib/security/pam_pwdb.so shadow use_authok nullok
/lib/security/pam_pwdb.so
/lib/security/pam_xauth.so
Que significa que somente aqueles que so membros do grupo "wheel" podem fazer su
para root.. Isto tambm inclui o registro em arquivo de log. Observe que o grupo "wheel"
uma conta especial em seu sistema que pode ser usada para este propsito. Voc no poder
usar qualquer nome de grupo, caso queira adotar esta tcnica. Esta tcnica, combinada com
a restrio de login de root pelos dispositivos TTY, melhorar em muito a segurana do seu
sistema.
Passo 2
Agora que j definimos o grupo "wheel" no nosso arquivo de configurao "/etc/pam.d/su",
hora de adicionar os usurios que tero permisso de fazer "su" para a conta "root". Caso
voc queira tornar, como um exemplo, o usurio admin um membro do grupo "wheel" para
que ele possa fazer um su para root, use o seguinte comando:
[root@deep /]# usermod -G10 admin
Que significa que "G" uma lista de grupos suplementares, da qual o usurio tambm
membro, "10" o valor numrico da ID do usurio "wheel" e "admin" o usurio que
queremos adicionar ao grupo "wheel". Use o mesmo comando acima para todos os usurios
de seu sistema que voc queira que faam su para a conta "root".
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 79
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
hard core
hard rss
hard nproc
0
5000
20
Isto diz para proibir a criao de arquivos core (core 0), restringir o nmero de processos
para 20 (nproc 20) e restringir o uso de memria para 5M (rss 5000) para todos, exceto o
superusurio "root". Tudo isto refere-se somente aos usurios que tenham entrado atravs
do pronto de login de seu sistema. Com este tipo de cota, voc tem mais controle sobre os
processos, arquivos core e uso de memria que os usurios podem ter em seu sistema. O
asterisco "*" significa: todos os usurios que faam login neste servidor.
Passo 2
Voc tambm deve editar o arquivo "/etc/pam.d/login" e adicionar a seguinte linha no final
do arquivo:
session required /lib/security/pam _limits.so
Aps adicionar a linha acima, o arquivo "/etc/pam.d/login" dever parecer-se com isto:
#%PAM-1.0
auth
auth
auth
account
passwd
passwd
session
session
#session
sufficient
required
required
required
required
required
required
required
optional
/lib/security/pam_securetty.so
/lib/security/pam_pwdb.so shadow nullok
/lib/security/pam_nologin.so
/lib/security/pam_pwdb.so
/lib/security/pam_cracklib.so
/lib/security/pam_pwdb.so nullok use_authtok md5 shadow
/lib/security/pam_pwdb.so
/lib/security/pam_limits.so
/lib/security/pam_console.so
Pgina: 80
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Observao:
Para mais informaes sobre o que voc pode configurar nesta arquivo (fstab),
consulte as pginas de manual sobre o mount (8).
/tmp ext2
/home ext2
defaults
defaults
12
12
/tmp ext2
/home ext2
rw,nosuid,nodev,noexec
rw,nosuid,nodev
12
12
Pgina: 81
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Observao:
No nosso exemplo acima, o "/dev/sda11" representa a nossa partio "/tmp" no
sistema e "/dev/sda6" representa a partio "/home". claro que isto no ser o
mesmo para voc, dependendo de como voc particionou o seu disco rgido e do
tipo de disco que est instalado em seu sistema: IDE (hda, hdb, etc) ou SCSI (sda,
sdb, etc).
Pgina: 82
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
25. Mova o binrio RPM para um lugar seguro ou altere as suas parmisses default
Uma vez instalado todo o software que voc precisa em seu servidor Linux com o
comando RPM, uma boa idia, para uma melhoria na segurana, mov-lo para um lugar
seguro, como um disco flexvel ou outro lugar de sua escolha. Com este mtodo, caso
algum acesse o seu servidor e tenha a inteno de instalar softwares danosos com o
comando RPM, no conseguir. claro que se no futuro voc desejar atualizar ou instalar
software novo via RPM, tudo o que voc precisa fazer restaurar o binrio RPM para o seu
diretrio original novamente.
Observao:
Nunca desinstale completamente o programa RPM de seu sistema. Do contrrio,
voc no conseguir reinstal-lo novamente mais tarde, j que para instalar o RPM
ou outro software voc precisa ter disponveis todos os comandos RPM.
Mais uma coisa que voc pode fazer alterar as permisses default do comando
"rpm" de 755 para 700. Com esta modificao, nenhum usurio que no seja o root poder
usar o programa "rpm" para consultar, instalar, etc, caso voc esquea de mov-lo para um
lugar seguro aps a instalao de novos programas.
Pgina: 83
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 84
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Adio: timeout=00
Esta opo controla quanto tempo (em segundos) o LILO espera por uma
entrada do usurio, antes de fazer o boot com a seleo default. Uma das
exigncias do nvel de segurana C2, que este intervalo de tempo seja 0, a
menos que haja dual boot no sistema (boot de mais de um sistema operacional).
Adio: restricted
Esta opo pede uma senha somente se forem especificados parmetros na linha
de comando (por exemplo, linux single). A opo "restricted" s pode ser usada
com a opo "password". Certifique-se de v-la em cada imagem.
Adio: password=<senha>
Esta opo pede uma senha ao usurio ao tentar carregar o sistema Linux no
modo monousurio (single mode). As senhas so sempre sensveis a maisculas
e minsculas. Tambm, certifique-se de que o arquivo "/etc/lilo.conf" no mais
seja legvel por todo mundo. Do contrrio, qualquer usurio poder ler a senha.
Aqu est um exemplo do arquivo "lilo.conf" para o nosso LILO protegido:
Passo 1
Edite o arquivo lilo.conf (vi /etc/lilo.conf) e adicione ou altere as trs opes
acima, conforme mostrado:
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=00 adicione esta linha.
password=<senha> adicione esta linha e coloque a sua senha.
image=/boot/vmlinuz-2.2.12-20
label=linux
initrd=/boot/initrd-2.2.12-10.img
root=/dev/sda6
read-only
Pgina: 85
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Passo 2
J que o arquivo de configurao "/etc/lilo.conf" agora contm senha no
criptografada, ele deve ser lido somente pelo superusurio "root".
[root@deep /]# chmod 600 /etc/lilo.conf (no mais ser lido por todos).
Passo 3
Agora, devemos atualizar nosso arquivo de configurao "lilo.conf" para que as
alteraes tenham efeito:
[root@deep /]# /sbin/lilo -v (atualiza o arquivo /etc/lilo.conf)
Passo 4
Mais uma medida de segurana que voc pode tomar para proteger o arquivo
"lilo.conf", torn-lo imutvel, usando o comando chattr.
Pgina: 86
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 87
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Agora, reinicialize o seu daemon syslog para que a alterao tenha efeito:
[root@deep /]# /etc/rc.d/init.d/syslogd restart
Como exemplo:
Para registrar em log todo telnet, correio, mensagens de boot e conexes ssh de seu
servidor em uma impressora conectada a um servidor remoto em sua rede local, voc
desejar adicionar a seguinte linha no arquivo "/etc/syslog.conf" do servidor remoto:
Caso voc no tenha uma impressora em sua rede, voc tambm poder copiar
todos os arquivos de log para uma outra mquina simplesmente omitindo o primeiro passo
abaixo de adicionar "/dev/lp0" ao seu arquivo "syslog.conf" na mquina remota e indo
diretamente para o passo da opo "-r" na mquina remota. Usar o recurso de cpia de
todos os seus arquivos de log para uma outra mquina lhe dar a possibilidade de controlar
todas as mensagens do syslog em um nico host e diminuir as necessidades de
administrao.
Edite o arquivo syslog.conf (vi /etc/syslog.conf) do servidor remoto (por exemplo,
mail.openarch.com) e adicione, no final deste arquivo, a seguinte linha:
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 88
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
authpriv.*;mail.*;local7.*;auth.*;daemon.info /dev/lp0
J que a configurao default do daemon do syslog de no receber quaisquer
mensagens da rede, devemos habilitar, no servidor remoto, a facilidade de receber
mensagens a partir da rede. Para habilitar a facilidade de receber mensagens a partir da rede
no servidor remoto, adicione a opo "-r" ao arquivo de script do daemon do syslog
(somente no host remoto):
Agora, reinicialize o seu firewall no host remoto para que as alteraes tenham
efeito:
[root@deep /]# /etc/rc.d/init.d/firewall restart
Esta regra de firewall permitir que sejam aceitos pacotes UDP entrantes pela porta
514 (porta do syslog) do servidor remoto a partir do nosso cliente interno. Para mais
informaes sobre firewall, consulte o captulo 7 "Firewall de Rede".
Finalmente, edite o arquivo syslog.conf (vi /etc/syslog.conf) do servidor local e
adicione, no final deste arquivo, a seguinte linha:
authpriv.*;mail.*;local7.*;auth.*;daemon.info @mail
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 89
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Onde "mail" o nome de host do servidor remoto. Agora, se algum hackear o seu
sistema a apagar logs vitais do sistema, voc ainda ter uma cpia de tudo. Ento, deveria
ser relativamente simples rastrear de onde veio o ataque e trat-lo adequadamente.
Agora, reinicialize o daemon do seu syslog para que as alteraes tenham efeito:
[root@deep /]# /etc/rc.d/init.d/syslogd restart
Esta regra de firewall permitir que sejam aceitos pacotes UDP saintes pela porta
514 (porta do syslog), do servidor local, com destino ao servidor de syslog remoto. Para
mais informaes sobre firewall, consulte o captulo 7 "Firewall de Rede".
Observao:
Nunca use o seu Servidor de Gateway como um host de controle para todas as
mensagens do syslog. Esta uma idia muito ruim. Mais opes e estratgias
existem com o programa sysklogd. Consulte as pginas de manual sobre sysklogd
(8), syslog (2) e syslog.conf (5) para maiores informaes.
Pgina: 90
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 91
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 92
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Para encontrar todos os arquivos com bits "s" pertencentes ao root, use o
comando:
[root@deep /]# find / -type f \( -perm -04000 -o -perm 02000 \) \-exec ls -lg {} \;
Sep 22 23:35
Sep 22 23:35
Sep 6 18:17
Aug 16 16:35
Sep 13 20:26
Sep 25 11:52
Aug 30 23:12
Aug 30 23:1
Sep 20 10:29
Sep 9 01:01
Sep 9 01:01
Sep 9 01:01
Sep 9 01:01
Sep 10 16:03
Nov 23 21:59
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/wall
/usr/bin/at
/usr/bin/man
/usr/bin/passwd
/usr/bin/suidperl
/usr/bin/sperl5.00503
/usr/bin/slocate
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/newgrp
/usr/bin/write
/usr/bin/crontab
Jul 2 10:21
Sep 13 20:11
Aug 17 22:31
/usr/sbin/traceroute
/usr/sbin/utempter
/bin/su
Pgina: 93
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
53620
26700
18228
3860
26309
Sep
Sep
Sep
Nov
Oct
13
13
10
23
11
20:26
20:26
16:04
21:59
20:48
/bin/mount
/bin/umount
/bin/ping
/sbin/netreport
Pgina: 94
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 95
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Observao:
Consulte o captulo 10 "Softwares de segurana (Ferramentas de Monitorao)"
para mais informaes sobre o software sXid que far o trabalho para voc
automaticamente a cada dia e reportar sobre os resultados via email.
Pgina: 96
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
35. Encontre grupos, arquivos e diretrios com direito de escrita para todos
Grupos, arquivos e diretrios que podem ser gravados por todos, particularmente
sistemas de arquivo (parties), podem ser um furo de segurana se um cracker ganhar
acesso ao seu sistema e modific-los. Alm disso, diretrios com direito de escrita para
todos so perigosos, j que eles permitem a um cracker adicionar e deletar arquivos como
quiserem nesses diretrios. No curso normal de operao, vrios arquivos sero gravados,
incluindo alguns dos diretrios "/dev", "/var/catman" e todos os links simblicos em seu
sistema.
Para localizar todos os grupos e arquivos com direito de escrita para todos, use o
comando:
[root@deep /]# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \;
Para localizar todos os grupos e diretrios com direito de escrita para todos, use
o seguinte comando:
[root@deep /]# find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \;
Observao:
Um verificador de integridade de arquivos e diretrios, como o software
Tripwire, pode ser usado regularmente para varrer, gerenciar e encontrar com
facilidade grupos ou arquivos e diretrios com direito de escrita para todos que
tenham sido modificados. Consulte, neste livro, o captulo 10 "Softwares de
Segurana (Ferramentas de Monitorao)" para mais informaes sobre o
Tripwire.
Pgina: 97
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Observao:
Mais uma vez, arquivos do diretrio "/dev" no contam.
Pgina: 98
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Voc pode localizar todos os arquivos ".rhosts" em seu sistema com o seguinte
comando:
[root@deep /]# find /home -name .rhosts
Voc tambm pode usar uma tarefa cron para periodicamente verificar, relatar os
contedos e deletar os arquivos $HOME/.rhosts. Tambm, os usurios devem estar cientes
de que voc regularmente executa este tipo de auditoria, conforme orientao da poltica de
segurana.
Para usar uma tarefa cron para periodicamente verificar e relatar via email todos
os arquivos ".rhosts", faa o seguinte:
Crie, como "root", o arquivo de script find_rhosts_files no diretrio
"/etc/cron.daily" (touch /etc/cron.daily/find_rhosts_files) e adicione as seguintes
linhas a este arquivo de script:
#! /bin/bash
/usr/bin/find /home -name .rhosts | (cat <<EOF
Este um relatrio automatizado dos possveis arquivos ".rhosts" existentes no
servidor deep.openarch.com, gerado pelo comando find.
Novos arquivos ".rhosts" detectados no diretrio "/home" incluem:
EOF
cat
) | /bin/mail -s "Contedo do relatrio de auditoria de arquivos .rhosts" root
Agora torne este arquivo de script executvel e faa com que o arquivo pertena ao
usurio e grupo "root":
[root@deep /]# chmod 755 /etc/cron.daily/find_hosts_files
[root@deep /]# chown 0.0 /etc/cron.daily/find_hosts_files
A cada dia, um email ser enviado ao "root" com o assunto "Contedo do relatrio
de auditoria de arquivos .rhosts", contendo a descoberta potencial de novos arquivos
".rhosts".
Pgina: 99
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
cert@cert.org
(+1) 412-268-7090
(+1) 412-268-6989
O pessoal do CERT/CC responde das 08:00 da manh s 08:00 da noite EST (GMT
-5) / EDT (GMT -4) em dias teis. Eles aceitam chamadas durante outros horrios e durante
fins de semana e feriados.
Pgina: 100
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
CAPTULO 4
Firewall de Rede
103
103
104
A Topologia ...................................................................................
104
107
108
109
110
110
127
Pgina: 101
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 102
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Linux IPCHAINS
Viso Geral
Algum poder me dizer: por qu eu iria querer algo como um produto de firewall
comercial ao invs de usar o IPchains e restringir certos pacotes e outras coisas? O que eu
estou perdendo por usar o IPchains? Agora, sem dvida alguma, h espao para debate
sobre isto. O IPchains to bom (a maioria das vezes melhor) quanto pacotes de firewall
comerciais, do ponto de vista de funcionalidade e suporte. Voc, provavelmente, ter mais
compreenso do que est acontecendo em sua rede usando o IPchains do que usando uma
soluo comercial. Tendo dito isto, uma poro de pessoas do tipo corporativo ir querer
dizer aos seus acionistas, CEO/CTO, etc. que eles tm o suporte de uma respeitvel
Empresa de Software de segurana. O firewall poderia estar fazendo nada mais do que
deixar passar todo o trfego e ainda assim o tipo corporativo se sentiria mais confortvel do
que ter que confiar no cara do cubculo da esquina que fica irritado quando ligam as luzes
antes do meio-dia.
No final, muitas empresas desejam poder se virar e exigir algum tipo de restituio
de um vendedor se a rede ficar vulnervel, mesmo que no consigam realmente levar
alguma coisa ou mesmo tentar. Tudo o que eles podem fazer tipicamente com uma soluo
open source (fonte aberto) demitir o cara que a implementou. Pelo menos, alguns dos
firewalls comerciais so baseados em Linux ou algo similar. bem provvel que o
IPchains seja seguro o bastante para voc, mas no para aqueles comprometidos com srios
valores de altas aes comerciais. Fazer uma anlise custo/benefcio e uma srie de
perguntas pertinentes recomendado antes de gastar dinheiro srio em um firewall $$$$ .
Do contrrio, voc poder terminar com algo inferior sua ferramenta IPchains. Alguns
firewalls NT no so, na verdade, melhores do que o IPchains e o consenso geral na
bugtraq e na bugtraq NT (listas de email sobre segurana) de que o NT , de longe, muito
inseguro para firewall srio.
O que vem a ser uma Poltica de Segurana por Firewall de Rede?
A poltica de segurana por firewall de rede define explicitamente aqueles servios
que sero permitidos ou proibidos, como esses servios sero usados e as excees estas
regras. Um poltica geral de segurana da empresa deve ser determinada de acordo com a
anlise de segurana e a anlise das necessidades de negcios. J que um firewall est
relacionado somente segurana de rede, um firewall tem pouco valor, a menos que uma
poltica geral de segurana seja adequadamente definida. Cada regra da poltica de
segurana por firewall de rede deve ser implementada em um firewall. Geralmente, um
firewall usa um dos seguintes mtodos:
Tudo o que no for especificamente permitido, proibido
Esta abordagem bloqueia todo o trfego entre duas redes, exceto para aqueles
servios e aplicaes que sejam permitidos. Portanto, cada servio e aplicao desejados
devem ser implementados um a um. Nenhum servio ou aplicao que possa ser um
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 103
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
potencial furo no firewall deve ser permitido. Este o mtodo mais seguro: negar servios e
aplicaes, a menos que o administrador d permisses explcitas. Por outro lado, do ponto
de vista dos usurios, isto pode ser mais restritivo e menos conveniente. Este mtodo o
que usaremos em nossos arquivos de configurao de Firewall, neste livro.
Tudo o que no for especificamente proibido, permitido
Esta abordagem permite todo o trfego entre duas redes, exceto para aqueles
servios e aplicaes que sejam proibidos. Portanto, cada servio ou aplicao
potencialmente prejudicial ou no confivel deve ser proibido um a um. Embora este
mtodo seja flexvel e conveniente para os usurios, ele poderia, potencialmente, causar
alguns problemas srios de segurana.
O que vem a ser Filtro de Pacotes?
Filtro de Pacotes o tipo de firewall que vem embutido no kernel do Linux. Um
filtro de pacotes funciona a nvel de rede. S permitido aos dados deixarem o sistema se
as regras do firewall assim o permitirem. Todos os pacotes que chegam so filtrados pelo
seu tipo, endereo de origem, endereo de destino e informaes de portas contidas em
cada pacote.
Na maioria das vezes, a filtragem de pacotes feita usando-se um roteador que
possa repassar pacotes de acordo com as regras de filtragem. Quando um pacote chega em
um roteador de filtragem de pacotes, o roteador extrai certas informaes do cabealho do
pacote e toma decises, de acordo com as regras do filtro, relativas a passagem ou ao
descarte do pacote.
As seguintes informaes podem ser extradas do cabealho do pacote:
Endereo IP de origem
Endereo IP de destino
Porta TCP/UDP de origem
Porta TCP/UDP de destino
Tipo de mensagem ICMP
Informao do protocolo encapsulado (TCP, UDP, ICMP ou tnel IP)
Pgina: 104
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
bloquear as portas que no estejam em uso, ento vamos ter uma festa! O mesmo verdade
para uma conexo local. Empregados no autorizados podem ganhar acesso a partir da rede
interna aos seus outros servidores.
Em nossa configurao, lhe daremos trs exemplos diferentes que podero ajud-lo
a configurar as regras de seu firewall, dependendo dos tipos de servidores que voc quer
proteger e da posio destes servidores dentro da sua arquitetura de rede. O primeiro
exemplo de arquivo de regras de firewall ser para um Servidor Web, o segundo para um
servidor de Email e o ltimo para um Servidor de Gateway que age como um proxy para o
Wins interno, para as Estaes de Trabalho e para as mquinas Servidoras. Veja o grfico
mostrado abaixo para ter uma idia:
Pgina: 105
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
www.openarch.com
DNS Somente de Cache
208.164.186.3
deep.openarch.com
Servidor DNS Mestre
208.164.186.1
mail.openarch.com
Servidor DNS Escravo
208.164.186.2
1. Trfego ilimitado na
interface
loopback
permitido.
2. Trfego ICMP permitido.
3. Cache, Cliente e Servidor
DNS na porta 53
permitido.
4. Servidor SSH na porta 22
permitido.
5. Servidor HTTP na porta
80 permitido.
6. Servidor HTTPS na porta
443 permitido.
7. Cliente SMTP na porta
25 permitido.
8. Servidor FTP nas portas
20 e 21 permitido.
9. Solicitao de traceroute
sainte permitida.
1. Trfego ilimitado na
interface loopback
permitido.
2. Trfego ICMP permitido.
3. Cliente e Servidor DNS
na porta 53 permitido.
4. Servidor e Cliente SSH
na porta 22 permitidos.
5. Servidor e Cliente HTTP
na porta 80 permitidos.
6. Servidor e Cliente
HTTPS na porta 443
permitidos.
7. Cliente WWW-CACHE
na porta 8080 permitido.
8. Cliente POP externo na
porta 110 permitido.
9. Cliente NNTP NEWS
externo na porta 119
permitido.
10. Cliente e Servidor SMTP
na porta 25 permitidos.
11. Servidor IMAP na porta
143 permitido.
12. Cliente IRC na porta
6667 permitido.
13. Cliente ICQ na porta
4000 permitido.
14. Cliente FTP nas portas
20 e 21 permitido.
15. Cliente RealAudio /
QuickTime permitido.
16. Solicitao traceroute
sainte permitida.
1. Trfego ilimitado na
interface
loopback
permitido.
2. Trfego ICMP permitido.
3. Cliente e Servidor DNS
na porta 53 permitido.
4. Servidor SSH na porta 22
permitido.
5. Cliente e Servidor SMTP
na porta 25 permitidos.
6. Servidor IMAP na porta
143 permitido.
7. Solicitao
traceroute
sainte permitida.
A tabela acima mostra as portas que eu habilito por default nos diferentes servidores
em meu arquivo de script de firewall, neste livro. Dependendo de quais servios devem
estar disponveis no servidor para acesso externo, voc deve configurar o seu arquivo de
script de firewall para permitir o trfego nas portas especificadas.
Pgina: 106
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 107
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
IPADDR
Este o endereo IP da sua interface externa. Pode ser ou um endereo IP esttico
registrado no InterNIC ou pode ser um endereo atribudo dinamicamente pelo seu
provedor de servios Internet (normalmente via DHCP).
LOCALNET_1
Este o endereo de sua LAN, caso haja - toda a faixa de endereos IP usada pelas
mquinas de sua LAN. Os endereos podem ser atribudos estaticamente ou voc poderia
rodar um servidor DHCP local para atribu-los. Nestes exemplos, a faixa 192.168.1.0/24:
parte da faixa de endereos privados Classe C.
ANYWHERE
Anywhere um rtulo para um endereo usado pelo IPchains para coincidir com
qualquer endereo (no-broadcast). Ambos os programas fornecem any/0 como um rtulo
para este endereo, que 0.0.0.0/0.
NAMESERVER_1
Este o endereo IP do seu Servidor DNS Primrio de sua rede ou de seu provedor.
NAMESERVER_2
Este o endereo IP de seu Servidor DNS Secundrio de sua rede ou de seu
provedor.
LOOPBACK
A faixa de endereos de loopback 127.0.0.0/8. A interface propriamente dita
endereada como 127.0.0.1 (em /etc/hosts).
PRIVPORTS
As portas privilegiadas, de 0 1023, normalmente so referenciadas pelo total.
UNPRIVPORTS
As portas no privilegiadas, de 1024 65535, normalmente so referenciadas pelo
total. Elas so endereos atribudos dinamicamente ao lado cliente de uma conexo.
Default Policy
Um firewall tem uma poltica default e uma srie de aes a tomar em resposta a
tipos de mensagens especficas. Isto significa que se um dado pacote no foi selecionado
por nenhuma outra regra, ento a regra da poltica default ser aplicada.
Habilitando o Trfego Local
J que as polticas default para todos os exemplos de arquivos de scripts de regra de
firewall negar tudo, algumas dessas regras podem ser desfeitas. Servios de rede local no
passam para a interface externa de rede. Nenhum de seus programas de rede local
funcionaro at que o trfego de loopback seja permitido.
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 108
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Com exceo do seu prprio endereo IP, bloquear pacotes saintes contendo estes
endereos de origem lhe protege de possveis erros de configurao de sua parte.
Observao:
No esquea de excluir o seu prprio endereo IP dentre os pacotes saintes
bloqueados.
Pgina: 109
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 110
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 111
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
SMTP_SERVER="mail.openarch.com"
# O seu servidor de Email
SYSLOG_SERVER="mail.openarch.com" # O seu servidor interno de syslog
SYSLOG_CLIENT="208.164.168.0/24" # O seu cliente interno de syslog
LOOPBACK="127.0.0.0/8"
CLASS_A="10.0.0.0/8"
CLASS_B="172.16.0.0/12"
CLASS_C="192.168.0.0/16"
CLASS_D_MULTICAST="224.0.0.0/4"
CLASS_E_RESERVED_NET="240.0.0.0/5"
BROADCAST_SRC="0.0.0.0"
BROADCAST_DEST="255.255.255.255"
PRIVPORTS="0:1023"
UNPRIVPORTS="1024:65535"
Pgina: 112
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 113
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
# -------------------------------------------------------------------------------# LOOPBACK
# -------------------------------------------------------------------------------# Trfego ilimitado na interface de loopback
ipchains -A input -i $LOOPBACK_INTERFACE -j ACCEPT
ipchains -A output -i $LOOPBACK_INTERFACE -j ACCEPT
# -------------------------------------------------------------------------------# Demnios de Rede
# Negar acesso a tolos
# /etc/rc.d/rc.firewall.blocked contm uma lista de
# regras de bloqueio a partir de qualquer acesso
# ipchains -A input -i $EXTERNAL_INTERFACE -s address -j DENY
# Recusa qualquer conexo de sites problemticos
# if [ -f /etc/rc.d/rc.firewall.blocked ]; then
#
./etc/rc.d/rc.firewall.blocked
# fi
# -------------------------------------------------------------------------------# ENDEREOS RUINS & ATAQUES DE SPOOF
# -------------------------------------------------------------------------------# Recusa pacotes forjados.
# Ignora ostensivamente endereos de origem ilegais.
# Proteja a s prprio de enviar para endereos ruins.
# Recusar pacotes forjados finjindo serem do endereo externo.
ipchains -A input -i $EXTERNAL_INTERFACE -s $IPADDR -j DENY -l
# Recusar pacotes que afirmem ser para ou de uma rede privada Classe A
ipchains -A input -i $EXTERNAL_INTERFACE -s $CLASS_A -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -d $CLASS_A -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -s $CLASS_A -j REJECT -l
ipchains -A output -i $EXTERNAL_INTERFACE -d $CLASS_A -j REJECT -l
# Recusar pacotes que afirmem ser para ou de uma rede privada Classe B
ipchains -A input -i $EXTERNAL_INTERFACE -s $CLASS_B -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -d $CLASS_B -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -s $CLASS_B -j REJECT -l
ipchains -A output -i $EXTERNAL_INTERFACE -d $CLASS_B -j REJECT -l
Pgina: 114
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
# Recusar pacotes que afirmem ser para ou de uma rede privada Classe C
ipchains -A input -i $EXTERNAL_INTERFACE -s $CLASS_C -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -d $CLASS_C -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -s $CLASS_C -j REJECT -l
ipchains -A output -i $EXTERNAL_INTERFACE -d $CLASS_C -j REJECT -l
# Recusar pacotes que afirmem ser da interface de loopback
ipchains -A input -i $EXTERNAL_INTERFACE -s $LOOPBACK -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -s $LOOPBACK -j REJECT -l
# Recusar pacotes de ORIGEM do endereo de broadcast
ipchains -A input -i $EXTERNAL_INTERFACE -s $BROADCAST_DEST -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -d $BROADCAST_SRC -j DENY -l
Pgina: 115
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 116
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
#
Base UDP default: 33434 base+nr_saltos-1
#
# Para traceroute entrante.
#
# 0: echo-reply (pong)
# 3: destination-unreachable, port-unreachable, fragmentation-needed, etc.
# 4: source-quench
# 5: redirect
# 8: echo-request (ping)
# 11: time-exceeded
# 12: parameter-problem
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 0 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 3 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 4 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 11 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 12 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s 208.164.186.0/24 8 -d $IPADDR -j ACCEPT
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 117
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 118
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 119
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 120
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 121
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 122
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 123
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
;;
stop)
echo -n "Desativando Servios de Firewall: "
# Remover todas as regras existentes pentencentes a este filtro
ipchains -F
# Deleta todas as cadeias definidas pelo usurio para este filtro
ipchains -X
# Reseta a poltica default do filtro para ACEITAR.
ipchains -P input ACCEPT
ipchains -P output ACCEPT
ipchains -P forward ACCEPT
# Desativa a Proteo TCP SYN Cookie.
echo 0 > /proc/sys/net/ipv4/tcp_syncookies
# Desativa a proteo contra spoof de IP.
# Ativa a Verificao de Endereo de Origem.
for f in /proc/sys/net/ipv4/conf*/rp_filter;
do
echo 0 > $f
done
# Ativa a Aceitao de Redirecionamento de ICMP
for f in /proc/sys/net/ipv4/conf/*/accept_redirects;
do
echo 1 > $f
done
# Ativa o Roteamento de Pacotes na Origem
for f in /proc/sys/net/ipv4/conf/*/accept_source_route;
do
echo 1 > $f
done
Pgina: 124
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
;;
status)
status firewall
;;
restart|reload)
$0 stop
$0 start
;;
*)
echo "Sintaxe: firewall (start|stop|status|restart|reload)"
exit 1
esac
exit 0
Pgina: 125
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
[ OK ]
Pgina: 126
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 127
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 128
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 129
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 130
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
# -------------------------------------------------------------------------------# LOOPBACK
# -------------------------------------------------------------------------------# Trfego ilimitado na interface de loopback
ipchains -A input -i $LOOPBACK_INTERFACE -j ACCEPT
ipchains -A output -i $LOOPBACK_INTERFACE -j ACCEPT
# -------------------------------------------------------------------------------# Demnios de Rede
# Negar acesso a tolos
# /etc/rc.d/rc.firewall.blocked contm uma lista de
# regras de bloqueio a partir de qualquer acesso
# ipchains -A input -i $EXTERNAL_INTERFACE -s address -j DENY
# Recusa qualquer conexo de sites problemticos
# if [ -f /etc/rc.d/rc.firewall.blocked ]; then
#
./etc/rc.d/rc.firewall.blocked
# fi
# -------------------------------------------------------------------------------# ENDEREOS RUINS & ATAQUES DE SPOOF
# -------------------------------------------------------------------------------# Recusa pacotes forjados.
# Ignora ostensivamente endereos de origem ilegais.
# Proteja a s prprio de enviar para endereos ruins.
# Recusar pacotes forjados finjindo serem do endereo externo.
ipchains -A input -i $EXTERNAL_INTERFACE -s $IPADDR -j DENY -l
# Recusar pacotes que afirmem ser para ou de uma rede privada Classe A
ipchains -A input -i $EXTERNAL_INTERFACE -s $CLASS_A -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -d $CLASS_A -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -s $CLASS_A -j REJECT -l
ipchains -A output -i $EXTERNAL_INTERFACE -d $CLASS_A -j REJECT -l
# Recusar pacotes que afirmem ser para ou de uma rede privada Classe B
ipchains -A input -i $EXTERNAL_INTERFACE -s $CLASS_B -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -d $CLASS_B -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -s $CLASS_B -j REJECT -l
ipchains -A output -i $EXTERNAL_INTERFACE -d $CLASS_B -j REJECT -l
Pgina: 131
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
# Recusar pacotes que afirmem ser para ou de uma rede privada Classe C
ipchains -A input -i $EXTERNAL_INTERFACE -s $CLASS_C -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -d $CLASS_C -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -s $CLASS_C -j REJECT -l
ipchains -A output -i $EXTERNAL_INTERFACE -d $CLASS_C -j REJECT -l
# Recusar pacotes que afirmem ser da interface de loopback
ipchains -A input -i $EXTERNAL_INTERFACE -s $LOOPBACK -j DENY -l
ipchains -A output -i $EXTERNAL_INTERFACE -s $LOOPBACK -j REJECT -l
# Recusar pacotes de ORIGEM do endereo de broadcast
ipchains -A input -i $EXTERNAL_INTERFACE -s $BROADCAST_DEST -j DENY -l
ipchains -A input -i $EXTERNAL_INTERFACE -d $BROADCAST_SRC -j DENY -l
Pgina: 132
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 133
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
#
Base UDP default: 33434 base+nr_saltos-1
#
# Para traceroute entrante.
#
# 0: echo-reply (pong)
# 3: destination-unreachable, port-unreachable, fragmentation-needed, etc.
# 4: source-quench
# 5: redirect
# 8: echo-request (ping)
# 11: time-exceeded
# 12: parameter-problem
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 0 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 3 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 4 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 11 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 12 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s 208.164.186.0/24 8 -d $IPADDR -j ACCEPT
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 134
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 135
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 136
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 137
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 138
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 139
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
;;
stop)
echo -n "Desativando Servios de Firewall: "
# Remover todas as regras existentes pentencentes a este filtro
ipchains -F
# Deleta todas as cadeias definidas pelo usurio para este filtro
ipchains -X
# Reseta a poltica default do filtro para ACEITAR.
ipchains -P input ACCEPT
ipchains -P output ACCEPT
ipchains -P forward ACCEPT
# Desativa a Proteo TCP SYN Cookie.
echo 0 > /proc/sys/net/ipv4/tcp_syncookies
# Desativa a proteo contra spoof de IP.
# Ativa a Verificao de Endereo de Origem.
for f in /proc/sys/net/ipv4/conf*/rp_filter;
do
echo 0 > $f
done
# Ativa a Aceitao de Redirecionamento de ICMP
for f in /proc/sys/net/ipv4/conf/*/accept_redirects;
do
echo 1 > $f
done
# Ativa o Roteamento de Pacotes na Origem
for f in /proc/sys/net/ipv4/conf/*/accept_source_route;
do
echo 1 > $f
done
Pgina: 140
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
;;
status)
status firewall
;;
restart|reload)
$0 stop
$0 start
;;
*)
echo "Sintaxe: firewall (start|stop|status|restart|reload)"
exit 1
esac
exit 0
Pgina: 141
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
[ OK ]
Pgina: 142
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
CAPTULO 5
Gerenciamento da Rede TCP/IP
Viso Geral ...................................................................................
145
145
Problema 1 ....................................................................................
146
Problema 2 ....................................................................................
147
147
147
148
149
149
150
151
151
152
Pgina: 143
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 144
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 145
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Problema 1
Caso os drivers das placas estejam sendo usados como mdulos carregveis (kernel
modular), no caso de drivers PCI, o mdulo tipicamente detectar automaticamente todas as
placas instaladas. Para placas ISA, voc precisar fornecer o endereo base de I/O da placa
para que o mdulo saiba onde procurar. Esta informao armazenada no arquivo
"/etc/conf.modules".
Como exemplo, considere que temos duas placas ISA 3c509: uma no endereo de
I/O 0x300 e outra em 0x320.
Para placas ISA, edite o arquivo conf.modules (vi /etc/conf.modules) e adicione:
alias eth0 3c509
alias eth1 3c509
options 3c509 io=0x300,0x320
Isto diz que o driver da 3c509 deve ser carregado tanto para eth0 quanto para eth1
(alias eth0, eth1) e que deve ser carregado com as opes io=0x300,0x320 para que o driver
saiba onde procurar pelas placas. Observe que o 0x importante - coisas como 300h,
geralmente usadas no mundo DOS, no funcionaro.
Para placas PCI, normalmente voc s precisa das linhas de alias para relacionar as
interfaces ethN com o nome do driver apropriado, j que o endereo base de I/O de uma
placa PCI pode ser detectado com segurana.
Para placas PCI, edite o arquivo conf.modules (vi /etc/conf.modules) e adicione:
alias eth0 3c509
alias eth1 3c509
Pgina: 146
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Problema 2
Caso os drivers das placas estejam compilados no kernel (kernel monoltico), o
sistema PCI far uma varredura e detectar automaticamente todas as placas relacionadas.
Placas ISA tambm sero todas detectadas automaticamente. Porm, em algumas
circunstncias, as placas ISA ainda precisaro do que segue abaixo. Esta informao
armazenada no arquivo "/etc/lilo.conf". O mtodo passar argumentos ao kernel por
ocasio do boot, o que, geralmente, feito pelo LILO.
Para placas ISA, edite o arquivo lilo.conf (vi /etc/lilo.conf) e adicione:
append="ether=0,0,eth1"
Observao:
Primeiramente, teste a sua placa ISA sem os argumentos de boot no arquivo
"lilo.conf" e, caso isto falhe, ento use os argumentos de boot.
Neste caso, eth0 e eth1 sero atribudas para que as placas sejam encontradas no
momento do boot. J que recompilamos o kernel, devemos usar o segundo mtodo (caso os
drivers estejam compilados no kernel) para instalar a nossa segunda placa Ethernet no
sistema. Lembre-se de que isto necessrio somente em algumas circunstncias para placas
ISA. Placas PCI sero encontradas automaticamente.
Arquivos relacionados funcionalidade de rede
No Linux, a rede TCP/IP configurada atravs de vrios arquivos texto, os quais
voc poder ter de edit-los para fazer com que a rede funcione. muito importante
conhecer os arquivos de configurao relacionados rede TCP/IP para que voc possa
edit-los e configur-los, caso seja necessrio. Lembre-se de que nosso servidor no tem
uma interface Xwindow para configurar os arquivos atravs de uma interface grfica.
Mesmo que voc use uma GUI em suas atividades dirias, importante saber como
configurar a rede em modo texto. As seguintes sees descrevem os arquivos bsicos de
configurao da rede TCP/IP.
O arquivo "/etc/HOSTNAME"
Este arquivo armazena o seu nome de host de sistema - o seu nome de domnio de
sistema totalmente qualificado (FQDN), tal como: deep.openarch.com.
O que se segue um exemplo do arquivo "/etc/HOSTNAME":
deep.openarch.com
Pgina: 147
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Os arquivos "/etc/sysconfig/network-scripts/ifcfg-ethN"
Arquivos de configurao para cada dispositivo de rede que voc possa ter ou queira
adicionar ao seu sistema so localizados no diretrio "/etc/sysconfig/network-scripts/" com
o Red Hat 6.1 e so nomeados ifcfg-eth0 para a primeira interface, ifcfg-eth1 para a
segunda, etc.
O que se segue um exemplo do arquivo "/etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE=eth0
IPADDR=208.164.186.1
NETMASK=255.255.255.0
NETWORK=208.164.186.0
BROADCAST=208.164.186.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
Caso voc queira modificar o seu endereo de rede manualmente ou adicionar uma
nova rede em uma nova interface, edite este arquivo (ifcfg-ethN) ou crie um novo e faa as
alteraes adequadas.
DEVICE=devicename, onde devicename o nome do dispositivo fsico de rede.
IPADDR=ipaddr, onde ipaddr o endereo IP.
NETMASK=netmask, onde netmask o valor do netmask.
NETWORK=network, onde network o endereo IP da rede.
BROADCAST=broadcast, onde broadcast o endereo IP de broadcast.
ONBOOT=resposta, onde resposta yes ou no (a interface ser ativada ou
desativada no momento do boot?)
BOOTPROTO=proto, onde proto um dos seguintes:
none
- Nenhum protocolo de boot dever ser usado.
bootp
- O protocolo bootp (agora pump) dever ser usado.
dhcp
- O protocolo dhcp dever ser usado.
USERCTL=resposta, onde resposta uma das seguintes:
yes
- Usurio no-root tem permisso para controlar este
dispositivo.
no
- Somente o superusurio root tem permisso para controlar
este dispositivo.
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 148
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
O arquivo "/etc/resolv.conf"
Este arquivo um outro arquivo texto utilizado pelo resolvedor - uma biblioteca que
determina o endereo IP para um nome de host.
O que se segue um exemplo de arquivo "/etc/resolv.conf":
search openarch.com
nameserver 208.164.186.1
nameserver 208.164.186.2
Observao:
Os servidores de nomes so consultados na ordem em que aparecem neste arquivo
(primrio, secundrio).
O arquivo "/etc/host.conf"
Este arquivo especifica como os nomes so resolvidos. O Linux utiliza uma
biblioteca resolvedora para obter o endereo IP correspondente um nome de host.
O que se segue um exemplo de arquivo "/etc/host.conf":
# Pesquisar nomes primeiramente via DNS, depois pelo arquivo /etc/hosts
order bind,hosts
# Temos mquinas com mltiplos endereos
multi on
# Verificar ataques de spoof de endereo IP
nospoof on
A opo order indica a ordem dos servios. A entrada do exemplo especifica que a
biblioteca do resolvedor deve primeiramente consultar o servidor de nomes (DNS) para
resolver um nome e, s ento, verificar o arquivo "/etc/hosts".
A opo multi determina se um host no arquivo "/etc/hosts" pode ter mltiplos
endereos IP (mltiplas interfaces ethN). Hosts que tm mais de um endereo IP so
conhecidos como multihomed, porque a presena de mltiplos endereos IP implica que o
host tem vrias interfaces de rede.
A opo nospoof indica para tomar o cuidado de no permitir spoof nesta mquina.
O Spoof de IP um furo de segurana que funciona enganando computadores em uma
relao de confiana, afirmando que voc algum que na verdade no .
Pgina: 149
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
O arquivo "/etc/sysconfig/network"
O arquivo "/etc/sysconfig/network" usado para especificar informaes sobre a
configurao de rede desejada em seu servidor.
O que se segue um exemplo de arquivo "/etc/sysconfig/network":
NETWORKING=yes
FORWARD_IPV4=yes
HOSTNAME=deep.openarch.com
GATEWAY=0.0.0.0
GATEWAYDEV=
Os seguintes valores podem ser usados:
NETWORKING=resposta, onde resposta yes ou no (configurar ou no a rede).
FORWARD_IPV4=resposta,onde resposta yes ou no (ativa ou no o repasse IP).
HOSTNAME=hostname, onde hostname o nome de host de seu servidor.
GATEWAY=gwip, onde gwip o endereo IP do gateway para redes remotas
(caso haja).
GATEWAYDEV=gwdev, onde gwdev o nome do dispositivo (eth#) que voc usa
para acessar o gateway remoto.
Observao:
Para compatibilidade com software mais antigo, o arquivo /etc/HOSTNAME deve
conter o mesmo valor de HOSTNAME=hostname acima.
Pgina: 150
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
O arquivo "/etc/hosts"
Quando a sua mquina for inicializada, ela precisar conhecer o mapeamento de
alguns nomes de host para endereos IP antes que o DNS possa ser consultado. Este
mapeamento mantido no arquivo "/etc/hosts". Na ausncia de um servidor de nomes,
qualquer programa de rede em seu sistema consulta este arquivo para determinar o
endereo IP que corresponda a um nome de host.
O que se segue um exemplo de arquivo "/etc/hosts":
Endereo IP
Nome de host
Apelido
127.0.0.1
208.164.186.1
208.164.186.2
208.164.186.3
localhost
deep.openarch.com
mail.openarch.com
web.openarch.com
deep.openarch.com
deep
mail
web
OBSERVAO IMPORTANTE:
Problemas de temporizao em conexes telnet ou ftp so, geralmente, causadas
pelo servidor que est tentando resolver um endereo IP do cliente para um nome DNS. Ou
o DNS no est configurado adequadamente em seu servidor ou as mquinas clientes no
conhecem o DNS. Se voc pretende executar os servios telnet e ftp em seu servidor e no
esteja usando DNS, no esquea de adicionar o nome da mquina cliente e o IP no seu
arquivo "/etc/hosts" no servidor. Do contrrio, voc pode contar com uma espera de vrios
minutos para que a consulta DNS expire o seu tempo antes de conseguir um prompt "login:
".
Pgina: 151
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Para mostrar todas as interfaces que voc possa ter em seu servidor, use o
comando:
[root@deep /]# ifconfig
lo
Pgina: 152
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Se o ifconfig for chamado sem parmetros, ele mostra todas as interfaces que voc
configurou. A opo "-a" mostra as inativas, tambm.
Para mostrar todas as interfaces, bem como as interfaces inativas que voc possa
ter, use o comando:
[root@deep /]# ifconfig -a
eth1
lo
Observao:
importante notar que a configurao feita com a ferramenta ifconfig para os seus
dispositivos de rede, no sobreviver a um reboot.
Pgina: 153
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 154
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Genmask
255.255.255.255
255.255.255.0
255.255.255.0
255.0.0.0
Flags
UH
UG
U
U
Metric Ref
0
0
0
0
0
0
0
0
Use
0
0
0
0
Iface
eth0
eth0
eth0
lo
Para verificar rapidamente o status das interfaces, use o comando netstat -i,
conforme segue:
[root@deep /]# netstat -i
RX-OK
4236
13300
14
RX-ERR
0
0
1
RX-DRP
0
0
0
TX-OK TX-ERR
3700
0
13300 0
16
0
TX-DRP
0
0
0
TX-OVR Flg
0 BRU
0 LRU
0 PRU
Pgina: 155
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Uma outra opo netstat til -t, que mostra todas as conexes TCP ativas. O
seguinte um resultado tpico de netstat -t:
Foreign Address
gate.openarch.com:1045
localhost:1033
localhost:1032
localhost:1034
localhost:1030
localhost:1029
localhost:1028
localhost:1027
localhost:1026
localhost:1025
localhost:1024
State
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
Pgina: 156
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Para mostrar todas as conexes TCP ativas e que estejam ouvindo, use o
comando:
[root@deep /]# netstat -vat
Foreign Address
*.*
*.*
gate.openarch.com:1645
*.*
*.*
*.*
gate.openarch.com:1045
localhost:1033
localhost:1032
localhost:1034
localhost:1030
localhost:1029
localhost:1028
localhost:1027
localhost:1026
localhost:1025
localhost:1024
*.*
*.*
*.*
*.*
State
LISTEN
LISTEN
ESTABLISHED
LISTEN
LISTEN
LISTEN
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
ESTABLISHED
LISTEN
LISTEN
LISTEN
LISTEN
[OK]
[OK]
[OK]
[OK]
[OK]
Pgina: 157
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
CAPTULO 6
Firewall de Rede com Suporte
a Mascaramento e Repasse
160
160
162
163
186
187
188
Pgina: 158
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 159
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 160
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Mascaramento significa que se um dos seus computadores de sua rede local, para a
qual a sua mquina Linux (ou gateway) age como um firewall, quer enviar alguma coisa
para o lado externo, o seu Linux pode se "mascarar" como se fosse aquele computador. Em
outras palavras, ele repassa o trfego para o destinatrio externo pretendido, porm faz
parecer como se tivesse partido do prprio firewall. Isto funciona em ambas as direes: Se
o host externo reponder, o firewall Linux silenciosamente repassar o trfego para o
computador local correspondente. Desta forma, os computadores de sua rede local so
completamente invisveis para o mundo externo, mesmo que eles possam alcanar o lado
externo e receber respostas. Isto torna possvel ter computadores na rede local participando
da Internet, mesmo que eles no tenham endereos IP oficialmente registrados.
O cdigo de mascaramento de IP somente funcionar se o repasse de IP estiver
ativado em seu sistema. Esta caracterstica, por default, desativada e voc pode ativ-la
com o seguinte comando:
Voc pode adicionar a linha acima ao seu arquivo de script "/etc/rc.d/rc.local" para
que o repasse de IP seja ativado automaticamente para voc, mesmo que seu servidor seja
reinicializado. No Red Hat Linux, isto tambm pode ser feito alterando-se a linha no
arquivo "/etc/sysconfig/network" de:
FORWARD_IPV4="false"
Para que leia:
FORWARD_IPV4="yes"
Voc deve reinicializar a sua rede para que a alterao tenha efeito:
[root@deep /]# /etc/rc.d/init.d/network restart
Portando, voc pode adicionar a linha de comando "echo "1" >
/proc/sys/net/ipv4/ip_forward" ao seu arquivo de script "rc.local" ou voc pode alterar o
valor da linha "FORWARD_IPV4=false" para "yes" no arquivo "network" para ativar este
recurso. Pessoalmente, eu prefiro a segunda opo.
Pgina: 161
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Observao:
A linha de repasse de IP acima, somente necessria quando voc responde "Yes"
opo "IP:Masquerading (CONFIG_IP_MASQUERADE)" do kernel e escolhe ter um
servidor agindo como um Gateway e Mascarador para a sua rede interna.
Se voc ativar o mascaramento de IP, ento os mdulos ip_masq_ftp.o (para
transferncia de arquivos via ftp), ip_masq_irc.o (para bate-papo irc), ip_masq_quake.o
(voc j adivinhou), ip_masq_vdolive.o (para conexes de vdeo VDOLive),
ip_masq_cuseeme.o (para broadcasts CU-SeeMe) e ip_masq_raudio.o (para downloads
RealAudio) sero automaticamente compilados. Eles so necessrios para fazer o
mascaramento, permitindo que estes protocolos funcionem. Tambm, voc precisa
compilar um kernel modular e responder "Yes" opo "Enable loadable module support
(CONFIG_MODULES)" , ao invs de um kernel monoltico, para poder usar as funes de
mascaramento e mdulos como ip_masq_ftp.o em seu Servidor de Gateway (Consulte a
seo Linux Kernel acima para mais informaes).
O cdigo bsico de mascaramento descrito para o "IP:Masquerading" acima
somente manipula pacotes TCP ou UDP (e erros ICMP para conexes existentes). A opo
IP:ICMP Masquerading implementa suporte adicional para o mascaramento de pacotes
ICMP, tais como ping e as exploraes usadas pelo programa rastreador do Windows 95.
Observao:
Lembre-se: outros servidores, como Servidor Web e Servidor de Email, no
precisam ter estas opes ativadas j que eles possuem um endereo IP real a eles atribudo
ou no agem como um Gateway para a rede interna.
Alguns Pontos a Considerar
Voc pode seguramente assumir que est potencialmente em risco se voc conectar
o seu sistema Internet. O seu gateway para a Internet a sua maior exposio. Por isso,
recomendamos o seguinte:
Pgina: 162
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 163
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 164
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 165
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 166
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
for f in /proc/sys/net/ipv4/conf/*/accept_source_route;
do
echo 0 > $f
done
# Estes mdulos so necessrios para mascarar seus respectivos servios
/sbin/modprobe ip_masq_ftp.o
/sbin/modprobe ip_masq_raudio.o ports=554,7070,7071,6970,6971
/sbin/modprobe ip_masq_irc.o
# /sbin/modprobe ip_masq_vdolive.o
# /sbin/modprobe ip_masq_cuseeme.o
# /sbin/modprobe ip_masq_quake.o
# -------------------------------------------------------------------------------# LOOPBACK
# -------------------------------------------------------------------------------# Trfego ilimitado na interface de loopback
ipchains -A input -i $LOOPBACK_INTERFACE -j ACCEPT
ipchains -A output -i $LOOPBACK_INTERFACE -j ACCEPT
# -------------------------------------------------------------------------------# Demnios de Rede
# Negar acesso a tolos
# /etc/rc.d/rc.firewall.blocked contm uma lista de
# regras de bloqueio a partir de qualquer acesso
# ipchains -A input -i $EXTERNAL_INTERFACE -s address -j DENY
# Recusa qualquer conexo de sites problemticos
# if [ -f /etc/rc.d/rc.firewall.blocked ]; then
#
./etc/rc.d/rc.firewall.blocked
# fi
# -------------------------------------------------------------------------------# ENDEREOS RUINS & ATAQUES DE SPOOF
# -------------------------------------------------------------------------------# Recusa pacotes forjados.
# Ignora ostensivamente endereos de origem ilegais.
# Proteja a si prprio de enviar para endereos ruins.
# Recusar pacotes forjados finjindo serem do endereo externo.
ipchains -A input -i $EXTERNAL_INTERFACE -s $IPADDR -j DENY -l
# Recusar pacotes que afirmem ser para ou de uma rede privada Classe A
ipchains -A input -i $EXTERNAL_INTERFACE -s $CLASS_A -j DENY -l
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 167
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 168
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 169
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
#
Base UDP default: 33434 base+nr_saltos-1
#
# Para traceroute entrante.
#
# 0: echo-reply (pong)
# 3: destination-unreachable, port-unreachable, fragmentation-needed, etc.
# 4: source-quench
# 5: redirect
# 8: echo-request (ping)
# 11: time-exceeded
# 12: parameter-problem
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 0 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 3 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 4 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 11 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s $ANYWHERE 12 -d $IPADDR -j ACCEPT
ipchains -A input -i $EXTERNAL_INTERFACE -p icmp \
-s 208.164.186.0/24 8 -d $IPADDR -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p icmp \
Copyright 1999-2000 Gerhard Mourani e Open Network Architecture
Pgina: 170
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 171
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 172
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 173
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 174
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 175
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 176
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 177
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 178
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 179
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
#
# O IPSEC usa trs tipos principais de pacotes:
#
#
IKE utiliza o protocolo UDP e a porta 500,
#
ESP utiliza o protocolo nmero 50, e
#
AH utiliza o protocolo nmero 51
#ipchains -A input -i $EXTERNAL_INTERFACE -p udp \
#
-s $IPSECSG -j ACCEPT
#ipchains -A output -i $EXTERNAL_INTERFACE -p udp \
#
-s $IPSECSG -j ACCEPT
#ipchains -A input -i $EXTERNAL_INTERFACE -p 50 \
#
-s $IPSECSG -j ACCEPT
#ipchains -A output -i $EXTERNAL_INTERFACE -p 50 \
#
-s $IPSECSG -j ACCEPT
#ipchains -A input -i $EXTERNAL_INTERFACE -p 51 \
#
-s $IPSECSG -j ACCEPT
#ipchains -A output -i $EXTERNAL_INTERFACE -p 51 \
#
-s $IPSECSG -j ACCEPT
Pgina: 180
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 181
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 182
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
;;
stop)
echo -n "Desativando Servios de Firewall: "
# Remover todas as regras existentes pentencentes a este filtro
ipchains -F
# Deleta todas as cadeias definidas pelo usurio para este filtro
ipchains -X
# Reseta a poltica default do filtro para ACEITAR.
ipchains -P input ACCEPT
ipchains -P output ACCEPT
ipchains -P forward ACCEPT
# Desativa a Proteo TCP SYN Cookie.
echo 0 > /proc/sys/net/ipv4/tcp_syncookies
# Desativa a proteo contra spoof de IP.
# Ativa a Verificao de Endereo de Origem.
for f in /proc/sys/net/ipv4/conf*/rp_filter;
do
echo 0 > $f
done
# Ativa a Aceitao de Redirecionamento de ICMP
for f in /proc/sys/net/ipv4/conf/*/accept_redirects;
do
echo 1 > $f
done
# Ativa o Roteamento de Pacotes na Origem
for f in /proc/sys/net/ipv4/conf/*/accept_source_route;
do
echo 1 > $f
done
Pgina: 183
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
;;
status)
status firewall
;;
restart|reload)
$0 stop
$0 start
;;
*)
echo "Sintaxe: firewall (start|stop|status|restart|reload)"
exit 1
esac
exit 0
Pgina: 184
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
[ OK ]
Pgina: 185
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 186
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Documentao adicional
Para mais detalhes, existem vrias pginas de manual que voc pode ler:
$ ipchains (8)
$ ipchains-restore (8)
$ ipchains-save (8)
- Administrao do firewall de IP
- Restaura as cadeias do firewall de IP de stdin
- Salva as cadeias do firewall de IP em stdout
Pgina: 187
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Este comando listar todas as regras da cadeia selecionada. Se nenhuma cadeia for
selecionada, todas as cadeias sero listadas.
Pgina: 188
Comentrios e sugestes sobre este livro devem ser enviados para gmourani@videotron.ca
Pgina: 189