19 fevereiro 2009

Tipo de Sistemas de Arquivos no LINUX

Um sistema de arquivos é um conjunto de estruturas lógicas e de rotinas, que permitem ao sistema operacional controlar o acesso ao disco rígido. Diferentes sistemas operacionais usam diferentes sistemas de arquivos. Os sistemas de arquivos do /Linux evoluem de forma constante, juntamente com o kernel e outros subsistemas. Muitas melhorias são introduzidas em todos os formatos de sistemas suportados pelo GNU/Linux, tornando os mesmos: mais seguros, rápidos e estáveis.

O sistema de arquivos é independente do hardware e da BIOS. É por meio de um sistema de arquivos que ocorre a gravação e a recuperação dos dados em um dispositivo de armazenamento em um computador. O sistema de arquivos é que define o modo como os arquivos são estruturados, nomeados, acessados, utilizados, protegidos e manipulados pelo sistema operacional.

Os arquivos são armazenados, no sistema de arquivos, em diretórios que são uma subdivisão lógica e que funcionam como repositórios de arquivos ou de outros diretórios.

O conjunto de diretórios e arquivos forma um sistema de arquivos raiz, ou "árvore" de diretórios, a mesma deve seguir um padrão estabelecido. O sistema de arquivos é hierárquico e admite que diversos dispositivos sejam mapeados e utilizados a partir do diretório raiz. Para o usuário toda essa estrutura é vista de forma única.

A característica de recuperação implementada em sistemas de arquivos é chamada de "journaling" (registro de ações). Sistemas que não possuem "journal" são mais suscetíveis às falhas e perdas de dados. Além disso, em caso de parada do sistema ou falta de energia, o tempo necessário para retomar as operações é elevado, já que uma verificação de integridade é realizada em cada arquivo do sistema. Nas partições que possuem milhares de arquivos essa verificação pode levar horas.

Os sistemas de arquivos com suporte a "journal" são recomendados por aumentarem a disponibilidade (High Availability - HA) em servidores GNU/Linux. A alta disponibilidade é medida pelo tempo em que o servidor se encontra fora de serviço por falhas no sistema operacional ou no hardware.

Quanto menor o tempo em que o sistema estiver indisponível, maior é o índice de disponibilidade, medido em uma escala de casas decimais que tende a se aproximar de 100%.

Características de alguns sistemas de arquivos:

EXT3

=> O sistema de arquivos EXT3 é uma versão do EXT2;

=> O ext3 tem as mesmas características do EXT2, mas com suporte journaling;

=> A evolução tornou o EXT3 um sistema de arquivos muito estável e robusto;

=> Podemos converter um sistema de arquivos EXT2 para EXT3, adicionado suporte a journaling, e também podemos converter um sistema de arquivos EXT3 para EXT2, removendo o suporte a journaling.

0BS: Hoje em dia já está existe o EXT4, sistema de arquivos veloz que está em seu estágio inicial de desenvolvimento. Ainda faz sentido permanecer um pouco mais com o EXT3.

ReiserFS

=> O sistema de arquivos ReiserFS foi criado recentemente;

=> Atualmente quase todas as distribuições Linux o suportam;

=> Sua performance é muito boa, principalmente para um número muito grande de arquivos pequenos;

=> ReiserFS também possui suporte a journaling.

JFS

=> O JFS (Journaling FileSystem) é um sistema de arquivos desenvolvido pela IBM, disponível em licença open-source, com o intuito de rodar nos "UNIXes" que a IBM vendia;

=> No início o JFS sofreu uma perda de credibilidade devido a constantes instabilidades e bugs, caso este que atualmente encontra-se resolvido e assim muito estável.

=> Extremamente rápido e permite trabalhar com uma quantia de dados muito superior aos demais sistemas de arquivos;

=> O sistema de arquivos JFS também usa a estrutura inode para armazenar a localização dos blocos de cada arquivo nas estruturas físicas do disco, a versão JFS2 armazena esses inodes em uma árvore binária para acelerar o acesso a essas informações, esses blocos podem variar de 512 a 4096 bytes, a alocação dos inodes é feita conforme vai sendo necessário.

=> Além de possuir journal ele permite que as partições do sistema sejam redimensionadas sem que seja necessário desligar o computador;

XFS

=> XFS é um sistema de arquivos muito rápido na gravação;

=> Desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado o código fonte;

=> Considerado um dos melhores sistemas de arquivos para banco de dados;

=> Possui journaling de metadados que vem com um robusto conjunto de funções e é otimizado para escalabilidade;

=> É recomendado usar este sistema de arquivos em sistemas rodando Linux com equipamento SCSI de ponta e/ou armazenamento em canais de fibra e fonte de energia sem interrupção;

=> Pelo fato de o XFS criar muitos caches de dados em uso na memória RAM, programas mal desenhados podem perder uma grande quantidade de dados se o sistema for desligado sem aviso.

LVM

=> LVM é um acrônimo para a expressão inglesa Logical Volume Management para especificar um padrão de gerenciamento de partições em disco IDE/SCSI/FC;

=> Foi desenvolvido inicialmente pela IBM, e outras empresa e instituições, como: HP e a Open Group;

