trabalho kurumin

53

Click here to load reader

Upload: rogeriosolano

Post on 11-Jun-2015

1.152 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: TRABALHO KURUMIN

Centro Universitário de Desenvolvimento do Centro Oeste

UNIDESC

Curso: Sistemas de Informação Bacharelado

Disciplina: Sistemas Operacionais

VIRTUALIZAÇÃO

SISTEMA OPERACIONAL KURUMIN 7

0

Page 2: TRABALHO KURUMIN

Luziânia/GO, Junho de 2009.

1

Page 3: TRABALHO KURUMIN

Alan Macedo Santana Gonçalves

Cláudio Camelo Martins

Gustavo Bueno Moreira

Rogério Solano Cavalcante Ribeiro

VIRTUALIZAÇÃO

SISTEMA OPERACIONAL KURUMIN 7

Trabalho apresentado ao professor

da disciplina de Sistemas Operacionais

do Curso de Sistemas de Informação

Bacharelado do 5º semestre da

Universidade UNIDESC, como exigência

parcial para obtenção da nota A2.

Orientador: Wilson Miranda Junior.

Luziânia/GO, Junho de 2009.

2

Page 4: TRABALHO KURUMIN

SUMARIO

INTRODUÇÃO ...................................................................................................... 03

1. SISTEMA OPERACIONAL KURUMIN 7 .................................................... 04

1.1. Facilidade de utilização ..................................................................... 04

1.2. Outros programas ............................................................................. 06

1.3. Centro de Controle ............................................................................ 10

2. Firewall ....................................................................................................... 15

2.1. Firewall do Kurumin (IPTABLES) ...................................................... 15

2.2. O que precisamos saber? ................................................................. 18

2.2.1. Regras do Firewall .................................................................. 18

2.2.2. Comandos principais do IPTABLES ....................................... 18

2.2.3. Os parâmetros padrões do iptables são os seguintes ............ 19

2.2.4. Extensões ............................................................................... 19

2.2.5. Exemplos do Firewall .............................................................. 21

2.2.6. Configurando o Firewall contra ataque ................................... 22

2.3. Usando o Firestarter .......................................................................... 24

3. Kurumin dentro de uma máquina virtual ..................................................... 28

4. Analise do Kurumin ....................................................................................... 32

4.1. Desempenho do Processador ........................................................... 32

4.2. Desempenho de Memória RAM ........................................................ 33

4.3. Desempenho da Rede ....................................................................... 34

4.3.1. Desempenho de velocidade .................................................... 34

4.3.2. Envio de pacotes ..................................................................... 35

CONCLUSÃO .......................................................................................................... 37

BIBLIOGRAFIA ....................................................................................................... 38

3

Page 5: TRABALHO KURUMIN

INTRODUÇÃO

O Kurumin foi uma distribuição Linux desenvolvido por Carlos E. Morimoto,

pela equipe do Guia do Hardware e colaboradores, com o objetivo de ser um

sistema fácil de usar, voltado especialmente para iniciantes e ex-usuários do

Windows. Originalmente o Kurumin foi desenvolvido com base no Knoppix,

passando em seguida a utilizar também componentes do Kanotix e outros projetos,

além de ser baseado nos pacotes do Debian. Todos os componentes e scripts

usados são abertos, o que possibilitou também o surgimento de versões modificadas

do sistema.

Apesar de ter feito um grande sucesso e ter sido durante algum tempo uma

das distribuições mais usadas no país, o projeto acabou falhando em atrair um grupo

de desenvolvedores interessados em participar de forma ativa do desenvolvimento.

Este e outros fatores (entre eles a justificada cobrança em torno de novos recursos e

melhorias) acabaram fazendo com que o projeto fosse descontinuado em janeiro de

2008. O Kurumin continuou recebendo suporte e pequenas atualizações ao longo de

2008 e início de 2009, acompanhando o ciclo de vida do Debian Etch, no qual o

sistema é baseado. O lançamento do Debian Lenny em 15/02/2009 marcou o fim do

ciclo de manutenção do Kurumin 7, marcando o encerramento do suporte ao

sistema.

4

Page 6: TRABALHO KURUMIN

1. Sistema operacional kurumin 7

O Kurumin é uma distribuição Linux destinado a desktops. Quando falo em

desktops estou falando em um sistema destinado a uso geral, que você pode usar

para acessar a Internet, trabalhar, assistir filmes, jogar e fazer todo tipo de tarefas.

Existem muitas distribuições Linux destinadas a servidores, que é um porto

seguro. Um servidor é uma máquina que fica o tempo todo ligada, sempre fazendo a

mesma coisa. Existem vários tipos de servidores, como servidores web, servidores

de arquivos, servidores de impressão, etc.Quase 70% dos servidores Web do

mundo usam o Apache, a maioria deles rodando Linux. O Samba é mais rápido e

estável que o Windows como servidor de arquivos e impressoras e por isso continua

crescendo rapidamente.

Quando se fala em compartilhar a conexão com a Web, novamente o Linux é

o sistema mais usado e quando pesquisamos sobre um sistema robusto para rodar

um banco de dados, como o Oracle, MySQL ou Postgre SQL, novamente o Linux é

o mais comentado e recomendado. Mas, apesar de ser tão robusto, rápido e estável,

o Linux ainda é pouco usado no ambiente doméstico: provavelmente você pode

contar nos dedos os amigos (pelo menos os amigos fora da área técnica) que usam

Linux no micro de casa.

Isso ocorre porque as qualidades necessárias para construir um bom sistema

para um servidor e um bom sistema para uso doméstico são muito diferentes, é

como comparar um tanque de guerra com um carro popular.

4.4. Facilidade de utilização

O Kurumin difere das outras distribuições por ser desenvolvido com foco na

facilidade de uso. Ele roda diretamente a partir do CD, detectando o hardware da

máquina e pode ser instalado rapidamente. Todos os scripts, ferramentas de

configuração, menus, etc. são escritos diretamente em português do Brasil, ao invés

de serem escritos em inglês e depois traduzidos. Isso faz com que tudo seja muito

mais familiar. Muitas pessoas têm apontado o Kurumin como sendo não apenas

5

Page 7: TRABALHO KURUMIN

mais fácil de usar que outras distribuições Linux, mas também mais fácil que o

