Você está na página 1de 40

Centro Universitário de Desenvolvimento do Centro Oeste

UNIDESC
Curso: Sistemas de Informação Bacharelado
Disciplina: Sistemas Operacionais

VIRTUALIZAÇÃO

SISTEMA OPERACIONAL KURUMIN 7

Luziânia/GO, Junho de 2009.


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

E ntretant
o, um dos grandes

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

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

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

18
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:

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


• ACCEPT - Aceita o pacote

19
• 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

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

20
- -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:

Mensagem Tipo Código


Echo-request 8 0
Echo-reply 3 0
Source-quench 4 0

21
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

#iptables -A INPUT -p icmp -j DROP

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


encontra o firewall.

22
#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


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

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

Bloqueando cmd.exe:

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