Académique Documents
Professionnel Documents
Culture Documents
18 de abril de 2007
Sumrio
I
II Informaes Bsicas
III FERM
1 O que o FERM
2 Plano de ensino
2.1 Objetivo . . .
2.2 Pblico Alvo .
2.3 Pr-requisitos
2.4 Descrio . .
2.5 Metodologia .
2.6 Cronograma
2.7 Programa . .
2.8 Avaliao . .
2.9 Bibliografia .
10
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
11
11
11
11
11
12
13
13
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
14
15
15
.
.
.
.
.
17
17
17
18
19
19
.
.
.
.
21
21
22
23
23
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Palavras-Chave e parmetros
4.1 Palavras-chave . . . . . . . .
4.2 Parmetros . . . . . . . . . .
4.3 Algumas Location Keywords
4.4 Algumas Match Keywords . .
4.5 Algumas Target Keywords . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Parte I
CDTC
Brasil/DF
Contedo
O contedo dessa apostila fruto da compilao de diversos materiais livres publicados na internet, disponveis em diversos sites ou originalmente produzido no CDTC em http://www.cdtc.org.br.
O formato original deste material bem como sua atualizao est disponvel dentro da licena
GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seo de
mesmo nome, tendo inclusive uma verso traduzida (no oficial).
A reviso e alterao vem sendo realizada pelo CDTC (suporte@cdtc.org.br) desde outubro
de 2006. Crticas e sugestes construtivas so bem-vindas a qualquer tempo.
Autores
A autoria deste de responsabilidade de Beatriz Marlia Ferreira Ribeiro (beatriz@cdtc.org.br)
.
O texto original faz parte do projeto Centro de Difuso de Tecnologia e Conhecimento, que
vem sendo realizado pelo ITI (Instituto Nacional de Tecnologia da Informao) em conjunto com
outros parceiros institucionais, atuando em conjunto com as universidades federais brasileiras
que tem produzido e utilizado Software Livre, apoiando inclusive a comunidade Free Software
junto a outras entidades no pas.
Informaes adicionais podem ser obtidas atravs do email ouvidoria@cdtc.org.br, ou da
home page da entidade, atravs da URL http://www.cdtc.org.br.
Garantias
O material contido nesta apostila isento de garantias e o seu uso de inteira responsabilidade do usurio/leitor. Os autores, bem como o ITI e seus parceiros, no se responsabilizam
direta ou indiretamente por qualquer prejuzo oriundo da utilizao do material aqui contido.
Licena
Copyright 2006, Instituto Nacional de Tecnologia da Informao (cdtc@iti.gov.br) .
Permission is granted to copy, distribute and/or modify this document under the terms
of the GNU Free Documentation License, Version 1.1 or any later version published by
the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOSTILA. A copy of the license is included in the section entitled GNU Free Documentation
License.
Parte II
Informaes Bsicas
CDTC
Brasil/DF
Sobre o CDTC
Objetivo Geral
O Projeto CDTC visa a promoo e o desenvolvimento de aes que incentivem a disseminao de solues que utilizem padres abertos e no proprietrios de tecnologia, em proveito do
desenvolvimento social, cultural, poltico, tecnolgico e econmico da sociedade brasileira.
Objetivo Especfico
Auxiliar o Governo Federal na implantao do plano nacional de software no-proprietrio e
de cdigo fonte aberto, identificando e mobilizando grupos de formadores de opinio dentre os
servidores pblicos e agentes polticos da Unio Federal, estimulando e incentivando o mercado
nacional a adotar novos modelos de negcio da tecnologia da informao e de novos negcios
de comunicao com base em software no-proprietrio e de cdigo fonte aberto, oferecendo
treinamento especfico para tcnicos, profissionais de suporte e funcionrios pblicos usurios,
criando grupos de funcionrios pblicos que iro treinar outros funcionrios pblicos e atuar como
incentivadores e defensores de produtos de software no proprietrios e cdigo fonte aberto, oferecendo contedo tcnico on-line para servios de suporte, ferramentas para desenvolvimento de
produtos de software no proprietrios e de seu cdigo fonte livre, articulando redes de terceiros
(dentro e fora do governo) fornecedoras de educao, pesquisa, desenvolvimento e teste de produtos de software livre.
Guia do aluno
Neste guia, voc ter reunidas uma srie de informaes importantes para que voc comece
seu curso. So elas:
Licenas para cpia de material disponvel
Os 10 mandamentos do aluno de Educao a Distncia
Como participar dos foruns e da wikipdia
Primeiros passos
muito importante que voc entre em contato com TODAS estas informaes, seguindo o
roteiro acima.
Licena
Copyright 2006, Instituto Nacional de Tecnologia da Informao (cdtc@iti.gov.br).
5
CDTC
Brasil/DF
dada permisso para copiar, distribuir e/ou modificar este documento sob os termos
da Licena de Documentao Livre GNU, Verso 1.1 ou qualquer verso posterior
pblicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA
APOSTILA. Uma cpia da licena est inclusa na seo entitulada "Licena de Documentao Livre GNU".
CDTC
Brasil/DF
todos participantes. Assim, se o monitor ou algum outro participante tiver uma informao que
interesse ao grupo, favor post-la aqui.
Porm, se o que voc deseja resolver alguma dvida ou discutir algum tpico especfico do
curso. recomendado que voc faa uso do Forum de dvidas gerais que lhe d recursos mais
efetivos para esta prtica.
. O frum de dvidas gerais tem por objetivo disponibilizar um meio fcil, rpido e interativo
para solucionar suas dvidas e trocar experincias. As mensagens postadas nele so enviadas
a todos participantes do curso. Assim, fica muito mais fcil obter respostas, j que todos podem
ajudar.
Se voc receber uma mensagem com algum tpico que saiba responder, no se preocupe com a
formalizao ou a gramtica. Responda! E no se esquea de que antes de abrir um novo tpico
recomendvel ver se a sua pergunta j foi feita por outro participante.
A segunda forma se d pelas Wikis:
. Uma wiki uma pgina web que pode ser editada colaborativamente, ou seja, qualquer participante pode inserir, editar, apagar textos. As verses antigas vo sendo arquivadas e podem
ser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece um
timo suporte a processos de aprendizagem colaborativa. A maior wiki na web o site "Wikipdia", uma experincia grandiosa de construo de uma enciclopdia de forma colaborativa, por
pessoas de todas as partes do mundo. Acesse-a em portugus pelos links:
Pgina principal da Wiki - http://pt.wikipedia.org/wiki/
Agradecemos antecipadamente a sua colaborao com a aprendizagem do grupo!
Primeiros Passos
Para uma melhor aprendizagem recomendvel que voc siga os seguintes passos:
Ler o Plano de Ensino e entender a que seu curso se dispe a ensinar;
Ler a Ambientao do Moodle para aprender a navegar neste ambiente e se utilizar das
ferramentas bsicas do mesmo;
Entrar nas lies seguindo a seqncia descrita no Plano de Ensino;
Qualquer dvida, reporte ao Frum de Dvidas Gerais.
Perfil do Tutor
Segue-se uma descrio do tutor ideal, baseada no feedback de alunos e de tutores.
O tutor ideal um modelo de excelncia: consistente, justo e profissional nos respectivos
valores e atitudes, incentiva mas honesto, imparcial, amvel, positivo, respeitador, aceita as
idias dos estudantes, paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar.
7
CDTC
Brasil/DF
A classificao por um tutor desta natureza proporciona o melhor feedback possvel, crucial, e,
para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem. Este tutor
ou instrutor:
fornece explicaes claras acerca do que ele espera, e do estilo de classificao que ir
utilizar;
gosta que lhe faam perguntas adicionais;
identifica as nossas falhas, mas corrige-as amavelmente, diz um estudante, e explica porque motivo a classificao foi ou no foi atribuda;
tece comentrios completos e construtivos, mas de forma agradvel (em contraste com um
reparo de um estudante: os comentrios deixam-nos com uma sensao de crtica, de
ameaa e de nervossismo)
d uma ajuda complementar para encorajar um estudante em dificuldade;
esclarece pontos que no foram entendidos, ou corretamente aprendidos anteriormente;
ajuda o estudante a alcanar os seus objetivos;
flexvel quando necessrio;
mostra um interesse genuno em motivar os alunos (mesmo os principiantes e, por isso,
talvez numa fase menos interessante para o tutor);
escreve todas as correes de forma legvel e com um nvel de pormenorizao adequado;
acima de tudo, devolve os trabalhos rapidamente;
Parte III
FERM
Captulo 1
O que o FERM
FERM (For Easy Rule Making) um software usado para facilitar as tarefas de escrita e leitura
de regras de firewall.
10
Captulo 2
Plano de ensino
2.1 Objetivo
Qualificar tcnicos e programadores no software FERM.
2.3 Pr-requisitos
Os usurios devero ser, necessariamente, funcionrios pblicos e ter conhecimentos bsicos
para operar um computador.
2.4 Descrio
O curso ser realizado na modalidade Educao a Distncia e utilizar a Plataforma Moodle
como ferramenta de aprendizagem. O curso tem durao de uma semana e possui um conjunto
de atividades (lies, fruns, glossrios, questionrios e outros) que devero ser executadas de
acordo com as instrues fornecidas. O material didtico est disponvel on-line de acordo com
as datas pr-estabelecidas em cada tpico. A verso adotada do Nvu a 1.0, caso possua outra
verso, podem ocorrer diferenas com relao a este material.
2.5 Metodologia
O curso est dividido da seguinte maneira:
2.6 Cronograma
Descrio das atividades
11
CDTC
Brasil/DF
De Seguda-Feira a Domingo
Lio 1 - instalao, introduo, estrutura de um arquivo de firewall, caracteres especiais
Lio 2 - Palavras chave e Parmetros
Lio 3 - Variveis, funes, include, opes de parmetros
De Quinta-Feira a Domigo
Avaliao de aprendizagem
Avaliao do curso
As lies contm o contudo principal. Elas podero ser acessadas quantas vezes forem necessrias, desde que esteja dentro da semana programada. Ao final de uma lio, voc receber uma
nota de acordo com o seu desempenho. Responda com ateno s perguntas de cada lio, pois
elas sero consideradas na sua nota final. Caso sua nota numa determinada lio for menor do
que 6.0, sugerimos que voc faa novamente esta lio. // Ao final do curso ser disponibilizada a
avaliao referente ao curso. Tanto as notas das lies quanto a da avaliao sero consideradas
para a nota final. Todos os mdulos ficaro visveis para que possam ser consultados durante
a avaliao final. // Aconselhamos a leitura da "Ambientao do Moodle"para que voc conhea
a plataforma de Ensino a Distncia, evitando dificuldades advindas do "desconhecimento"sobre
a mesma. // Os instrutores estaro a sua disposio ao longo de todo curso. Qualquer dvida
dever ser enviada no frum. Diariamente os monitores daro respostas e esclarecimentos.
2.7 Programa
O curso oferecer o seguinte contedo:
Instalao
Introduo
Estrutura de um arquivo de firewall
Caracteres especiais
Palavras chave e parmetros
Algumas location keywords
Algumas match keywords
Algumas target keywords
Variveis
Funes
Include
Algumas opes de comandos
12
CDTC
Brasil/DF
2.8 Avaliao
Toda a avaliao ser feita on-line.
Aspectos a serem considerados na avaliao:
Iniciativa e autonomia no processo de aprendizagem e de produo de conhecimento;
Capacidade de pesquisa e abordagem criativa na soluo dos problemas apresentados.
Instrumentos de avaliao:
Participao ativa nas atividades programadas.
Avaliao ao final do curso.
O participante far vrias avaliaes referente ao contedo do curso. Para a aprovao e
obteno do certificado o participante dever obter nota final maior ou igual a 6.0 de acordo
com a frmula abaixo:
Nota Final = ((ML x 7) + (AF x 3)) / 10 = Mdia aritmtica das lies
AF = Avaliaes
2.9 Bibliografia
Man page: http://ferm.foo-projects.org/ferm.html/
13
Captulo 3
3.2 Introduo
O FERM uma ferramenta que tem como funo facilitar a tarefa de criao de regras de
firewall. Ele suporta firewalls ipchains, regras de ipfwadm e firewalls iptables. Esse curso foi baseado na pgina de manual do FERM.
Vamos comear com um exemplo simples:
chain INPUT {
proto tcp ACCEPT;
}
isto adicionar uma regra ao chain INPUT para que todos os pacotes tcp sejam aceitos. Vejamos o segundo exemplo:
chain (INPUT OUTPUT) {
proto (udp tcp) ACCEPT;
}
Esse exemplo equivalente a quatro regras:
iptables -A INPUT -p tcp -j ACCEPT
14
CDTC
Brasil/DF
Pode-se perceber com esse exemplo que o FERM realmete simplifica bastante a criao de
regras. O objetivo desse curso justamete aprender como criar essas regras.
CDTC
Brasil/DF
16
Captulo 4
Palavras-Chave e parmetros
4.1 Palavras-chave
J foram citadas nas pginas anteriores algumas palavras chave, como "chain"e "ACCEPT".
Nesta lio voc aprender muitas outras.
Existem trs tipos de palavras-chave, descritos a seguir:
location keywords - definem onde uma regra ser criada, por exemplo "table"ou chain".
match keywords - executam um teste em todos os pacotes. Caso um ou mais dos pacotes
no passe nesse teste a regra no ter efeito. Exemplo: "proto", "daddr". Geralmante
matches tem parmetros: "proto tcp", "daddr 172.16.0.0/12".
target keywords - especificam o que deve ser feito com um pacote. Exemplo: REJECT",
"ACCEPT", "goto"
Qualquer regra costituda de uma location keyword, uma target keyword e algumas match
keywords:
table filter #location
proto tcp dport (http https) #match
ACCEPT #target
4.2 Parmetros
Algumas palavras-chave precisam ser complementadas com parmetros, que podem ser literais, referncias a variveis ou listas. Exemplo:
proto tcp
saddr %TRUSTED_HOSTS;
proto tcp dport (http https ssh);
LOG log-prefix "funky wardriver alert: ";
Alguns parmetros podem ser negados:
17
CDTC
Brasil/DF
proto !esp;
proto udp dport !domain;
Para negar palavras chave que no recebem parmetros basta digitar ! antes delas:
proto tcp !syn;
CDTC
Brasil/DF
CDTC
20
Brasil/DF
Captulo 5
depois de definir as variveis use-as da mesma forma que usaria os parmetros que elas substituem. Veja um exemplo:
chain INPUT interface $DEV_INTERNET proto tcp dport $MORE_PORTS ACCEPT;
OBS: as variveis no podem conter palavras-chave como "proto"ou "interface"em seus nomes,
apenas podem ter parmetros.
O valor definido para uma varivel dentro de um bloco s vale dentro dele. Por exemplo, no
trecho seguinte:
def $DEV_INTERNET = eth1;
chain INPUT {
proto tcp {
def $DEV_INTERNET = ppp0;
interface $DEV_INTERNET dport http ACCEPT;
}
interface $DEV_INTERNET DROP;
}
a definio def $DEV_INTERNET = ppp0 s vale dentro do bloco
21
CDTC
Brasil/DF
{
def $DEV_INTERNET = ppp0;
interface $DEV_INTERNET dport http ACCEPT;
}
fora deste bloco continua valendo a definio def $DEV_INTERNET = eth1.
Se houver uma chamada a um arquivo no qual foi feita uma declarao de varivel ento a declarao continua valendo no bloco que fez a chamada. Isto til quando so necessrias muitas
declaraes. Neste caso pode-se fazer um arquivo s de declaraes e inclu-lo no arquivo que
usa as variveis.
Variveis Automticas
Algumas variveis vm definidas pelo FERM. Voc pode utiliz-las da mesma fora que utiliza
as que voc definiu. So variveis pr-definidas:
5.2 Funes
Funes so semelhantes a variveis, a diferena que funes podem ter parmetros e que
elas fornecem comandos, e no valores. Veja um exemplo:
def &FOO() = proto (tcp udp) dport domain;
&FOO() ACCEPT;
Uma chamda de fuo que contm um bloco (como ...) tem de ser o ltimo comando da regra,
isto , deve prceder um ;. No exemplo acima voc pde escrever ACCEPT depois da chamada a
&FOO() porque no h blocos em &FOO().
22
CDTC
Brasil/DF
5.3 Include
A palavra-chave include permite a incluso de arquivos externos. Exemplo:
include vars.ferm;
O nome do arquivo relativo ao arquivo que faz a chamada, ou seja, quando includo /etc/ferm/ferm.conf
. Variveis e funes declaradas em um arquivo includo ainda ficam disponveis no arquivo no
qual a chamada feita. possvel tambm usar includes dentro de blocos:
chain INPUT {
include input.ferm;
}
Se voc incluir um diretrio ao invs de um arquivo todos os arquivos desse diretrio sero includos. Exemplo:
include ferm.d/;
23