próprio Windows.

Figura 1 – Desktop do Kurumin 7.

Atualmente, o Kurumin vem com um conjunto bastante completo de

aplicativos. Na parte de escritório, temos o BrOffice, que é a versão Brasileira do

OpenOffice.org. A principal vantagem é que ele é personalizado para o público

brasileiro e traz um corretor ortográfico bastante afinado.

Figura 2 – Programas de Escritório e utilitários.

Um quesito cada vez mais importante é a navegação web, já que, afinal,

passamos a maior parte do tempo usando o navegador. Além do Firefox, que

dispensa apresentações, temos o Konqueror, que é o navegador padrão do KDE. O

6

Page 8: TRABALHO KURUMIN

Konqueror oferece muito mais recursos do que pode parecer à primeira vista. Além

de ser um bom navegador e um poderoso gerenciador de arquivos, ele oferece uma

série de plugins, que permitem transferir arquivos via SSH, acessar

compartilhamentos de rede, criar galerias de imagens, entre várias outras coisas.

Por ser um componente do KDE, o Konqueror acaba sendo bem mais leve que o

Firefox, por isso também é uma boa opção para quem usa micros de configuração

mais modesta.

Embora os webmails sejam cada vez mais populares, o Kurumin inclui

também o Thunderbird, o cliente de e-mails primo do Firefox. O principal recurso do

Thunderbird é um filtro anti-spam adaptável, que uma vez ativado, aprende a

classificar as mensagens de acordo com os seus critérios.

4.5. Outros programas.

Para usar MSN ou ICQ, você pode escolher entre o Kopete e o Gaim. O

Kopete é o mensageiro do KDE, ele é o mais leve e o que possui mais funções. O

Gaim, por sua vez, possui uma interface mais simples e, justamente por isso,

também tem seus usuários fiéis. Como não podia deixar de ser, é incluído também o

Skype.

Na categoria "Outros" você encontra também o KTorrent, um cliente gráfico

para downloads via bittorrent, o Firestarter, que é um firewall gráfico, o GFTP, um

cliente de FTP (que também suporta SFTP), entre outros.

Figura 3 – Programas para internet.

7

Page 9: TRABALHO KURUMIN

O menu "Conectar na Internet ou Configurar a Rede" é na verdade uma cópia das

opções de configuração da rede disponíveis no Painel de Controle.

Na parte gráfica, temos o Gimp, o Inkscape e o Kolourpaint. Embora os três

sejam editores de imagem, eles se enquadram em categorias completamente

diferentes e por isso se complementam. O Gimp é um editor de imagens, no estilo

do Photoshop, que permite tratar fotos e aplicar efeitos. Ele é muito avançado, com

uma quantidade impressionante de opções e efeitos e por isso também é um pouco

difícil de usar. O Inkscape é um programa de desenho vetorial, similar ao Corel,

usado para criar ilustrações, cartazes, banners, anúncios, etc., enquanto o

Kolourpaint é um editor de imagem simples, no estilo do Paint, que permite fazer

desenhos e retoques rápidos. Completando o time, temos também o Ksnapshot,

um programa bastante flexível para tirar screenshots da tela.

Figura 4 – Programas Gráficos.

Se você tem uma câmera digital, experimente o Digikam. Ele é um dos

aplicativos mais completos dentro da área, permitindo transferir fotos da câmera

para o PC, organizá-las, tratar e aplicar efeitos, gerar álbuns em vários formatos,

entre muitos outros recursos.

Na área de multimídia temos o trio Amarok, Kaffeine e K3B. O Amarok é um

player de áudio. Ele permite organizar e classificar suas músicas de diversas formas,

oferece opções para buscar letras de músicas e capas de CDs, suporte a iPods e

outros players de áudio, entre muitos outros recursos.

Kaffeine é um media player mais tradicional, que oferece suporte a todo tipo

de formato de vídeo e áudio, incluindo filmes em Divx, MWV, Quick Time, DVDs,

8

Page 10: TRABALHO KURUMIN

VCDs, CDs de música e praticamente qualquer outro formato que você puder

encontrar.

Finalmente, temos o K3B, um programa de gravação de CDs e DVDs, que

supera o Nero em recursos e facilidade de uso. O único motivo para alguns ainda

acharem que o Nero é superior é o fato de não conhecerem ou não saberem usar

todos os recursos do K3B. Por ser o programa de gravação padrão do sistema, o

K3B pode também ser acessado de outras formas. Clicando com o botão direito

sobre uma pasta com arquivos, você tem a opção "Criar CD de dados com o K3B".

Clicando sobre um arquivo .iso, o K3B abre automaticamente, oferecendo a opção

de gravá-lo em um CD ou DVD.

Figura 5 – Programas Multimídia.

No menu "Outros", você encontra alguns programas adicionais. O Audacity é

uma ferramenta de gravação e edição de áudio "semiprofissional" que inclui diversos

efeitos, opções para juntar diversas faixas e muitos outros recursos. Apesar dos

recursos, ele é bem simples de usar. O XMMS é um player de áudio "da velha

guarda", bem simples e fácil de usar, similar ao WinAMP do Windows. O gMplayer é

outro player de mídia, que concorre diretamente com o Kaffeine; ele utiliza uma

engine diferente, por isso sempre existem casos de vídeos em formatos mais

exóticos que são exibidos corretamente em apenas um dos dois, por isso é

interessante ter ambos instalados. Finalmente, temos o Kaudiocdcreator, que

permite ouvir e ripar CDs de música, permitindo que você transfira as músicas para

escutar no micro ou no seu MP3Player. No mesmo menu você encontra os scripts

que permitem configurar placas de TV.

9

Page 11: TRABALHO KURUMIN

O menu "Redes e Acesso remoto" concentra as ferramentas para acesso

remoto a outras máquinas, compartilhamento de arquivos e acesso a

compartilhamentos de rede. Entre as opções, estão o SSH, VNC e NFS, o Smb4K

(que permite visualizar e acessar os compartilhamentos em máquinas Windows da

rede), o TSclient (que permite acessar máquinas Windows com o utilitário de

assistência remota ativo) e o Synergy (que permite controlar vários micros usando

apenas um teclado e mouse, como uma espécie de KVM via software).