=> A implementação LVM cria um grande disco virtual, que pode inclusive ter mais de um dispositivo de armazenamento , e divide em partições virtuais;

=> A vantagem é permitir o redimensionamento das áreas de modo dinâmico, ou seja, com o sistema operacional sendo utilizado;

=> A desvantagem é que por ser um único disco virtual, a recuperação de dados em uma eventual pane no sistema de armazenamento é bastante prejudicada.

Inode

Um inode é um identificador único que um arquivo recebe, nele contém uma lista com 12 blocos diretos de dados que o arquivo deve ter, se ele possui mais de 12 blocos, ele segue uma regra para gravar esses blocos no disco e poder achar mais tarde.

Os dados do arquivo são armazenados em unidades chamadas 'blocos'. Estes blocos podem ser numerados seqüencialmente. Um arquivo também tem um inode. Como os blocos, os inodes são numerados seqüencialmente, embora tenham uma seqüência diferente. Uma entrada de diretório consiste do nome do arquivo e um número de inode. O inode também armazena o local dos blocos de dados.

* Os números dos blocos dos primeiros 12 blocos de dados estão armazenados diretamente no inode. Estes às vezes são chamados de blocos diretos.

* O inode contém o número do bloco de um bloco indireto. Um bloco indireto contém os números de blocos de 256 blocos de dados adicionais.

* O inode contém o número do bloco de um bloco duplamente indireto. Um bloco duplamente indireto contém os números de blocos de 256 blocos indiretos adicionais.

* O inode contém o número do bloco de um bloco três vezes indireto. Um bloco três vezes indireto contém os números de blocos de 256 blocos duplamente indiretos adicionais.

fonte: Clube do Hacker – www.clubedohacker.com.br

Iptables Firewall em modo Gráfico

Certamente o melhor Firewall é o Iptables... Caso você tenha dificuldades em criar as suas chains em modo texto, existem alguns firewalls em modo gráfico (baseados no iptables).

Lembre-se que o Linux possui na realidade um só firewall, que se chama Iptables e vem embutido no kernel desse sistema operacional. Então, os softwares que se apresentam como firewalls do Linux servem na realidade como programas de configuração automática do Iptables, isto é, dispensam a digitação de linhas de comando no Terminal.

Firestarter

O Firestarter é um firewall do Linux.

Usuários avançados, entretanto, digitam as regras no Terminal, com isso podem abrir e fechar as portas de Internet quando quiserem, ou deixar abertas apenas as portas desejadas. Isso é importante porque programas automáticos como o Firestarter deixam abertas portas "perigosas", como aquelas necessárias para baixar arquivos por FTP e P2P. Sem elas não se baixa um vídeo, por exemplo (via torrent), mas também se corre o risco de expor o computador a um hacker, que poderá se aproveitar delas para invadir o computador. O Firestarter é recomendado para usuários iniciantes, aqueles que ainda não sabem scrpits de regras.

Site para baixar o FireStarter: http://www.fs-security.com/

Firewall Builder

O Firewall Builder é uma ferramenta GUI para configuração de regras de firewall que usa uma camada de abstração independente do firewall para o qual ele gera as regras. Essa característica "guarda-chuva" faz com que todo o projeto das regras seja feito de acordo com esse "firewall abstrato" do fwbuilder, o que demanda alguns cuidados extras.

Para o Firewall Builder existem 3 tipos de regras:

=> NAT: regras de tradução de endereços (origem ou destino) ou serviços;

=> Política de intefaces: regras de filtro referentes a cada interface do firewall (para entrada ou saída);

=> Política geral: regras de filtro independentes de interface.

Tenha bem claro a diferença entre estes tipos de regras. Ter cuidado para fazer o filtro de pacotes sempre que necessário, lembrando que o NAT apenas troca informações do pacote, mas não autoriza nem rejeita nenhum pacote.

As regras são casadas na seguinte ordem: NAT, política de interfaces, política geral. O projeto do firewall é armazenado em um aquivo .xml e a partir dele o fwbuilder gera um script que define e carrega as regras no firewall desejado. Após a compilação das regras, o fwbuilder permite que o script gerado seja instalado no diretório /etc da máquina do firewall. Esse script deve ser executado na inicialização do sistema para que as regras sejam carregadas automaticamente.

Link para baixar a ferramenta: http://www.fwbuilder.org/

Shorewall

O Shorewall é uma ferramenta "front-end" de configuração do Iptables. Com ele é possível implementar um firewall ou gateway através de entradas em um conjunto de arquivos de configuração. O Shorewall lê estes arquivos e informa ao Iptables as regras a serem implementadas.

A vantagem da utilização do Shorewall é uma estrutura mais legível dos arquivos e regras do firewall e um número reduzido de linhas para implementação do código desejado. O Shorewall não é a ferramenta de configuração do Iptables mais amigável, mas oferece uma flexibilidade de configuração singular.

Uma ferramenta que não exije muitos conhecimentos técnicos, é o Firestarter (www.fs-security.com).

Baixe aquio shorewall: http://www.shorewall.net/

 

fonte: Clube do Hacker – www.clubedohacker.com.br