Figura 6 – Programas de suporte a redes e acesso remoto.

O Krfb, (disponível no submenu "Acesso Remoto") permite compartilhar o

desktop, de forma similar à assistência remota do Windows. As máquinas da rede

com o Krfb ativo podem ser acessadas remotamente usando o Krdc (disponível no

mesmo menu), ou usando o cliente do VNC.

O menu "Sistema" é uma espécie de caixa preta, onde estão agrupados uma

grande quantidade de utilitários para a configuração e manutenção do sistema. Só

para citar alguns exemplos, temos o Partition Image (um concorrente do Ghost, que

permite criar e restaurar imagens de partições), o Gparted (um particionador gráfico

bastante poderoso, que é usado também durante a instalação do sistema) e o

10

Page 12: TRABALHO KURUMIN

Testdisk, uma ferramenta de manutenção, que permite recuperar partições

deletadas devido a acidentes, defeitos diversos ou à ação de vírus. No menu

"Scripts do Kurumin" você encontra o script para instalar o Clamav, um antivírus que

permite desinfetar partições do Windows (muito útil para quem usa o sistema em

dual boot).

Figura 7 – Programas de Configuração do Sistema.

O Clamav é o melhor exemplo dentro de um fenômeno interessante: ao

contrário da crença popular, existem sim vários programas antivírus que rodam no

Linux. Entretanto (apesar de rodarem no Linux), todos eles são destinados

justamente a remover vírus em partições e arquivos do Windows, atendendo a quem

usa os dois sistemas em dual boot ou precisa desinfetar arquivos antes de transferi-

los a outras máquinas Windows da rede, por exemplo.

Como pode ver, o Kurumin inclui uma variedade muito grande de programas.

Muita gente até critica o sistema nesta questão, argumentando que seria melhor

desenvolver um sistema mais "enxuto", com apenas os aplicativos mais básicos.

4.6. Centro de Controle

Além dos aplicativos, temos o principal diferencial do Kurumin, que é a grande

coleção de ferramentas e scripts de configuração. Alguns deles estão distribuídos

11

Page 13: TRABALHO KURUMIN

pelo iniciar (como os scripts de configuração do Bluetooth), mas a maioria está

agrupada dentro do Painel de Controle.

A grande quantidade de opções pode assustar à primeira vista, mas são

justamente elas que tornam o Kurumin poderoso, permitindo que você extraia muito

mais do sistema.

Figura 8 – Centro de Controle.

A primeira coisa que você vai querer fazer é configurar a rede, já que afinal a

grande utilidade de usar um PC hoje em dia está justamente em poder acessar a

web. Usando uma placa cabeada, não existe muito mistério, é só usar a primeira

opção e informar as configurações da rede. Durante o boot o sistema tenta

configurar a rede automaticamente via DHCP, de forma que em muitos casos não

precisará fazer nada.

Entretanto, as coisas podem ficar um pouco mais complicadas se você

acessa usando uma placa wireless ou usa acesso discado, daí as demais opções. O

suporte a redes wireless já foi um grande problema no Linux, mas hoje em dia

existem drivers para a grande maioria das placas. Mesmo as placas que não

possuem drivers podem ser configuradas usando o ndiswrapper, que permite ativar

12

Page 14: TRABALHO KURUMIN

a placa usando o driver do Windows. Também estão disponíveis drivers para os

softmodems que possuem drivers Linux. Infelizmente, no caso dos modems, a lista

está longe de ser completa, por isso é importante testar antes de comprar.

Pelo painel você pode também ativar o firewall. Embora o Linux seja bem

mais seguro que o outro sistema, é sempre bom ter uma camada extra de

segurança. Como costumo dizer, as brechas de segurança são como minas

terrestres: por mais improvável que possa parecer, você nunca sabe quando pode

estar prestes a pisar em uma.

Figura 9 – Conectar e configurar rede.

Muitas das opções no painel de suporte a hardware são na verdade opções

destinadas a solucionar problemas. Por exemplo, ao plugar um pendrive ou cartão

de memória, um ícone é criado no desktop, permitindo que você acesse os arquivos.

Nos raros casos onde isto não acontece automaticamente, você pode usar a opção

"Detectar Pendrives e cartões de memória", que força uma nova busca.

Algumas opções importantes são o script para instalar o driver 3D para placas

nVidia, para compartilhar a impressora, para alterar a configuração do vídeo e para

instalar o Kernel com suporte a SMP. O driver da nVidia não é obrigatório, mas sem

ele sua cara GeForce FX vai ficar limitada a aplicativos 2D, o que é um grande

desperdício.

13

Page 15: TRABALHO KURUMIN

Figura 10

– Suporte a

hardware.

O Painel dos ícones mágicos é o recurso mais famoso do Kurumin. De uma

forma geral, instalar programas no Linux é bem simples, pois (desde que o programa

desejado esteja disponível nos repositórios oficiais) é fácil instalá-lo usando o

Synaptic ou usando diretamente o apt-get, via terminal.

Por exemplo, digamos que você ouviu falar de um programa de editoração

muito bom, chamado Scribus. Você poderia muito bem pesquisar sobre ele no

Google e procurar o pacote de instalação dentro da página do projeto, mas seria

muito simples abrir o terminal e executar os três comandos abaixo:

$ sudo su - <senha>

# apt-get update

# apt-get install scribus

O "sudo su -" faz com que você se logue como root, de forma a poder instalar

novos programas. O apt-get update faz com que o apt-get verifique a lista dos

programas disponíveis e o "apt-get install scribus" baixa e instala o Scribus. Como

pode ver, para instalar um novo programa, basta chamá-lo pelo nome.

14

Page 16: TRABALHO KURUMIN

Entretanto, um dos grandes problemas de quem começa a usar Linux é

justamente o fato de não conhecer os programas disponíveis. Os ícones mágicos

ajudam neste aspecto, oferecendo uma lista dos programas mais comuns.

Figura 11

– Ícones Mágicos.

Finalmente, temos o painel de configuração de servidores, que é o mais

complexo. As opções mais usadas são as relacionadas com o compartilhamento da

conexão. É muito fácil transformar um micro com duas placas de rede em um

servidor Linux, compartilhando a conexão com os micros da rede local. Você

começaria configurando a rede e ativando o firewall, no painel de configuração da

rede, e em seguida usaria a opção "Compartilhar a conexão com a Internet" para

compartilhar a conexão do servidor com os micros da rede local. O script configura

também o servidor DHCP, de forma que os outros micros possam obter a

configuração da rede automaticamente a partir do servidor.

Para otimizar a conexão, você pode usar o Squid. Ele é um servidor proxy,

que mantém um cache com as páginas e os arquivos já acessados, acelerando o

acesso às páginas e reduzindo o uso do link. Use a opção de ativar o proxy

transparente dentro do script; assim o proxy se integra ao compartilhamento da

conexão, sem que você precise configurar cada micro manualmente para usá-lo.

15

Page 17: TRABALHO KURUMIN

Figura 12 – Instalação e Configuração de Servidores.

5. Firewall

O Linux por ser um software livre, onde uma comunidade de desenvolvedores contribuem

quase que diariamente para seu desenvolvimento e melhorias.

Firewall conforme a versão do kernel

Ipfwadm - O IP Firewall Administration, ou simplesmente ipfwadmin foi à ferramenta

padrão para construção de regras de firewall, para o Kernel anterior à versão 2.2.0.

Dizem que o Ipfwadm era extremamente complexo.

Ipchains - O ipchains foi a solução, ou melhor, a atualização, feita para o kernel 2.2

do ipfwadm. A idéia do ipchains foi ter o poder do ipfwadm, mas com uma

simplicidade e facilidade no que diz respeito à criação de regras. Além de prover

sua facilidades, é criar uma compatibilidade com o ipfwadm através do utilitário

ipfwadm-wrapper.

Iptables e o Netfilter - A nova geração de ferramentas de firewall para o Kernel 2.4

ao 2.6 do Linux. Além de possuir as facilidade do ipchains, e implementar a

16

Page 18: TRABALHO KURUMIN

facilidade do NAT e filtragem de pacotes mais flexíveis que o IPchains.

Nós sabemos que nos dias de hoje é essencial o firewall, em servidores

corporativos como servidores de web, e-mail e gateways, devido a demanda de

crackers. Mas sabemos que assim mesmo não basta montar um firewall e por em

mente que nunca vai ser invadido, lembra-se de que é primordial verificar os

Updates, Advisores, Bug e falhas de sistema. Tenha em mente além de configurar

um sistema de firewall, também administrar por Logs e IDS, e que tenha administrar

os Logs para verificar possíveis erros e de uma forma fácil e ágil, e IDS para verificar

a Dequitação de Intrusos.

5.1. Firewall do Kurumin (IPTABLES)

O Linux possui um firewall integrado diretamente ao Kernel, o Iptables. A

vantagem dele sobre firewalls que rodam em nível de aplicativo, como é o caso da

maioria dos firewalls para Windows, é que os dados passam pelo firewall antes de

passar por qualquer outra camada do sistema, garantindo um melhor desempenho e

eliminando a possibilidade de brechas em outros componentes prejudicarem o

trabalho do firewall.

O Iptables é configurado através de regras, adicionadas via linha de

comando. Com as duas regras abaixo, por exemplo, você bloqueia todas as novas

conexões provenientes da rede, permitindo apenas a comunicação interna entre os

programas:

# iptables -A INPUT -i lo -j ACCEPT

# iptables -A INPUT -p tcp --syn -j DROP

O Kurumin Firewall, por padrão, fecha todas as portas TCP do seu micro para

novas conexões, sem, entretanto, impedir que sua máquina inicie novas conexões.

O firewall protege sua máquina, sem impedir que você continue navegando, usando

o MSN, acessando compartilhamentos da rede e assim por diante. A idéia é que o

firewall cause um mínimo de inconvenientes ao ser ativado.

A primeira pergunta é se você deseja abrir o firewall para conexões

provenientes dos micros da rede local. Isso permite que outros micros da sua rede

17

Page 19: TRABALHO KURUMIN

consigam acessar impressoras e arquivos compartilhados, sem, contudo, abrir para

conexões provenientes da internet. Ao ativar esta opção, você deve informar a faixa

de endereços usada na sua rede, como "192.168.0.0" ou "192.168.1.0", por

exemplo.

Figura 13 – Permissão a Rede local

Em seguida, você tem a opção de indicar portas específicas, que devem ficar

abertas para a Internet. Se você precisa acessar sua máquina remotamente via

SSH, por exemplo, deixaria a porta 22 aberta, se pretende usar o bittorrent seria

recomendável manter a 6881 aberta e assim por diante. A pergunta fica em loop até

que você responda "não", permitindo que você adicione várias portas, caso

necessário.

Figura 14 – Permissão de portas específicas

No final, você tem a opção de acessar um menu de "configurações

avançadas", onde você pode também fazer o forwarding de portas para micros da

18

Page 20: TRABALHO KURUMIN

rede local (no caso do firewall ser ativado no micro que compartilha a conexão) e

também bloquear portas de saída, o que impede que programas na sua máquina

consigam enviar informações para fora.

Figura 15 – Menu de configurações avançadas

Ao usar o menu de opções avançadas, você tem a opção de revisar e

modificar o arquivo com as regras gerado pelo script. Ou seja, se você conhece ou

está estudando sobre as regras do Iptables, pode usar o script gerado pelo Kurumin

Firewall como ponto de partida para criar seu script de firewall personalizado. As

regras geradas são salvas no arquivo "/etc/init.d/kurumin-firewall".

5.2. O que precisamos saber?

Na configuração do Firewall com o iptables, é preciso saber quais são as

regras a serem utilizadas para rodar o Firewall:

5.2.1. Regras de Firewall

INPUT: È utilizada quando o destino final é a própria máquina firewall.

OUTPUT: Qualquer pacote gerado pela máquina firewall e que deva sair para

a rede será tratado pela regra OUTPUT.

FORWARD: Qualquer pacote que atravessa o firewall, de uma máquina e

direcionado à outra, será tratado pela chain FORWARD.

Basicamente o IPTABLES tem as seguintes políticas:

19

Page 21: TRABALHO KURUMIN

DROP - Nega pacote e não manda um pacote de volta para o emitente.

ACCEPT - Aceita o pacote

REJECT - Nega pacote e manda um pacote de volta do tipo host-unreachable

(Host Inalcançável)

5.2.2. Comandos Principais do Iptables.

- -A - Este comando acrescenta uma regra às existentes no sistema, ou seja, permite

atualizar regras já existentes na estrutura do firewall.

- -I - Este comando insere uma nova regra dentro das existentes no firewall.

- -D - Este comando exclui uma regra específica no firewall.

- -P - Este comando define a regra padrão do firewall.

- -L - Este comando lista as regras existentes no firewall.

- -F - Este comando ZERA todas as regras criadas no Firewall (o chamado flush).

- -h - Este comando mostrará o help, ajuda de comando.

- -R - Este comando substitui um regra no firewall.

- -C - Este comando basicamente checa as regras.

- -Z - Este comando zera uma regra específica.

- -N - Este comando cria uma nova regra com um nome.

- -X - Este comando exclui uma regra específica por seu nome.

5.2.3. Os parâmetros padrões do iptables são os seguintes:

- -p! (protocolo) - define qual o protocolo TCP/IP deverá ser tratado. São eles: TCP,

UDP e ICMP

20

Page 22: TRABALHO KURUMIN

- -s! (origem)/ -d! (destino) - Define qual o endereço de origem (-S) e de destino (-D)

que a regra atuará. Este comando possui dois argumentos: endereço/máscara e

porta. Ex.: -S 10.0.0.1/24 80,.

- -i! (interface) - define o nome da interface de rede onde trafegará os pacotes de

entrada e saída do firewall. Muito utilizado em mascaramento e técnicas de NAT.

Exemplo: -W eth1.

- -j! (ir para) - Serve para redirecionar uma ação desde que as regras sejam

similares.

- -f!(fragmento) - Trata datagrama fragmentados.

Os comandos e os parâmetros são exatamente iguais aos do ipchains.

5.2.4. Extensões

Novidade do iptables que facilita as regras.

-sport[!] [port:port] -dport[!] [port:port]

Normalmente estas extensões são utilizadas com o comando -m do iptables.

Trata-se de um direcionamento de porta(s) origem (-sport), para porta(s) destino (-

dport). Pode-se inclusive definir um número padrão de portas para o acesso

(port:port). Este comando pode ser utilizado tanto para portas TCP ou UDP.

-mac-source[!] endereço

Especifica qual a placa de rede, através de seu endereço MAC, que irá

transmitir pacotes através do firewall, limitado pela política do mesmo.

-icmp-type[1] tipo

Especifica quais os tipos de pacotes ICMP pode passar ou não pelo firewall,

São eles:

21

Page 23: TRABALHO KURUMIN

Mensagem Tipo Código

Echo-request 8 0

Echo-reply 3 0

Source-quench 4 0

Time-exceed 11 0

Destination-unreachable 3 0

Network-unreachable 3 0

Host-unreachable 3 1

Protocol-unreachable 3 2

Port-unreachable 3 3

Com isto podemos bloquear alguns ataques do tipo ping flood, bloquear ping

e etc

[!] -- syn - especifica o uso dos bits ACK e FIN em requisições SYN TCP.

Especificamente, a opção -m state' aceita uma opção adicional--state', que é

uma lista de estados de ativação separados por vírgula. (a flag '!' não indica a

ativação desses estados). Esses estados são:

NEW Um pacote que cria uma nova conexão.

ESTABLISHED Um pacote que pertence a uma conexão existente (isto é, um

pacote de resposta).

RELATED Um pacote que está relacionado com (mas não faz parte de) uma

conexão existente, como um ICMP error, ou (com o módulo FTP inserido),um

pacote que estabelecido por uma conexão de dados ftp.

INVALID Um pacote que não poderia ser identificado por alguma razão: isto

inclui execução fora da memória e erros de ICMP que não correspondam a

nenhuma conexão existente. Geralmente estes pacotes devem ser barrados

(drop).

5.2.5. Exemplos do Firewall

22

Page 24: TRABALHO KURUMIN

#iptables -A INPUT -p icmp -j DROP

Esta regra nega todos os pacotes ICMP vindos do servidor, em que se

encontra o firewall.

#iptables -D INPUT -p icmp -j DROP

Esta regra exclui a regra criar acima.

#iptables -A INPUT -s 192.168.1.0/24 -j DROP

Esta regra acima faz com que todos os pacotes vindos de qualquer endereço

da classe de ip 192.168.1.1 á 192.168.1.255 nega os pacotes.

#iptables -A OUTPUT -p icmp -d ! 192.168.1.0/24 -j ACCEPT

Esta regra acima faz com que todos os pacotes vindos de qualquer endereço

da classe de ip 192.168.1.1 á 192.168.1.255 aceita os pacotes.

#echo 1 > /proc/sys/net/ipv4/ip_forward

Habilitando o recurso de IP forwarding

5.2.6. Configurando o Firewall contra ataque

# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

Proteção contra Syn-floods

# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit

1/s -j ACCEPT

Port scanners ocultos.

# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j

ACCEPT

Ping da morte

# iptables -A INPUT -s 10.0.0.0/8 -i Interface da NET -j DROP

23

Page 25: TRABALHO KURUMIN

# iptables -A INPUT -s 172.16.0.0/16 -i Interface da NET -j DROP

# iptables -A INPUT -s 192.168.0.0/24 -i Interface da NET -j DROP

Proteção Contra IP Spoofing

Obs.: Interface da NET pode ser ppp0, ethX e etc.

Log a portas proibidas e alguns backdoors:

# iptables -A INPUT -p tcp --dport 21 -j LOG --log-prefix "Serviço: FTP"

Porta FTP.

# iptables -A INPUT -p tcp --dport 5042 -j LOG --log-prefix "Serviço: Wincrash"

Porta Wincrash

# iptables -A INPUT -p tcp --dport 12345 -j LOG --log-prefix "Serviço: BackOrifice"

# iptables -A INPUT -p tcp --dport 123456 -j LOG --log-prefix "Serviço: BackOrifice"

Portas BackOrifice

Redirecionamento de Portas (Usado em DMZ):

# iptables -t nat -A PREROUTING -i ethx -p tcp --dport 25 -j DNAT --to 192.168.1.1

Redirecionar Porta SMTP

# iptables -t nat -A PREROUTING -i ethx -p tcp --dport 110 -j DNAT --to 192.168.1.1

Redirecionar Porta POP

OBS.:Sendo que ethx é sua interface de entrada da WAN.

# iptables -m string --string "X-Kazaa-Username:" -j DROP

# iptables -m string --string "X-Kazaa-Network:" -j DROP

# iptables -m string --string "X-Kazaa-IP:" -j DROP

# iptables -m string --string "X-Kazaa-SupernodeIP:" -j DROP

Bloqueando Kazaa Lite

Obs: Para ativar o módulo String match support (EXPERIMENTAL) tem que

aplicar o patch e logo depois compilar o kernel.

24

Page 26: TRABALHO KURUMIN

Bloqueando cmd.exe:

Neste caso você tenha atrás do seu firewall linux um servidor de web IIS da

microsoft, e deseja evitar que worms com código arbitrários que usam o comando

cmd.exe:

# iptables -I INPUT -j DROP -p tcp -s 0.0.0.0/0 -m string --string "cmd.exe"

Bloqueando em Silêncio.

# iptables -I INPUT -j LOG -p tcp -s 0.0.0.0/0 -m string --string "cmd.exe" -m limit --

limit 1/hour.

Bloqueando e reportando por uma hora

3.2 Usando o Firestarter

O Firestarter é um firewall gráfico, que é ao mesmo tempo bastante poderoso

e fácil de usar. Ele é adequado para uso em desktops, onde é necessário uma forma

simples de monitorar tentativas de conexão e abrir portas quando necessário. O

ícone para ativá-lo está no "Iniciar > Internet > Firestarter (Firewall)".

Ao abrir o Firestarter pela primeira vez, é aberto um assistente que pede

algumas informações básicas sobre a configuração da rede e oferece opções para

compartilhar a conexão e ativar o firewall sob demanda, ao conectar via modem ou

ADSL PPPoE.

O compartilhamento de conexão cria um compartilhamento simples, via NAT,

equivalente a usar o script para compartilhar a conexão que vimos há pouco. Ao

compartilhar a conexão, é necessário apenas indicar qual é a placa ligada à rede

local. A única limitação é que o Firestarter não permite compartilhar usando uma

única placa de rede:

25

Page 27: TRABALHO KURUMIN

Figura 16 – Configuração inicial do Firestarter.

Estas configurações podem ser alteradas posteriormente no menu "Editar >

Preferências". Se a opção de Habilitar o servidor DHCP aparecer desativada na sua

configuração, verifique se o pacote com o servidor DHCP (dhcp3-server) está

instalado. O Firestarter apenas altera a configuração de um servidor DHCP já

instalado, ele não faz a instalação para você.

Figura 17 – Menu de Preferências do Firestarter.

Como o Firestarter precisa manipular as regras do Iptables e configurar outros

componentes do sistema, ele só pode ser executado como root, por isso ele solicita

a senha ao ser aberto. Ao acioná-lo através do menu, isso não acontece, pois ele é

acionado usando o sudo. Por padrão, uma vez aberto, o Firestarter bloqueia todas

as portas e loga todas as tentativas de conexão, uma configuração bastante segura.

26

Page 28: TRABALHO KURUMIN

Ainda na janela de configurações, verifique se a opção "Método de rejeição de

pacotes preferido" está configurada como "Descartar silenciosamente", em que é

usada a política "DROP" do Iptables, ao invés de "REJECT", onde o emissor recebe

resposta.

A opção "Tráfego de broadcast" se refere a todos os pacotes direcionados à

rede, como, por exemplo, os pacotes usados por servidores Windows (e Samba)

para mapear os compartilhamentos disponíveis na rede. Deixe sempre a opção

"Block broadcasts from external network" (pacotes de broadcast vindos da internet)

habilitada. Caso esteja usando uma rede wireless, ou acessando através de uma

rede de terceiros, marque também a opção para bloquear pacotes de broadcast

provenientes da rede local.

Figura 18 – Opções avançadas do Firestarter.

Um dos recursos mais interessantes do Firestarter, e o principal diferencial

com relação a outros projetos, é que ele transforma os logs de tentativas de acesso

gerado pelo Iptables em avisos dentro da aba "eventos". Quando uma nova tentativa

de acesso é registrada, o ícone ao lado do relógio fica vermelho e você tem a opção

de aceitar ou recusar a conexão. Na ilustração, temos uma tentativa de acesso ao

servidor SSH, que está habilitado na porta 22, a partir do host 192.168.1.2.

27

Page 29: TRABALHO KURUMIN

Figura 19 – Tentativa de acesso via SSH.

A opção "Permitir serviço de entrada para a origem" faz com que, daí em

diante, o host 192.168.1.2 possa acessar o SSH, sem disparar novamente o alarme,

enquanto a opção "Permitir conexões a partir da origem" faz com que o 192.168.12

possa acessar qualquer serviço, em qualquer porta, sem disparar o alarme. Esta

segunda opção é interessante para micros da rede local. Finalmente, a opção

"Permitir serviço de entrada para todos" abre a porta do SSH para todo mundo,

incluindo micros da internet. É uma opção que deve ser usada com mais cautela.

Você pode acompanhar as conexões em uso através do campo "Conexões

ativas", na tela principal. Note que a lista inclui todas as conexões, tanto as

conexões como cliente, contatando outros micros da rede ou internet, quanto as

conexões como servidor, recebendo uma conexão a partir de fora.

Outra questão é que muitos programas abrem diversas conexões

simultâneas, o Gaim (ou outro cliente de ICQ/MSN), por exemplo, abre uma conexão

com o servidor principal, quando você fica online, e mais uma conexão para cada

janela de conversa aberta. Uma única instância do Bittorrent pode chegar a abrir

mais de 20 conexões, já que baixa e serve o arquivo para vários hosts

simultaneamente. Preste atenção nas conexões em que o destino é seu próprio IP,

pois elas indicam gente se conectando a servidores ativos na sua máquina.

28

Page 30: TRABALHO KURUMIN

Figura 20 – Conexões ativas.

Uma vez ativado o firewall, as regras ficam ativas, mesmo que você feche a

interface principal; mas você perde a possibilidade de monitorar as tentativas de

acesso e aceitar conexões. O Firestarter fica residente na forma do serviço de

sistema "firestarter". Você pode usar o comando "Iptables -L", que lista as regras de

firewall ativas para comprovar isso.

Para realmente parar o firewall, você precisa reabrir a interface e clicar no

"Parar firewall" ou usar (como root) o comando "/etc/init.d/firestarter stop". Imagine

que, ao contrário dos firewalls para Windows, o firewall em si é independente da

interface.

29

Page 31: TRABALHO KURUMIN

6. Kurumin dentro de uma máquina virtual

Além de rodar o Kurumin diretamente, você pode também instalá-lo dentro de

uma máquina virtual, no próprio Windows, com a ajuda do VMware Player.

Naturalmente, você pode também fazer o contrário, ou seja, instalar o Windows

dentro de uma máquina virtual no Kurumin, como veremos no capítulo seguinte.

Seja qual for a sua escolha, usar uma máquina virtual é uma boa opção para

rodar os dois sistemas simultaneamente, sem precisar particionar deixar os dois

sistemas em dual-boot. Além do Kurumin, você pode também rodar outras

distribuições Linux.

Figura 21 – Windows e Kurumin simultaneamente.

As possibilidades são quase ilimitadas. Você pode testar diversas

distribuições Linux, ter um sistema de "backup", para navegar e instalar programas,

sem risco de danificar o sistema principal, instalar o Kurumin ou outras distribuições

sem precisar mexer no particionamento do HD e assim por diante. Usar uma

máquina virtual é a forma mais prática de ter Windows e Linux na mesma máquina,

pois você pode usar os dois sistemas lado a lado.

30

Page 32: TRABALHO KURUMIN

O padrão do Kurumin é configurar o vídeo a 1024x768 quando usado dentro

do VMware, mas você pode modificar isso na tela de boot. Indique a resolução

desejada usando a opção "kurumin screen=", ex: kurumin screen=800x600.

Figura 22 – Tela de boot.

Inicialmente o VMware roda em uma janela. Clicando no botão para

maximizar a janela, você pode usar a máquina virtual em tela cheia e, pressionando

"Ctrl+Alt", você volta para o modo janela. Outra configuração importante é a

quantidade de memória RAM. O ideal para rodar o Kurumin é reservar 256 MB.

Figura 23 – Quantidade de memória RAM reservada.

31

Page 33: TRABALHO KURUMIN

Existem duas formas de configurar a rede e acessar a internet de dentro da

máquina virtual. A mais simples (e usada por padrão no Kurumin VM) é o modo

"NAT", onde o VMware Player cria uma rede virtual entre o sistema principal e a

máquina virtual, permitindo que ela acesse a internet usando a conexão do sistema

principal.

A máquina virtual recebe um endereço interno, atribuído automaticamente,

como "192.168.150.129". Você só precisa deixar que o sistema configure a rede via

DHCP. Além de acessar a web, ela pode acessar outras máquinas na rede local,

mas não pode ser acessada diretamente.

A segunda opção é o modo "Bridged", onde a máquina virtual ganha acesso

direto à rede local, exatamente como se fosse outro micro. Neste caso, você precisa

configurar a rede manualmente, como se estivesse configurando um novo micro.

Como disse, no caso do Kurumin VM, o modo NAT é usado por padrão. Para

usar o modo Bridged, clique sobre a setinha ao lado do botão da placa de rede e

mude a opção. É preciso reiniciar o VMware Player para que a mudança entre em

vigor.

Figura 24 – Conexão da rede.

Instalar o Kurumin dentro da máquina virtual também é muito simples. Na

verdade, não difere em nada de uma instalação normal. O primeiro passo é

"particionar" o HD, usando o gparted ou o cfdisk, criando a partição principal do

sistema.

32

Page 34: TRABALHO KURUMIN

Figura 25 – Particionando o HD.

Depois, é só indicar a partição onde ele será instalado e aguardar a cópia dos

arquivos. Naturalmente, ao "formatar" o HD virtual e instalar o sistema, nenhuma

alteração é feita no seu HD. Tudo é feito dentro do arquivo "c.vmdk" dentro da pasta

da máquina virtual. Depois de instalar o Kurumin, por exemplo, ele estará com cerca

de 1.5 GB:

Figura 26 – Arquivo c.vmdk.

Se quiser fazer um backup do sistema instalado ou copiá-lo para outra

máquina, é só copiar a pasta. O VMware permite também que dispositivos USB

sejam usados dentro da máquina virtual, incluindo impressoras, scanners, palms,

pendrives, etc.

33

Page 35: TRABALHO KURUMIN

7. Analise do Kurumin

Rodar o Kurumin e outras distribuições Linux dentro do VMware é uma boa

opção para quem quer conhecer melhor o sistema, mas sem correr riscos. A

máquina virtual reside em uma pasta do seu HD e roda em uma janela, sem tocar

nos seus arquivos.

Desta maneira podem-se fazer diversas analises em diversos fatores do

Sistema Operacional analisado. Por exemplo o desempenho do processador

rodando dois ou mais Sistemas Operacionais ao mesmo tempo ou verificar o tráfego

de rede, o que pode ser decisório para a escolha de um sistema operacional para a

função de servidor web.

7.1. Desempenho do Processador

O desempenho do sistema não é muito prejudicado com essa solução

baseada em máquina virtual, em testes baseando que a máquina utilizada possuía

um processador Intel Celeron 1.8 GHz, a utilização do microprocessador foi muito

baixa, usando apenas cerca de 8%.

Figura 27 – VM do Kurumin estabilizada.

O monitor de desempenho do Kurumin que pode ser ativado no aplicativo

gerador de temas “Superkaramba” demonstra exatamente taxa de processamento

feito para executar o sistema operacional dentro da VM.

34

Page 36: TRABALHO KURUMIN

Já o uso do processador para a execução de aplicativos leves, por exemplo o

BrOffice Writer, foi feita com uma taxa de uso de 27% em média, que depois foi se

estabilizando.

Figura 28 – Comportamento do processador ao abrir o BrOffice.

7.2. Desempenho de Memória RAM.

O Sistema Operacional Kurumin têm uma característica muito vantajosa, a

exigência mínima para execução é apenas de 32 MB de RAM em relação a um

computador de 1 GB de RAM. Mas o recomendado é de 256 MB de Memória RAM

em relação a um computador de 1GB de RAM. O que lhe faz ter essa vantagem? O

kurumin configura automaticamente uma quantidade de memória swap para uso

futuro, no caso 256 MB de memória swap.

Figura 29 – Relatório de memória.

Outra característica importante é a reserva em média de 9 MB com a função

de Buffer do Disco.

35

Page 37: TRABALHO KURUMIN

7.3. Desempenho da Rede.

A análise de rede ou a análise de tráfego na rede, tem uso significativo em

atividades de inteligência. Ao monitorar os padrões de comunicação entre os nós de

uma rede, pode-se estabelecer sua estrutura. Em uma situação de tomada de

decisão de uma empresa em adotar o Sistema Operacional que fará o papel de

servidor web, se torna muito importante.

7.3.1. Desempenho de velocidade

No Sistema Operacional Virtual (Kurumin) foi analisado como se comporta as

taxas de transferências por velocidade. Sendo a conexão da rede em modo NAT, ou

seja, compartilhando a conexão de internet do Sistema Operacional Principal.

Exemplo 1: Dentro da máquina virtual e usando do Browser Mozilla Firefox 3,

foi acessado o link direto do Kurumin NG 8.06 final (versão estável).

A velocidade da internet banda larga onde foi feito a analise é de 2 Mb/s. O

que acarreta uma taxa de download de aproximadamente 10% da conexão. Sendo

satisfatória a taxa de download apresentada entre 200 Kb/s e 225 Kb/s.

Figura 30 – Taxa de download.

36

Page 38: TRABALHO KURUMIN

7.3.2. Envio de pacotes

Em relação à demonstração de como é feita o trafego de rede usando o

Kurumin em uma VM, faz-se necessário de um bom aplicativo para analise de

trafego de rede, para o exemplo de análise de vou utilizar o software Sniffer, e

demonstrações e avaliações de desempenho. O que poderá mostrar por exemplo,

quantidade de perda de pacotes, velocidade de transferência, etc.

Ex: No Sistema Operacional Kurumin no VMware, executo o Mozilla Firefox e

solicito a pagina do blog “solanosom.blogspot.com”, com o software Sniffer (ativado)

captura todo o trafego na rede gerando um relatório de pacotes.

Figura 31 – Relatório de pacotes.

A conclusão que foi tirada dos dados gerados pelo relatório de pacotes, é que

todo tráfego de pacotes para o carregamento da página web solicitados será

recebido primeiro pelo Sistema Operacional principal (Windows), com o IP

192.168.254.1 e depois repassado para o Sistema Operacional Virtualizado

(Kurumin), com o IP 192.168.178.133. Isso foi concluído por causa da duplicação

dos pacotes exibidos no LOG do software Sniffer. O teste obteve o mesmo resultado

com o software Tcpdump, instalado no Kurumin.

37

Page 39: TRABALHO KURUMIN

Esse teste foi feito com a configuração de rede em modo NAT, o que justifica

o trafego, pois em modo NAT o Sistema Operacional Virtualizado, no caso o

kurumin, usa uma rede virtual entre o sistema principal e a máquina virtual,

permitindo que ela acesse a internet usando a conexão do sistema principal.

38

Page 40: TRABALHO KURUMIN

CONCLUSÃO

Neste trabalho, foram apresentadas as principais características do Sistema

Operacional Kurumin 7, sob uma virtualização, seus modos de operação e formas

de implementação. Foi mostrado que virtualização é uma técnica que permite que

um sistema computacional seja compartilhado e que execute várias tarefas

simultaneamente com o Sistema Operacional principal sendo que cada máquina

virtual trabalha isoladamente e com características próprias, incluindo sistema

operacional e periféricos, que podem ser diferentes do sistema hospedeiro.

Virtualização não é um conceito novo, mas é um tema atual. Várias técnicas

estão disponíveis para sua implementação, em que se destacam as máquinas

virtuais de processo e o monitor de máquinas virtuais.

Também foi abordada uma ferramenta muito importante em qualquer Sistema

Operacional, o Firewall que tem por objetivo aplicar uma política de segurança a um

determinado ponto de controle da rede. Sua função consiste em regular o tráfego de

dados entre redes distintas e impedir a transmissão e/ou recepção de acessos

nocivos ou não autorizados de uma rede para outra.

A análise do Sistema Operacional Virtual teve a finalidade de realizar estudos

de desempenho de processos da CPU, utilização da memória RAM e desempenhos

da Rede a fim de gerar informações sobre o funcionamento e futura utilização em

algum serviço como por exemplo servidor web, banco de dados, etc.

39

Page 41: TRABALHO KURUMIN

BIBLIOGRAFIA

MORIMOTO, Carlos E. Kurumin 7 – Guia Prático. ISBN: 85-995-9309-9 Ed.: GDH

Press e Sul Editores. São Paulo 2007. Hospedado no site guiadohardware.

Disponível em: <http://www.gdhpress.com.br/kurumin7>. Acesso em 25 jun.

2009.

NETFILTER: site oficial do iptables. Disponível em < http://www.netfilter.org/>. Acesso em: 26 jun. 2009.

WIKIPÉDIA: a enciclopédia livre. Pesquisa por Kurunin. Disponível em: <http://pt.wikipedia.org/wiki/Kurumin>. Acesso em: 26 jun. 2009.

WIKIPÉDIA: a enciclopédia livre. Pesquisa por Sniffer. Disponível em: <http://pt.wikipedia.org/wiki/Sniffer>. Acesso em: 27 jun. 2009.

FIREWALL: Configurando o Firewall no Kurumin. Disponível em <http://www.guiadohardware.net/artigos/firewall-kurumin/>. Acesso em 27 jun. 2009.

IPTABLES: Guia Foca GNU/Linux. Cap. 10 Firewall Iptables. Disponível em:

<http://focalinux.cipsga.org.br/guia/avancado/ch-fw-iptables.htm>. Acesso

em 27 jun. 2009.

SNIFFER: Software que capturar e analisa pacotes de rede em tempo real.

Disponível em: < http://www.baixaki.com.br/download/snifmon.htm>. Acesso

em 28 jun. 2009.

40